Mobile DevelopmentMicrosoft Mobile PlatformsRob MilesDepartment of Computer Science
Introduction A bit of history   > Where the Pocket PC came from   > Where the Smartphone came from   > Pocket PC Phone Ed...
Pocket PC Originally called the “wallet    PC”   Launched in 1996 with Version    1.0 of Windows CE   Superseded in the...
Breakthrough Pocket PC: Compaq Ipaq This was the first device to  deliver on performance, display  and battery life   > 1...
State of the art Pocket PC Dell Axim V50s  > 624Mhz Processor  > 64MB RAM  > 480x640 colour display  > WIFI and Bluetooth...
Smartphone In 2001 Microsoft announced that it    would be launching a range of    Smarpthones (codenamed    "Stinger") ...
Breakthrough Smartphone:SPV E200 First to deliver on performance and battery life:  > 32MB user memory  > Built in Blueto...
State of the art Smartphone:SPV C500 Launched in August 2004  > 64MB of internal memory  > Fast internal processor (200 M...
Pocket PC Phone Edition Combines PDA with phone  > Launched in July 2002  > 206-MHz Intel StrongArm    processor  > 32MB ...
Breakthrough Device:XDA II Launched in April 2004  > 400MHz Processor  > 128MB RAM  > Camera  > Bluetooth  > Windows Mobi...
State of the Phone Edition:XDA IIS Launched in April 2005  > Integrated Keyboard  > Improved performance
What you should be savingup for…. First 3G Windows Mobile Device  > Branded as Orange M5000  > VGA resolution display    ...
Other devices of note Gizmondo  > Offers a Windows CE based gaming    platform with GPS, GPRS and 3D    Acceleration buil...
The Future… The development of the devices over the last  few years has been amazing The systems are going to get more p...
Architecture If you write programs for the mobile devices  you should plan to work in the Compact  Framework using “manag...
Managed and Native Code Managed        .NET Compact Code User        Framework  Program       Class Libraries             ...
Native (unmanaged) code Programs are compiled to    machine code for the target    processor   Created in C++ or Visual ...
Managed Code Programs execute within a    managed environment   Microsoft Intermediate Language    (MSIL) is Just In Tim...
Managed Code is Best You should concentrate on managed code development   > it is easier and faster to create   > program...
Inside a Managed CodeProgram Because the executable  is a .NET program you  can use ILDASM and  other tools to  manipulat...
P/Invoke is your friend If you need to get “down and dirty”    from managed code you use Platform    Invoke (P/Invoke)  ...
So, Rules To Code By Use Managed Code wherever possible Good reasons to use Native Code:  > You *really* want speed  > Y...
Writing the Code You can use C# if you like (in fact I insist) You can use Visual Studio A lot of the forms behaviours ...
Visual Studio 2003 Visual Studio 2003 as supplied will develop  managed code applications for the Pocket PC By adding th...
Visual Studio 2005 This is a significant advance over Visual  Studio 2005 The Forms editor now functions with a more  co...
Deploying the Program When the program is executed from within  Visual Studio it is copied into a directory on  the targe...
Debugging The debug tools are very powerful You can:  > Pause an executing program  > Add a breakpoint to an executing p...
Finding the Program The more recent mobile  phones are shipped with  file browser programs you  can use to find and run t...
Developers Toolkits… To start to develop you need: Visual Studio 2003  > Active Sync. 3.7 or better  > Smartphone 2003 t...
Call to Action The devices out there are getting really  powerful and connected They are about as easy to write for as  ...
Upcoming SlideShare
Loading in …5
×

Introduction to mobile platforms

345 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
345
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction to mobile platforms

  1. 1. Mobile DevelopmentMicrosoft Mobile PlatformsRob MilesDepartment of Computer Science
  2. 2. Introduction A bit of history > Where the Pocket PC came from > Where the Smartphone came from > Pocket PC Phone Edition At bit of architecture > How the platforms run the programs > Why managed code is wonderful A bit of construction > The tools you will need
  3. 3. Pocket PC Originally called the “wallet PC” Launched in 1996 with Version 1.0 of Windows CE Superseded in the following year with Version 2.0 Initially available in keyboard and keyboard-less versions
  4. 4. Breakthrough Pocket PC: Compaq Ipaq This was the first device to deliver on performance, display and battery life > 120MHz processor > 32MB of RAM > Flash ROM > RS232 and IR ports > 240x320 TFT colour display
  5. 5. State of the art Pocket PC Dell Axim V50s > 624Mhz Processor > 64MB RAM > 480x640 colour display > WIFI and Bluetooth > 3D Graphics accelerator Windows Mobile 5 upgradeable £150 less than the original IPAQ!
  6. 6. Smartphone In 2001 Microsoft announced that it would be launching a range of Smarpthones (codenamed "Stinger") The Smartphones would be "Windows based" The version of Windows in question was Windows CE 3.0 Launched in October 2002 with Orange SPV
  7. 7. Breakthrough Smartphone:SPV E200 First to deliver on performance and battery life: > 32MB user memory > Built in Bluetooth support > Built in camera > Smartphone 2003 Operating System > .NET Compact Framework
  8. 8. State of the art Smartphone:SPV C500 Launched in August 2004 > 64MB of internal memory > Fast internal processor (200 MHz) > Small form factor > Runs Windows Mobile 2003 Second Edition Being replaced by the C550 which adds Media Player 10 for protected content
  9. 9. Pocket PC Phone Edition Combines PDA with phone > Launched in July 2002 > 206-MHz Intel StrongArm processor > 32MB RAM > Based on Pocket PC 2002
  10. 10. Breakthrough Device:XDA II Launched in April 2004 > 400MHz Processor > 128MB RAM > Camera > Bluetooth > Windows Mobile 2003
  11. 11. State of the Phone Edition:XDA IIS Launched in April 2005 > Integrated Keyboard > Improved performance
  12. 12. What you should be savingup for…. First 3G Windows Mobile Device > Branded as Orange M5000 > VGA resolution display (640x480) > WIFI support > Two cameras > Windows Mobile 5.0 Want one
  13. 13. Other devices of note Gizmondo > Offers a Windows CE based gaming platform with GPS, GPRS and 3D Acceleration built in > Licensed developers only (sadly) Imate JAM > Very small Pocket PC phone edition > New form factor for Pocket PC
  14. 14. The Future… The development of the devices over the last few years has been amazing The systems are going to get more powerful and more connected Location based behaviour is now very easy to implement in systems
  15. 15. Architecture If you write programs for the mobile devices you should plan to work in the Compact Framework using “managed” code This makes your programs > Portable > Safe > Easy to write
  16. 16. Managed and Native Code Managed .NET Compact Code User Framework Program Class Libraries Native (Unmanaged Code) User Program.NET Compact Framework CommonLanguage Runtime Processor and Operating System Services
  17. 17. Native (unmanaged) code Programs are compiled to machine code for the target processor Created in C++ or Visual Basic and compiled for the specific hardware in the device Has direct access to the processor instruction set Scary stuff for uber-geeks
  18. 18. Managed Code Programs execute within a managed environment Microsoft Intermediate Language (MSIL) is Just In Time compiled on the target device Code is not produced for a specific target hardware Code is validated before execution Helps programmers sleep at night
  19. 19. Managed Code is Best You should concentrate on managed code development > it is easier and faster to create > programs are inherently more reliable and easier to debug However, we need to be aware that there is a performance penalty for working this way > the first time a method is called the run time system must "Just In Time" compile the MSIL code for that method into machine code > this can lead to delays when programs start up and, sometimes during execution when new classes are loaded
  20. 20. Inside a Managed CodeProgram Because the executable is a .NET program you can use ILDASM and other tools to manipulate it You could even create MSIL applications for mobile devices if you wish
  21. 21. P/Invoke is your friend If you need to get “down and dirty” from managed code you use Platform Invoke (P/Invoke) This provides marshalling of data to and from calls to native methods You will use this to access some parts of the operating system the Compact Framework cannot reach: > Device Data: Battery Life etc > Placing Calls and SMS messages
  22. 22. So, Rules To Code By Use Managed Code wherever possible Good reasons to use Native Code: > You *really* want speed > You *really* want to drive the hardware directly > You are being paid *really* large sums of money to do it Compromise > If you need native code, put it in a native code library and then talk to it via the Platform Invoke (P/Invoke) mechanism
  23. 23. Writing the Code You can use C# if you like (in fact I insist) You can use Visual Studio A lot of the forms behaviours map directly across to the mobile platform You do not need a real device > Unless you want to place phone calls or send/receive SMS messages
  24. 24. Visual Studio 2003 Visual Studio 2003 as supplied will develop managed code applications for the Pocket PC By adding the Smartphone Developer kit to Visual Studio 2003 you can use this to develop Smartphone applications The Smartphone Developer Kit is a free download, but you need to have Visual Studio to make use of it
  25. 25. Visual Studio 2005 This is a significant advance over Visual Studio 2005 The Forms editor now functions with a more complete emulation of the mobile device display The emulation of the devices is now at processor level rather than an 8086 version of the device You can pick up Beta 2 for free!
  26. 26. Deploying the Program When the program is executed from within Visual Studio it is copied into a directory on the target device and executed from there You can deploy the program just as an executable file if you wish, by copying it into a directory on the Smartphone using the ActiveSync Or you can build an installer
  27. 27. Debugging The debug tools are very powerful You can: > Pause an executing program > Add a breakpoint to an executing program without stopping it These facilities work on the target device too You must however have used Debug mode to build the application The Remote Display Power tool can be useful here
  28. 28. Finding the Program The more recent mobile phones are shipped with file browser programs you can use to find and run the executable directly Pocket PC owners can use the built in file browser
  29. 29. Developers Toolkits… To start to develop you need: Visual Studio 2003 > Active Sync. 3.7 or better > Smartphone 2003 tools Visual Studio 2005 > Active Sync. 4.0 Powertoys > You should also get the Power Toys
  30. 30. Call to Action The devices out there are getting really powerful and connected They are about as easy to write for as desktop machines This is a genuinely new area where the scope for innovation is huge So get out there and get started!

×