Archives for December 2007

A good year

2007 has been an interesting year to me.

From a professional perspective its been fantastic. I grew up to own the product that I started in as a developer, was involved in discussions with potential buyers for the product(!), transitioned team to the new company, envisioned and got stakeholder approval for new product offerring, was extensively involved in pre-sales efforts and played a crucial role in winning a multi-million dollar deal, with much much more in the pipeline. All this while keeping the existing products running and our customers happy.

Of course its not been all good. We lost a couple of people from the team. The culture change is more significant than I expected it to be, still navigating the waters with some caution! I have barely had a life – have dissapointed the ones I love immensely.

On the blog front I have been relatively better than what I used to be this year. I have been following blogging, specifically Dave Winer/Userland, for a long time. Its been very exciting to see the uptake in blogging, community driven applications/content and the social media space.

In the spirit of introspection I have created a timeline of the blog posts I have authored this year.


I used Simile-Timeline JavaScript to visualize the blog posts against time.

I hope the new year is as interesting as this one. Or will have to catch it by the scruff and make it so! Damn work-life balance! πŸ™‚ Tags: , , , ,

Android – Of the mobile/telecom providers, by open source developers, for Google!

Gerardo Dada, at msdn blogs, makes the classic mistake here. His contention is that without an economic model, there can be no investment into building the Android platform. Without investment, there is no world class talent to build it and hence such efforts are firmly set to be born still.

Now am sure Gerardo has his logic, being a marketing person he is very consistent in stating his reservations on the subject. All successful businesses have a consistent economic model – captial costs are factored, future demand is projected, competitive constraints accounted for and the price of service computed. All very nice and dandy.

But Google does not think like a business. Their moves are akin to a world champion chess player, who probably thinks many 10s(??) of steps ahead of the opponent. Many factors have contributed to their position in the industry, not the least of all is to take the moral high ground in coining the maxim ‘Do no evil’. But note that all high grounds are only in relation to a low ground (Microsoft, proprietary software, large evil corporations with suited agents etc), or at least a perceived low ground. The subtlety of their strategm remains, though initially in it for the love of building something unique perhaps.

So how does Google monetize Android

  • Get more people/devices plug into Google. Its an open secret that the PC market is not moving as fast. Of course there is massive potential in the BRIC economies but these would take time to open up in sufficiently large numbers. An Google that is overtly dependent on PCs only limits its possibilities. Hence the 411, small device focussed apps(say the Blackberry friendly GTalk etc) etc. So its obvious they had to move to a point where they could be with the consumer, always. Right when they would be needed, ubiquitous presence. This directly drives ad revenue.
  • May be it was a coincidence, but the iPhone must have forced their hand. I state this based on how raw the Android vision has been, which in itself is highly unusual for Google. Given the muscle flexing of these tiny devices, the usual contraints for rich user experiences that Google relies on become practical, without having to rely on a hundred variety of coffee beans. Here Google throws a little money towards platform development, effectively subsidising all involved parties, which means losing some money but what is gained is traction in the marketplace. Microsoft understands this, in how it supports the developer community, and its similar here. Make the platform effectively free and open to the handset manufacturers and they would bend over backwards. The commitment is the payback here.
  • Android is just one facet of Google’s quest to control and mediate how we consume information. It would be a mistake to consider it a single strategy that is consistent in itself, with a profitable economic model. This is where Gerardo loses it I guess. As a commentor on the original post obliquely pointed out, the money is not in the OS.  Google might even lose money on Android. And this is exactly Microsoft’s position on the XBox! Lose money on the hardware but make money on the software and service (Games, XBox Live etc)
  • From being consumers to the telecom and mobile device providers, Google’s appetite has grown enough to dream of having their own network. They have the reputation, clout and the gumption to envision an entire ecosystem. Or in other words ‘Of the mobile/telecom providers, by the open source community, for Google’. Here the payback is in owning the environment and all that it makes possible. ROI as traditionally calculated might not be relevant here.

This is just my initial thoughts on this. All comments/feedback/flames welcome!

Silverlight, not very bright?

Let me confess I like Silverlight. I believe it is a welcome addition to enable delivering rich interactive experiences on a browser.

However I have hit upon a couple of roadblocks that were not immediately obvious, at least to me, in considering the application of this technology. My contention is that Silverlight, or Flash or any of its ilk, lock content down. They utilize the browser as a host to deliver content but in such a proprietary fashion that it becomes impossible to do anything with the content.

Allow me to explain my reasoning. HTML is a simple way to deliver content that browsers render and it works across platforms. This simplicity lends an ubiquity that cannot be matched by any other means to get content to an user. This pervasiveness has allowed people to layer additional stuff on top of the humble HTML. To understand what ‘additional stuff’ we need to step back and consider how HTML content can be consumed.

An overwhelming amount of HTML content is still consumed by humans. But a steadily increasing number of mainstream web applications are chaging this by doing things with content that the original authors did not quite foresee. Let me illustrate this with an example.

Consider how WordPress renders your tags(Check this sample post), not the categories but the tags targeting or flickr or whatever. Now if you use the Operator Add-in for Firefox…


…you will see that the tags on the rendered page are
i) Recognized


and ii) Custom actions allowed on recognized tags.


Ask yourself how a 3rd party tool, like Operator, is able to infer content rendered on an arbitrary webpage and allow custom actions. The magic sauce is in how HTML can carry payload other than the content actually seen by the end user. This allows consumers other than the ‘I think therefore I am’ variety to make sense of the content.

This making sense is a complex problem and machines need whatever help they can get. Help is given by providing a little context to the data rendered on the browser. This context is usually hidden away within the entrails of the HTML. This little pre-agreed structure allows consistency of interpretation by machines.

And this is one of the keystones of the Semantic Web– to provide grammar to content on the web, allowing machines to create connections between disparate data elements in a logical fashion. Think of it as machines being able to make baby sentences by stringing together words.

Now all this intelligence, this mashable repurposable content goes down the rabbit hole when using any of the browser based ‘rich’ technologies. Hence my gripe.

Am I missing anything? Is there a clean and structured way out? In using Silverlight/Flash/Flex are we moving away from standards and interoperability gained by using HTML? Are we locking away our content?

Do you believe?

Check this advert for JC Penny, found via Tim OReilly’s blog post. Here is a stereotype smashing, gender busting advert that you can’t afford to miss.

This is the way I see it –
With agrarian economies, the physical prowess, the sheer ability to till the land is the ideal.
With scale and specialization comes the need to barter and trade for sustenance, here the trader and broker gains prominence and a large share of the spoils.
With all the common needs satisfied, comes the finer preoccupations, the life of the mind. Ideas that loop back upon all that has come before it to squeeze out greater efficiencies, to raise every common feature to its highest pitch. Here the man of the mind, the nerd takes his stage.

Such an elegant progression, much like evolution I would say. Granted that this is not a linear progression but an oscillation. An oscillation between these many dimensions of existence. Each swing perhaps results in the contraction of one ability only to raise another to a higher level than the previous swing. Each of us is here, I believe, to work this possibility out.

And in our coming together this entire machinery of possibilities collides and collaborates with entities just like us. Aggregations of these entities at different levels end up being called societies, cultures, nations and peoples. Each aggregation representing the sum and essence of its constituents.

Have drifted way too much from the primary subject of this post, but would like to end with this thought, “The ugly is not truly so, only our sight has to be changed to see beyond the obvious Tags: , , , ,

XAML Revolution

Found this via TimS blog, a brand new whitepaper that distills the experience of early forays into the WPF/XAML way of building rich user experiences.

The whitepaper is a much needed guide around how workflows between designers and developers may be organized. Its a quick read at under 17 pages but is filled with little nuggets of high level information. Not the syntax or API variety but around how to approach any project that aims to utilize this technology.

There are tons of material on the web around WPF but most of them only deal with it at the low level. There needs to be more such papers that give a more detailed picture around the lay of the land. Best practices around the life cycle of building and maintaining a WPF app needs to be brought out.

The highlight of the paper, for me though, has to be the following passage – Technically, XAML is not a language itself but a .NET serialization and initialization language. Therefore, XAML can represent more than the features in the WPF platform; it can represent any custom controls, new animations, etc., as well as any .NET object graph. In a way, one might conceive of XAML as code represented as XML.

Okay, now re-read that passage and think for a while. I think a significant portion WPF’s genius has to be in that single idea. Because if you think about it the notion of representing UI with markup is not new(HTML, XUL etc as the paper points out), nor is the notion of having code attached to specific events(VB, most RAD apps work this way).

But to have markup represent an arbitrary object graph is something unique, with implications far beyond WPF. In fact in the product I work on we have plans to investigate this option further. We have already evolved a markup based DSL to capture the behaviour of our system. The ease of having such a representation to encode behaviour cant be underestimated and we have countless instances where this has been a life saver.

Now, to return to the whitepaper. I wish more layers would be taken up for assessment in this series. Specifically I would love to see the following topics i) Security implications ii) Best practices for graphically intensive apps iii) Interop options(with Winforms etc) and pitfalls. Tags: , , , , , ,

Smugmug, dogfooding

“Hire customers as employees”- found this gem of a quote on a podcast by Scoble about Smugmug. This was given as the best decision taken by Don MacAskill, CEO of Smugmug.

I’d like to mull through that statement a little. Of course the specific industry you work for, or the service you sell might not allow your customers to become employees but the idea of employees consuming the service you produce is a sound one. Familiarity with the product, not just with a section of them performing the quality function is always a key element in ensuring success of any product.

You see it in the concept of dogfooding, at say Microsoft. Or in the Total Quality efforts at Toyota. Regardless of what it is called the principle is to get every employee intimately perceiving the service from the customer’s standpoint.

Watch the demo, I especially like the fact that the Smugmug photosharing application is designed to account for large displays. And it looks gorgeous I should confess!

I have been looking for application UI design guidlines for large displays but am yet to come across anything concrete. Do drop a comment if you know of any. Tags: , ,

Have you ever loved an idea?

I stumbled upon this entry on my Google Reader today and got all nostalgic. Amongst the events that have made a deep impact on my life and career COM has to be right at the top 10.

I loved COM and everything about it, it was one of those things that I ‘understood’, not in the syntactical sense but rather the philosophy behind it. Don Box, via Essential COM, is still Guru to me and a host of other deities I have offerred obeisance, Charlie Kindel is one of them.

The post in question has 3 videos, above is the first one, that capture the history of/need for COM. Watch it now and you will see the problems they attempted to solve then have not changed much. Interoperability between components written by independent authors remains a problem even now. Instead of COM, we now have SOA as the holy grail of building connected systems. But love does not heed to logic and I still stand besotted by the magic that was COM.

Have you ever loved an idea? Tags: , ,



The age of heroes has long passed us by, what we live in is an age of wannabes. Moral dwarves scurrying to their holes of self-justification.

In a reality that disappoints  with such unfailing regularity, our only chance of coming across a hero seems to be within the intangible firmament of imagination and thought, as if heroism itself was something so transitory that it would not survive reality. But accustomed as we are to the currency of tangible reality, the world of thought is sealed but for those who would speak and decipher its language.


Beowulf stands at the borderlands of fantastical world of thought and the hard boundaries of physical reality. Motion capture lends its animated human characters a realism that lends life like posturing and movements. That alone makes this effort a precursor of what movies can and will be.

But for all its technical achievements, seldom does the art draw your attention, except perhaps when you hold your breath on seeing things you would not expect to confront usually.

The way the characters and the environs have been envisioned is out of the world too.


<spoiler>One striking example is how a hero is portrayed. Brash, egotistic, even vain and tons of other moral weaknesses. Just when you think that this conflicts with every mental model of a hero, the redeeming quality emerges. The scene is when the monster Grendel pays a ‘visit’ to the mead hall. When all around scurry about in mortal fear, there stands Beowulf, sans a shred of clothing since he wishes to meet the monster in similar elements, staring at this awful creature, this monstrosity, displaying only a single emotion, ‘what the heck is this!’. No fear, no flinching, just a cold instinctual assessment of the situation and jumps into the task. The physical postures, the choreography of the action sequences and the final declaration of what he is, once victory seems sure, has to be one of the finest moments in recent movie history.</spoiler>

Watch this, you will not be dissapointed.

[My other post on Beowulf is here] Tags: , , ,