A month ago, Microsoft announced Windows Phone 7 Series at Mobile World Congress in Barcelona. Since its announcement, the newly-rebooted platform has been polished to a state where it's now ready for developers to take charge and start making applications. Almost everything we've suspected has turned out to be true; Phone 7 Series will heavily make use of cloud services such as Xbox Live, and enable huge amounts of code re-use for game and software development with XNA and Silverlight. Microsoft has learned from the success of other platforms how important ease of application development is to platform success, and at MIX10, the emphasis is entirely on developers. Or rather, "Phone Developers" as Steve Ballmer rather humorously suggested:

Phone Developers are Critical

Additional platform details have been announced, including disclosure about both the development framework, tools, and probably most importantly the app marketplace structure for Phone 7 Series. Development will happen atop Microsoft Silverlight 3.0 and Microsoft XNA platforms, leveraging tools like Visual Studio 2010 for Windows Phone, Expression Blend 4 for Windows Phone, and XNA Game Studio 4.0 for Windows Phone. As we suspected earlier, these two frameworks (Silverlight and XNA) lie at the core of Phone 7 Series. Microsoft has been adamant that both Silverlight and XNA developed applications are fully hardware accelerated, and while there's still lag in some applications, the software they've shown thus far is clearly better optimized than it was at MWC.

Microsoft is wasting no time giving developers already familiar with XNA and Silverlight the tools necessary to immediately start building software. The SDK is available and ready, complete with an emulator and support for testing on hardware as soon as it starts shipping. All three of the development tools (Expression Blend, XNA Game Studio, and Visual Studio) are being made available immediately for free at http://developer.windowsphone.com/ . For all intents and purposes, software development for the platform begins now.

Microsoft is taking a two-route approach to application development. They're hoping that the vast majority of productivity, office, and otherwise non-gaming applications will be developed in Visual Studio 2010 or Expression Blend 4 and run atop Phone 7's Silverlight framework. The entire Silverlight 3.0 platform is included and running atop hardware, including a small handful of Silverlight 4.0 features.

A different subset of gaming applications or programs that leverage 3D or require "twitchy response" (like FPS titles), however, will run atop XNA. Once a developer chooses to develop software in one of the two camps, it sticks there for its development cycle. With time, Microsoft plans to bring down these barriers between XNA and Silverlight, but launch this upcoming holiday 2010 is slated to employ this two-camp mode.

This strongly parallels the route that Palm is taking with WebOS, using a basic SDK for most applications, and a "Plug-In Development Kit" (PDK) that allows closer to metal code to run for applications that require better performance and leverage 3D strongly. This model is an interesting balance between both trains of thought; beginning developers looking to make simple applications fast can easily develop with tools like Expression Blend 4. Programmers looking for a closer to metal framework or porting existing Xbox 360 and PC games can choose to use XNA Game Studio.

Probably most interesting, however, is just how much of the code can be shared between PC, Xbox 360, and Windows Phone 7 Series platforms. Microsoft claims 90% or more is more than possible. They demonstrated a title designed in XNA Game Studio 4.0 developed in just 3 weeks called The Harvest which runs almost identically on all three platforms. You can see the game in action for yourself:

I had some concerns about the performance of The Harvest demo and asked a number of Microsoft Game Platform Strategists and XNA tools developers some questions. Although the game clearly stuttered in a few points and had a somewhat variable FPS at times, I'm told that this is not representative from a performance standpoint; obviously this isn't a shipping game. For one, the demo uses the same artwork and textures as both the desktop PC and Xbox 360 versions. For two, the entire demo was developed in just under 3 weeks. Third, I'm told that that the display link (Joe Belifore used a USB link for presenting the display during the keynote) might also be a culprit. Either way, it's reasonable to expect performance to improve drastically.

Microsoft's App Store... Er... Marketplace
Comments Locked

24 Comments

View All Comments

  • Tanclearas - Wednesday, March 17, 2010 - link

    Awesome! So all I have to do is purchase a Windows Server license, and probably some other Microsoft platform/framework/service license to install on it, and probably client licenses for each phone needing to connect, and ...
  • zicoz - Wednesday, March 17, 2010 - link

    Well this is a system for companies to install their "Special programs". If you only want to install it on a few phones, you can just use the "beta solution".
  • cknobman - Tuesday, March 16, 2010 - link

    So I cannot develop my own personal software and install it on the phone?

    Everything has to go through their approval process and be placed ont the app store?

    Please tell me this isnt the case. What about the thousands of developers that want to develop their own app for whatever reason but have absolutely no desire to make it public?

    Im hoping I misread somewhere.
  • Reklats - Wednesday, March 17, 2010 - link

    For the specific scenario of a developer wanting to write a program and install it on their phone, this should be doable already. Development is done using Visual Studio (express version is free), which allows for USB deployment of applications for debugging and development. Since I don't have any hardware to try it out with, I'm making an assumption that a deployed app will still run without the debugger attached.

    Given that the basic functionality exists, I would not be surprised to see someone release a utility to deploy compiled applications via USB. If there is enough demand, I expect Microsoft to release something aside from it's enterprise business offering.
  • MonkeyPaw - Tuesday, March 16, 2010 - link

    If MS doesn't allow you to run private enterprise apps, then they are really missing a big chunk of their market. I can easily see an inventory program that would really benefit from GPS and the ability to sync to a server immediately. At the same time, I wouldn't want that app to be up for purchase by my competition. If you could develop privately, you could really boost your small business.
  • straubs - Tuesday, March 16, 2010 - link

    Not only that, but it costs $99 PER APP, in addition to the $99/year developer fee.

    http://developer.windowsphone.com/Help.aspx">http://developer.windowsphone.com/Help.aspx
  • zicoz - Tuesday, March 16, 2010 - link

    I think I read somewhere that as a developer you can "unlock" x number of phones and install your programs directly.
  • QuietOC - Tuesday, March 16, 2010 - link

    "480 x 800 being 4:3 aspect ratio"
    800x480 should be a 5:3 aspect ratio.
  • nerdtalker - Tuesday, March 16, 2010 - link

    Thanks, that's what I get for trying to do math late at night ;)

    Should be corrected soon!

    Cheers,
    Brian
  • HighTech4US - Tuesday, March 16, 2010 - link

    Isn't the only SOC ARM design with GPU DirectX 9 acceleration the nVidia Tegra.

Log in

Don't have an account? Sign up now