Open Source

December 30, 2004

Michael Rys pointed me to an interesting counterpost to my most recent post which, I think, somewhat unfairly, takes me to task for asking for the open source tooth fairy.

It says that Google essentially has a parasitic relationship with the open source community. As it turns out, Google actually puts quite a lot of time and effort (and occasionally money) into supporting open source efforts.

It suggests that my post speaks for Google in what I ask for. Actually I don’t. Google is dong just fine with respect to storage and indexing. It has built what it needs to support its products. I really was speaking based far more on what I heard from many many large corporate customers and from almost all services.

Lastly, the counter post assumes that saying software is free is the same as saying that you can’t make money from it. In fact, customers are always willing to pay for support and service. Essentially, long ago, Microsoft turned itself largely into an annuity business where the licences companies hold with Microsoft are just that, payments for guaranteed support and ongoing upgrades. Many open source vendors are now doing the same. My point was not that people should never get paid, but rather that it makes more sense to pay for the ongoing support.

Nevertheless, it is a good and entertaining post and I recommend reading it for a different point of view.

Advertisements

Well!

November 22, 2004

That speech certainly stirred things up. Jeez, I should speak more often. I learn a lot from the indignant responses. And speaking of indignant responses, not only are there Danny Ayer’s excellent rebuttals, there is a classic from Marc Cantor. I love this response. It is thoughtful, but passionate, indignant, and totally interesting. And yet, I don’t agree with it. If his article is to believed, only through the aegis of RDF can I understand the “micro content” like who authored a talk, what was it about, what was covered. Now it is undoubtedly true, that if I build a ton of RDF that, through the right assertions, it could say who authored the content, what it was about, and so on. Of course, I could also just invent some namespace and add some attributes to do this. (I can see Marc getting red in the face just thinking about the ignorance and stupidity of this remark). But seriously, I know how to add attributes and elements. It is easy. Even I can do it. But I always get confused when I try to even remember the RDF syntax for somehow asserting who the author is. And, apparently, so do others. I’m Ok with the looser less precise intelligence of Google in searching the text to answer these questions. And no Mark, it isn’t because “Google is known as an anti-meta-data sort of place”. I’ve only been there 5 months for goodness sakes. It is because it works pretty well. However, I’m still learning and this argument I think benefits everyone, even if I turn out ot be wrong, because it gets people thinking.

Several people have complained that I was unfair to CSS. I didn’t mean to say that people should never use CSS. I use it in this Blog. It is a good thing. I like CSS. What I did mean is that when just trying to create a table with 2 cells on the left and one on the right, I don’t want to figure out the CSS for that. And, asking around, neither do a lot of other people. Mostly, I was just being amused that people try to be pixel precise in HTML when that wasn’t the original intent.

Still trying to be a 21st century kind of person.


Saying it better than I did

November 20, 2004

I’m sure it’s bad Blog procedure to reference a post referencing one’s own post, but this one is just too good. Sriram Krishnan just completely nailed what I was trying to say in my talk and provided many better examples than I did. By the way Sriram, as the one-time leader of the IE HTML team, I also appreciate the understanding about the need to always render rather than complaining about invalid syntax.


An Excellent Post

November 12, 2004

There is an excellent post on Loosely Coupled that I suggest everyone read. It highlights one of the afflictions of our times. Software standard organizations are typically inventing standards rather than ratifying and cleaning them up. This is like a bunch of food critics writing a cook book without ever actually trying out the recipes they invent. They have domain expertise, but lots of things aren’t thought through, are over designed, or just plain are too hard. Bravo to Loosely Coupled and Tim Bray.


Reactions

November 6, 2004

Sometimes the reactions I get to my postings seem more focused on yelling than informing. I’m happy to say that this isn’t the case this time. All the comments posted in the last week are interesting, thoughful, and challenging. It was pointed out that mozilla is adding blogreading support to Firefox. Yes I know and I’m delighted. Firefox continues to impress and delight me.

One concern expressed by several readers including Danny Ayers, Blaine Cook,Rimantas’ murmers, Alek Blog, and so on. A second point made is that one can have a rich client that dynamically reads content and then users can customize to their hearts content. Both points are valid. A third point, which I think is specious and I’m going to quickly dismiss, is that it is easier to run the service yourself. I think this is geek talk. For everyone who wants to run his or her own blog server, there are in my opinion 100 people like my mother or wife or daughter or brother in law or father who would never even consider it.

Someone called “Joe” sent in mail which said “I’ve done a lot of web development, DHTML, JSP, ASP. I think most developers would agree a lot of the time you spend trying to work around limitations of the platform rather than working on customer features”. Sure. Heck, in my prior life I designed and built DHTML and started ASP’s while I was at Microsoft. So guilty as charged. But programming in windows or Java is different? Come on.

More interestingly Joe, whoever you are, I think the best way to comment is the way that Blaine Cook did by posting on his blog. Dave Sifry of Technorati argues that the best comments are response posts (like this) because then you are putting your own reputation on the line in a sort of web wide extended conversation. I don’t think it is a coincidence that Blaine’s comment is one of the most penetrating and brings up the term “open data”. Notice, the value is coming from the community and the reputation and the content, not the tool used to author the post which is largely irrelevant.

Blaine, I think the issue of “open data” is a great one. We are going to need to see an “open data” model for people to want to put their data anywhere. Services will need to provide value to justify themselves, not data lock in. The value may be in the form of additional information, community discussion, ratings, search, data management, publishing features, relieving you of the tedium/cost of operations or monetization, but they will need to deliver value in a way where, if the value isn’t there, you can walk.

On the point of richer user interfaces I’m asked if it isn’t better to have rich clients (like Java or Macromedia) on top of open data rather than web based user interface. My short answer is that it depends. If I need offline access, at least today, then sure. If I need rich ways to manipulate media (photos, sound, video, voip) then sure. And I said so in the prior post I think. But in general, no. Because these apps don’t evolve as quickly. Even iTunes which is lauded as a sucess in the comments hasn’t evolved much for me and still, for example, has no community features. Even peer to peer ones. I can’t chat with my son and say listen to what I’m listening to. But as long as they evolve rapidly, great.

But I will still argue that in general, the value comes from the information, the community, the collaboration. The radio hit a certain point and then was good enough. It was a commodity. The content played over the radio, on the other hand, has continued to be of huge value. Sure new radios come out all the time with new bells and whistles. Compared to a new talk station (pleasing or infuriating or a great new song) how much do we really care? Sure iPod currently has made a business by tying itself to a service, but at some point, it will be like the radio, I predict and have gotten good enough.


Evolution in Action

October 31, 2004

A long time ago, I read a book, Oath of Fealty, that included the tough but amusing phrase, “Think of it as evolution in action”. More recently I read a wonderful book, the Botany of Desire and another equally wonderful one, The Beak of the Finch, both of which make the point that natural selection is going on at all times. Evolution and learning and natural selection are the themes of this post.

About 9 years ago it became clear to me that, all things being equal, the current model of building software for a specific API to be deployed on someone’s desk was going to be far less sucessful than the model of deploying a service. Why so?

Well this is where the comment about evolution in action comes in. Things that breed rapidly more quickly adopt through natural selection to a changing environment. Services can typically deploy changes every month or even more rapidly because they only have one single configuration on a set of machines whose OS, storage and networking they totally control and which they manage in their data centers. These days Microsoft gives birth to new products at a pace that makes an elephant seem quick, about every 60 months, that means in the time that a service can make 60 adaptions to its customer’s needs, Microsoft makes one. It used to be that they shipped every 12 months. Then 18. Then 24. And so on. The creep is driven by the ever increasiongly complexity of features, hardware, os variations, and backward compatibility of the API’s so ably designed to lock developers in. They locked the developers in all right. The Microsoft ones. This alone to me has been a compelling argument that when a product can be delivered as a service, it should be.

Secondly there is the telling point of usability. In February 1997, fresh from having built/designed DHTML for MSFT and just before building XML, I made a month long pilgrimage to talk to users about the forthcoming IE 4.0 and what should go into IE 5.0. The results were eye opening to me. Customers, almost unanimously, told me that they didn’t want the rich user interface of GUI for most applications.For office worker Personal productivity applications, sure. But in general, they wanted the easiest most self evident user interface possible. Why? Customer support costs. They had found empirically that the training and support costs for web based applications were much lower than for custom built Windows applications. Donald Norman ought to have been delighted. Simplicity had won. The economist has a huge article this week about how IT needs to be simpler and somehow manages not to mention the browser much. One wonders if it is a coincidence that they frequently quote an old employee of mine, Chris Capossela, now apparently “the boss of productivity applications” so frequently or there is some other reason for this startling ommision. But, in short, services not only evolve far more rapidly to meet customer needs, they are much cheaper to manage for most customers.

Chris’s title “boss” is illustrative of the other major reason that services tend to more rapidly adapt to changing customer needs and to more rapidly fix problems. Services provide all actions as URL’s and Button clicks and these can be statistically analyzed by services to better understand what’s working for customers and what isn’t. Thus as thus statistical instrumentation highlights customers needs, the services can instantly and dynamically respond to these customer needs. In short there isn’t some person who is the “boss” of a service. The customers are, very literally, in control. Think of it as democracy versus totalitarianism. This last point showed up almost from day one in the web. The user interface customized itself to the users needs, location, and data in a dynamic way through the magic of dynamic page layout. Today, a full ten years later, most windows apps still don’t do that. But heck they are only 2 or 3 or 4 generations evolved. Services, in the last decade, may have evolved 600 times by now all in reaction to what they have learned directly from customer use.

Some may say this is idle chatter. They may challenge me to put my money where my mouth is. I do so. I left an extraordinarily lucrative job at MSFT 5 years ago to work for 24K a year to work on services. I have personally invested in a great services company, Salesforce.com, and another promising one, Talaris, and I’m working for the one I regard as the greatest of all, Google. Greatest because the idea that simplicity of user interface wins has always been a Google strength from the start. Yet, at the same time, Google has figured out how to use my old progeny, DHTML, to let services deliver personal information activites like email in richer and more interactive ways.

Is it right for everything to be a service? Certainly not. If you need offline access, if you’re manipulating rich media (photoshop), if you need to search those files customers choose to keep privately on their PC’s then client side code is required. Blog-Readers are the poster children for this especially now we have podcasting. But I have to say, I think Mozilla could easily build in such features into their awesome browser, Firefox. And keeping data on a PC is asking for trouble. It gets old. The machine is dropped. The disk breaks. Put it on a service and it is stored, reliably, even in the face of an earthquake these days. By the way, I write all these posts just using a browser to type them in.

Perhaps more importantly, as I said in a prior post, most of the value today is coming from the community, the reputation, the access to information and goods and services, and the media itself. This ineluctable fact coupled with the driving forces of much faster evolution in response to the natural selection of market needs, much cheaper and easier and more simple user interface, and much better ability to know what can be done better for the customer are all combining. Services will be the dominant model. Think of it as evolution in action.