Microsoft UK Tech days (day 5)
by Peter Daukintis
Windows Phone 7
Charlie Kindel gave keynote presentation on Windows Phone 7. These are my notes:
The focus for Microsoft Mobile has switched from being partner-lead to being user-lead across all aspects of the experience. The phone hardware will provide consistent platforms with hardware vendors adhering to Microsoft guidelines. At launch one screen resolution (800 x 480) will be supported followed later by a further one (480 x 320). The devices will have consistent processors, the same RAM, an optional keyboard, etc. Hardware accelerated Deep Zoom technology is incorporated into the phone operating system. The phone OS has deep integration with services in 3 categories:
- Web services – your own (wcf, oData, etc)
- Existing web services
- Microsoft provided services (location services, notification service, Bing, XBOX Live, Windows Live, etc) </ul>
- Silverlight – ui applications, 2D games, can host web browser control
- XNA – 2D/3D games, roll-your-own ui.
- Raw – only when your application is running in the foreground.
- Toast (like toast popping up in toaster) - when your application is running in the foreground or pops up over other apps.
- Tile – used to update tiles on the main screen. </ul>
- Simplified graphics APIs
- New configurable effects (no custom shaders on the phone)
- VS2010 integration
- Extended Audio support </ul>
- BasicEffect
- DualTextureEffect
- AlphaTestEffect
- SkinnedEffect
- EnvironmentMapEffect </ul>
Two development environments:
There is a facility for a limited beta program before an application is certificated. Also, there is a portal at which statistics about a deployed application may be viewed.
Charlie was a bit coy when asked about handwriting recognition support saying that he was not prepared to comment at this time.
The rules surrounding certification will be released in a month or so. The rules will be clear and failure to certificate should not be for any reasons that could not have been predetermined by the developers.
The phone browser has been optimised for the phone, supports high quality typography, pinch zoom, double-click zoom, etc, but as yet there is no support for the browser hosting Silverlight content.
The applications themselves will be wrapped in a Play Ready DRM wrapper the workings of which are handled by a back-end server so there may be support for sharing applications between phones but the policies surrounding this have not yet been released.
Silverlight for WP7
The development environment supports C# only; there is no VB as yet. There are some differences between Silverlight 3 and Silverlight for WP7; some things are missing whilst others have been added purely to support the phone. Core Silverlight assemblies are available but most of the SDK assemblies will be missing; for example, there is no Data Annotation support but there is support for Linq to XML.
Animations are hardware accelerated on the phone which is not true of the desktop Silverlight and also there is no restriction on isolated storage used by an application apart from what is actually available.
All phone applications are navigation applications so the user interface structure is like this:
Root Visual > PhoneApplicationFrame > PhoneApplicationPage
Although there is some multi-tasking support if the user switches from your app to another your app will enter a ‘paused’ state where it will need to persist it’s state for reactivation later.
The VS designer does not support the dynamic theming correctly so the resources are hard-coded in the current CTP, in order to test your app with the phone theming you can comment these hardcoded values out and test in the phone emulator.
Find the Location of the Phone
To discover the location of the phone you can use the GeoCoordinateWatcher class and subscribe to its positionChanged events to receive lat long coordinates. These can be passed to a CivicAddressResolver object to convert to more user friendly location strings.
Phone Orientation
Using the namespaces Microsoft.Devices.dll and Microsoft.Devices.Sensors.dll you can track the orientation by subscribing to the AccelerometerSensor.Default.ReadingChanged event.
Launchers and Choosers
Launchers provide your application with the ability to make use of the features of the phone for example, the camera launcher will launch the camera prompt the user to take a picture and return this to your application. Similarly, a chooser will invoke user interface to choose a particular element type such as a photo or video.
Notification Service
Microsoft provide a notification service which works by providing you with a url that a data provider can use to post data notifications to your phone. The notifications can be in three modes:
There is also the ability to call into XNA libraries from your Silverlight application for various areas of functionality.
XNA (with XNA Game Studio 4.0)
Currently the two dev environments are somewhat separate with only limited integration between the two. This is limited to using XNA libraries from the Silverlight environment so microphone input, sound effect creation, image processingeffects, etc. provide some interesting possibilities. In order to use the emulator effectively a high-end graphics card is a requirement and also some capabilities come for free on the phone hardware due to way it was designed.
Some features included in XNA Game Studio to support the phone are:
XNA Game Studio 4.0 has not been released yet – it is still in CTP so some things are not possible like XBOX support.
The advice given is to debug and profile your games on the Windows platform as it is pretty similar and iterating around running up the emulator is currently clunky. Unfortunately, we didn’t get to see any XNA games running on the actual phone hardware since no-one actually had one apart from Charlie Kindel and he had already left so we had to make do with games running on the emulator. The graphical effects built in are the following:
For further info on these effects (and a lot more) see Shawn Hargreaves talk from MIX 2010 http://live.visitmix.com/MIX10/Sessions/CL22.
Well, that’s the end and I can say that I have learned a lot from my 3 days attendance at Uk Tech Days, there has been some great talks with high quality speakers and I will attend again if I get the chance. (Also, looking forward to getting my hands on some phone hardware!).
Technorati Tags: Microsoft,Tech,Charlie,Kindel,presentation,notes,Mobile,user,guidelines,devices,keyboard,Hardware,Deep,Zoom,technology,system,integration,services,location,notification,XBOX,Live,development,host,Also,portal,statistics,recognition,rules,certification,failure,certificate,supports,typography,Play,Ready,wrapper,workings,server,environment,example,Data,Annotation,Linq,restriction,storage,navigation,interface,Root,Visual,PhoneApplicationFrame,PhoneApplicationPage,Although,Find,GeoCoordinateWatcher,events,CivicAddressResolver,Orientation,Sensors,AccelerometerSensor,Default,event,Launchers,Choosers,features,element,photo,Service,provider,foreground,Toast,Tile,tiles,Game,Studio,creation,image,possibilities,card,requirement,Some,APIs,custom,Audio,advice,platform,BasicEffect,DualTextureEffect,AlphaTestEffect,SkinnedEffect,EnvironmentMapEffect,info,Shawn,attendance,talks,aspects,platforms,vendors,categories,environments,policies,differences,Animations,notifications,modes,areas,Sessions,speakers,browser,emulator,camera,libraries,graphicsWindows Live Tags: Microsoft,Tech,Charlie,Kindel,presentation,notes,Mobile,user,guidelines,devices,keyboard,Hardware,Deep,Zoom,technology,system,integration,services,location,notification,XBOX,Live,development,host,Also,portal,statistics,recognition,rules,certification,failure,certificate,supports,typography,Play,Ready,wrapper,workings,server,environment,example,Data,Annotation,Linq,restriction,storage,navigation,interface,Root,Visual,PhoneApplicationFrame,PhoneApplicationPage,Although,Find,GeoCoordinateWatcher,events,CivicAddressResolver,Orientation,Sensors,AccelerometerSensor,Default,event,Launchers,Choosers,features,element,photo,Service,provider,foreground,Toast,Tile,tiles,Game,Studio,creation,image,possibilities,card,requirement,Some,APIs,custom,Audio,advice,platform,BasicEffect,DualTextureEffect,AlphaTestEffect,SkinnedEffect,EnvironmentMapEffect,info,Shawn,attendance,talks,aspects,platforms,vendors,categories,environments,policies,differences,Animations,notifications,modes,areas,Sessions,speakers,browser,emulator,camera,libraries,graphics </div>
Comments