Internet Explorer’s Trailing Comma Woes
Internet Explorer is notorious for breaking on trailing commas in JavaScript array declaration. e.g.
var obj = {
a: 1,
b: 2,
};
fails on IE, while all other browsers just ignore the innocuous trailing comma after second element.
Weeding out these commas from JavaScript code is absolute PITA. However, here is a regular expression search string I wrote to search such instances in the code.
,\s*\n+\s*[\}\)\]]
Even better,
,\s*\n+(\s*\/\/.*\n)*\s*[\}\)\]]
matches multiple new lines and comments.
Gmail Updated
Gmail’s new version rolled out for me today, and first thing I noticed that it had reset my gmail chat config (basically I had switched off gmail chat), my greasemonkey scripts were broken and I had a firebug extension warning on top.
While I have no gripe about greasemonkey, resetting gmail chat setting means I’ve to check rest of my settings to be sure anything else is not broken.
New version seems quicker, with additional options in “More Actions” menu and updated “Contacts” section.
Desktop vs Web Apps
The Internet browser is the new OS. What if a “thin client application” becomes thicker than the “Thick”s of the lot. The problem with web applications- “[...]is that they have tried too hard to make the web into a complete application platform, to the point where they don’t even bother holding themselves to the same standards by which desktop application developers are judged.”
Intersting blog- Uncov
Google ditches its SOAP API
I noticed this on the very next day, when I was looking for some documentation on proxy auto configuration scripts support in the SOAP API. The replacement AJAX api not only has limited application (website only), but also it promises to show google ads beside the results.
Not that Google Search API has ever been very stable - it works almost only 80% of the time, so one has to pray and hope that it works with every call. Now even the support has been dropped and usage samples along with FAQ have been removed.
Damn! not good at all.
AJAX, nice but just too much error prone
AJAX is just too much error prone. I have had so many Gmail pages locking up within last few days. Moreover, sometimes page doesn’t refresh itself when tagging a message or marking unread/read.
Perhaps, the requirements are so complex that even mighty Google cannot churn out bug free interface.
Every time I see an AJAX implementation bug, I recall my earlier post on AJAX viability.
Google Reader
Now this one was due from Google, and appeared without the usual Google Chaos. A RSS Feed Reader competing with Bloglines, My Yahoo!
Being web browser based it has all the usual drawbacks and advantages. AJAX goodness on one hand and “Arrgh! The page has been corrupted” on the other.
Not a completely polished product yet, e.g. very few loading messages to notify user of any processing as in Gmail ( Alex Bosworth’s Ajax Mistakes #1)
OPML importing from current feed reader(Suace Reader) failed on the first time with adding just one feed, and the second time it took ages to import. I am still not sure it has imported everything.
As of now it doesn’t seem usable enough for me. Even Google Sidebar is much more useful than Google Reader.
The AJAX Paradigm
Paul Kedrosky has made an interesting comment over what we should expect from the new generation AJAX apps. He makes a comparison with Desktop.com in the bubble times.
Many people are making same mistakes again. Om Malik mentioned Writely as a thin client. Why would I need a word processer over web, the inherently unreliable media. And even if I do, why would I trust keeping my documents with someone [and somewhere] else.
To quote Paul:
“What I really want from Ajax apps is for them to do stuff that it’s too hard to do with binary apps. I want them to be sensibly integrated with online resources; I want them to support realtime collaboration. I want them to do different stuff from Word/Excel/Powerpoint, not just do the same thing with a different engine under the hood.”
Can’t agree more.
Is it the age of Web Applications
There has been quite a talk of AJAX based thin clients replacing Desktop Application and thus eliminating dependence on Windows or any other OSs.
Now, indeed AJAX is a huge step in the direction of making browser based applications more efficient as in how the data is being handled. Traditional web interface has to reload every time to show any new data and that means redundant traffic over precious bandwidth. AJAX techniques let the client call data as it requires instead of traditional brute force reload. Google’s GMail is one of the first applications to use AJAX in its present avatar and Google Maps perfected the art, though the concept of AJAX itself is not entirely new. Wikipedia has plenty of information on the evolution of AJAX.
It would be a bit too far-fetched to think that AJAX based applications can replace desktop apps altogether. Browser is a great tool to make cross platform apps, but there are certain limitations of Asynchronous JavaScript,CSS,DOM and XMLHttpRequest, and it is very easy to mess up with all of this. Alex Bosworth’s blog has articles on potential AJAX mistakes.
Besides that, there are other unavoidable limitations using browser as a user interface. There are certain quirks of each and every browser, and that won’t be very easy to tame for AJAX developers. Moreover, browser based application will be unreliable as the data has to travel through network and there lies the bottleneck. And I haven’t even said anything about security, and what about offline interactions.
The more plausible scenario would be close interaction of web with OS, something like what KDE trying to do with Wikipedia in their planned collaborative development. And what Microsoft calls Smart Applications - applications which interact closely with the Internet, and utilize local computing hardware. Besides, there are unlimited possibilities to develop a user-friendly interface with desktop apps, which a browser cannot provide. There are simply too many browsers to take care of. So OS is certainly not going to be irrelevant. AJAX is exciting and but there are even more possibilities with desktop apps getting “smart”er.