There are 50-60 Android Devices on the market now. also same number of Blackberry Devices(all added up since the beginning). Apple locked up the system and platform, so 5 devices only. (Iphone /3g/3gs Ipad/ITouch)How about Microsoft phone 7?
Compatibility across devices with different screen size/resolution comes to be handy for developers. balckberry SDK is a great example, most of the method need take care the backward capability. it looks like Microsoft defined a standard that the device will all be 800*480 or 480*320 in the first version of phone OS 7.
also they define several standard regarding the hardware capability. here is a Quick overview of the device hardware. Pretty all the popular hardware features like SIP, GPS, LocationService, Audio/Video API. Accelerator.
Keyboard
Textbox Integrates with SIP
SIP supports input scoping
Text,Url, Time,TelephoneNUmber, EmailNameorAddress
TOUCH
OOB Controls support for Touch
Scroll viewer has built-in support for pan and flick
UIElements
Scale/Translate
Raw Touch, Compatible With Sl3
TOUCH IN XNA
- TouchPanel
- TouchLocation
- ID for Corellelcoate.
- Different with Silverlight Application
Accelerometer
IT Runs on background Thread which is different with the UI thread. call Dispatcher.BeginInvoke TO Refresh UI Thread
Audio Input
Call the getdata method from the bufferready event
10 ms latency
Media
MeadiaElement
Only one Mediaelement , No VideoBrush.
Media support
H/W decode
MediaSreamSource (adjust quality based on bandwidth)
PlayReadyDRM
XNA Sound Effect Api
Supports polyphonic, Looping wave data
Check Flight Status
Vibration.
VabrateController.Default.Start( TimeSpan.FromSeconds(5));
.Stop //Stop it before the timespan
Location
Satellite
Accuracy+, Power,Speed,Indoors (-)
Cell Towers
Power,Speed (+) Accuracy,Wildness(-)
WIFI
public GeoCoordinateWatcher(GeoPositionAccuracy desiredAccuracy)
{
this.accuracy = desiredAccuracy;
this.Init();
}
Reference:
Windows Phone 7 : http://www.windowsphone.com
Mix 10 Phone 7 Videos and PPTs: http://live.visitmix.com/Videos
Blackberry SDK: http://na.blackberry.com/eng/developers/