Friday 16 November 2007

The web2.0 stack

There has been considerable activity on standards around the web2.0 software stack in recent weeks, and this year's conferences had had little else to talk about. Here's my take on the current state of play:

To start with there's my lifestream published with Jaiku - my digital footprint which encompasses blog posts I'm sharing (google reader), comments I've made (coComments), sites I've bookmarked (del.icio.us), location and presense updates. This information gives a view on my attention and is ideal for marking up with APML for intelligent reuse around the web.

Then there's information I want to publish and synidcate out such as events I'm attending (upcoming), places I'll be (dopplr), photos I've uploaded (flickr), blog posts written (blogger), videos uploaded (YouTube). This is more static information, content I've created, which is generally feed based through standards such as RSS or iCal and can be proxied through services such as feedburner to overlay analytics.

To pull all this together I need a concept of identity (OpenId through ClaimId) and cross site authorisation (oAuth).

Finally I want to share all this with my social graph, which I need to define with microformats such as xfn and hCard, deliver the content to container sites such as social networks through Google's recent OpenSocial and make it platform agnostic with widget apis such as netvibes' UWA. This is the standards coalface where the apis are still being cut, a few months from now we'll see the first fruits of this work as the major social software players being to support these standards.

This slew of technologies and web applications almost fits together into a portable digital presence spread across the net and integrated with my social graph. With a bit of hard work its with us today, and tomorrow it will extend even further onto my mobile through Google's Android.

Exciting times for web2.0 developers.

Thursday 11 October 2007

The agile approach

It seems that every conference I have attended this year has had several speakers passionately advocating an agile approach to web application development, something that a few years ago was the preserve of an evangelical geek sub-culture, now seems to have hit the mainstream with the next generation of Internet entrepreneurs.

I believe this is partly due to a shift in perspective, from seeing the web primarily as a data repository where the discipline of information architecture has primacy, to a vision of the web as an application platform which forces us to draw more heavily on interaction design and usability concerns in our designs. This has naturally favoured a shift towards development methodologies that focus on the user experience and which exploit usability testing to explore this realm.

Agile methodologies seem to align very well with the web 2.0 philosophy, centring around the customer as an integral part of the development process and allowing projects to evolve through usability testing and customer feedback rather than being up-front requirements driven. Agile also supports the rapid turnaround needed for web development, dovetailing effectively with the 'beta' culture and the drive to be first to market and hence to establish dominant market share. What would be difficult to implement in other businesses of packaged software development or critical b2b systems, is in its element with b2c projects over the Internet where rapid feedback and a 'release often' philosophy are underpinning a successful model of RAD development.

Partly this success seems also to be supported by the rise of a number mature web development frameworks such as Rails, often based around the MVC pattern, which support rapid prototyping and an approach which leverages the strengths of the HTTP protocol rather than necessitating reinvention (every web developer should be forced to read RESTful web services before developing any web app). This is all the more interesting for me in my work as we run a Microsoft stack throughout which is only now seeking to replicate this success within the .Net framework and is certainly aligned more with SOAP than REST.

Over the past few months my development team have been rolling their own agile methodology, combining elements from several sources but most closely aligned to extreme programming. This approach is now having its first outing to deliver a social networking project (currently in stealth mode) which we're due to launch at the start of next year. I will be acting as the customer proxy during development and will try and blog my learning from the inside as we give the new system a spin. Iteration one was this week and tomorrow will see our first bullpen as we evaluate the outputs and see how we've faired. I'll let you know how it goes...

Wednesday 13 June 2007

Adventures in web 2.0

Lately I've been doing some research into the current state of the art in the resurgent Internet economy. In particular I've been experimenting around the web 2.0 community, a concept I've previously had doubts about, relegating it to the overflowing dustbin of hyped concepts alongside 'push technology'.

However, after several weeks spent repeatedly entering my profile into every site that will have me, I have to say something is emerging from the pastel colours and ubiquitous tag clouds that captures my interest. I'm beginning believe there really is something to it, a new zeitgeist which genuinely does have substance. Even the economics seem more sustainable with many web 2.0 companies exiting through acquisitions rather than through the over-hyped IPOs of the first bubble.

In particular two trends have particularly caught my eye. The first is the rise of the widget companies; technologically nothing new - personalisation through the use of web page components and gadgets has been around for at least a decade. However, the key difference here is the move from personalisation around a single portal, to network personalisation through multi-site syndication. User generated content that was once trapped within sites dealing within a specific verticals such as photos, is now freely accessible through a multitude of front-ends through the use of widgets.

This was the promise that syndication standards such as RSS have failed to keep up with, leading unfortunately to an abandonment of standards in favour of presentation. Where RSS still dominates in textural content supporting aggregation through tools such as readers, widgets are inherently presentational delivering rich media content beyond RSS, but in a way that is inherently difficult to aggregate. It is interesting to see the rise of services such as Feedburner that are taking up the challenge to integrate these streams together, providing ways to encapsulate rich media within the constraints of RSS.

Secondly, the opening up of the Facebook Platform to third parties to develop applications upon is of major significance. With a stated goal of creating a social software operating system for the web, Facebook has certainly latched on to something with great potential.

After registering and linking up with friends, filling in my profile and joining a few groups, I found myself wondering what I'm supposed to do on Facebook. I seem to spend many hours fiddling whilst not achieving very much, keeping track of what everyone else is doing and essentially killing time quite unproductively. However, when I look at Facebook as an underlying infrastructure for building a network, upon which applications can be layered, it suddenly becomes much more of an attractive proposition. If Facebook can match the explosion of development within its borders with an adoption of is core concepts of identity, profile, presence and network in external applications then I think it can achieve its aim.

This leads to the coming conflict - on the one hand you have a closed network of friends producing content within applications built upon the Facebook platform, primarily local, but with a number of external integrations such as the movie site Flixster. On the other side you have specialist verticals such as Flickr doing a much better job within their narrow focus, syndicating content, via widgets, through open forums such as the blogosphere. Currently I have to choose - do I manage my photos in Facebook and get the advantages of the the network but no visibility beyond it, or do I manage them in Flickr with better tools, open syndication, but a duplicate profile and an inferior network?

Two social perspectives seem to be developing, on the one hand you have the individual; their restricted profile, their closed network and around that a whole host of information, on the other you have the blogosphere; content focused, open, surrounded by that same web of information. These don't need to be exclusive if they both build on the power of the specialists; rather than looking at the Facebook platform as an opportunity to build an application within Facebook, look at it as an integration platform that allows specialist environments to be syndicated into a successful network-centric environment, and use that network platform as an infrastructure component for those specialist sites (Flixster does this close integration well).

Finally here's the roll call of the sites which have kept me occupied while exploring these concepts: social networks by Facebook and Linkedin, blog by Blogger, syndication by Feedburner, social bookmarking by Del.icio.us and Addthis!, events by Upcoming.org, images by Flickr, movies by Flixster, videos by YouTube. You'll notice that almost all of these are now owned by either Yahoo! or Google.

Tuesday 5 June 2007

Surface computing

A couple of days ago I picked up this video from TechCrunch demonstrating Microsoft's new surface computing product. Surface computing is an admirable attempt to deconstruct the prevalent user interface paradigm and introduce more natural human computer interfaces into our everyday lives. The video is certainly impressive, reminiscent of Minority Report's gestural interfaces, with seamless integration with mobile devices.

Certainly when I've given these kind of interfaces a go on traditional computers, I've initially been impressed by the eye-candy, but have soon reverted to the traditional interface for quickly and easily performing everyday tasks. However, when you move away from power-users, and workhorse tasks, these interfaces could genuinely lower the barriers of technology - I can see my parents managing their digital photos on such a platform, whereas I dispair of them ever emptying their SDcard currently.

More importantly, in the long term such interfaces will become vital as embedded computing becomes more ubiquitous. When your clothes have embedded CPUs and you carry your personal area network with you, interfaces will need to evolve beyond windows and menus. It's reassuring to see that Microsoft of all companies, is thinking outside the box here and is going beyond just embedding a computer in a table (think the failed promise of kiosks) to produce something which delivers us new interactions and sets us thinking that maybe we've all been lured into a dead-end local maxima of interface design centred around the diminishing returns from the refinement of windows, menus and more recently ribbons. The field is wide open for innovative ideas to become tomorrows de-facto standards; just maybe this product could herald the start of some real progress in interface design after years of stagnation.

Wednesday 30 May 2007

The 14 faces of innovation



Over my holidays I managed to find time to get through Moore's latest book focussing on innovation. In my opinion this is by far the best of his works; much more applicable to the everyday SME with a practical methodology to underpin the theory.

One of the difficult areas for most companies is to understand their existing products and determine how to innovate around them. As Moore details, it is usual to see a scatter gun approach of competing brand themes which don't come together into a strong identity. Moore advocates an analysis based upon his familier technology lifecycle model, but tying in 14 varied types of innovation. For each product a company should be majoring on a type of innovation which is appropriate to its place on the lifecycle.

It's a very compelling book, bursting with examples whilst still being easy to read. I'll let you know how the methodology fares after I've given it a run.

Friday 25 May 2007

New blog

Probably the last thing the Internet needs is another blog. However, in my ongoing quest to at least make a start on some creative writing I am hoping that a blog will exercise the right parts of my brain to trigger more substantial output.

Expect me to cover technology, the realities of parenthood, politics, science fiction and anything else which piques my interest.