« December 2005 | Main | February 2006 »

January 23, 2006

A Great Blog: Intentional Software

James Taranto correctly writes that "what the Web most needs is editing." We techies would say the Web's signal-to-noise ratio is low.

A strong signal in that noise is Intentional Software's blog, which contains items by Charles Simonyi and his colleagues on computer science. Simonyi is the former Microsoft Chief Architect, a title which Bill Gates now holds.

The blog is insightful, well written, and delightfully low traffic.

Posted at 09:08 AM | Permanent Link

January 19, 2006

3 Truths of All Software Projects

  1. You cannot specify all the system requirements at the beginning of the project.
  2. The system requirements will change.
  3. There are always more requirements than time and resources to complete them.

Credit goes to Jonathan Rasmusson.

Posted at 01:42 AM | Permanent Link

January 17, 2006

The definition of irony...

...is going to a political rally and carrying a placard that says:

"A village in Texas is missing it's idiot."

Is it asking too much to use correct spelling and grammar when calling someone else an idiot?

Posted at 01:30 AM | Permanent Link

January 10, 2006

Microsoft invented Ajax: Let's give credit where it's due

It isn't very hip to compliment Microsoft these days.

There are many manifestations of this bias, but none more aggravating to me than to whom the credit for Ajax goes. For example, in Lee Gomes' much discussed Wall Street Journal article on programming languages, he says:

"Both Ruby on Rails and Ajax were developed by small software-consulting companies eager to let the world know about their skills."

This is simply wrong about Ajax.

There is also this quotation from Mitchell Baker, the Mozilla chief, in The Economist. The context of the statment is Firefox's contribution to Ajax innovation.

"Web 2.0 could have happneded a lot earlier, if Microsoft had not had a monopoly for a decade."

What chutzpah!

Microsoft invented Ajax in 1999. It just took the rest of the software world 6 years to catch up. I've developed a brief timeline at the end of this post.

The two key technologies for Ajax – the ability to modify HTML on the client side and the ability to initiate and capture an asynchronous HTTP request – were introduced in Internet Explorer in 1997 and 1999, respectively. Outlook Web Access was the first product that I know of to use both heavily.

It took about 5 years for Safari 1.2 and 6 years for Opera 8 to implement XMLHttpRequest or a XMLHttpRequest-like API. Firefox didn't have a production release until 2002.

Once the non-IE browsers caught up developers could now use asynchronous requests to spruce up their Web apps and still have it work in multiple browsers. Ajax development became more affordable, and, therefore, more popular. Prominent and very well-designed sites like Google Maps and GMail made users and developers aware of what is possible.

Finally -- 6 years later -- Jesse James Garrett of Adaptive Path coined a catchy phrase: the term Ajax was born.

Ajax is popular now because using asynchronous requests in Web apps is affordable and well-known sites use it. Libraries like Prototype smooth over the browser-specific API wrinkles even further to make life easier.

Make no bones about it: the fundamental innovation behind Ajax was created by Microsoft. Let’s give credit where credit is due.

Ajax Timeline:

  • 1997 – IE 4.0 introduces ability to modify the UI via the DOM and client-side script

  • 1998, 2000, and 2004 – W3C releases or updates standards on the DOM

  • 1999 – Internet Explorer includes XMLHttpRequest

  • 2002 – First production Firefox release

  • 2004 – Safari 1.2 released with XMLHttpRequest support.

  • 2004 – Google Maps, GMail, and other popular Web apps demonstrate great UI design with AJAX

  • 2005 – Opera 8 released with XMLHttpRequest support

  • 2005 – Adaptive Path coins the term AJAX and makes it popular

Sources: Wikipedia, Adaptive Path, MSDN

Posted at 01:13 AM | Permanent Link | Comments (2)