introducing cloud technology & mobile apps development

22
INTRODUCING CLOUD TECHNOLOGY & MOBILE APP DEVELOPMENT FOR SMART DEVICE Presented by Benny Chan, Manager, SillyCube Technology Ltd.

Upload: sillycube

Post on 14-Jan-2015

147 views

Category:

Technology


0 download

DESCRIPTION

Training on Mobile Apps Development for Smart Devices

TRANSCRIPT

Page 1: Introducing cloud technology & mobile apps development

INTRODUCING CLOUD TECHNOLOGY &MOBILE APP DEVELOPMENT FOR SMART DEVICE

Presented by Benny Chan,

Manager, SillyCube Technology Ltd.

Page 2: Introducing cloud technology & mobile apps development

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

Page 3: Introducing cloud technology & mobile apps development

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

Page 4: Introducing cloud technology & mobile apps development

INTRO – CLOUD Using cloud server & the benefits

Page 5: Introducing cloud technology & mobile apps development

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)

Page 6: Introducing cloud technology & mobile apps development

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

Page 7: Introducing cloud technology & mobile apps development

Server Architecture• Support LAMP => Linux, Apache, MySQL, PHP

• Common toolset for Web App Development

• Clustering web server & database to prevent single point of failure

Page 8: Introducing cloud technology & mobile apps development

A Sample Clustering Architecture

Page 9: Introducing cloud technology & mobile apps development

INTRO – MOBILE APP DEVELOPMENTiOS app vs Android app development

Page 10: Introducing cloud technology & mobile apps 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

Page 11: Introducing cloud technology & mobile apps development

Native vs HTML5• HTML5 (Also known as Hybrid)

• Mix native code with HTML5 codePlatform independent => “Develop once, Deploy many”Flat learning curveX Relative Slower

More suitable for information app

Page 12: Introducing cloud technology & mobile apps development

INTRO – WEB DEVELOPMENTHow we develop a web app?

Page 13: Introducing cloud technology & mobile apps development

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

Page 14: Introducing cloud technology & mobile apps development

How we make Data Exchange?• Via HTTP request & response, e.g.

http://202.82.25.16/abc/login.jsp?usrID=maggie&usrPwd=test

• Submit requests to server to get response

• Server return JSON / XML response, common data exchange method

Page 15: Introducing cloud technology & mobile apps development

Sample JSON file{"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"}

• mobile apps / website can parse data from this response

Page 16: Introducing cloud technology & mobile apps development

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"• }

Page 17: Introducing cloud technology & mobile apps development

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

Page 18: Introducing cloud technology & mobile apps development

You can imagine…

Page 19: Introducing cloud technology & mobile apps development

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.

Page 20: Introducing cloud technology & mobile apps development

Resource needed for mobile apps development

• Reference mobile app & the hardware

• API instructions & documentation

• Local Web App for testing

• Of course your functional requirement

Page 21: Introducing cloud technology & mobile apps development

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

Page 22: Introducing cloud technology & mobile apps development

Q & A