Your SlideShare is downloading. ×
0
An Introduction To Mobile
Technologies and Services


 by Michael Sharon, Co-founder / CTO, Socialight
Overview
1.What does “mobile” mean?
  • Components
  • Typical device features
2.The state of the industry
  • Operators, ...
1. What does “mobile” mean?
Mobile
From the Latin mobilis - “to move”

“able to move freely or easily”

“able or willing to move freely or
easily betw...
Mobile device
Mobile, wireless or cellular phone - a
portable, handheld communications
device connected to a wireless
netw...
Multimedia   Reinvented
Computer       Phone
Many devices. Many manufacturers.
         Many formats.
Motorola
    RIM
                 Samsung
                                     Kyocera
           Palm
                   ...
Feature        Smart     PDAs/
             phones         phones   handheld

                 $            $$        $$$
...
Mobile development ecosystem
                       Publishing
    Certification
                              Air interfac...
why mobile?

one handed use
limited (input, processing,
battery life)
rich (sensors, usage)
small!
truly ubiquitous
Mobile phone capabilities
       Bluetooth WAP
                                WiFi
                  GPS
      TDMA      ...
Mobile evolution (briefly)
G - 1/2/3/4 G
G refers to the different generations of
mobile devices.

First generation (1G) cellphones were
analog devic...
Early mobile phones
  0G          •Expensive
              •In cars/trucks/briefcases
1946-1980’s


              •Voice only
•First generation cellular networks
  1G
             •Radio signals = analog
1980’s-now
             •Technologies - AMPS...
• Second generation cellular networks
  2G         • Digital.Voice + SMS + Circuit switched data
             • GSM, iDEN,...
GSM
Global System for Mobile Communications

GSM is the most popular standard for
mobile phones worldwide used by 2.2
bill...
GPRS
General Packet Radio Services

A mobile data service for use on GSM
networks.

Part of the 2.5G standards family
iDEN
Integrated Digital Enhanced Network

A second generation (2G) mobile
telecommunications standard developed
entirely b...
CDMA
Code Division Multiple Access

A second generation (2G) standard for
mobile phones.

US Operators = Sprint,Verizon
• Third generation cellular networks
  3G          • Broadband data + voice, streaming video!
              • W-CDMA (UMTS...
some refreshing statistics
                           3.2m Blackberries
                           50m PDAs
              ...
2. The State of the Industry
Operators in the US

               Cingular     Verizon    Sprint    T-Mobile
  Service



                 61m        59...
Sprint (Nextel + Boost),
 T-Mobile & Cingular*
     support J2ME
         * 3 out of the 4 largest carriers
          (but...
3. Mobile Development Options
Mobile Development in 2007
is kinda like the web in 1997
Anybody remember
<blink> ? <marquee>?
This is worse
1997                              2007
                                       Symbian vs Flash Lite vs
  Netscape vs Micro...
Java ME / J2ME
Java ME (formerly known as Java 2
Platform, Micro Edition or J2ME), is a
collection of Java APIs for develo...
Flash Lite
Flash Lite is a development platform
created by Macromedia, based on their
hugely successful Flash web applicat...
Symbian
Operating system based on original
PDAs from Psion. Largest installed base.
Multiple versions customized for
diffe...
Python for Series 60
Open source scripting language ported
by Nokia

Only on Series 60 smartphones

Python wrappers around...
BREW
Binary Runtime Environment Wireless

Proprietary mobile device platform
developed by Qualcomm.Development
language is...
WAP
Wireless Application Protocol

Originally used to describe lightweight
protocol which used Wireless Markup
Language (W...
Platform                                                              Overview

            Java ME                       ...
Learning
     Platform               Language X-Platform                                                   Emulator       ...
Phone Data                   Developer
    Platform                      GUI                   Functionality
             ...
Java ME (J2ME)
Java Sources
• Java Community Process - http://jcp.org
  • JSR specification requests
  • reference implementations
• Sun -...
Java VM

     Other Apps

                               Native Apps

Virtual Machine (KVM)


            Operating System...
A typical Java ME stack
1. Configurations
  - specifies minimum Java technology that we can
  expect for certain devices
  -...
1. Configurations: CLDC
             Connected Limited Device Configuration


- specifies environment for mobile phone, pager...
2. Profiles: MIDP
                 Mobile Information Device Profile

MIDP 1.0
- December 2000, JSR 37
- java.microedition.m...
3. Optional Packages
Bluetooth API (JSR 82)
- communication with Bluetooth devices

Wireless Messaging API (JSR 120, JSR 2...
MIDP 3.0
              AKA “The Future”


• Background MIDlets (remember TSRs?)
• Drawing to secondary displays
• Improved...
MIDlets
MIDlets are like Java applets for mobile
devices.

Has a lifecycle with four stages,
created, started, paused, des...
Applications
Games         Mapping        Photos
  Pang        Google Maps      Mobup
The Sims2      mGmaps          Shozu
            ...
http://www.mogimogi.com/
http://www.wayfinder.com/
http://www.wayfinder.com/
http://www.gcalsync.com
http://www.mobup.org
Python for Series 60
What is Python?
• Created 1990 by Guido van Rossum
• Interpreted, object oriented
  programming language
• Very powerful l...
Java                               Python

                                            dynamically (“duck”) typed
        ...
Java ME                  Python S60

 freshly open source           open source

 broad manufacturer
                     ...
Capabilities of PyS60
•   GUI: Menu, Forms, Listboxes, Input fields, Dialogs, Notes
•   Graphics: - color, font and style a...
WAP
The birth of WAP

•   The end of the 1990’s:
•   Data service bearers available: CSD (circuit
    switched data/dialup)/CD...
•First generation cellular networks
  1G
             •Radio signals = analog
1980’s-now
             •Technologies - AMPS...
Enter, WAP
•    Enter, WAP, a light weight protocol stage left.
•    Good for data speed at that time
•    WAP = Wireless ...
• Second generation cellular networks
  2G         • Digital.Voice + SMS + Circuit switched data
             • GSM, iDEN,...
WAP 2.0 (circa 2002)
•   Data service bearers available: GPRS (54kbs)
•   Development of 3G networks leads to
    enhancem...
•Third generation cellular networks
  3G          •Broadband data + voice, streaming video!
              •W-CDMA (UMTS, F...
WML vs XHTML
                                                        XHTML-MP
                          WML 1.x

  Standar...
Java                               WAP

       Complex syntax,                        Simple syntax, not so
      powerful...
Mobile application development
      can be challenging.
Start small, keep it simple,
     add constraints
Choose your platform wisely
Thanks!
Questions? Comments? Suggestions?


Michael Sharon
646 591 3681
michael@socialight.com
Mobile Pres
Mobile Pres
Upcoming SlideShare
Loading in...5
×

Mobile Pres

2,790

Published on

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

No Downloads
Views
Total Views
2,790
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
142
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Mobile Pres"

  1. 1. An Introduction To Mobile Technologies and Services by Michael Sharon, Co-founder / CTO, Socialight
  2. 2. Overview 1.What does “mobile” mean? • Components • Typical device features 2.The state of the industry • Operators, Devices, Openness, Ease of development 3.Mobile development options • Types of devices • OSes, languages, platforms • Applications
  3. 3. 1. What does “mobile” mean?
  4. 4. Mobile From the Latin mobilis - “to move” “able to move freely or easily” “able or willing to move freely or easily between occupations, places of residence and social classes” Device, state of being, industry
  5. 5. Mobile device Mobile, wireless or cellular phone - a portable, handheld communications device connected to a wireless network that allows users to make voice calls, send text messages and run applications. AKA keitai, personal handy phone WARNING: Jargon & Acronym laden
  6. 6. Multimedia Reinvented Computer Phone
  7. 7. Many devices. Many manufacturers. Many formats.
  8. 8. Motorola RIM Samsung Kyocera Palm Nokia BenQ Fujitsu Mobile device manufacturers Sanyo Sharp LG SonyEricsson Apple
  9. 9. Feature Smart PDAs/ phones phones handheld $ $$ $$$ Price Proprietary, S60, Windows PalmOS, OS Mobile, Linux PocketPC Series40 Applications Java or BREW Any Any
  10. 10. Mobile development ecosystem Publishing Certification Air interface Mobile operator Data bearer Mobile UI Deployment Mobile OS Packaging Platform Language
  11. 11. why mobile? one handed use limited (input, processing, battery life) rich (sensors, usage) small! truly ubiquitous
  12. 12. Mobile phone capabilities Bluetooth WAP WiFi GPS TDMA PTT GPRS EDGE GSM CDMA UMTS W-CDMA ringtones NFC monochrome colour RFID voice text graphics images WiMax speaker cameras microphone 1990 2000 2007
  13. 13. Mobile evolution (briefly)
  14. 14. G - 1/2/3/4 G G refers to the different generations of mobile devices. First generation (1G) cellphones were analog devices. Second generation (2G) devices were digital, and third generation (3G) allows for voice, data and advanced services.
  15. 15. Early mobile phones 0G •Expensive •In cars/trucks/briefcases 1946-1980’s •Voice only
  16. 16. •First generation cellular networks 1G •Radio signals = analog 1980’s-now •Technologies - AMPS / DataTac •First Blackberry (850) •Voice + Limited data
  17. 17. • Second generation cellular networks 2G • Digital.Voice + SMS + Circuit switched data • GSM, iDEN, CDMA, TDMA 1990’s-now • Marketing term 2.5G • GPRS, HSCSD, WiDEN • Also EDGE, CDMA2000 1x-RTT 1990’s-now
  18. 18. GSM Global System for Mobile Communications GSM is the most popular standard for mobile phones worldwide used by 2.2 billion people on over 210 networks.* US Operators = T-Mobile, Cingular * according to this http://en.wikipedia.org/wiki/GSM
  19. 19. GPRS General Packet Radio Services A mobile data service for use on GSM networks. Part of the 2.5G standards family
  20. 20. iDEN Integrated Digital Enhanced Network A second generation (2G) mobile telecommunications standard developed entirely by Motorola. US Operators = Sprint-Nextel / Boost
  21. 21. CDMA Code Division Multiple Access A second generation (2G) standard for mobile phones. US Operators = Sprint,Verizon
  22. 22. • Third generation cellular networks 3G • Broadband data + voice, streaming video! • W-CDMA (UMTS, FOMA), 1xEV-DO 2004-now • “high-speed broadband for data- and visual- centric 4G information” • Transmits data at 100mbps while moving and 1Gbs the future! while standing still
  23. 23. some refreshing statistics 3.2m Blackberries 50m PDAs 70m iPods 190m Gameboys 820m PCs 1.5bn TV sets 2bn+ Mobile phones* Source: Charlie Schick’s blog - http://cognections.typepad.com/lifeblog/2006/08/eh_kinda_quiet_.html
  24. 24. 2. The State of the Industry
  25. 25. Operators in the US Cingular Verizon Sprint T-Mobile Service 61m 59.1m 53.1m 25m Subscribers CDMA/ GSM CDMA GSM Technology iDEN J2ME BREW J2ME J2ME Platform Semi- Semi- Open Open Openness Walled Walled 2.5G/3G 2.5G/3G 2.5G/3G 2.5G/3G Network TDOA TDOA A-GPS A-GPS Location (no access) (no access)
  26. 26. Sprint (Nextel + Boost), T-Mobile & Cingular* support J2ME * 3 out of the 4 largest carriers (but who’s counting anyway?)
  27. 27. 3. Mobile Development Options
  28. 28. Mobile Development in 2007 is kinda like the web in 1997
  29. 29. Anybody remember <blink> ? <marquee>?
  30. 30. This is worse
  31. 31. 1997 2007 Symbian vs Flash Lite vs Netscape vs Microsoft Java ME vs Python vs BREW vs .NET vs WAP vs Palm Platform features / standards Proprietary features vs standards <blink> vs <marquee> OEM APIs (Java) Free environment $$ environment (contracts) Mostly free development tools Free development tools (except for BREW) Clear development / Convoluted development & painful deployment process deployment process
  32. 32. Java ME / J2ME Java ME (formerly known as Java 2 Platform, Micro Edition or J2ME), is a collection of Java APIs for developing software on resource constrained devices such as PDAs, cell phones and other consumer appliances.
  33. 33. Flash Lite Flash Lite is a development platform created by Macromedia, based on their hugely successful Flash web application platform. v1.1 - most widely deployed, limited v2.x - improved experience, language
  34. 34. Symbian Operating system based on original PDAs from Psion. Largest installed base. Multiple versions customized for different manufacturers. Language = C++ UIQ - SonyEricsson Series 60 - Nokia MOAP - NTT Docomo FOMA
  35. 35. Python for Series 60 Open source scripting language ported by Nokia Only on Series 60 smartphones Python wrappers around low-level APIs, easy access to native OS features
  36. 36. BREW Binary Runtime Environment Wireless Proprietary mobile device platform developed by Qualcomm.Development language is C with C++ interfaces. Certification and development process is expensive.
  37. 37. WAP Wireless Application Protocol Originally used to describe lightweight protocol which used Wireless Markup Language (WML). Currently used to refer to Mobile Web, which uses XHTML MP/Basic + CSS.
  38. 38. Platform Overview Java ME Second best reach, best overall development Good for graphics-heavy applications in supported Flash Lite markets Symbian Strong support from Nokia, best access to hardware .NET PocketPC + Windows Mobile Devices BREW The only option for CDMA networks Python Great for quick prototypes, still immature WAP Largest overall reach, lightweight functionality sources: http://www.biskero.org/?p=430, http://alindh.iki.fi/2006/06/27/mobile-platform-statistics/, http://en.wikipedia.org/wiki/Mobile_development
  39. 39. Learning Platform Language X-Platform Emulator Availability Curve Java ME Java Average Average Free ~1.5bn Flash Lite AS Excellent Average With IDE 77-115m Symbian C++ Average STEEP! Free 120m C#, C++, .NET WM STEEP! IDE 4.5m VB.NET CDMA BREW C++ ???? STEEP! Simulator only Python Python FREE Gentle Add-on Nokia-only WAP / XHTML, FREE Gentle Free 2bn+ Mobile Web WML sources: http://www.biskero.org/?p=430, http://alindh.iki.fi/2006/06/27/mobile-platform-statistics/, http://en.wikipedia.org/wiki/Mobile_development
  40. 40. Phone Data Developer Platform GUI Functionality Access Community 2D/3D, Many Varies by handset, no Varies by handset, Extensive Java ME widgets,Visual CellID, high res pics Optional APIs Form Builder 2D/3D, Many Partial through Extensive Flash Lite None widgets,Visual API IDE 2D/3D, Many No restriction Extensive Symbian Simulator widgets,Visual Form Builder 2D/3D, Many Limited audio Full MSDN .NET widgets,Visual Form Builder Operator 2D/3D, Many Full BREW Limited widgets, uiOne dependent Partial through Small, but 2D Graphics, Partial Python some widgets API growing Limited to WAP / Basic forms. Extensive None Mobile Web Inconsistencies browser sources: http://www.biskero.org/?p=430, http://alindh.iki.fi/2006/06/27/mobile-platform-statistics/, http://en.wikipedia.org/wiki/Mobile_development
  41. 41. Java ME (J2ME)
  42. 42. Java Sources • Java Community Process - http://jcp.org • JSR specification requests • reference implementations • Sun - http://java.sun.com • SDK, tools, community • Manufacturer • SDKs, community, device emulators
  43. 43. Java VM Other Apps Native Apps Virtual Machine (KVM) Operating System Hardware
  44. 44. A typical Java ME stack 1. Configurations - specifies minimum Java technology that we can expect for certain devices - Includes language, virtual machine features, core libraries 2. Profiles - layer defining APIs and specifications for a particular device or market - MIDP, FP - MIDlets 3. Optional Packages - includes additional functionality only supported by certain devices - e.g. Bluetooth API, Location API
  45. 45. 1. Configurations: CLDC Connected Limited Device Configuration - specifies environment for mobile phone, pagers - 160-512k of memory for Java - limited power / batteries - intermittent, low-bandwidth connectivity CLDC 1.0 - May 2000, JSR 30 - java.lang CLDC 1.1 - Dec 2002, JSR 139 - adds floating point support - bug fixes
  46. 46. 2. Profiles: MIDP Mobile Information Device Profile MIDP 1.0 - December 2000, JSR 37 - java.microedition.midlet - java.microedition.rms - java.microedition.lcdui - java.microedition.io.HttpConnection MIDP 2.0 - Nov 2002, JSR 118 - java.microedition.media - java.microedition.lcdui.game MIDP 3.0 - Q3 2006? No! Sometime 2007...
  47. 47. 3. Optional Packages Bluetooth API (JSR 82) - communication with Bluetooth devices Wireless Messaging API (JSR 120, JSR 205) - SMS, MMS, multi-part messages Mobile Media API (JSR 135) - audio, video and multimedia Location API (JSR 179) - interface to location services
  48. 48. MIDP 3.0 AKA “The Future” • Background MIDlets (remember TSRs?) • Drawing to secondary displays • Improved large screen support • Auto-start MIDlets • And much more... to forget about for the moment
  49. 49. MIDlets MIDlets are like Java applets for mobile devices. Has a lifecycle with four stages, created, started, paused, destroyed.
  50. 50. Applications
  51. 51. Games Mapping Photos Pang Google Maps Mobup The Sims2 mGmaps Shozu uLocate Zonetag Web Mapping Art Opera Mini Wayfinder Balldroppings GCalSync Social Hybrids RSS BEDD MogiMogi Widsets Flirtomatic Socialight MobileGlu Loopt Yahoo Go!
  52. 52. http://www.mogimogi.com/
  53. 53. http://www.wayfinder.com/
  54. 54. http://www.wayfinder.com/
  55. 55. http://www.gcalsync.com
  56. 56. http://www.mobup.org
  57. 57. Python for Series 60
  58. 58. What is Python? • Created 1990 by Guido van Rossum • Interpreted, object oriented programming language • Very powerful language + terse syntax. • Modules, classes, exceptions, dynamic typing
  59. 59. Java Python dynamically (“duck”) typed statically typed blah = “string” String blah = “”; blah = 1 verbose concise public class HelloWorld { public static void main (String[] args) print “Hello World” { System.out.println(quot;Hello, world!quot;); } }
  60. 60. Java ME Python S60 freshly open source open source broad manufacturer Symbian Series60 support extremely terse. no complex, multiple APIs checked exceptions. uses (High Level, Low Level), Python standard library. confusing exception simpler APIs, C++ model, runs in sandbox wrapper
  61. 61. Capabilities of PyS60 • GUI: Menu, Forms, Listboxes, Input fields, Dialogs, Notes • Graphics: - color, font and style attributes, - direct-screen drawing, - displaying images and icons • Key-down and key-up events • Sockets: TCP/IP, Bluetooth (RFCOMM, OBEX) • Messaging (SMS) + accessing the Inbox • Networking (HTTP, FTP, …) • Access to file system, file reading, XML, RSS • Access to camera, telephone • Access to calendar, contacts, sysinfo • Location (cell-id) • Content handler (download + open videos..) • Python extensions can be written in C++ • Package scripts into standalone applications - (using SIS files)
  62. 62. WAP
  63. 63. The birth of WAP • The end of the 1990’s: • Data service bearers available: CSD (circuit switched data/dialup)/CDPD • Date connnection speeds: CSD=9.6kbs/ CDPD=14.4kbs • Light weight protocol needed to transfer data.  
  64. 64. •First generation cellular networks 1G •Radio signals = analog 1980’s-now •Technologies - AMPS / DataTac •First Blackberry (850) •Voice + Limited data
  65. 65. Enter, WAP • Enter, WAP, a light weight protocol stage left. • Good for data speed at that time • WAP = Wireless Application Protocol • Like HTTP with extra bits stripped out • WAP Gateway (GW) handles translation • Limited markup language resulted in • HDML - Handheld Device Markup Language • WML (established by the WAP Forum)
  66. 66. • Second generation cellular networks 2G • Digital.Voice + SMS + Circuit switched data • GSM, iDEN, CDMA, TDMA 1990’s-now • Marketing term 2.5G • GPRS, HSCSD, WiDEN • Also EDGE, CDMA2000 1x-RTT 1990’s-now
  67. 67. WAP 2.0 (circa 2002) • Data service bearers available: GPRS (54kbs) • Development of 3G networks leads to enhancement of languges • WAP 2.0 and XHTML-MP released by the WAP forum. • Smarter phones + faster data (3G). • WAP GW resembles typical Proxy Server • WAP GW is largely for legacy device support (WAP 1.1 devices)
  68. 68. •Third generation cellular networks 3G •Broadband data + voice, streaming video! •W-CDMA (UMTS, FOMA), 1xEV-DO 2004-now • “high-speed broadband for data- and visual- centric 4G information” • Transmits data at 100mbps while moving and 1Gbs the future! while standing still
  69. 69. WML vs XHTML XHTML-MP WML 1.x Standards W3C + OMA WAP Forum (defunct) Body Content + layout in same Content + layout separate. Content document. Tailored separately Can be rendered separately. displaying for different devices. Content No encoding required Binary Encoding Document Advanced layout with CSS Basic Layout control Only colour images, no colour Full support with CSS, Colour control control for fonts, backgrounds, fonts, backgrounds, borders Support borders etc. Wireless profile - TCP/IP Data bearer WAP
  70. 70. Java WAP Complex syntax, Simple syntax, not so powerful language powerful Use built in browser (no Download apps download necessary) public class HelloWorld { <p>Hello, WAP</p> public static void main (String[] args) { System.out.println(quot;Hello, world!quot;); } }
  71. 71. Mobile application development can be challenging.
  72. 72. Start small, keep it simple, add constraints
  73. 73. Choose your platform wisely
  74. 74. Thanks!
  75. 75. Questions? Comments? Suggestions? Michael Sharon 646 591 3681 michael@socialight.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×