Monday, August 25, 2008

If you already know about Photosynth, skip to the next paragraph.  Photosynth is a phenomenal concept born out of Washington University Microsoft Research with more than 10 years of research.  It is a fantastic way to pick tons of photographs of a monument, building, object, room or anything else and creates a 3D fly-through experience of browsing the photos.  Of course, these photographs can be taken by different people, through different cameras, at different seasons, different times of the day, with different people in front, etc.  For details of the technology working, see Photo-Tourism at Washington Edu.

Photosynth has been in technical preview for a couple of years (or more) now.  The preview allowed people to view "synths" created and published by the Photosynth team, but no way to create their own synths.  The team has just released an all-new viewing experience as well as a full-fledged tool to create synths of your own and share it with the world.

The tool and experiences can be found at the brand new Photosynth community site at www.photosynth.net

Here's a synth (yes, you can embed them now) of the Taj Mahal:

 

And here's something that struck me as funny - an innovative use of Photosynth - now this is what happens when you put stuff out to community, the possibilities seem endless:

 

And the work is not done yet!  At SIGGRAPH 2008, the team demonstrated some new work titled "Finding Paths through the World's Photos".  It showcases a unique blend of bringing your own photographs along with community photographs to create experiences that are unparalleled.  Check out the demo in this video:

All of the ongoing work can be followed at http://phototour.cs.washington.edu/

posted on Monday, August 25, 2008 10:38:35 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Monday, August 18, 2008

The Live Mesh team has now opened up the Live Mesh service to more countries, including India!!!  This means that you can now sign-up for the Live Mesh Technical Preview with an Indian-registered account without having to be wait-listed. 

Go ahead to www.mesh.com and get your devices meshed!!

Official Announcement: Live Mesh Expansion

posted on Monday, August 18, 2008 10:40:26 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Monday, June 09, 2008

Silverlight 2 BETA 2 released on Friday and is the best release of Silverlight so far!  It is packed with features, with many much-awaited features like DRM coming into play!

On the media end, SL 2 BETA 2 supports server-side playlists, DRM and adaptive streaming (that was announced at MIX).  I intend to post more technical details on these in upcoming posts.

One of the good things for developers is that many of the base Silverlight controls have been moved into the runtime, hence not requiring that additional piece of download when the app loads.  That would make app loading really fast and app size really small!!  That addition into the runtime has not increased the runtime size which is still around 4.3 MB for Windows.

A full-fledged post with all features is at ScottGu's blog here.  This is a must-read for anybody who is interested in Silverlight!  It covers the comprehensive list of features we've released in Silverlight 2 BETA 2 and in Expression Blend 2.5 June Preview.

Download Silverlight and Expression with the SDK/VS Tools here.

posted on Monday, June 09, 2008 8:02:07 PM (India Standard Time, UTC+05:30)  #    Comments [2] Trackback
 Tuesday, May 13, 2008

This was announced at MIX 08 and the product team has put its first BETA out already! 

Windows Presentation Foundation (WPF), the superset of Silverlight used for building rich desktop experiences, has its third major update.   The .NET Framework team today released the .NET Framework 3.5 SP1 and Visual Studio 2008 SP1, both as BETA and downloadable for free - offering a ton of features in ASP.NET, AJAX, Visual Studio, VB.NET and C#. 

Scott covers it all in his marathon post here and Tim Sneath does a detailed write-up of the WPF features here. I thought I will highlight the key things that excited me (and had been waiting to talk about!):

Graphics Enhancements in WPF

Hardware accelerated Shadow and Blur effects: Pixel Shader effects that allow designers/developers on WPF to just add a line of code to get shadow and blur effects.  The best part is that these automatically run hardware-accelerated. Best part: The effects model is designed in a way that developers can create their own re-usable effects.  A detailed write-up of the effects model and a tutorial on creating your own effects is available here.

Improvements in Text Rendering, Animations, 2D Graphics and Startup:  A whole lot of performance enhancements have been made, specially around text rendering in 3D scenes and with regular 2D animations.  Performance has also been significantly enhanced for the cold startup time (when you load a WPF application for the first time).

HLSL and DirectX integration: DirectX developers can use HLSL and Direct3D integration in WPF, allowing for DirectX scenes to be rendered on WPF controls!  This is huge for companies and developers that already have existing investments in DirectX and want to port any of it to WPF.

New Controls:  WPF will have three new controls that are bound to be popular with developers instantaneously.  A really rich DataGrid control that provides the most often used tabular data view, a WebBrowser control that will let you host browser-based applications in a WPF window and (hold your breath) the Office Ribbon control with full adherence to the Ribbon-UI guidelines!!  That will enable developers to just build Ribbon-menu based applications with the least effort!

Deployment

OK, now the bigger part!  One of the bane of WPF applications was the necessity of a huge .NET Framework installed on the system.  The .NET Framework 3.5 redistributable is 197MB making it very hard to bootstrap to a WPF application that is being installed. 

Introducing the .NET Framework Client Profile.  This is a much smaller version of the runtime (expected to be only around 26MB!!!) that does not contain several of the server components (for example: ASP.NET) and only includes the assemblies required for client applications, namely - the .NET Framework core, WPF, WCF and Windows Forms.   This also comes with a bootstrapper (~200KB) which can be included into your client applications.  The bootstrapper will check for .NET Framework availability and then download the .NET Framework Client Profile setup package if it found that .NET Framework is not installed already.    The bootstrapper is also smartly written to look at only incremental components - for instance, if you already had .NET 3.0 and your application required .NET 3.5, it would only download the incremental components, hence reducing the download size much further.  Note that you will have to explicitly configure your application to require only the client runtime components while building the application.

Remember that since most Windows XP systems already have .NET 2.0 or higher, this should significantly reduce the download size for .NET Framework.  This is probably the best update for WPF since its first release!!!

BETA 1 Notes

Much as I want to try all the great stuff immediately, remember that there are some incompatibilities of Visual Studio SP1 with the Silverlight 2 BETA Tools for Visual Studio.  This will cause your Visual Studio Silverlight development experience to break.  A new version of the Silverlight Tools will be released soon (see Scott's blog for more information).

Also remember that this is the BETA and not all features mentioned above (like Ribbon UI) are immediately available.  See Scott's blog for details.   But hey, we've made the announcements.  And Scott's team has been pretty kick-ass in shipping stuff really fast!

posted on Tuesday, May 13, 2008 12:57:58 AM (India Standard Time, UTC+05:30)  #    Comments [3] Trackback
 Monday, April 28, 2008

Mrinal convinced Vineet and I to become Twitter-ers at the recent Barcamp we'd attended.

Mrinal also told me that twhirl was the best Twitter client around.  I did try using Witty and it seems to be a little buggy at the moment.  I have since decided that the world needs a better WPF Twitter client and intend to write one when I find time.  In the meanwhile, it is actually quite painful to use twitter.com itself to keep track of all the people I am trying to follow on Twitter.

So I gave in and decided to also give twhirl a try (and in the process also see what things a twitter client should have). Now, twhirl needs Adobe AIR runtime to be installed and the integrated installer started off from the twhirl homepage.

It downloads it and then gives me an error that says:

image

I know Adobe AIR isn't very good with external devices, but then I do have a hard disk available! :)  Time to go the manual install route I guess.

posted on Monday, April 28, 2008 6:39:26 PM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback
 Monday, April 14, 2008

Sudha Hariharan, a Flex Enthusiast I met at the Adobe Flex UG, had an interesting email conversation with me on Silverlight.  She has posted the same on her blog and you can check it out here.

Thanks Sudha - it was fun answering those questions!

posted on Monday, April 14, 2008 8:01:34 PM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback
 Tuesday, April 01, 2008

If you are a Silverlight enthusiast and found a ton of features you wanted in Silverlight 2, here's your chance to say what you'd like to see in Silverlight 3. 

Head over to Scott Barnes' MS Mossy Blog and type away your list!

Happy wishing!

posted on Tuesday, April 01, 2008 10:26:11 PM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback
 Saturday, March 29, 2008

Yesterday was fun.  I had been invited to introduce Microsoft Silverlight 2 at the Flex User Group in Bangalore.  I met a whole bunch of cool people and was overall great fun talking to them.

I finally got to meet Mrinal Wadhwa, the champion of the Flex UG in Bangalore. We had been chatting away on email for a while and it was good to finally see more of the person than his Facebook profile!

Supreet Singh, my partner in crime began proceedings to a fully packed room talking a little about User Experience.  Just a little because the room was full with developers.  So after that it was all demos and geek talk.

As expected, the conversation very soon got into a comparison between Flex and Silverlight 2.  I did not want to really compare, but had wanted the audience to look at Silverlight 2 as a technology holistically.  But I guess that is hard for anybody who's working on Flex day in and out.  We had some interesting discussions about the evolution of Silverlight.

The DeepZoom demos were really well received.  I was a little surprised to get the entire audience applauding the Hard Rock Memorabilia gallery and a few other DeepZoom demos I had with me.  I had a question from Mrinal about uploading images to build a DeepZoom collection and I had said I would answer that later in the session - I intended to show the DeepZoom tool before doing that and never got the time in the end.  So if you still have the question, do check out MS Live Labs PhotoZoom and learn how to build your own DeepZoom collections here.

When I showed the designer-developer collaboration using Blend and Visual Studio, there was some discussion in the audience about the whole workflow.  We discussed about actual workflow of projects today which involved a lot of raster prototyping in Photoshop and then actual slicing/dicing to make the CSS/HTML that can be used in Flex (or regular web pages).  We were running out of time for a more elaborate discussion, but there was some good feedback that raster is still very important to have in the overall designer workflow.  I did mention that designers would use raster even in Silverlight projects.  I could be way off here, but I got the impression that regular Flash work still used a lot of raster and did not leverage the obvious benefits of vector.  Some people also argued that it was easier to get raster images than vector images and did not mind sacrificing the fidelity.  Maybe an offshoot of not having more designers in the room!

Another interesting discussion was around performance.  It obviously seemed that the biggest concern to Flash/Flex developers was performance and memory utilization of applications.  In the Silverlight world, the CLR probably makes a huge difference in terms of performance.  I did demonstrate some differences in the JavaScript and C# execution using the Silverlight 2 Chess application. I also think that though the underlying framework plays a huge role in determining performance of your applications, it is also a lot dependent on the quality of code.  For Silverlight applications, there are some tips and tricks on building high-performance apps and if you are exploring this, you should check out Seema Ramchandani's talk here.  Check out her blog and you'll learn a lot of what happens under the hoods.

There was some discussion around security and I had promised links detailing Silverlight security architecture in detail. The Silverlight security cheat sheet is the best way to get started.

We also talked a little about Expression Design and since we had the room for a limited time, we couldn't get to seeing more of the Expression toolset.  Remember that you need Expression Blend 2.5 March 2008 Preview for Silverlight 2 (there are 3 versions on the Expression web site that is bound to get a beginner confused).

Finally, I thank everyone, especially Mrinal for inviting us over and giving us a chance to introduce Silverlight.  I got some good pieces of feedback and will pass them on internally.  I think overall there was interest and given that many RIA development concepts were already well-known to the Flex folks, it should be easy for them to give Silverlight a shot.  Everything you need for getting started on Silverlight is available at www.silverlight.net

Remember, there will be judgements, criticisms, praises and reviews all over. The best way to make a judgement is to try the stuff yourself.  And if you did not like what you saw, give us feedback.  If you liked what you saw, spread the word! :)

posted on Saturday, March 29, 2008 6:09:41 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback