This evening I attended a very interesting event. Microsoft hosted Windows Phone 7 for iPhone OS Developers. This was our regular Silicon Valley iOS Group meet-up. But today it was held at Microsoft headquarters at Mountain View. No I am not dreaming. This actually happened!
Microsoft wanted to present Windows Phone 7 to iPhone developers and attract them to port their applications to Windows Phone 7. Microsoft presented the tools, the overall development methodology and constructed an application on the fly. That was quite impressive. They also brought in a third party development team who develop on iOS, Android and Windows Phone and had them show their app and share the development experience across platforms.
Nice touches:
- The development environment was based on regular VisualStudio and SQL Server 2008. They showed the development using C# and XAML.
- Two primary development frameworks are XNA (for game development) and SilverLight.
- There was a visual design environment where you could drag and drop design elements on a canvas and then program the events (OnClick etc.) and edit the code-behind. This metaphor is already very well known to many developers.
- It was very simple to develop using a DB on the local machine and then pushing the DB over to a remote Azure Cloud. The migration of local data to the cloud (at least for small example) was nice. Support for SQL Azure and Migration tools finally seems to be coming together.
- The programming model was built around developing Against Web Services which made it very simple to change.
- Unlike Android, submission to Windows Market Place needs to be vetted by Microsoft and hence there is tighter control over security. Pretty much like Apple.
- There are some really innovative controls like Panorama which shows Microsoft has tried to set itself apart and not just copy iPhone, the way Android has been doing.
The rough edges:
- Windows Phone 7 has no enterprise distribution model. The Application market place is only for the consumer. So if a corporation wanted to build an Application and distribute through a store they cannot do it today. Please note that Apple has an enterprise version of their developer license which allows a corporation to distribute their apps.
- It did not seem to me that Windows Phone 7 has true multitasking for applications. An incoming phone call would send a running app to tombstone. Which means it is where iOS was in the previous generation.
- Windows phone has to support multiple devices and form factors (for example phones can come with or without sliding keyboard). Although this is nothing compared to the dreaded Android fragmentation, but this puts an onus on QA. Here are some choices: http://www.microsoft.com/windowsphone/en-us/buy/7/default.aspx
- They do not have the concept of an ADHOC build. This is used to give iPhone Applications to BETA testers without cycling through the store.
- When asked “What are the top selling Apps in your marketplace?” there was no clear answer.
My take
Overall Windows Phone 7 seemed behind iOS and will continue to do so. However, they have a few things. The widely known and understood development model and the foothold in the enterprise. Also, with the recent success of Kinect they seem to have their mojo. Time will tell whether the Nokia marriage will last happily ever after or end in a messy divorce. But it does seem like they are making a sincere effort to win the hearts and minds of developers.
Tidbits
- When asked whether they would port their apps to WP7 several developers raised hands.
- Flurry is reporting a sharper increase in developer interest with WP7.http://wmpoweruser.com/after-nokia-deal-flurry-confirms-windows-phone-7-overtook-blackberry-in-developer-interest/
- If you want to remember one link, keep this in mind: http://create.msdn.com/en-US/
Thought I would share this with you all.
Best Regards, Somnath