Thursday, March 13, 2008

MIX08 Microsoft Presentation - Great introduction to latest Microsoft Products

I finally managed to watch (bit by bit) the 2.5 hour video of the presentation by Microsoft at MIX08.

It was a great presentation by Microsoft on various upcoming products and releases. The presentation starts with a keynote from Ray Ozzie, Chief Software Architect, Microsoft, after which the stage is conducted by Dean Hachamovitch, General Manager Internet Explorer, and Scott Guthrie, Corporate Vice President, .NET Developer Division.

Watch the Live Streaming Keynote: Ray Ozzie, Dean Hachamovitch, and Scott Guthrie

I had covered Dean's presentation on Internet Explorer 8 in my previous blog post.

Now I had watch the rest of the video showcasing Silverlight 2.0 beta 1 and .net services. This second half of the presenation with main focus on Silverlight 2.0 beta was even more interesting and engaging than the IE8 demo. I was so thrilled by the showcasing of Silverlight 2.0 beta.

One thing is for sure.. Adobe has some serious competition for their solution for writing Rich Internet Applications (RIA) - Adobe Integrated Runtime (AIR).

Btw, I learnt from the presentation that NBC is hosting the official olympics website which is going to provide live streaming of sports events and also provide a Video-on-demand. NBC apparently has used Silverlight extensively for their web site.

NBC Olympics Player

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!.

Saturday, March 8, 2008

Only foreground 3rd party apps on iPhone - Intentional or Design flaw?

I read this post in Techcrunch which discusses on iPhone's limitation to allow only foreground 3rd party applications. 3rd party applications are the ones developed using the iPhone SDK.

While the Mike thinks that this is an intended restriction owing to the limited memory and resources, I personally do not think thats the only reason. And I know why I am correct for some reasons ;).

I believe the restriction is more of a design flaw of the iPhone SDK. I believe that Apple engineers haven't yet figured out a way (or most probably did not have time to do so) a way to switch between the native applications and the 3rd party applications. You would need a robust layer which will take care of remembering the 3rd party applications' running context and bring back the UI when the application again comes to foreground. Also, there might be scenarios wherein what about happens if a native background application wakes up and wants to use the UI. In which case, how would the 3rd party application behave. Would it be able to yield the user interface for the native application.

Most of the above use cases need lot of thinking and through integration of it into the SDK layer. I am sure Apple would later release an updated SDK which will allow 3rd party applications to run in the back ground as well.

There may be a work-around for this problem. The 3rd party application developer can care of trapping/getting notification from the OS/platform for exiting its own context and then saving the relevant context information in the memory. The next time you launch the application, it can read the previously saved context and bring itself back to the state of previous execution. Its very similar to playing the brick game in your blackberry.

[Article imported from Mobile Computing Trends]

Is Sun getting desparate not to lose mobile JVM market?

After Apple announced last Thurday of its intention to release the long awaited SDK for iPhone*, Sun has unveiled its intention to port JVM onto the iPhone.

Its looks like Sun does not want to waste any time bringing the mobile version of JVM (J2ME) onto the iPhone. Obviously this sense of urgency should be due to the fact that iPhone provides a very good platform for mobile applications and also because of the impending threat from Google's Android. Sun should already feel frustrated by Google's clever coup of replacing Sun's JVM with their own.

The way I see the future is that Apple and Google may be in a direct collision course towards mobile dominance. And Sun may want to be present in one of the camps.

What also remains to be seen is how would Sun JVM affect Apple's business model of trying to sell iPhone applications through their iTunes store (App Store as it may be called). With the JVM present on the iPhone, would mobile application developers like to leverage it or will they rather choose to directly use iPhone SDK. With Apple bringing in restrictions on the development platform (only Mac can be used has the host to develop and debug iPhone applications), it gives a point of leverage for Sun.

And what about performance! iPhone SDK is already a layer on top of the native iPhone OS APIs. Now JVM would be one more layer on top of it. Will the java applications written for iPhone in future have the same performance as other platforms?

The war for a mobile computing platform is going to get interesting as days go by. Keep watching this blog to see how this unfolds.

Useful Links:
* You may be interested in reading this coverage of the iPhone SDK Press Release by Ryan Block of Engadget.
- You can also watch Apple's official video on the iPhone SDK Press Release here. Note: You need quicktime player.

[Article imported from Mobile Computing Trends] is down - Affects loading of blogger/blogspot

For some reason,, the famous social bookmarking web site has been down today. I don't know how long it has been that way, but I noticed that for some reason, my blog's home page was not loading completely and the status bar was showing "Waiting for".

I have two embedded scripts - one for sharing my bookmarks and other to let know what my user name is. Only after removing both these scripts did my blog page load completely.

What surprises me is that why should my blog page and its rest of the elements not load just because one or two of the embedded scripts are unable to load/fetch data from a 3rd party web site. Why can google maintain these embedded scripts as AJAX-enabled widget boxes so that if some script doesn't load, it doesn't prevent rest of the web page from loading.

I had moved all my bookmarks to some time back from Google Bookmarks for obvious reasons. Now, I am worried about my bookmarks in Why is no one complaining about this anywhere and why is yahoo taking so long to fix the problem?? I am totally clueless :(.

Update 1:
Just as i was posting the above post, my bookmarks got loaded after much difficulty. But the site is still damn slow and doesn't load for most of the time.

Thursday, March 6, 2008

Wonderful live coverage by Ryan Block - Apple's iPhone SDK Press Release

Man.. this guy (Ryan Block from Engadget) did a great job of covering live, the Apple iPhone SDK Press Release.

I was following his post very closely all along. Ryan did a great job of posting quotes from the folks on stage. And more importantly, it had relevant photos.

Ryan, if you did this all alone.. then I really admire you. I must agree.. live coverage over a blog is really a skill.

Silverlight vs Flash - War for mobile web dominance

Microsoft (Silverlight) and Adobe (Flash) are trying desperately to push their respective technologies for developing RIA (Rich Internet Applications).

Both seem to be taking this further ahead to mobile devices. Recently, Microsoft had signed a deal with Nokia to integrate Silverlight on Nokia's latest S60 based smart phones.

Adobe though having a dominance in the PC space must be doubly worried after Steve's comments on why Flash may not suited for iPhone.

I found this post from Robert Scoble providing interesting insight on why Apple may feel that Flash is not good for iPhone. More than the article, I found the user comments more intreseting.

Also, it got clear to me from the user comments that Apple was trying to port Flash 8 (and not Flash Lite - stripped down version) onto the iPhone.

Wednesday, March 5, 2008

Did you know about Microsoft Works?!

At least I dint know until few minutes back.

I had bought a new laptop recently which had a trial version of MS Office 2007. The trial version could be used without registering for not more than 25 or so tries. I had only a few tries left and hence I did not want to use it for not-so-important stuff.

So I typed "word" in Vista's start menu (for those of you haven't used vista yet, you get a nice search bar in start menu which quickly lets you search of applications in the start menu). I was hoping to see wordpad.. but something else caught my eye. There was this application called "Microsoft Works Word Processor".

What the hell was that.. I clicked it open and it threw a license agreement which I had to agree. Initially it looked very similar to "Wordpad". I thought it was a to-be replacement for "Wordpad".

But as I explored it a bit, I learnt that it was much more powerful than "Wordpad". I was thrilled because I could possibly use it as a replacement for MS Office which I was planning to buy in a few days. I was still unclear and confused what Microsoft Works Word Processor was and why would Microsoft club a powerful utility with Windows Vista (potentially canibalizing MS Office).

Quickly looking into Wikipedia, I learnt that Microsoft Works is a stand-alone mini office suite aimed at mostly non-techy folks and students. Wow.. I dint know Microsoft had a mini version of office suite. The speciality of MS Works is supposed to be its affordable price. Here is what Wikipedia says about MS Works.

Microsoft Works is an office suite ("home productivity software suite") available from Microsoft. Smaller, less expensive with fewer features than the Microsoft Office suite, its core functionality includes a word processor, a spreadsheet and a database. Newer versions have a calendar application and a dictionary while older releases included a Terminal emulator. A 'Works Portfolio' utility offers Microsoft Binder-like functionality.
Now it made sense to me that my HP Laptop came pre-installed with the OEM version of Microsoft Works.
Due to its low cost ($50 retail, $10 OEMs) companies frequently pre-install Works on their consumer grade machines. Microsoft provides a converter for Office programs to open and save Works 6.0-9.0 documents.
Now, I searched for "works" and the search bar of vista start menu and now I got to see the entire suite of MS Works.

There is a word processor, spreadsheet, database, calender, a common place to launch all these and a office binder kind of application.

Coming to Microsoft Works Word Processor, I read in Wikipedia that I can still open MS Office files. Thats perfect. I am going to use MS Works Word Processor for now and see if it a worthy affordable replacement for MS Office.

You can take a nice Quick Tour about Microsoft Works that can be launched from Microsoft Works Task Launcher.

Update 1:
Microsoft Works Word Processor crashes consistently whenever I copy a web page's content and try to paste on Word Processor. Thats bad :(.. Very basic stuff that a word processor (that too from Microsoft) is supposed to take care of.