This is the second part of a post on building a unified personal content store. You can find the context for this post in the first part.
It’s been well established that successful software development depends on three core principles – focus on delivering concrete value to users, focus on having a coherent technical architecture and focus on building incrementally. These principles have been offered up as part of rigorous processes as well as in the form of simple practical advice.
What is striking about all the attempts to build the unified personal store has been the almost exclusive focus on technical architecture. A classic case of architecture astronauts running wild! The other two pillars were given short shrift!
1. Delivering concrete value - The focus was on satisfying a abstract and generic requirement instead of meeting specific (and lucrative) requirements to start with. Even after many years Picorp and Chandler were able to only demonstrate trivial usage scenario’s.
2. Building Incrementally – The focus was on creating a mature and generic technical architecture as opposed to incrementally refining the architecture over multiple releases . This also ensured that there was very little user feedback and business validation.
In a lot of ways, Microsoft was uniquely positioned to deliver on this vision of a unified store – I did write about this a couple of years back. However, looking at it today, its clear that it is in fact a company like Google that is ideally poised to overcome the issues identified earlier.
1. Delivering concrete value is easier when there is a large portfolio of apps. Google can focus on offering up small integrations among a few of its applications. Notice the seamlessness with which google docs comes together with google mail and calendar.
2. Building incrementally is easier when you operate out of the cloud. Google is not bound by traditional software release cycles. It can push features and get feedback and get validation within a period of weeks!
3. And building a generic architecture is easier when you have access to top talent! Google has the technical capability to incrementally transform the underlying architecture into something more generic and allow others to plug into it’s unified store. Having a high profile ensures that there is quick buy-in by external developers.
A look at Google’s data api list instantly gives you an idea of far Google has already traveled in the direction of a unified store. What’s more, some of the folks like Mark Lucovsky who were driving WinFS at Microsoft are now at Google! It’s only a matter of time before we see this thing coming together.