You might have heard about the recent kerfuffle over the Facebook terms of service. If you didn’t, this brief summary from Rocketboom will get you up to speed.

Mostly, it was about whether or not you could revoke their license to use and distribute your material by deleting your account. Their argument was that they couldn’t practically delete material from their backups and, if you’d sent things to someone else, they weren’t willing to delete that material if you deleted your account. These aren’t unreasonable concerns, but their approach was to require perpetual licenses for all material and all uses. The change was far broader than needed to achieve those goals – more nuance was required in their terms. After lots of wailing and gnashing of teeth, Facebook withdrew their initial set of changes, then, a few days ago, released a re-written set of terms that appear to be much less contentious. In particular, they explicitly state ‘People should own their information’. Hear, hear.

But, that’s not the point of this post. I’m interested in the fact that they’ve chosen to release two documents; one a high-level statement of principles, the other a statement of user rights and responsibilities. Compared to the old terms, which were legalistic and dense, these documents are quite readable. This, I applaud.

It’s not entirely clear, however, which one of them represents the real terms and conditions. Which is legally binding? If there’s a conflict, which takes priority? If they’re not binding, then where are the real terms of service? Most likely, the statement of user rights and responsibilities is meant to be the binding terms and conditions.

Generally, I really like the idea of providing a human-readable license alongside a legally rigorous version, because no one really ever reads terms of service, even though they should, and at least part of the reason is that they’re generally impenetrable. If the relationship between the two is clear and there are no incongruities, then great! Of course, language often isn’t that precise, and you can see how problems might arise.

A great example of this approach is in the Creative Commons license. When they were launched, much was said about licenses being written ‘legal code’ in that we have trained engineers and machines to read and use them, being lawyers and courts respectively. Let’s run with this, and see how a few concepts from software can be applied.

Software design are just common ways of thinking and solving particular problems that crop up again and again in various contexts. They might be abstract, and pertain to the way code is written (such as the decorator and singleton patterns), or they might be more concrete features that are applied such as, for example, common interface widgets like menus, scroll bars, and drop down boxes. In some form, design patterns probably appear in everything that people design. However, in software, these patterns are explicitly sought for, studied and re-applied. I’m not aware of this being a common practice in law, but I would expect the benefits of clarity, scalability, and re-usability that this brings to software engineering would be really useful in legal engineering.

Like software, legal systems can become horribly complex. In software, a major means of reducing this complexity is to employ modularity – problems are defeated by dividing and conquering. Where possible, software consists not of a single monolith of tightly coupled code, but of hierarchically organized components that interact cohesively. Benefits of this approach are a reduction in complexity, re-usability and portability of parts, and conceptual tools for analyzing and engineering models of complex systems. Various coding paradigms exist, the best known of which is object oriented programming; aspect-oriented programming and programming by contract are other paradigms that facilitate modularity. In law, there’s obviously some modularity (law is broken down into individual acts and codes, which are broken into articles, sections, clauses and so forth). Unlike well-engineered software, however, these components are strictly hierarchical and cannot be taken out of context.

Wrappers are an example of a pattern that allows software engineers to insulate themselves from the idiosyncracies of a messy component, a third-party driver, or a piece of hardware. Basically, an engineer writes a piece of code that knows all about how to handle the mess, then presents a nice clean interface that other engineers can work with without having to learn about the details of the mess themselves. Imagine if, instead of having to read all of the messy details of a complex license, you could just inquire, through a simple, well-defined interface, if certain conditions were true.

Before any of this makes sense, it’s important to consider the difference between informal language (that which we use every day), and formal language, where the meaning of all symbols and elements is defined within a particular lexicon, much as all software languages are. That is, legal writing needs to follow formal rules. One obvious problem here is that is required to be able to address pretty much any conceivable situation; this is effectively impossible to do with formal language, as you quickly end up with self-referentiality (which then allows self-contradiction a la the Epimenides paradox). If you don’t believe me, read Hofstadter’s ‘Gödel, Escher, Bach’ first, then argue with me. To overcome this problem, then, we need to have some way of insulating the parts that can be modeled formally (effectively, the parts that are most clear and logic) from the parts that cannot (effectively, everything that’s subjective in some way). The wrapper pattern mentioned above allows for this – tokens can be used to represent subjective elements; these tokens are treated as simple propositions within the formal part of the system, then spat out at the end. Incidentally, this is how propositional logic, and almost all written reasoning works. However, lest I make this sound easy, I should mention that while, hypothetically, this is possible, it’s unclear whether or not the resulting system of formal law and subjective tokens are workable.

If, hypothetically, enough of the mechanics of law could be formalized in such a way that it can be treated computationally, all sorts of things become possible. Firstly, there no longer needs be a legal priesthood whose job it is to parse the complexities of legal argument and language and explain this to the masses – this can be by software, and learned systematically. Imagine if legal code could be translated through some filter into a human-readable form. Imagine if you could query, using a well-defined interface whether a body of law has certain properties, or if certain activities are true. Imagine if law was extensible and modular. Imagine if the legal system was simple, accessible, and thin enough that legal disputes could be resolved in a matter of seconds rather than years, through software interfaces rather than the courts.

I don’t know which parts of this are actually plausible, or if it’s even possible. However, it t would make damned interesting research project for someone. I wonder if someone’s already tried..

Tags: , ,
Posted in Mind & Society, Software & The Net, The Future | 1 Comment »

I’ve been using the chat client Digsby for a while now, and it’s pretty awesome. It’s comparatively new (less than a year), but quite stable, feature complete, and adds a bunch of new features that simplify things substantially.

  • Cleanly integrates with all the traditional instant messenging systems, adding gtalk, facebook chat, and twitter.
  • Integrates mail and event notifications from almost any mail source, as well as facebook and myspace’s event feeds
  • Free!
  • Almost cross platform – the initial release is Windows only, but they’re releasing OS X and Linux versions soon
  • Lets you neatly merge multiple accounts on different services belonging to the same person. Then, just tells you if they’re online on any service, and intelligently uses that one to communicate with them.

Given the proliferation of social networks and messaging networks, it’s quite nice to have one tool that bridges them. I don’t have to deal with the fact that not everyone uses the same tools – Digsby gives me a list of everyone, and when I want to talk with them, it just works.

I love tools that hide complexity without being simplistic.

Tags: ,
Posted in Software & The Net | No Comments »

If you’re in the business of writing and delivering presentations and you think that there might be people out there interested in seeing them, I heartily recommend SlideShare.

It’s simple – make an account, fill out your profile, then upload presentations as PowerPoint files or PDFs. Then they’re viewable in your browser using their flash widget. You can restrict who has access to slides, or make them public. There’s even a full screen presentation mode; in principle, you could substitute it for actually hauling copies of your presentations around with you – just bring them up in the browser..

Anyway, I’ve chucked up a bunch of old presentations from my Masters. Later I’ll upload some more recent works including the lecture slides for Educ122. All available at

Tags: , ,
Posted in Software & The Net | No Comments »

While slowly uploading 3 years of email archives to gmail this afternoon, I spent a while poking about random video blogs following links from last week’s Epic-FU. While the content is amusing, it’s the fact that they even exist that really interests me – random people creating not only content, but regular shows, of quality at least the same as I’d expect from regional TV. It’s been said for some time that the internet facilitates a massive democratization of culture, but you don’t really get that as a gut feeling until you go out* and dig around.

It’s really quite heartening. There’s a real golden age going on – a huge diversity of people picking up tools, making some stuff, and changing the world. There’s a directness and apparent honesty to the content that’s really appealing. Even though a lot of it’s fairly low brow, that’s OK – it’s usually deliberate, and you don’t get the feeling that you’re being condescended to by a media conglomerate that’s decided you (as part of the great unwashed) are insufficiently intelligent or attentive. And that’s not to say that it’s typically low brow – there’s some really great, really thought provoking content out there, too..

Anyway, vector – Epic-Fu is a 5 minute weekly that covers pop internet culture. Episodes usually contain a mix of music, pop culture video links and notes about cool new web tools, as well as the occasional WTF? – one episode a couple of weeks back, for example, was interspersed with ‘FUnetics’, a Scientology spoof with a weird alternate reality web game attached to it.

Here’s the two videos that started me ranting..

Oddly compelling freestyle mouth music on the streets of America – from RocketBoom

DaxFlame – a deranged young man who seems somehow familiar.

One last thing – I stumbled across For Your Imagination somewhere this morning; it’s a startup aiming to provide production services to people wanting to run video casts of their own. This, too, is pretty heartening, and it’ll be interesting to see how this works – it seems to be focused on providing a service to creators rather than exploiting them as current media conglomerates do. Of course, what matters is how the service matures. Anyway, check out their demo reel on the site’s front page. Make sure you give it time to load, though – if the video isn’t fully downloaded, it just stops playing and goes back to the beginning.

* By ‘go out’, what I really mean is sit in front of your computer and click some of the buttons** you haven’t clicked before.
** By ‘click buttons’, what I really mean is click the button on your mouse while holding it in a particular place on your desk, following a sequence of similar actions that have placed your your mouse cursor over a particular shape on your screen***.
*** As a complete aside, the layers of abstraction in the words we use to describe our behaviour on the internet are totally fascinating, don’t you think? I wonder if you could judge depth of change by the average depth of indirections between the metaphors used to describe typical actions and the literal meaning of those words. Internet life is at least at depth three or four..

Tags: , ,
Posted in Rants & Opinion, Software & The Net | No Comments »

Just had a chance to play with the new Adobe Photoshop Express – a really simple version of Photoshop that runs in your browser. For brevity, I’ll call it APE.

In reality, it’s not a lot like Photoshop, but rather like Picasa, the desktop photo organizer application from Google. It has a similar (if slightly more limited) feature set, and a similar usage metaphor – you use it to manage a series of galleries / folders full of images, and are able to quickly pop open any one of them to quickly modify it.

So, the pros:

  • You can link it into your photo galleries on Facebook, Photobucket, or Picasa. That is, you tell it how to log in to you account on one of these services, and can then use it to manage and edit your photos within. Since APE runs entirely within Flash, it’s a lot more responsive and easy to work with than doing so directly with the web interfaces for each of these tools. Plus, you can batch update captions, which is often quite time consuming. You can even use it to transfer images between different gallery services (Facebook, Picasa)
  • It’s entirely browser and Flash based, so you can run it on any OS with reasonable Flash support, and you can access it from anywhere. In comparison, Picasa runs on the desktop of a particular machine, and is only available for Windows (though presumably that’s something Google plans to address).
  • It’s really convenient to upload and manage small numbers of images. You can do this in Picasa through the web interface, but you have to fiddle with the image locally first. It just feels a bit smoother doing this in APE, then dragging it into whatever storage space you’ve chosen.

And the cons

  • It runs entirely online. Before you can edit your images, you have to upload them. It’s fine for working with small numbers of smallish images that are already uploaded on a nice fast server somewhere, but there’s no way I’d be using this to manage my images when I retrieve directly off my camera. Obviously, it’s not really intended for this, but this is an important part of my photo management process, and so is worth mentioning.
  • Though managing galleries is faster than using a service’s web interface, using it to edit images is definitely not faster than editing them locally, for obvious reasons – everything is either processed rather slowly by flash, or pulled down the intertube.
  • You have to remember to pay close attention to the terms and conditions – I’m fine with them, but you’ll need to check for yourself if you’re doing anything particularly sensitive.

For me, it’s a nice tool for managing small amounts of images; for example, the screenshots and snippets I put in my blog. It’s also nice as a bridging tool between the three gallery services it supports. I’m not likely to use it for managing large photo galleries – Picasa trounces it there. But, it has a niche, it’s really easy to use, and doesn’t cost anything. So, it’s definitely worth taking a look at..

Try it out – there’s a ‘test drive’ demo that’s gets you in to try it out quickly. From there, it’s easy to join, and doesn’t appear to gather piles of personal information.

vector: Daily Bits.

Posted in Reviews, Software & The Net | No Comments »

    Reviews, rants, reflections, arguments, scrawls, ideas, refutations, pontifications, rhetoric, records, accounts, journals, scraps, plans, authentic articles of thought.

    No artificial ingredients.
    May contain pretentiousness.
    May reflect personal bias.

    • Hey baby! Do you want to taste the sting? #PostsThatNeedContext 2011-12-29
    • Today's new word: apophatic - adj, beliefs that god can only be known in terms of what it is not. Opposite, cataphatic 2010-01-24
    • Naptime over. Now becoming fully cognizant of all of the little things I need to catch up on. Foo! 2010-01-14
    • Anyone got suggestions on Twitter clients for Windows. I'm using twhirl - got anything better? 2010-01-14
    • More updates...