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
 Monday, May 29, 2006

It has been a long time since I have made any update.  Just bogged down with some tight schedules and heavy work.

There are lots of exciting things I want to write about - specially around Web 2.0. But that will have to wait for a better time.

posted on Monday, May 29, 2006 5:26:02 PM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback
 Thursday, April 13, 2006

OfficeLive - the new service from Microsoft - provides three subscription models. The first model provides you with a free domain name!  It sounded quite unbelievable at first!

So I went ahead with the steps - pretty simple - you choose your domain name, login with a Passport account (I think you need a Passport account tied to a USA address) and then came the surprise part. I was asked for a credit card number. Turns out, the credit card information is just for "verification purposes".

In other words that meant to me - well, get a free domain only if you are serious about it and if you trust us - after all, we are giving it to you for free!

So I gave my credit card details (was a little disappointed to see that they actually store the information and use it if you buy any of the paid services in the future), but I don't intend to sign-up for any paid services and I can pretty well trust Microsoft not to do anything stupid like go charge your card without asking you first.

What I saw after that was amazing!  The site builder tool is fabulous! Simply awesome! I would encourage everybody to go register only to get the experience of that tool. It took me just a few minutes to select a layout and create a simple one-page site.

Of course, it said the domain registration would take 24 hours - it took lesser than that. I now own another domain - www.pandurangnayak.com - but if you visited it right away - there comes the shocker!!!  It shows me the Apache/Red Hat test page!!!

That is SO NOT COOL - I know that the domain must have been registered with some external organization who has just pointed it to some default site. And there must be some batch job that will point it right. But it is so uncool to see a Red Hat Linux / Apache test page for a Microsoft service.

If somebody is listening, please fix it before the Slashdot guys have a good laugh and scribble some nonsense.

PS: If you want to see my temporary page, visit http://temp.pandurangnayak.officelive.com If you had questions about whether that is going to be my new home - visit the site and find out. 

posted on Thursday, April 13, 2006 4:40:17 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Wednesday, April 05, 2006
Bill Gates in an amazing story-telling mode of how he works!  Nice reading.
 
 
 
 
 
posted on Wednesday, April 05, 2006 9:58:58 AM (India Standard Time, UTC+05:30)  #    Comments [4] Trackback
 Wednesday, March 29, 2006

This stuff looked so damn good that I had to have it on my page. I don't like the pro-Google attitude, but will stick with it for a few days anyway!

posted on Wednesday, March 29, 2006 6:35:17 AM (India Standard Time, UTC+05:30)  #    Comments [3] Trackback
 Saturday, March 18, 2006

Must watch:

Marc McDonald is Microsoft's first employee. Hired back in 1976. Channel 9 recently caught up with him and talked about the old days at Microsoft as well as what he's doing on the Windows Vista team (he's working on defect prevention).

Funny story. He left Microsoft in 1984 because Microsoft had gotten "too big." Microsoft's size at that point? A few hundred employees. (He came back after Microsoft bought the company he worked for).

http://channel9.msdn.com/showpost.aspx?postid=111590

posted on Saturday, March 18, 2006 10:55:21 AM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Wednesday, March 15, 2006

At least a couple of readers of this blog will find this post interesting. The March CTP of VS 2005 SDK is out and it features and end-to-end implementation of incorporating a language into the VS environment. The language chosen for this sample is Microsoft IronPython.

Check out the announcement by Somasegar at http://blogs.msdn.com/somasegar/archive/2006/03/10/549102.aspx

For people who have been following DSL tools, the VS SDK Feb CTP had some great additions. The release version is expected in a couple of months.

Interestingly, many of these tools also work with the Express editions. So enthusiasts can actually try this out for free.

posted on Wednesday, March 15, 2006 2:24:31 AM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Sunday, March 12, 2006

Microsoft Research India, based out of Bangalore, has taken a great first step towards creating Virtual India - the Windows Local version of India.

To start with, there are some wonderful street-level maps of Bangalore, Mumbai and Delhi, with the promise of more.

It will be great to see the day when we have properly implemented driving directions in India.

posted on Sunday, March 12, 2006 4:48:33 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback