Network Content & Applications in Mobile Devices http://mobilepit.com/ Mohammad Hafiz bin Ismail ([email protected])
Mar 31, 2015
Network Content &
Applications in Mobile Devices
http://mobilepit.com/
Mohammad Hafiz bin Ismail ([email protected])
Do you have Bluetooth Capable Phone ?
Please turn Bluetooth on now for demonstration section
Mobile Devices
Handheld electronic device with limited processing power and connectivity commonly use by end-user consumers
Examples of Mobile Devices
Mobile Phones / Smart PhonesPDA (Pocket PC / Palm)Internet Tablet (Blackberry / Nokia 880)Navigation Device
What is not Mobile Device
LaptopPersonal ComputerGame Console
Why Mobile Device ? Mobile devices has become increasingly popular during the last 10 years.
Estimate mobile subscribers around the world 2.7 billions.
Currently Malaysia alone have has about 11 millions of mobile phone users
a figure which expected to increase over the years.
(Agar, 2004)
Devices Popularity
(Mobref,2007)
Why Mobile Device
Advancement of cellular technology has allowed
Greater data transfer Faster processing power Greater interactivity Wider connectivity
Early “Mobile Application”
Limited processing powerRelies heavily on a server-side languageDepends on external browserCharacteristic by the use of WML, XHTML, cHTML technologyDoes not actually 'run' on the mobile device.
Early “Mobile Application”
Relies on the server-side to provide both processing power and User Interface
Little or no client-side processingNo client side record/database storage –
everything on the serverSolely depends on internet connection
Emerging Trends of Mobile Application
Runs natively on the mobile device itselfDoes not rely on external browserDepends more on Web Service API (SOAP/XML-RPC/REST) rather than the website itself.Concentrates more on usability and content delivery
Why do we need Native Network Mobile Application
Easy to deploy in commercial senseTightly integrated into user interfaceDoes not rely on external browserThe application can store data on mobile phoneFaster retrieval and response timeThe application can access mobile phone functionalities (camera/sms/caller-id/files)
Examples
“Jeffrey wants to create an application which enables him to share photos taken from his phone camera to some of his friends”
Can it be done with WML/XHTML based mobile application?
Types of Mobile ApplicationEmail ApplicationsVideo StreamingMultiplayer gameNews readerInstant Messenger ApplicationWeather Forecast applicationCurrency converterLocation Base application Home/Security Monitoring Application
Ways Mobile Internet Application Communicate
Low Level
TCP/IP Socket Connection
UDP Datagram
Bluetooth RFComm
‘Virtual’ Serial COM port (on PDA)
Ways Mobile Internet Application Communicate
High Level (The BEST Way!)
Achieve through the use of Web Services XML-RPC SOAP ATOM api Representational-State Transfer (REST)
Why Web Services is the best way?
Uses distributed computing conceptWidely accepted as a ways to publish APIPortable, Web Services only relies on
HTTP/HTTPS availabilityBecomes an Emerging standards of
publishing services (W3C, RFC 4287)
Organization that uses Web Service
Google.com (ATOM -GData, SOAP)Yahoo.com (SOAP)Amazon.com (SOAP)Wordpress.com (XML-RPC)Haze.net.my (REST)Foxrate.org (XML-RPC)
Organization that uses Web Service
Amazon.com
Publish Web API to enable developers to create application that can list latest Amazon product, price comparison and heavily discounted and popular items
Organization that uses Web Service
Flickr.comUses web service API to enable its users to
post/update photos using any application.
Mobile application that uses Flickr API : MobUp (http://mobup.blogspot.com)j2meMap (http://j2memap.sf.net)Mickr (http://www.mickr.de/)
Flickr.com Client Screenshots
MobUp Mickr
How Web Services Architecture Works ?
XML-RPC API Server (http://foxrate.org)
DB DB DB
currencyConvert(USD,MYR,100) Result() = 353.71
Procedure stored on the server
User Interface is inside the phone
Less of 1KB data Less than 1KB data
But the same application can be written in WML!
Why bother? Any opinion ?
Web Service is better because
It separates the developers work and the service providers work
Developers only concentrates on their best expertise, developing mobile clients.
Developers does not need to maintain the information itself
Web Service is better because
In mobile application, size DOES matter!
Data transfer need to be optimized for faster response time (latency) and cost)
Locally run Mobile Internet Application that uses Web Service do just that!
Bandwidth & Data transfer efficiency
Typical WML Application
Request website foxrate.org
Website (interface) displayed index.wml – 4KB
foxrate.org
User request currency exchange (process.php) – less than 1KB
foxrate.org
Bandwidth & Data transfer efficiency
XML-RPC API Server (http://foxrate.org)
DB DB DB
currencyConvert(USD,MYR,100) Result() = RM 353.71
Procedure stored on the server
User Interface is inside the phone
Less of 1KB data Less than 1KB data
Total Data transfer = 1KB + 1KB
= 2KB
Bandwidth & Data transfer efficiency
Typical WML Application
Result displayed result.wml (3KB)
foxrate.org
Total Data transfer = 4KB + 3KB + 1KB = 8KB
Web Services is 4 times smaller than a typical WML application !
Why?
The main reason is the user interface of WML application is stored on the server not client
By using web service we are free to create our own user interface independent of the service provider.
WML Drawbacks from Commercial Aspect
WML application are hard to sellHard to distributeRequire constant maintenance (server)Hard to customize on the mobile phone
part (different vendor wants to put their own logo, endorsement)
WML application can’t use phone features (camera,bluetooth, GPS, InfraRed)
Further Reading on Web Services
XML-RPC http://xmlrpc.comhttp://www.xml-rpc.net/
SOAPhttp://www.w3.org/TR/soap/http://www.soaprpc.com/ws_implementatio
ns.html
What Next ?
Location Base Application (GPS)Car NavigationFishing Spot FinderSpeed Warning (GPS Auto)GPSolat
More mobile phones are equipped with GPS receiver, it’s the latest trend!
Location Base Application
GPSolat – Prayer time base on GPS
Prayer time is different according to location, season and direction.
GPSolat uses location data to determine the Kiblah direction and users’ current location
Base on that it can calculates prayers time.No need to worry about prayers time when
travelling anymore!!
Internet Mobile Application SDK
You can create Internet Mobile Application using any of these platforms
JavaME (http://sun.java.com/javame)
Symbian (http://forums.nokia.com) (Nokia)
.NET Compact Framework (http://msdn.microsoft.com/mobility/netcf/) (PDA)
JavaME
The best SDK for learningSupported by almost all modern phonesHas great documentationUses JavaHas a lot of librariesImplementations guaranteed to support
HTTP/HTTPS protocol for communication.Portable
.NET Compact Framework
Great for people who are familiar with .NET
Supported by Windows Mobile PDA devices only
More powerful than JavaMETighter integration with device
(Microsoft+Microsoft)
Symbian
Uses C++Harder to code compared with othersVery close to hardware implementationLimited device, only supported on some
Nokia and Sony Ericsson Smartphone
Screenshots
Why Develop Mobile Application?
The Desktop application market has been saturated and controlled by bigger companies. (i.e nobody uses other application than MS-Word, Powerpoint)
Mobile devices is the new playground. Opportunities to develop localized content Huge marketplace, can compete with each other
fairly. Niche Market, you can sell through telcos
Places to publish Mobile Application
Handago.comGetJar.comPayloadz.comPocketGear.comMypdaCafe.com
And many others!
Network Content Applications in Mobile Devices
Q&A