Windows Phone 7: The Missing Pieces

WindowsPhonePuzzle.pngOn my way back from MIX10 I’ve had a chance to reflect on both the hype and substance related to the Windows Phone 7 Series. Except for the terrible product name, Microsoft is clearly doing all the right things.

There are a few pieces missing from the puzzle, though. Below are a few things I learned during a several (non-NDA) conversations I’ve had with people at MIX. Some of these issues have also been confirmed online.

  • No Socket Class — Currently the only way to communicate is through Windows Communications Framework or pure HTTP calls. The practical implications are no chat or mail apps, limited multi-player communications.
  • No Local Database — This is problematic. Storing data in a local database is essential, not only for applications that can work offline, but more importantly for regular applications to cache information, increase performance and reduce network traffic. Application vendors could include their own database engine (such as C# SqlLite) but if everyone starts doing this it will only create bloat, increase memory usage, and delay application startup.
  • No In-App Purchase — This is no biggie, in my opinion. Aside from a few content-centric apps, the in-app purchase in the iPhone AppStore has only been used for semi-trial versions. The trial scenario is already supported by Windows Phone.
  • No Copy & Paste — Call me superstitious, but I believe missing copy and paste in the initial version is a prerequisite for launching a successful mobile platform (look at Blackberry and iPhone vs. Newton and Palm Pre).
  • No Component Class — The Component class lets you create non-visible components that use the Visual Studio designer to define relationships with other components, change properties, and quickly create event handlers, all without coding. It’s not essential but very nice to have if you’re interested in building reusable, easy to integrate components.
  • No Component Licensing – The lack of a LicenseProvider class means there is no standard mechanism for component vendors to license their components. Third party components give Microsoft a huge competitive advantage over other platforms, and it would be a shame if this opportunity is wasted in the mobile platform.

I was told that the Windows 7 Phone project was started only a year ago. The team has made truly remarkable progress and it’s no surprise that there are a few pieces missing. Hopefully many of these issues will be addressed before the final release.

One more thing: The Windows Phone OS update mechanism will be driven by Microsoft, not the individual carriers or device manufacturers. This will allow new versions to be deployed very quickly and let the platform to evolve at a very rapid pace.

Will Silverlight Control Pack kill the component ecosystem?

As part of the Silverlight 2 announcement, Scott Guthrie also wrote:

Today we are also announcing the “Silverlight Control Pack” – which will deliver dozens of more controls that you can use with Silverlight 2.  We will continually add new controls to the control pack over the next few months (we expect to ultimately have more than 100 controls total).  The first release of the control pack will include controls like TreeView, DockPanel, WrapPanel, ViewBox, Expander, NumericUpDown, AutoComplete and more.  All controls will ship with full source, and with a OSI license that allows you to modify and use the source for any purpose.

Will this kill the component market? Of course not! It will raise the bar of innovation for control vendors. We’ll have to do a lot more than come up with interesting widgets. The good news for Silverlight developers is that we’ll see a wide range of new components from third party vendors. These will go much beyond what we’ve seen in regular component UI widget suits, and help you get more done in less time. It’s an exciting time to be a Windows developer.

Publishing these controls with a very non-restrictive OSI license is a very wise decision on Microsoft’s part. I’m really impressed with the way Microsoft is embracing open source nowadays. I think they’re finally understanding the benefits and finding their place in this brave new world.

Silverlight 2 is out! Now what?

A big congratulations to Scott Guthrie’s team for releasing Silverlight 2, a developer’s Nirvana and the way the web ought to be: any programming language you want, a rich and consistent object model, beautiful animation, and integrated design tools. The kinds of things that people have built using Dynamic HTML + AJAX are amazing, and libraries like JQuery makes thinks workable and fun, but having a platform that was designed from the ground up with rich applications in mind will certainly bring web applications to a new level.

There’s just a tiny bit of trouble in paradise… Silverlight 2 has two gaping holes in it:

No meaningful printer support – Sure, you can print a web page, and people like Jonas Follesø are building some very sophisticated work-arounds but those don’t come close the Flash’s simple but powerful printing support. This may be a show-stopper for quite a few applications.

No camera support – Social platforms have suddenly become very important. Facebook has built-in Video, Seesmic is quickly gaining popularity as a conversation site and video commenting tool. Silverlight cannot afford to miss this revolution.

Other remaining issues:

Distribution, distribution, distribution! Flash has incredible ubiquity, even with the latest versions of the Flash player. I hope Silverlight can catch up soon. Windows Update where art thou?

First class Mac support – I hope issues about the Mac version of Silverlight being slow and CPU-intensive have been addressed. I do want to say thank you for releasing the Mac version on the same day as the Windows version, including developer tools. That is very impressive!

So again, awesome release! Beautiful, terrific, a dream-come-true, this-is-heaven, I’m-so-happy, WOW! Thank you, and please keep pushing to complete the vision.

Copyright © 1994-2008, Sax Software Corp. All rights reserved. Sax.net, QuickPak, and the QuickPak logo are trademarks of Sax Software Corp.