Why (I think) Smartphone App Dev is Cool<br />
http://www.africanpixel.com/<br />
Mobile Applications Development<br />The Platforms<br />(Not so important for this particular talk)<br />
Mobile Platforms<br />Categorization of mobile app dev<br />Low-end platforms<br />SMS<br />USSD<br />JavaCard & SIM Appli...
Low-end devices<br />Nokia 1100<br />
Low-end device platforms<br />Options:<br />SMS based apps<br />USSD<br />SIM Application Toolkit<br />Pros:<br />Ubiquito...
Mid-Level: Java Micro Edition (Java ME)<br />Gray-area – Smartphones also support this, but not all phones that support th...
And then the cool stuff…<br />
Smartphone: iPhone<br />iPhone 3G<br />
Smartphone: iPhone<br />Language: Objective-C ; CocoaTouch framework<br />Difficulty: Very steep learning curve but gets m...
Snippet from: Beginning iPhone Development; Dave Mark, Jeff LaMarche<br />
Snippet from: Beginning iPhone Development; Dave Mark, Jeff LaMarche<br />
Smartphone: Android<br />HTC Droid Eris<br />
Smartphone: Android<br />Language: Java<br />Difficulty: Intermediate to advanced Java & J2ME<br />Tools:<br />Hardware: P...
Smartphone: Symbian<br />Nokia N-series<br />
Smartphone: Symbian<br />Language: Mainly Native Symbian C++; Java ME, Flash & Python Runtimes<br />Difficulty: Challengin...
Smartphone: Blackberry<br />Blackberry Storm<br />
Smartphone: Blackberry<br />Language: Several options: Java, .NET,  <br />Difficulty: For Java, if you are familiar with J...
Smartphone: Windows Mobile<br />Samsung Omnia<br />
Smartphone: Windows Mobile<br />Language: Mainly .NET or C++<br />Difficulty: Not so hard, you should be very comfortable ...
Smartphone: Palm WebOS<br />Palm Pre<br />
Smartphone: Palm WebOS<br />Linux based OS<br />Very new, the Palm Pre was launched earlier this year at CES. <br />Develo...
And then the important stuff…<br />(for this particular talk)<br />
The Big Question… Why Smartphones?<br />
More comprehensive APIs, capabilities, control<br />
This means…<br />You can do waaaaymore<br />Create more engaging, richer user experiences<br />
Rise of the App Store<br />
App Stores Equals…<br />Less logistical issues<br />Direct to consumer’s device<br />Just build your app, set a price, and...
Reality: The Slap in the Face…<br />
Some Perspective<br />
Apps Made FOR AfricavsApps Made IN Africa<br />
In the end… it’s still pretty cool!<br />
General Guidance to Smartphone Dev<br />Pick a platform<br />Learn a bit about the OS in general<br />Understand the envir...
Wilfred M Mworia<br />Founder: African Pixel & Afrinnovator<br />wilfred.mworia@africanpixel.com<br />http://www.africanpi...
Upcoming SlideShare
Loading in …5
×

Smartphone App Dev Is Cool

1,967 views

Published on

Presented at the 3rd Mobile Bootcamp at Strathmore University

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

No Downloads
Views
Total views
1,967
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
59
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • http://java.sun.com/javame/index.jsp
  • iPhone developer portal: http://developer.apple.com/iphoneUseful documents: iPhone Human Interface Guidelines: http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.htmlFree ebook: Be An Xcoder: http://www.cocoalab.com/BecomeAnXcoder.pdfSuggested books: Beginning iPhone Development: http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430216263/ref=pd_sim_b_1Programming Objective C 2.0: http://www.amazon.com/Programming-Objective-C-2-0-Developers-Library/dp/0321566157/ref=pd_sim_b_1
  • Developer site: http://developer.android.comOpen handset alliance: http://www.openhandsetalliance.comBooks:Professional Android Development: http://www.amazon.com/Professional-Android-Application-Development-Programmer/dp/0470344717/ref=sr_1_1?ie=UTF8&s=books&qid=1245660673&sr=1-1
  • Developer portal: developer.symbian.comSymbian Foundation: http://www.symbian.orgBooks:Developing Software for Symbian OS: http://www.amazon.com/Developing-Software-Symbian-2nd-Applications/dp/0470725702/ref=pd_cp_b_1
  • Developer portal: http://na.blackberry.com/eng/developers/
  • Windows Mobile Developer Portal: http://www.microsoft.com/windowsmobile/en-us/developers/default.mspxWM team blog: http://blogs.msdn.com/mobiledev/BooksWindows Mobile Development Handbook: http://www.amazon.com/Microsoft%C2%AE-Mobile-Development-Handbook-Wigley/dp/0735623589/ref=sr_1_1?ie=UTF8&s=books&qid=1246899913&sr=1-1
  • Developer portal: http://developer.palm.com/
  • Smartphone App Dev Is Cool

    1. 1. Why (I think) Smartphone App Dev is Cool<br />
    2. 2. http://www.africanpixel.com/<br />
    3. 3. Mobile Applications Development<br />The Platforms<br />(Not so important for this particular talk)<br />
    4. 4. Mobile Platforms<br />Categorization of mobile app dev<br />Low-end platforms<br />SMS<br />USSD<br />JavaCard & SIM Application Toolkit<br />Mid-level phones platforms<br />Java ME<br />Smartphone platforms (The cool stuff…)<br />iPhone<br />Android<br />Symbian<br />Windows Mobile<br />Blackberry<br />Palm WebOS<br />Samsung’s Bada OS - http://www.bada.com/<br />
    5. 5.
    6. 6. Low-end devices<br />Nokia 1100<br />
    7. 7.
    8. 8. Low-end device platforms<br />Options:<br />SMS based apps<br />USSD<br />SIM Application Toolkit<br />Pros:<br />Ubiquitous (a beautiful property)<br />Not so complex<br />If you are a dev, no worries about interface design; but you must consider interaction design<br />Cons<br />Very limited<br />Possible dependency on a mobile service provider<br />
    9. 9. Mid-Level: Java Micro Edition (Java ME)<br />Gray-area – Smartphones also support this, but not all phones that support this are Smartphones<br />Version of Java aimed at devices with limited resources<br />Highly optimized runtime environment<br />Problem: differences in device capabilities, memory, processor<br />Solution:<br />Configurations: provides the most basic set of libraries and virtual machine capabilities for a broad range of devices- <br />Connected Limited Device Configuration (CLDC); <br />Connected Device Config. (CDC)<br />Profiles: For a config., a set of APIs that support a narrower range of devices e.g. Mobile Information Device Profile (MIDP)<br />Optional Packages: a set of technology-specific APIs; means of providing additional functionality<br />
    10. 10. And then the cool stuff…<br />
    11. 11. Smartphone: iPhone<br />iPhone 3G<br />
    12. 12. Smartphone: iPhone<br />Language: Objective-C ; CocoaTouch framework<br />Difficulty: Very steep learning curve but gets much easier after that<br />Tools:<br />Hardware: Mac (pretty expensive)<br />Software: Xcode (free); iPhone SDK<br />Pros:<br />Very comprehensive APIs, very well documented<br />The iPhone is a great platform esp for consumer level apps<br />Ready online market place for your apps<br />Free tools (once you have the costly hardware)<br />Cons<br />Very different programming style<br />Expensive to get a handset to test on<br />You need specific hardware<br />Marketplace controlled by Apple; 70-30 revenue sharing; Apps have to be approved by Apple first<br />Only one device manufacturer and device type<br />
    13. 13. Snippet from: Beginning iPhone Development; Dave Mark, Jeff LaMarche<br />
    14. 14. Snippet from: Beginning iPhone Development; Dave Mark, Jeff LaMarche<br />
    15. 15. Smartphone: Android<br />HTC Droid Eris<br />
    16. 16. Smartphone: Android<br />Language: Java<br />Difficulty: Intermediate to advanced Java & J2ME<br />Tools:<br />Hardware: PC or Mac<br />Software: Eclipse is the editor of choice; Android SDK<br />Pros:<br />Familiar programming model<br />Very comprehensive APIs, very well documented<br />Ready online market place for your apps<br />Open source OS<br />Open Handset Alliance creates a strong backing<br />Free tools<br />Cons<br />Handsets not readily available (at least in Africa). Google offers a developer handset (not free)<br />The platform is still young, not many Android based handsets out there; but that will change – potentially many device manufacturers Samsung, HTC etc<br />
    17. 17. Smartphone: Symbian<br />Nokia N-series<br />
    18. 18. Smartphone: Symbian<br />Language: Mainly Native Symbian C++; Java ME, Flash & Python Runtimes<br />Difficulty: Challenging for C++; Java ME more familiar; more control with C++<br />Tools:<br />Hardware: PC<br />Software: Symbian Application Development Toolkit (ADT); SDKs e.g. Nokia S60 SDK<br />Pros:<br />Familiar programming model<br />Very comprehensive APIs, very well documented<br />Ready online market place for your apps<br />Open source OS<br />Symbian Foundation backs the development of Symbian<br />Handsets are readily available<br />Many device types and manufacturers – Samsung, LG, Nokia<br />Free tools<br />Cons<br />Needs some good experience with C++<br />
    19. 19. Smartphone: Blackberry<br />Blackberry Storm<br />
    20. 20. Smartphone: Blackberry<br />Language: Several options: Java, .NET, <br />Difficulty: For Java, if you are familiar with J2ME you’ll be great. .NET is by nature not so hard<br />Tools:<br />Hardware: PC<br />Software: For Java: Plugin for Eclipse, Blackberry JDE; For .NET: Plugin for VS; MDS Studio<br />Pros:<br />Options for programming languages and tools<br />Very comprehensive APIs, very well documented<br />Good for enterprise apps<br />Handsets are readily available<br />Free tools<br />Cons<br />IMHO perhaps not the best for consumer apps<br />Writing apps for different Blackberry devices can get tricky; have to pick the right version of tools for the right OS version<br />Only one device manufacturer RIM<br />
    21. 21. Smartphone: Windows Mobile<br />Samsung Omnia<br />
    22. 22. Smartphone: Windows Mobile<br />Language: Mainly .NET or C++<br />Difficulty: Not so hard, you should be very comfortable if you are familiar with .NET<br />Tools:<br />Hardware: PC<br />Software: Visual Studio, SDKs (PocketPC, Smartphone)<br />Pros:<br />.NET is not so hard<br />Very comprehensive APIs, very well documented<br />Good for enterprise apps and consumer apps<br />Handsets are readily available<br />Visual Studio will cost you, the SDKs are free<br />Lots of device manufacturers, types of devices – HTC, Samsung, i-mate etc<br />Cons<br />It has been said that WM is on the decline due to competition from the other platforms esp. Blackberry (in the enterprise) & iPhone (consumer level) and now Android<br />
    23. 23. Smartphone: Palm WebOS<br />Palm Pre<br />
    24. 24. Smartphone: Palm WebOS<br />Linux based OS<br />Very new, the Palm Pre was launched earlier this year at CES. <br />Developer SDK (Mojo) yet to be released. Later this year<br />The Palm Pre is the only device currently running this OS<br />Palm will provide an on-device application catalog to deliver your apps directly to users. <br />HTML, CSS, JavaScript based applications<br />
    25. 25. And then the important stuff…<br />(for this particular talk)<br />
    26. 26. The Big Question… Why Smartphones?<br />
    27. 27. More comprehensive APIs, capabilities, control<br />
    28. 28. This means…<br />You can do waaaaymore<br />Create more engaging, richer user experiences<br />
    29. 29. Rise of the App Store<br />
    30. 30. App Stores Equals…<br />Less logistical issues<br />Direct to consumer’s device<br />Just build your app, set a price, and set it free = Very good for a developer!<br />(Caution Apple App Store can get tricky though)<br />
    31. 31. Reality: The Slap in the Face…<br />
    32. 32. Some Perspective<br />
    33. 33. Apps Made FOR AfricavsApps Made IN Africa<br />
    34. 34. In the end… it’s still pretty cool!<br />
    35. 35. General Guidance to Smartphone Dev<br />Pick a platform<br />Learn a bit about the OS in general<br />Understand the environment in which your app will run<br />How the OS treats scenarios like multi-tasking<br />Could help with things like performance tuning<br />Get the tools<br />Learn the APIs<br />Learn as you go – it’s easier to pick what you need and learn it when you need it instead of trying to learn all the APIs beforehand<br />Design, Design, Design is key for consumer apps<br />
    36. 36. Wilfred M Mworia<br />Founder: African Pixel & Afrinnovator<br />wilfred.mworia@africanpixel.com<br />http://www.africanpixel.com<br />http://www.afrinnovator.com<br />http://wmworia.wordpress.com<br />http://designclinic.wordpress.com<br />

    ×