SlideShare ist ein Scribd-Unternehmen logo
1 von 22
INTRODUCING CLOUD
TECHNOLOGY &
MOBILE APP DEVELOPMENT
FOR SMART DEVICE

Presented by Benny Chan,
Manager, SillyCube Technology Ltd.
About Us
• Since 2009 we provide mobile solutions and web

development service to our customers
• Supported by Hong Kong Gov between 2010 – 2013

• Hand on exp on NFC, Audio, Wifi data transfer
Overview
• Intro – Cloud
• Cloud server hosting
• Server architecture, LAMP
• Intro – Mobile app development
• Native vs HTML5
• Intro – Web development
• PHP, JSP (Java), HTML, Ajax, jQuery
• Data exchange using JSON / XML
• Case Study – iFarm, Smart Hydroponics device
• How we can get started
• Resource needed
• Points to Note
• Q&A
INTRO – CLOUD
Using cloud server & the benefits
Cloud server hosting (IAAS)
• Renting virtual server space rather than renting or

purchasing physical servers.
• Paid for by the computing hours depending on the

capacity required at any particular time
• Popular service providers in US: Amazon, Rackspace,

SoftLayer (under IBM)
Advantages
• No need to maintain server such as harddisk failure,

hardware upgrade
• Easily Scalable, capacity can be easily upgraded
• Flexible cost & Low initial setup time
Server Architecture
• Support LAMP => Linux, Apache, MySQL, PHP
• Common toolset for Web App Development
• Clustering web server & database to prevent single point

of failure
A Sample Clustering Architecture
INTRO – MOBILE APP
DEVELOPMENT
iOS app vs Android app development
Native vs HTML5
• Native SDK for iOS and Android
 Fast performance
 Easily Access hardware features like GPS, NFC, Camera, etc.
X Platform dependent => high development cost
Native vs HTML5
• HTML5 (Also known as Hybrid)
• Mix native code with HTML5 code
 Platform independent => “Develop once, Deploy many”
 Flat learning curve
X Relative Slower

More suitable for information app
INTRO – WEB
DEVELOPMENT
How we develop a web app?
Development Framework
•

Framework:
•

•
•

Server side language: PHP, JSP (Java)
Client side: HTML, Ajax, jQuery, javascript, etc
Hosted in Apache HTTP server

• Responsive Web Design
• Support desktop, mobile browsers at once
• Adapt to different browsers automatically
• We can try now
How we make Data Exchange?
• Via HTTP request & response, e.g.

http://202.82.25.16/abc/login.jsp?usrID=maggie&usrPwd=t
est
• Submit requests to server to get response
• Server return JSON / XML response, common data

exchange method
Sample JSON file
{"imu_ftyprctrm":"FOB
HK","imu_inrqty":"12","imu_mtrqty":"144","imu_basprc":"6.2243","imu_ftycst":"28.33
00","imu_hkprctrm":"FOB
HK","imu_bcurcde":"USD","imu_ftycstPack":".0000","imu_expdat":"2014-08-31
23:59:00.990","imu_pckunt":"PC","imu_ftycstC":".0000","imu_effdat":"2010-03-18
00:00:00.000","imu_ftycstD":".0000","imu_curcde":"HKD","imu_cus2no":"","imu_tran
trm":"FCL","imu_ttlcst":"40.8800","imu_prdven":"A","imu_conftr":"1","imu_cus1no":"",
"imu_ftycstTran":".0000","imu_ftycstA":".0000","imu_ftycstB":".0000"},
{"imu_ftyprctrm":"FOB
HK","imu_inrqty":"12","imu_mtrqty":"144","imu_basprc":"1.6566","imu_ftycst":"8.330
0","imu_hkprctrm":"FOB
HK","imu_bcurcde":"USD","imu_ftycstPack":".0000","imu_expdat":"2014-08-31
23:59:00.990","imu_pckunt":"PC","imu_ftycstC":".0000","imu_effdat":"2010-03-18
00:00:00.000","imu_ftycstD":".0000","imu_curcde":"HKD","imu_cus2no":"","imu_tran
trm":"LCL","imu_ttlcst":"10.8800","imu_prdven":"A","imu_cus1no":"","imu_conftr":"1",
"imu_ftycstTran":".0000","imu_ftycstA":".0000","imu_ftycstB":".0000"}

• mobile apps / website can parse data from
this response
JSON – tree structure text file (indented)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

{
"imu_ftyprctrm" : "FOB HK",
"imu_inrqty" : "12",
"imu_mtrqty" : "144",
"imu_basprc" : "6.2243",
"imu_ftycst" : "28.3300",
"imu_hkprctrm" : "FOB HK",
"imu_bcurcde" : "USD",
"imu_ftycstPack" : ".0000",
"imu_expdat" : "2014-08-31 23:59:00.990",
"imu_pckunt" : "PC",
"imu_ftycstC" : ".0000",
"imu_effdat" : "2010-03-18 00:00:00.000",
"imu_ftycstD" : ".0000",
"imu_curcde" : "HKD",
"imu_cus2no" : "",
"imu_trantrm" : "FCL",
"imu_ttlcst" : "40.8800",
"imu_prdven" : "A",
"imu_conftr" : "1",
"imu_cus1no" : "",
"imu_ftycstTran" : ".0000",
"imu_ftycstA" : ".0000",
"imu_ftycstB" : ".0000"
}, {
"imu_ftyprctrm" : "FOB HK",
"imu_inrqty" : "12",
"imu_mtrqty" : "144",
"imu_basprc" : "1.6566",
"imu_ftycst" : "8.3300",
"imu_hkprctrm" : "FOB HK",
"imu_bcurcde" : "USD",
"imu_ftycstPack" : ".0000",
"imu_expdat" : "2014-08-31 23:59:00.990",
"imu_pckunt" : "PC",
"imu_ftycstC" : ".0000",
"imu_effdat" : "2010-03-18 00:00:00.000",
"imu_ftycstD" : ".0000",
"imu_curcde" : "HKD",
"imu_cus2no" : "",
"imu_trantrm" : "LCL",
"imu_ttlcst" : "10.8800",
"imu_prdven" : "A",
"imu_cus1no" : "",
"imu_conftr" : "1",
"imu_ftycstTran" : ".0000",
"imu_ftycstA" : ".0000",
"imu_ftycstB" : ".0000"
}
Case Study - iFarm
• Smart device for hydroponics
• Hardware developed by our customer, we develop mobile

app
• Mobile apps can read farming data in real-time like

temperature, humidity, pH, etc
You can imagine…
How we get started?
1.

Customer provides us with a hardware prototype

2.

The prototype is embedded in Linux, running http
server

3.

A web app is hosted in the http server. The web app
can be accessed with browser in a local network, say
http://ifarm.local

4.

After login we can check the data read from sensor

5.

The data can be fetched by JSON when we can submit
a request to this server.
Resource needed for mobile apps
development
• Reference mobile app & the hardware
• API instructions & documentation
• Local Web App for testing
• Of course your functional requirement
Points to Note
• The setup procedure need to be well defined, e.g. how to

switch to the user Wifi network, how to do pairing between
smart devices and mobile app
• OTA firmware update is needed.
• How to resolve virtual IP from the domain
• The response time may be slow
Q&A

Weitere ähnliche Inhalte

Ähnlich wie Introducing cloud technology & mobile apps development

Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)
drupalconf
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
Mohammad Qureshi
 
An Introduction to webOS
An Introduction to webOSAn Introduction to webOS
An Introduction to webOS
Kevin Decker
 

Ähnlich wie Introducing cloud technology & mobile apps development (20)

iEmbed product_service_portfolio_2016
iEmbed product_service_portfolio_2016iEmbed product_service_portfolio_2016
iEmbed product_service_portfolio_2016
 
Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)
 
AJAX for Mobile Devices - 04/2009
AJAX for Mobile Devices - 04/2009AJAX for Mobile Devices - 04/2009
AJAX for Mobile Devices - 04/2009
 
cross-platform-assets-based-front-end-architecture
cross-platform-assets-based-front-end-architecturecross-platform-assets-based-front-end-architecture
cross-platform-assets-based-front-end-architecture
 
MoMo Kubernetes stack: Empowering engineers with simple & consistent developm...
MoMo Kubernetes stack: Empowering engineers with simple & consistent developm...MoMo Kubernetes stack: Empowering engineers with simple & consistent developm...
MoMo Kubernetes stack: Empowering engineers with simple & consistent developm...
 
Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...
Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...
Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...
 
Intro to node and mongodb 1
Intro to node and mongodb   1Intro to node and mongodb   1
Intro to node and mongodb 1
 
Mobile Web
Mobile WebMobile Web
Mobile Web
 
Otimizando servidores web
Otimizando servidores webOtimizando servidores web
Otimizando servidores web
 
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
Fully Automate Application Delivery with Puppet and F5 - PuppetConf 2014
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile Apps
 
The Real World - Plugging the Enterprise Into It (nodejs)
The Real World - Plugging  the Enterprise Into It (nodejs)The Real World - Plugging  the Enterprise Into It (nodejs)
The Real World - Plugging the Enterprise Into It (nodejs)
 
Top 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersTop 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud Developers
 
IoT interoperability
IoT interoperabilityIoT interoperability
IoT interoperability
 
Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API Gateway
 
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler SingletaryBuilding A Mobile First API When You're Not Mobile First - Tyler Singletary
Building A Mobile First API When You're Not Mobile First - Tyler Singletary
 
An Introduction to webOS
An Introduction to webOSAn Introduction to webOS
An Introduction to webOS
 
Architecting &Building Scalable Secure Web API
Architecting &Building Scalable Secure Web APIArchitecting &Building Scalable Secure Web API
Architecting &Building Scalable Secure Web API
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Introducing cloud technology & mobile apps development