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

More Related Content

What's hot

Mobile Cross Platform
Mobile Cross PlatformMobile Cross Platform
Mobile Cross PlatformSujit Ghosh
 
Designing Software With the User in Mind - Symbio
Designing Software With the User in Mind - SymbioDesigning Software With the User in Mind - Symbio
Designing Software With the User in Mind - Symbio
Emily Chong
 
Go mobile with Windows Phone
Go mobile with Windows PhoneGo mobile with Windows Phone
Go mobile with Windows PhoneDima Maleev
 
The Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingThe Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile Computing
Software Park Thailand
 
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationOpen Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Tom Deryckere
 
Bugzilla
BugzillaBugzilla
Bugzilla
Lokesh Agrawal
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application development
Chandan Maurya
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
sathesh leo
 
Karthi resume
Karthi resumeKarthi resume
Karthi resume
Karthi Keyan
 
TeachMeet: Authentic Learning & The Corona SDK
TeachMeet: Authentic Learning & The Corona SDKTeachMeet: Authentic Learning & The Corona SDK
TeachMeet: Authentic Learning & The Corona SDK
Paul Herring
 
Difference Between Android And I Phone Development
Difference Between Android And I Phone DevelopmentDifference Between Android And I Phone Development
Difference Between Android And I Phone DevelopmentThanh-Cong Vo
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platform
MICTT Palma
 
Flash platform fitc
Flash platform fitcFlash platform fitc
Flash platform fitcMark Doherty
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
Tharindu Dassanayake
 
01 01 - introduction to mobile application development
01  01 - introduction to mobile application development01  01 - introduction to mobile application development
01 01 - introduction to mobile application development
Siva Kumar reddy Vasipally
 
Mobile Testing Trends and Innovations
Mobile Testing Trends and InnovationsMobile Testing Trends and Innovations
Mobile Testing Trends and Innovations
TechWell
 
Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?
Sura Gonzalez
 

What's hot (20)

Mobile Cross Platform
Mobile Cross PlatformMobile Cross Platform
Mobile Cross Platform
 
Designing Software With the User in Mind - Symbio
Designing Software With the User in Mind - SymbioDesigning Software With the User in Mind - Symbio
Designing Software With the User in Mind - Symbio
 
Go mobile with Windows Phone
Go mobile with Windows PhoneGo mobile with Windows Phone
Go mobile with Windows Phone
 
The Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingThe Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile Computing
 
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationOpen Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
 
Bugzilla
BugzillaBugzilla
Bugzilla
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application development
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
 
Karthi resume
Karthi resumeKarthi resume
Karthi resume
 
TeachMeet: Authentic Learning & The Corona SDK
TeachMeet: Authentic Learning & The Corona SDKTeachMeet: Authentic Learning & The Corona SDK
TeachMeet: Authentic Learning & The Corona SDK
 
Difference Between Android And I Phone Development
Difference Between Android And I Phone DevelopmentDifference Between Android And I Phone Development
Difference Between Android And I Phone Development
 
Patrick broman mo sync
Patrick broman mo syncPatrick broman mo sync
Patrick broman mo sync
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platform
 
Flash platform fitc
Flash platform fitcFlash platform fitc
Flash platform fitc
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
01 01 - introduction to mobile application development
01  01 - introduction to mobile application development01  01 - introduction to mobile application development
01 01 - introduction to mobile application development
 
Mobile Testing Trends and Innovations
Mobile Testing Trends and InnovationsMobile Testing Trends and Innovations
Mobile Testing Trends and Innovations
 
35602787 mobile-application-testing
35602787 mobile-application-testing35602787 mobile-application-testing
35602787 mobile-application-testing
 
Technology Offer Intro
Technology Offer IntroTechnology Offer Intro
Technology Offer Intro
 
Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?
 

Similar to Smartphone App Dev Is Cool

Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th edition
Marco Tabor
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting startedAhsanul Karim
 
Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9
Marco Tabor
 
Introduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting StartedIntroduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting Started
Ahsanul Karim
 
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Kai Koenig
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platforms
smancke
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platforms
guestfa9375
 
Cross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case studyCross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case study
Elegant Technologies, LLC
 
Mobile and tablet app dev
Mobile and tablet app devMobile and tablet app dev
Mobile and tablet app dev
Jeremy Callinan
 
Mobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMarco Tabor
 
Mobile Developers Guide To The Galaxy
Mobile Developers Guide To The GalaxyMobile Developers Guide To The Galaxy
Mobile Developers Guide To The Galaxy
Avenga Germany GmbH
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonesDennise Layague
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
Marco Tabor
 
Mobile Developer's Guide To The Galaxy Edition 2
Mobile Developer's Guide To The Galaxy Edition 2Mobile Developer's Guide To The Galaxy Edition 2
Mobile Developer's Guide To The Galaxy Edition 2
Avenga Germany GmbH
 
Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6
Marco Tabor
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
Palani Kumar
 
Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy No.10Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy No.10
Marco Tabor
 
Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008
smancke
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting Started
Ahsanul Karim
 

Similar to Smartphone App Dev Is Cool (20)

Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th edition
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting started
 
Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9
 
Introduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting StartedIntroduction to Android Development: Before Getting Started
Introduction to Android Development: Before Getting Started
 
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platforms
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platforms
 
Cross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case studyCross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case study
 
Mobile and tablet app dev
Mobile and tablet app devMobile and tablet app dev
Mobile and tablet app dev
 
Mobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th edition
 
Mobile Developers Guide To The Galaxy
Mobile Developers Guide To The GalaxyMobile Developers Guide To The Galaxy
Mobile Developers Guide To The Galaxy
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
 
Mobile Developer's Guide To The Galaxy Edition 2
Mobile Developer's Guide To The Galaxy Edition 2Mobile Developer's Guide To The Galaxy Edition 2
Mobile Developer's Guide To The Galaxy Edition 2
 
Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6Mobile Developers Guide To The Galaxy Vol.6
Mobile Developers Guide To The Galaxy Vol.6
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
 
Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy No.10Mobile Developer's Guide To The Galaxy No.10
Mobile Developer's Guide To The Galaxy No.10
 
Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008Jalimo Slides Linuxtag2008
Jalimo Slides Linuxtag2008
 
Day 1 Android: Before Getting Started
Day 1 Android: Before Getting StartedDay 1 Android: Before Getting Started
Day 1 Android: Before Getting Started
 

More from Wilfred Mutua Mworia

Aliens Vs Robots
Aliens Vs RobotsAliens Vs Robots
Aliens Vs Robots
Wilfred Mutua Mworia
 
(Technology) Innovation and Entrepreneurship
(Technology) Innovation and Entrepreneurship(Technology) Innovation and Entrepreneurship
(Technology) Innovation and Entrepreneurship
Wilfred Mutua Mworia
 
Innovation and Entrepreneurship in Technology
Innovation and Entrepreneurship in TechnologyInnovation and Entrepreneurship in Technology
Innovation and Entrepreneurship in Technology
Wilfred Mutua Mworia
 
The Making of a Revolution
The Making of a RevolutionThe Making of a Revolution
The Making of a Revolution
Wilfred Mutua Mworia
 
Mobile Technology and Entrepreneurship (in Kenya)
Mobile Technology and Entrepreneurship (in Kenya)Mobile Technology and Entrepreneurship (in Kenya)
Mobile Technology and Entrepreneurship (in Kenya)
Wilfred Mutua Mworia
 
Mobile Bootcamp Presentation: Mobile Application Development Platforms
Mobile Bootcamp Presentation: Mobile Application Development PlatformsMobile Bootcamp Presentation: Mobile Application Development Platforms
Mobile Bootcamp Presentation: Mobile Application Development Platforms
Wilfred Mutua Mworia
 
The Convergence of Mobile, Social and Location Based Applications
The Convergence of Mobile, Social and Location Based ApplicationsThe Convergence of Mobile, Social and Location Based Applications
The Convergence of Mobile, Social and Location Based Applications
Wilfred Mutua Mworia
 

More from Wilfred Mutua Mworia (9)

ICT in Agricultural Trade
ICT in Agricultural TradeICT in Agricultural Trade
ICT in Agricultural Trade
 
EABC-EATIH
EABC-EATIHEABC-EATIH
EABC-EATIH
 
Aliens Vs Robots
Aliens Vs RobotsAliens Vs Robots
Aliens Vs Robots
 
(Technology) Innovation and Entrepreneurship
(Technology) Innovation and Entrepreneurship(Technology) Innovation and Entrepreneurship
(Technology) Innovation and Entrepreneurship
 
Innovation and Entrepreneurship in Technology
Innovation and Entrepreneurship in TechnologyInnovation and Entrepreneurship in Technology
Innovation and Entrepreneurship in Technology
 
The Making of a Revolution
The Making of a RevolutionThe Making of a Revolution
The Making of a Revolution
 
Mobile Technology and Entrepreneurship (in Kenya)
Mobile Technology and Entrepreneurship (in Kenya)Mobile Technology and Entrepreneurship (in Kenya)
Mobile Technology and Entrepreneurship (in Kenya)
 
Mobile Bootcamp Presentation: Mobile Application Development Platforms
Mobile Bootcamp Presentation: Mobile Application Development PlatformsMobile Bootcamp Presentation: Mobile Application Development Platforms
Mobile Bootcamp Presentation: Mobile Application Development Platforms
 
The Convergence of Mobile, Social and Location Based Applications
The Convergence of Mobile, Social and Location Based ApplicationsThe Convergence of Mobile, Social and Location Based Applications
The Convergence of Mobile, Social and Location Based Applications
 

Recently uploaded

UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 

Recently uploaded (20)

UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 

Smartphone App Dev Is Cool

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

Editor's Notes

  1. http://java.sun.com/javame/index.jsp
  2. 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
  3. 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
  4. 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
  5. Developer portal: http://na.blackberry.com/eng/developers/
  6. 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
  7. Developer portal: http://developer.palm.com/