This whole Facebook Terms of Service thing

An interesting tweet appeared on my updates list just now:


I’ve loosely followed the whole thing about the recent change in Facebook terms of service, and the change back again. I read Mark Zuckerberg’s blog in response, and the one announcing the revert to the original terms. Overall I was impressed by the honesty and upfront nature of his response and admission that the legalese that their terms are written in is frankly insufficient for people to actually work out what on earth they meant.

The request above came from a good friend (why else would I have photos I took at their wedding) and I have honoured it. Not out of disgust at the actions of Facebook, but because I value a friendship more than I do the opportunity to make a point (that’s what this blog post is for instead!) I do however think it is a perfect example of the disjoint between people’s expectations of the ownership and privacy of content on the web, and the ways in which we currently try to encapsulate the rights associated with the various parties involved.

Let’s look at a few facts:

1. The photos were taken by me at my friends wedding, at which I was a guest.
2. The wedding was held on private property – in this case a hotel.
3. The law says I own the copyright to the photos
4. Would I ever want to use them commercially, I would need to clear that with the owner of the private property they were taken on, and, if for non-editorial purposes, get releases from anybody in them (mainly my friends)

The trouble is that what the law says, and what people expect are two different things. My friend obviously believes he has a moral assertion over the photos, being as they are a record of what is one of the most important days of his life. I can’t reasonably argue with that, but the law doesn’t see it that way – they are mine to do with as I wish.

But let’s look at the other side of the picture, as that what’s under the microscope with regards to Facebook. Wanting to share my photos with my friend (and our mutual friends) I posted them onto Facebook. People liked them and that’s great. I could have posted them onto flickr, Smugmug, Picasa or even onto my own web site (actually, I did, and there’s a link to an album running right here in another of my blog posts…) By posting them to Facebook I placed a certain level of trust in Facebook to “do the right thing” with regards to the content I was asking them to store, and to distribute amongst my social network. Did I read the full T&Cs when I signed up? Did I heck. Did my friend? I wager not. Had I read them way back then, I would have seen this:

When you post User Content to the Site, you authorise and direct us to make such copies thereof as we deem necessary in order to facilitate the posting and storage of the User Content on the Site. By posting User Content to any part of the Site, you automatically grant, and you represent and warrant that you have the right to grant, to the Company an irrevocable, perpetual, non-exclusive, transferable, fully paid, worldwide licence (with the right to sublicence) to use, copy, publicly perform, publicly display, reformat, translate, excerpt (in whole or in part) and distribute such User Content for any purpose, commercial, advertising, or otherwise, on or in connection with the Site or the promotion thereof, to prepare derivative works of, or incorporate into other works, such User Content, and to grant and authorise sublicences of the foregoing. You may remove your User Content from the Site at any time. If you choose to remove your User Content, the licence granted above will automatically expire, however you acknowledge that the Company may retain archived copies of your User Content. Facebook does not assert any ownership over your User Content; rather, as between us and you, subject to the rights granted to us in these Terms, you retain full ownership of all of your User Content and any intellectual property rights or other proprietary rights associated with your User Content.

Chase Jarvis, a world-renowned commercial photographer who uses Facebook to distribute content for PR and his fans has written a much better analysis of the old and new terms than I could, so I’m not going to go into detail about what that long paragraph contains, or the important change that was made, causing the uproar.

It may seem stupid that Facebook have such wordy, hard to understand terms, and indeed it seems that they go well beyond what would reasonably be needed for them to receive and permit the sharing on user generated content. In the past I have berated other organizations for similar wording, not least the BBC. However in those examples my concern has been about the use of such terminology as a way to sucker unsuspecting citizen journalists to give potentially timely and valuable content up freely, or as a competition only vaguely hiding an obvious rights-grab attempt. Indeed this blog carries a logo and link to the EPUK fair play campaign for citizen journalism for just this sort of thing.

So, the question is do I really think that Facebooks terms represent a realistic threat to my content? Are they *really* going to take what I share on Facebook and use it for profit, resell it to other organizations, or other such actions? In short, are Facebook evil? I don’t think so.

I have personal experience of what happens when the lawyers get involved between two parties wanting to do something logical and simple. I’ve seen this through my own work, spending months working with a third party, with code written and ready to go, waiting for the lawyers on both sides to argue over single clauses and being asked how such clauses affect the technology (normally not at all) What Facebook are guilty of (and admit to) is that they haven’t done a good enough job of turning the legal crap into understandable principals that you and I can make informed decisions on.

Regarding the change in terms (which basically removed the ability to revoke the licence you give them when you delete content – something I have now done with my photos of the wedding) I honestly believe that there is no realistic chance of Facebook ever asserting those rights granted in the way that people are reading into it. As Chase states, it is there to allow them to effectively share content amongst their user base. I’d also wager it is there to cover their arses should the fact that the massively distributed, non-normalized data store that sits behind Facebook doesn’t manage to delete the hundreds, possibly thousands of copies it stores of every photo, video or other piece of content you contribute.

The only unfortunate thing is that there is no filter between what they have to get their lawyers to draw up and what they present to their users. It makes no promises back to the user.

Let’s use an analogy. In the UK there is an organization called the Plain English Campaign. They award a crystal mark award to clearly written documents. It is common to see this mark on things like insurance documents. Over recent years, there has been a distinct attempt to make many forms of legal-related documentation more understandable and consumable by the lay-man, much of it driven by the initial work of this group. Their FAQ includes this:

Who are the worst offenders for gobbledygook?

In our experience, the legal profession and finance industries cause the most concern. Many companies have worked extremely hard to use plain English, but these industries will always be our main targets. Plain English is about language affecting ordinary people’s lives, and people have the right to get the information they need to make informed decisions about money and the law.

One example of improved communications thanks to such efforts can be found in the UK mortgage industry. Any mortgage product must have a Key Facts Illustration document that has two important purposes:

  • To enable the consumer to carefully evaluate and consider the product before committing to it.
  • To allow the consumer to effectively compare different products in the marketplace

The KFI is a clear, concise document outlining the most important points, in plain English. Now, what if Facebook’s terms were presented in this manner? Would I have read them? Yes. Would I have considered if I was happy with them before accepting? Yes. Would I understand the true intent behind them better? Almost definitely yes.

Now, what if we had a similar initiative for the web, for the world of social computing? Well maybe, just maybe this whole episode may provide the catalyst for that to happen. Recently I had the opportunity to speak with a couple of folks from At the time I wasn’t quite sure what to make of the organization or their goals, it seemed broad and lacking distinct focus, but one thing that did stand out was their desire to build a charter for the social web. It seems that now is the time to grasp the nettle and drive this forward and I really hope that their EULA and TOS task force can be the agent of change for this whole problem. Daniela’s and Elias’ blog posts give me a warm feeling that they just might head in the right direction with this. I hope Facebook jump on board.

Photophlow: flickr + irc + web2.0 = awesome

Click for large version.

I first read about Photophlow on Ajaxian a few days ago. Of course I signed up immediately for their limited beta and this morning an invite was waiting in my inbox.

Photophlow is an extremely well designed web application for community viewing of photos from flickr. The best way of describing it would be to imagine a photo slideshow application mashed up with an IRC chatroom. It hosts a variety of virtual rooms (you can create your own) in which people can gather. There are rooms available for flickr groups and the application will highlight room for groups you are already a member of. Anybody in a room can perform a flickr search and then select a photo to be viewed. Meantime all people in the room can talk and discuss in real-time as well as having direct access to usual flickr features such as adding contacts, favourites and comments.

From within a room you can display a list of photos from either a choice of options (the photostream for the related group, your photos, your contacts, explore etc.) or you can search. If you click on a photo from the resultant list it is shown larger on the right hand side of the window. People then naturally start commenting on it, critiquing and generally interacting with each other. It is fascinating to see how the conversation develops. This morning I entered the room and began looking at a couple of photos. A few more people came in and I struck up a conversation with a guy from Huddersfield. Somebody else started looking through his photos and in the meantime a conversation was taking place about the best wireless remotes for off-camera flash. The Huddersfield guy then took us off to view a photo from a friend which recently made the top spot on explore.

The beauty is the way that other people can control what you view. It has the potential to be disruptive if people are constantly changing photo, and I guess as more people come into the system this will be something to keep an eye on. It would be tempting for a lot of people to go into a room and immediately start displaying their photos for instance. Thankfully there are a couple of different modes. In any room you can choose to go into manual mode which means others cannot override the photo you are currently viewing. You can also go private which means others cannot see the photo you are looking at, but you are still in the room and can still participate in conversations.

Things get even more impressive when you try the built-in support for twitter, allowing you to create tweets when you enter a room of ad-hoc from directly within the photophlow interface. They also have tumblr support, and the ability for the system to notify you by email or IM when certain events happen, like somebody entering your personal room.

The screenshot above shows a rather serendipitous moment when one of the other people in the room did a search for “shielding” and one of the photos that came up was by Roo.

I have three invites to give away, so please leave a comment (make sure you enter your email address on the form) if you want one.

MashupCamp 5 in Dublin

I and a few of my team have just registered to attend and participate in MashupCamp 5 which is being held at Trinity College Dublin on 12-13th September.

The two days are being run as an open space/unconference with a preceeding Mashup University on the 10-11th. We will be bringing Lotus Connections along to show and play with, with the aim of discovering integration points between social computing within the enterprise and beyond the firewall. There’s already a proposed discussion item about “Mashup Adoption Issues Across the Enterprise” which sounds promising.

So, if you are going be sure to look out for us. I don’t know yet how we will advertise our presence or anything! IBM are a sponsor of the event so maybe we can get some goodies or something. The list of attendees includes Stephen O’ Grady from Redmonk, who I look forward to meeting.

Facebook security compromised?

Is it just me or is Facebook’s security not working as it should this morning? On logging in today the login screen presented me with another person’s login email (but not password) and seems to be doing this on a regular basis. What’s more, when logging in as myself I’m taken to the News feed page of another person entirely. I can see their notifications, and access their friend’s profiles (who are not friends of mine). Sometimes when I click on Profile to go to my profile page I’m taken to somebody else’s profile entirely (but in read only mode)

As I write this it seems to have started behaving itself. However there was definitely something wrong there for a while. I don’t know if it was with Facebook itself or some intermediate proxy issue (but then surely FB are setting no-cache on their pages?)

Nope, It logs me in ok, and shows my news feed, but when I click on the 1 notification it tells me I have it goes off to somebody elses notifications. Oops. Now I can access their inbox 🙁

I think somebody needs to page a Facebooker out of bed!

Project Zero and why community driven commercial development is good.

Whilst many colleagues have already blogged about it, I thought I’d just do a quick post about Project Zero. The aim of going public with the site is to provide a community based development aspect around some work that IBM has been tinkering with for a little while now. The goal of Project Zero is to define a revolution in dynamic web application development by bringing together scripting from Groovy and PHP along with RESTful web services, Atom feeds and (say it quietly) even Java.

The interesting thing about the who project is the approach it is taking towards community driven commercial development. Project Zero is not going to be open-source software, so the immediate question is what value does making it’s development community driven have? I think the best example of why socialising the Zero technology core at this stage is a good thing is to make a comparison with another IBM technology vision which started in a similar way, namely Service Component Architecture (SCA)

As I’ve written about before, SCA started life within IBM as the brainchild of a couple of people. From there it grew and a lot of work was done by some talented people (and me) to prototype it, define the programming model and turn it into a technology which we could build a product on. It became the basis of WebSphere Process Server (and thus WebSphere ESB) and really lies at the core of those products. Along the way IBM started to work with BEA and then other vendors to open the spec up, to the point where it is now going through OASIS.

So, we’ve had products in the market built on top of a lot of internal work to define SCA. The problem is however that SCA has evolved much quicker in the open than it probably would have done if it remained entirely within IBM. Had it been kept internal then we would be able to easily manage the trade off between feature and function versus other considerations such as API compatibility from release to release. Problems such as the latter are likely to be more significant as the openly evolved SCA diverts more quickly away from the original IBM implementation (Note, that’s not to suggest that customers with WPS/WESB will suddenly break as and when those products adopt the openly developed SCA spec!)

Now compare this with the community driven approach being taken by Zero. Once again the initial core ideas have come from a small number of people within IBM. They have been socialised a bit within the company (indeed, there’s was and still is a significant amount of input into Project Zero from my old stamping ground in Hursley, some of which I was lucky enough to be involved with when I was there) The difference is that there was no IBM product deliverable driving the creation of Zero. It’s whole raison d’etre is to radically simplify the process of web application development, and the early and hopefully significant input of the wider community can only help those working on it to better understand the problems, issues and their solutions. By getting this input much earlier than ever before in the way these type of projects are incubated within IBM then hopefully the result will be a technology which is more feature rich, stable, performant and documented then ever before, which future IBM products can utilise, and which will help our customers be more successful. As a customer (or even a prospective one) you get to have much more input into what we do as a development organization as well.

Facebook platform introduces Twitter app

Further to my recent entry on Federated Status, Facebook have launched their Facebook Platform which allows applet style gadgets to be embedded into one’s Facebook page. One such widget integrates Twitter and Facebook, but sadly not to the extend I’d hoped for in my previous post. Rather, it allows you to put an extra gadget onto your page to display your Twitters (but not those of your Twitter friends) which is then visible to anybody who can see your FB profile. It only displays your last tweet, and clicking edit on the gadget brings up an error page saying they are still ironing out a few issues, so hopefully more functionality may appear.

Additionally to the gadget, the profile owner can also twitter directly from FB, and also see their Twitter friends’ tweets.

What it doesn’t appear to do is put any integration between the status I can set at the top of my FB profile and Twitter. It would be nice to have the option to set one from the other. Most probably FB -> Twitter rather than the other way around.

WebSphere related posts Yahoo pipe

I’ve been playing with Yahoo Pipes again, this time for something a bit more useful.

There are a number of blogs from IBMers here in the UK which cover WebSphere related topics at varying degrees of frequency. Some are solely WebSphere related whilst others talk about all sorts of subjects including WebSphere.

The WebSphere related posts from UK IBMer blogs pipe takes the feeds from a number of these blogs and uses the content analysis module to filter only the WebSphere related posts into one convenient feed. It currently takes input from the following blogs:

This is not an exhaustive list of the possible bloggers, but is a start. If you think a blog should be added, let me know. This pipe could easily be cloned to add feeds for other IBM software brands as well.

What would be really nice (if the folks at Yahoo Labs are listening) is if the fetch module could take a URL input that pointed to an OPML file such as the one maintained by Elias Torres. Then you could imagine a configurable pipe with a text input that fed into the filter meaning you could filter on all sorts of topics such as Second Life for example.

Yahoo Pipes UI

Yahoo pipes screenshot

A few years ago I bought my first Apple PowerMac G4 in order to try and get into producing my own music. At the time I was doing a bit of part time DJing and fancied getting into creating bootlegs and remixes. Sadly, a lack of talent let me down. However, one app I did find easy and intuitive to use was Propellerheads Reason. Reason allowed you to link up soft synths, mixers, drum machines and more into a virtual rack. When you spun it around, it displayed the back of the rack panel, complete with patch cables for joining everything together. You could direct an input such as a drum machine into a modulator such as the subtractor and produce all sorts of weird and wonderful sounds.

Propellerheads Reason rack

As you moved cables around and tweaked knobs on the front of the rack, so the output generated changed in real-time. All very impressive and fun.

The Pipes API is very similar and employs a lot of the same concepts. It has the same patch cable type approach to wiring the modules together, and the debugger shows you the results of your actions pretty much immediately. All in all it is one of the most impressive web based UIs I’ve ever seen.

Looking again at Tim O’Reilly’s post about pipes, I notice that Jamie Pitts makes the same connection to Reason in a comment. On his blog, he also references the similarity to Apple Quartz Composer, which I admit I’d not come across before.

Yahoo Pipes

As previously mentioned, I have a grand plan to do some funky web2.0 style stuff on this web site. However, with the new Yahoo Pipes service, maybe I don’t need the space after all. The premise behind Pipes is to bring the power of Unix pipes and filters to the world of feeds, allowing the mashup of multiple feeds into one. The service supports some pretty powerful bit of functionality (or modules as they call them) to perform analysis and processing of the feeds. There’s some good posts over on the O’Reilly Radar about how Pipes work, and one from a rather excited Tim O’Reilly on why he thinks Pipes is a “milestone in internet history”.

My profile

In my increasing efforts to get with the social networking programme, I’m now signed up to You can view my profile here. Feel free to add me as a friend.

I’m using the iScrobbler client on OS X rather than the default one as it purports to include the Last Played playlist from iTunes in its scrobblings. This is useful seen as all my music is either on the iMac, or my iPod. Hence you won’t see any updates whilst at work for example until i dock the iPod.

The range of music won’t exactly be representative of my tastes either as I’m currently in the process of re-ripping my quite substantial music collection to a lossless format (FLAC to be precise.) I think I’ll have to go through and prioritise the order they are done in. Already I am pleasantly surprised by the music Andy and Roo seem to listen to. Especially to find out that Roo is a fellow Reindeer Section fan.

Edited to add: Just discovered that iScrobbler has an option to scrobble any shared music I play. That means anything I play from my Linksys NSLU2 NAS device running mt-daapd gets logged as well. This means I can withdraw my comment about not having my full music library at my disposal!