Date post: | 31-Mar-2015 |
Category: |
Documents |
Upload: | gianni-weare |
View: | 218 times |
Download: | 1 times |
Mobile Technology and Software Engineering
Travis James, CTO, CloudMetal Software
State of the TechnologyWhere we came from…
Wireless Access Protocol (WAP) was standard application environment
Limited browsing capability
Low bandwidth
Fragmented hardware
Smart phones not so smart
Where we are… iOS, Android, BlackBerry operating
environments
Highly capable browser driven by WebKit
HTML5 becoming application standard cross platform
Standard hardware, fragmented operating systems (especially Android)
Explosion in Application Development Started with release of iPhone 3 in May 2008
500,000 apps in AppStore
200,000 apps in Android Market
Driven by social networking, content delivery/streaming, and games
Location awareness of devices makes software offerings unique
Global mobile data almost tripled (2.6x) in 2010
Mobile ComponentsHardware
ARM Chip Technology (32-bit RISC)
Assisted GPS
Solid State Drives, Micro SD Cards
512 MB RAM on iPhone 4/4S, Android 2.2
Flashable boot ROM architecture
Software UNIX style operating systems (BSD,
Linux)
Sandbox application models
WebKit browser with HTML5, CSS3
Microsoft devices have Silverlight-based OS, .NET runtime
The Business of Mobile Commerce via AppStore, Google Checkout, “Wallet” software, PayPal
integration with Near Field Communication coming
App sales models include B2C, Freemium, Ad-Funded, InApp purchase, Subscription
Mobile applications enable brands to maintain presence, relevance, connections with customers
Mobile payment transactions will grow from $250B today to $1 Trillion by 2015
Application Development and Testing The business of mobile applications forcing much shorter development cycles
Great dependence on highly available, scalable web services
Running apps in emulators is nothing like running on devices
Accounting for speed of networks and bandwidth availability results in different application architecture
Hybrid development allows for efficient consumption of content
Security considerations are different (WiFi exposure, jailbreaking, etc.)
Testing Considerations Must test for varying bandwidth conditions
Must test on actual devices—especially Android
Must test on multiple operating system versions
Android provides automated testing methods allowing unit tests
Cloud-based testing can allow for testing bandwidth at the same time
Must test the security threat model
Must test service interfaces thoroughly
The Future Cloud-based automated testing will become essential as emulator
technology advances
Device advancements should serve to actually consolidate the mobile marketplace as opposed to further fragmentation
Advancements in operating systems on mobile devices will eventually make devices servers as well as clients
Mobile payments, content streaming, and HTML5 advances (Google’s A8 JavaScript technology, etc.) will make HTML5 the application standard