Part 1

It’s raining out there...
It's raining…
It’s raining
very nicely-paying jobs!
2014 projected
It’s raining
market opportunities
• Cisco and Sun elbow into mobile world with cloud initiatives
• ShoreTel to Buy M5 Networks, Grow Cloud UC Capabilities
• Salesforce Launches Cloud-Based
Facebook Phone could break through site’s social mobile limbo
SAP's Bold Bet: Rule Cloud, Mobile, Big Data
Amazon S3 Says it Tripled in Objects Stored Last Year
Customer centric BSS/OSS meets Cloud Innovations in Comarch’s booth at Mobile World Congress
IPsmarx Announces Launch of RAPID Multi-Tenant Cloud Based IP-PBX System
It's raining
wealth in parched economies of the world
• Checki ( Renting cars
• 36Boutiques ( Fashion shopping
• GetMeCab ( Getting taxi
-- All of these contribute to Africa's economy!
• For more information:
It’s raining
revenue in diverse forms
Mean revenue
per app per month
Why are cloud and mobile
so important right now?
It all comes down to money.
• Rapid drop in computer hardware prices,
rapid rise in computer hardware capabilities
– Low-cost availability of server space
– Low-cost availability of handheld devices
• Continual rise in cost of operating servers
– Security, privacy, maintenance/upgrades
– Let somebody “on the cloud” deal with it
Crashing hard drive costs
Collapsing transistor costs
Plummeting device prices
What are we really talking about?
What is the “cloud”?
• Servers on the web
that you can lease for
deploying software,
– Secure
– On-demand
– Maintained
What is “mobile”?
• Any device that can be carried around
– Usually small screen size
– Often a touchscreen
– Usually a terrible keyboard, if any
– Sometimes disconnected from net
– Integrated with specialized hardware
• Camera, GPS, gyroscope, accelerometer, …
– (Maybe limited computing resources… for now)
So who cares?
Practical implications for you
as a software engineer…
So who cares?
• Impact on overall architecture
– Usually web-centric architecture (learn HTML)
– Sometimes a non-SQL (non-ACID) data store
– Usually built on really cheap, unreliable hardware
– Ideally has platform-independent client code
– Often a bit of a mess
So who cares?
• Design for performance, reliability, and other
key quality attributes using…
– Stateless server components
– Replication
– Asynchronous operations
– Deferred transactions
– Eventual consistency
So who cares?
• Focus on usability
– Small(er) screens
– Minimal text input
– Usually no mouse
– Often a touchscreen
– Portability crucial
– Maximize battery life
– Ease of installation
So who cares?
• Continuous need to learn new APIs
– Storing data
– Manipulating data
– Caching data
– Accessing mobile hardware
• Camera, GPS, gyroscope, accelerometer, …
– Accessing mobile services
• Notifications, offline mode, video, …
• Not to mention all the new platforms!!!!
What will you do with your new skills?
• You have nearly infinite computing power…
– Thanks to the cloud
• … in the palm of your hand.
– Thanks to mobile.
• What will you do with your new skills to wield
this power?
What will you do with your new skills?
• Your own Checki
– For renting not just cars, but lots of other
• Ideas:
– An app where OSU students can post listings of the
stuff that they own, search through other
students' stuff, and set up rental agreements.
What will you do with your new skills?
• Your own 36Boutiques
– For not just fashion shopping but also for sharing
fashion photos
• Ideas:
– An app linked to local Corvallis fashion stores,
where students can post coupons and photos of
themselves wearing the stuff they bought.
What will you do with your new skills?
• Your own GetMeCab
– For not just getting a taxi but also for sharing rides
• Ideas:
– A website where students can post a shared trip,
get a cab or other shared transit (bus maps,
anyone?), and chronicle the progress of their
journey (handy on a trip through Portland!)
And a billion other possibilities
New kinds of video games
New ways to track energy usage
New methods of processing scientific data
New features for planning travel
New ways to meet people
New tools for learning useful skills
• New ways to do anything that matters
Begin with the objective in mind.
• What do you want to do when you graduate?
• That should be the factor driving your
participation in this course.
• And the reason to learn what we will cover.
Images used in slides
(in addition to links shown on slides)

similar documents