? MIX10 Keynote, Day 1 | Main | MIX10 Keynote, Day 2 ?
March 15, 2010
Windows Phone 7 Application Platform Overview
The basic story around development for Windows Phone is that it’s part of a larger application strategy. You have a couple base technologies (Silverlight and XNA) and 3 screens (WP7, Xbox LIVE, Windows 7). Various pieces parts are in play, including input, media, data, cloud, and phone access. The idea is that you can write your app to run in all 3 places with minimal tweaking. Of course, the meaning of “minimal” is all relative, and we know there’s always a lot of work surrounding those places where the apps differ, but it’s a good starting point for now.
Features
- .NET: superset of Silverlight 3
- WCF support for SOAP and REST
- Media: capture and playback
- Phone access: phone UI, sensors (accelerometer now, IP-based sensors later), picker for contacts and photos [NOTE: programmatic access to the camera will not be available in v1; however, a flow where you can have the user hit a button, take a picture, then kick you back to the app to bring up the photo picker will be there]
- Data: Isolated storage, LINQ to objects/XML
- Cloud: app deployment and updates, push notifications, location, Xbox LIVE [can use SL and not XNA and still write an Xbox LIVE game!]
Application Model
- App runtime: .NET CLR
- Process model (OS): Windows CE with some abstractions
- Deployment: service-based, deploy to marketplace, then to phone
Development lifecycle
- Emulator testing
- Phone OS compiled for x86 running virtualized; it is NOT emulating the ARM processor
- 3D accelerated using Direct3D
- Multitouch support so that you can test your touch interactions without debugging on the device!
- Device testing
- Web-based service which allows you to unlock your phone for debugging purposes and use debug tools on the device
- Dev tools can start debug on the device
- Packaging
- Basic idea: dev/debug/test > submit for review > certification and signing > Windows Phone app deployment service > marketplace
- Review process includes business policies, technical policies, and content policies. More detail tomorrow.
Marketplace
- Similar to iTunes
- Browse apps
- Try before you buy! Apps can query the IsTrial() API and expose the proper set of features; to upgrade from trial to full, there is a built-in UI that is one API call
- Payment flexibility
- Automatic application updates (user must OK)
Misc
- All UI is accelerated through DirectX; preserve battery
- Push notifications are all done through a single pipe; focus on efficiency and battery life
- Deployment within an enterprise will be up to the enterprise in v1 – pure consumer focus right now
- No demand-loading XAPs in v1 [this is common in Silverlight apps today], so you have to ship all your code in one package
- No announcements yet on Silverlight for XBOX
- No sharing data between applications – IsolatedStorage is sandboxed. To share data use a cloud service.
- IPC only available for built-in apps, not for 3rd parties in v1
- No background apps, but common scenarios work, such as continuing to play music, phone call, etc.; also live tiles can update through the notifications service
All in all, it has a lot of promise. I’m going to play around with it and kick the tires. ;) If you want to get the devtools, go to http://developer.windowsphone.com/windows-phone-7-series/.
Posted by eburke at March 15, 2010 10:06 PM