Wednesday, June 28, 2006
I do this only for close friends. Seema and Ashwin sure are among some of my best friends. And Arun, well, qualifies as well ;) All of them also look serious about updating their blogs. I sure hope that continues. So, here's welcoming Arun and Seema/Ash. I have also added them to my blogroll. Arun: http://chearie.wordpress.com/ Seema and Ashwin: http://tinybitoflife.blogspot.com/
posted on Wednesday, June 28, 2006 1:01:45 AM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback
 Thursday, June 15, 2006

Web 2.0 has no doubt arrived. What initially looked like a spate of XML/HTTP-driven websites, now has terms like AJAX (which no doubt was a marketing genius) and Comet making its way into programmer skill-sets.

There was time, back in 1999, when I was just an year into programming, when JavaScript was dreaded.  Nobody was interested in writing more than a few lines of client-side validation. I remember writing what we called a "double dropdown", which basically meant having two JS arrays and then populating a HTML SELECT list based on the selection of the first SELECT list. Like in a country-state selection. Doing that bit was a niche skillset that a couple of us could achieve with minimal code. All because of JavaScript illiteracy.

And then I had the opportunity to work on an IE-only intranet application (oh yeah, there was Netscape 3 and 4 to support otherwise) and thankfully we persuaded the customer to go with IE 4 as the base platform. Doing that application taught me DHTML and JavaScript like never before. In fact, after that I could look at JavaScript to do inventive things. I have had the privelege to code using Remote Scripting, Design-Time Controls (VSDTC) and Visual Basic DHTML project templates - all pioneers in making it easier to code in "AJAX".  However, the best of those days was coding in Notepad.  XML HTTP, which made its debut in IE 5.0+, was something I got introduced to only in 2003.

Why all this?  To give you an indication that the Web 2.0 AJAX thing was always around. But somehow, due to the then backward nature of non-Microsoft browsers, non-standardization and the usual time for user adoption and comfort with new trends, it took a while to appear the way it has now. However, Web 2.0 is not just about AJAX. This is a key thing to remember. Check out Manoj's excellent post on Web 2.0 - a great perspective that I share too and hence am not going to repeat things here.

So, now that the background is set, let me get to what I wanted to actually talk about.

Though there are a variety of new innovative websites out there that harness Web 2.0 technologies and ideologies, it is still quite a small percentage of the larger web. One of the main reasons still remains that JavaScript, that plays a pivotal role in creating powerful interactive websites, is still a nice skillset. Excellent programmers hate coding in JavaScript (take Sid for instance - got to link to that awful post on AJAX here - Sid, place the link in the comments. Interestingly, the company Sid is part of is building something really cool on AJAX to make it easier to build mash-ups). 

Now do you smell an opportunity?  Everybody wants to be on Web 2.0, but JavaScript is a road block. And even if you love coding in JS, writing reams of code is a no-no for productivity. Of course, the larger corporations of the world did sense this and the result is a barrage of "AJAX toolkits" trying to ease the burden.

There is Microsoft ATLAS, Yahoo Developer Network, Google Web Toolkit, the Dojo toolkit, the Prototype toolkit, just to name a few. And there are tools and parsers - you will find plenty of them.

Though all of these are around, the developer view of Web 2.0 is still very confusing. The reason - each one has its own way of solving the problem. Some are even solving the wrong problem.

ASP.NET 2.0 introduced script callbacks which in itself is a great way of writing AJAX-style code. But then many of the associated controls do not have the AJAX capabilities built-in and still rely on postbacks. ATLAS aims at solving this problem - hence enabling developers to write ASP.NET code (read server-side) without having to worry about JavaScript and client hacks. Neat. But this causes two problems - one, it is tied to a server platform and two, it will take longer to mature because Microsoft has assumed that the developers know ASP.NET 2.0 already, something that is not necessarily true in all cases. Moreover, it is taking just way too long to release. I am afraid they might well miss the curve if something really better comes up.

Google Web Toolkit (GWT) works with code generation. Write in Java, generate JavaScript. Though I haven't tried GWT personally, I am pretty sure this is not a great approach. The problem is that no matter how well you write your code generation, purists will tell you that it limits the language that is being generated. If I wanted to do something one way and the tool generated in another way, it is always going to be a problem. Frankly, I had expected Google to come up with something targeting the Microsoft developer base primarily, but coding in Java will limit the user base of GWT as well.

Yahoo UI, Dojo and Prototype are all nice client libraries. In fact, I like Yahoo UI a lot for its simplicity. Dojo is really powerful.  Both of them expect you to understand how JavaScript work - which could very well mean it is for developers who are already comfortable with JavaScript.

Tools like the Microsoft Research Map Cruncher and Google Sketchup are really nifty tools that can be used to do some good innovative Web 2.0 programming. But each of them are again limited to a particular context, particular website, particular technology, etc.

What is missing is a comprehensive IDE for developing Web 2.0 applications. A platform for creating, mashing up, merging, collaborating and developing applications using innovative ideas. Sites like Codeplex should aim at not just being another source control repository, but instead creating an environment, providing the right tools and enabling developers to code collaboratively. That will be the true realization of the Web 2.0 vision.

posted on Thursday, June 15, 2006 3:54:03 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback

Getting a little time on hand is a rare thing these days. (No) thanks to a flu that has grounded me, I have a little time now as I am recouping with dozes of green and blue pills. Should be back on my feet in a day.

However, since I had a little time, I thought I will make some good use of it and put an entry in - something that also has become a rare thing. And I already have people complaining about it - which, needless to say, is a good thing to know.

So before I make a post that has been running in my head for a long while now, let me also put in a few lines about time and the meaning of "no time for blogging", strictly in my own context.

I hate to say I have no time for blogging. Many of my friends say, how can you be that busy - it takes just a few minutes to blog an entry. But then there are other friends of mine as well who like to roll an idea in their heads for a while before it is blogged.

Weblogs have become more than a fad now. Anybody who spends considerable time online has a blog. There are different categories of blogs (and no, I am not talking about categories like tech, programming, literary, etc.). Categories created by people simply because as humans we fall into different categories ourselves.

There are the simple bloggers, that use their blog space as a hyperlink aggregator, sharing with people all links they found interesting. Many people also start blogging this way. Then there are the ones who build upon this a little, add a viewpoint or two.  And then there are the ones who get linked because what they have put in is pretty much an original post or a different viewpoint that others find interesting.

There was a time when every link I found interesting, I wanted to pounce upon it and share it with friends. That interest has waned now. I no longer want to do the "check this out.." posts.  I want to do more of the viewpoint stuff. Which is why I need more than a few minutes to do a blog post. Which is why you see the number being scanty.

I only hope I had more time on hand. Maybe I should take up a full-time blogging job - on the lines of Robert X Cringely (by the way, Cringely is not a real person).

But till I get that kind of readership, I have to just keep sneaking time and hopefully without being sick.

posted on Thursday, June 15, 2006 2:41:16 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback