Tuesday, December 27, 2005

Platform standards and loose coupling

Recently people have been talking about organizational standards for web application platforms (like Linux/Apache/Tomcat for example, or ASP.net for another).  Personally, I'm a big fan of the "small pieces loosely joined" concept.  Small pieces are exponentially easier to build, test, deploy, and upgrade.  Loose coupling gives flexibility and risk mitigation -- components can fail or be replaced without major impacts to the entire structure.  All of these things help us cope with schedule and product risks.  The technical tradeoff is a performance (latency) hit; for web applications, I think the industry has proven that this is usually a good tradeoff.

I guess I should be clear here that I'm interested optimizing for effectiveness, not efficiency.  By effectiveness I mean that speed of development, quality of service, time to market, flexibility in the face of changing business conditions, and ability to adapt in general are much more important than overall number of lines of code produced or even average function points per month.  That is, a function delivered next week is often far more valuable than ten delivered six months from now.

To do this, you need to start with the organization:  Architecture reflects the organization that produces it.  So, first you need to create an organization of loosely coupled small pieces, with a very few well chosen defining principles that let the organization work effectively.

Each part of the organization should decide on things like the application server platform they should use individually.  They're the ones with the expertise, and if there really is a best answer for a given situation they should be looking for it.  On the other hand, if there's no clear answer and if there's a critical mass of experience with one platform, that one will end up being the default option.  Which is just what we want; there's no top-down control needed here.


So the only case where there's an actual need for top-down organizational platform standards is to get a critical mass of people doing the same thing, where the benefit accrues mostly because of the critical mass, not because of individual project benefits.  There's not much benefit to bulk orders of Apache/Tomcat, so if you're avoiding vendor lock-in the main reason to do thisis to enable interoperation.  But that can be accomplished by picking open standards and protocols -- pick some basic, simple, straightforward standards, make sure that teams know about them and are applying them where appropriate, and they'll be able to talk together.  This is a risk mitigation strategy rather than an optimization strategy; in other words, you know you can always get something working with a known amount of effort using the loosely coupled strategy.  When you're tightly coupled to anything, this is no longer true -- you inherit its risks.  Tightly coupling an entire organization to an application server platform also creates a monoculture, making some things very efficient but also increasing the risk that you'll be less able to adapt to new environments.


Tuesday, December 20, 2005

Google + AOL

It's official:  Google invests  $1B for 5% of AOL.  Considering Google's market cap bounced up $2.2B on Friday when the serious rumors started, it seems like a bargain.  Also, I'm hoping we successfully negotiated for access to Google's cafeteria.


Wednesday, December 14, 2005

Syndicate Day 2

Just a quick blog entry to bring a sense of closure... Day 2 was better than Day 1, or maybe I just went to the better panels.  Compound Feeds with Marc Canter, Anil Dash, Salim Ismail, Tantek Celik; The Attention Economy with Steve Gillmor as the Big Giant Head; and Stalking the Wild Tag with Mary Hodder, Caterina Fake, and Mark Pincus were all valuable.

I'm sitting right now listening to Doc Searls give the closing comments, which is a good way to close out the day.  He's just finished making fun of hotels and is talking about the Live Web so I'd better pay some Attention. 

Tags:

Tuesday, December 13, 2005

At Syndicate

I'm at the Syndicate conference in SF today and tomorrow -- meaning my already sporadic blogging is going to be even more variable for a couple of days.  On the other hand, the conference is pretty interesting and I'm picking up a lot of information and talking with many smart people.

Great.  Larry Weber just related an anecdote about an IM based test preparation service which made $30M last year... which is nearly the same as a startup idea I was tossing around with some people three years ago.  Well, I guess I need to average that out with all the truly stupid startup ideas I've had in the last three years before kicking myself. :)

Monday, December 12, 2005

Beta features

We have some new features at beta.journals.aol.com... some of which are going to be turned on for the main site this week.  You can take look at any blog at beta.journals.aol.com to play with them.  Some of the new features:

panzerjohn at 6:24:16 PM PST Link to this entry | Blog about this entry | Incoming Links | Notify AOL

Beta only features (not going to journals.aol.com this week):
o An AIM presence icon showing status for screen names listed on entries or comments;
o Incoming links searches for other sites linking to that entry

Features going to journals.aol.com this week:
o Blog about this entry to make it easy to link to other people's posts
o Notify AOL about specific posts that violate terms of service
o For Private Journals, the ability to simply make your Buddy List your reader list (adding buddies adds them as readers). 

Monday, December 5, 2005

RFC4287: The Atom Syndication Format

RFC 4287, the Atom Syndication Format, is now available in old-school IETF plain text format.  So, no excuses for not supporting Atom 1.0 -- the standard is not only done, it's got an IETF number and everything.

Some fun RFC numerology:  4287 is a single-transposition permutation of my office phone extension.  It's also the star catalog number for Alkes Crateris, the primary star in the constellation Crater (The Cup).  Clearly Atom is the Grail. Or maybe my phone is.