Monday, March 10, 2008

Internet Explorer 8 Beta 1 - Most Notable features

Internet Explorer 8 Beta 1 is available for download. Though this was announced last week, the news never got me excited. I was a voracious beta tester myself during my college days and I would be one of the first to try our any new release of Internet Explorer in the class or college. But offlate I never have time to do such beta testing. Even, I had time, probably the utter disappointment of Internet Explorer 7 din't excite me to try IE8. I thought, what was the big deal.. I am sure the user interface would be the same and the performance would be more bad if not same as IE7.

But my perspective/impression of Internet Explorer 8 has changed a lot (for good) after I saw Dean Hachamovitch, General Manager Internet Explorer, explain about the features of IE8 during the Mix '08 continuation of Ray Ozzie's keynote (for the less informed, Ray is the Chief Software Architect, Microsoft).
The most notable features that I liked (and also what Microsoft seems to be marketing) are: Activities, WebSlices and HTML 5 support for connection events and DOM Storage.

I would highly recommend you to watch Dean's part in the Mix '08 video. But here is the official explanation of these features.

Activities are contextual services that provide quick access to external services from any webpage. Activities typically involve one of two types of actions:
"Look up" information related to data in the current webpage
"Send" content from the current webpage to another application
Watch this demo video on Activities. This is great because it lets you do lot of activities (research/search as i would call it) with the content of a particular web page.

Coming to WebSlices, you can read this page for more details. This is a very cool feature. It lets me just keep a watch for changes/updates in particular portions of a webpage. Yes, you heard me right, I can monitor a particular portion of the web page.. think of it as an RSS for portions of a web page. My favorite WebSlice was that for Facebook where I can watch for updates from friends. Watch this video for a demo.

Users commonly visit many websites several times a day to check for updates. The introduction of RSS feeds can make this experience easier for users, although RSS feeds requires a nontrivial amount of work on behalf of the developer.

WebSlices is a new feature for websites that enables users to subscribe
to content directly within a webpage. WebSlices behave just like feeds in that
users can subscribe to them and receive update notifications when the content changes. Websites are polled at user-defined intervals, similar to the way RSS feeds are polled. Website operators may also define a minimum wait time between polls to minimize requests.

Developers can mark parts of webpages as "WebSlices" and enable users to monitor information they rely on as they move about the web. With a click in the Favorites bar, users see rich "WebSlice" visuals and developers establish a valuable, persistent end-user connection.
Get started building WebSlices at the Microsoft Developer Network.

For both, Activities and Webslices, it does involve the content developers to expose the required information.

Activities for example requires the web page developer to write a very simple Activity XML. The is explained by the OpenService Format Specification (covered under the Microsoft Open Specification Promise*) which is released by Microsoft under the Creative Commons Attribution-Share Alike License (version 3.0).

Similarly, Webslices require you to write a light weight html markup. The format is again defined by WebSlice Specification (again covered under Microsoft Open Specification Promise).

Some of the other not-too-obvious and/or common-sense features that I like are the support for HTML 5 features like connnection events and DOM Storage.

Web page developers can use connection events to monitor the break in network connectivity and change the look of the page accordingly to warn the user and also change the user behavior. And using DOM Storage* you can store client specific data locally. Some of the places where it will be useful is the above example when you are about to store/post some data to a web server and the connection goes off. In which case, using DOM Storage, you can store the data locally and then post it when the connection is back online. Again, these are not my thoughts.. just explaining whatever I saw in Dean's presentation. (Btw, from John Resig's post on DOM Storage is when I got to know that Firefox was the only browser until now to support it. So Microsoft has closed that gap.)

Also, there is good support for developer tools inbuilt into IE8. You can debug a script live from within IE8 (do stuff like set breakpoints, watches, etc.) and developers can also locate and change the CSS attributes live to see how the page looks.

Okay, I am on my way to download IE8 beta1. Enjoy! :)

* - Notes

Microsoft Open Specification Promise - This is interesting. I need to do a bit more reasearch about this. Looks to me like Microsoft is trying to position itself as an Open Standards (and Interoperable) company. Good for all :).

DOM Storage - Believe me, I am not an expert in HTML 5 nor did I know about DOM Storage until I wrote this post. If you would like to know more about DOM Storage, then I suggest you read this blog post by John Resig (God bless for this nice tutorial). This post also gave me insights on how Firefox does session restoration whenever it crashes :). It actually uses DOM Storage damn it!.

No comments: