personal clouds & mobiles - ambientic - fossa2011
DESCRIPTION
By Pierre Guillaume Raverdy (Inria)TRANSCRIPT
Pierre-‐Guillaume Raverdy AMBIENTIC
October 28th, FOSSA 2011
Outline Merging Trends
Cloud, mobile, social New expectations Delivering Personal Clouds
Interoperability in Personal Clouds Fragmentation on the mobile side Heterogeneity of cloud services Diversity of Social networks and interactions
Building Mobile Apps Mobile apps architecture Multi-‐platform development Dynamic environments
Conclusion
Merging Trends
Cloud, mobile, social New expectations Delivering Personal Clouds
Cloud, Mobile and Social for Everybody
Facebook MySpace LinkedIn Second Life Del.icio.us
Flickr Digg
Appleseed YouTube
Elgg
Twitter Anahita Google+ OpenSocial 2.0
Diaspora
Waves Buzz FB Platform OpenSocial
WebOS / Pre Ovi Store
BB AppWorld AppStore Andr. G1
Andr. Market
iPhone
MeeGo
OCCI OW2 Cloudware
OpenStack
OpenNebula Nimbus
MobileMe GAE
iCloud AWS EC2 Rackspace Xen
New expecta>ons Person-‐centric cloud with content, services, devices
Access all your content and services anywhere Mobile as the primary bridge between virtual/real worlds Dashboard, content and services anywhere on the net
Content ownership to user Distributed architecture, personal servers Easy and personalized sharing
Multiple connections to public, private, hybrid clouds easy migration of content, replacement of services
Automation based on relationships, behavior, context Personal Butler – MobiSocial@Stanford
Delivering Personal Clouds It’s the way in which personal content and services, as well as relationships are managed, controlled, and shared
Many issues Trust and privacy, interoperability, semantics, reasoning,, …
Focus of this talk Interoperability Mobile developer view point
Interoperability in Personal Clouds
Fragmentation in the mobile ecosystem Heterogeneity of Cloud API and services Diversity of usages in social networks
Mobile Ecosystem Fragmenta>on Mobile plaftorms have a long history of fragmentation Many facets to fragmentation
Developer skills (Objective C, Java, …) OS Features (iOS, Android, Blackberry OS, …) Manufacturer customization and device lifecycle (J2ME before, Android now)
Form factor (different usages for smartphones and tablets)
Code base (multiple apps for a company)
Heterogeneity of Cloud services and plaEorms. Many clouds, many usages, many APIs
IaaS/PaaS/SaaS, pubilc/private/hybrid Platforms (AWS, Force.com), Media (YouTube, Flickr), Messaging (Urban Airship), Enterprise (SAP), Commerce (Paypal),...
No major player like mobile or social Services (API, data format specifications)
Composition, reasoning Standardization efforts, Open Cloud initiatives
Cloud federation
Diversity of Social networks and interac>ons Social networks
Only a few major ones (Facebook, Twitter, YouTube, LinkedIn) Consumer oriented, public/mass market Low barrier to entry
Many smaller ones Enterprise, community Higher barrier : authorization, detailed profile, jargon
Interoperability issues arise from No standard on API, data formats Content ownership and access by 3rd party apps
Information exchanged highly dependent on relationships between members (nature/focus of the social network)
Building Mobile Apps
Mobile apps architecture Multi-‐platform development Dynamic environments
Mobile Apps Architectures Mobile apps are not a mobile version of a Website Traditionally client-‐server (content push)
Customisation on the server side for the target device Now mobile-‐aware
Using the phone’s resources (GPS, PIM, sensors, …)
Towards collaborative mobile apps in a multi-‐canal environment
Mul>-‐plaEorm development Dealing with mobile fragmentation : Web apps vs. Native Apps Web/Javascript-‐based apps
Develop once, run everywhere Applications run within Web browser, access local Web pages.
JS allows phone/internet connection Widely supported but no native look (browser vs native navigation) Accesss to the phone’s resources jQuery mobile, Sencha
Middleware-‐based apps Middleware provides high-‐level features mitigates incompatibilities between underlying platforms Cost of development, evolution Native look but time-‐consuming UI development
Mixed approach : Middleware + HTML5/Javascript Rhomobile, PhoneGap (Tiggr), Titanium mobile
Dealing with Dynamic Environments Accessing new services at runtime
Changing providers, interacting with a new contact Dealing with data, API, protocol
Traditional approaches to interoperability Mediator and adapter design patterns Focus on syntactic matching Converting to/from common representation or using wrapper
From Mediation to Connectors Using semantics Runtime synthesis
Runtime interoperability based on models M2M, M2C transformations Models learned, exchanged, transformed, reconfigured, verified
Conclusion Emergence of Personal Clouds
Merging of Cloud, Mobile, and Social domains Driven by privacy, content-‐ownership
Interoperability is a major issue for the realization of Personal Clouds Mobile fragmentation Constant growth of APIs and data format
Mobile apps developers face major challenges Adequate tooling help address mobile fragmentation Dynamic synthesis of connectors still a research issue
Still need to fully handle the environment to achieve ubiquitous computing sensors, context (user intents)