Mesh services allow web applications to access a user's social graph and storage from desktop devices through synchronization. The Live framework provides tools and APIs to build, deploy, run, and update these "mesh-enabled" web applications, giving them offline access and the ability to integrate with a user's social activity and connected devices. Updates to mesh applications are automatically synchronized across all user instances for easier management by developers and use by customers.
3. Mesh Services extend Web applications into Desktop by providing
Access to Live user Social Graph, Synchronized Storage and
Offline Access
Live Services add Value to various Stages of application
Development and Use Lifecycle
Live Framework provides Runtimes, API Kits, Resource Model, Tools
and Controls to Build, Deploy, Run and Update Mesh-Enabled Web
Applications
4. Synchronized
Storage
Identity &
Analytics
Membership
Mesh
Hosting and
Timely News
Execution
Application
Deployment to
Catalogue
Devices
Servicing and
Update
5. Developers Users
Analyze
Evaluate
Uninstall Discover
Usage & & Learn
Improve
Update & Get
Develop Evaluate
Maintain Updates
Share
License & Test & License &
and
Market Debug Acquire
Socialize
Deploy & Configure
Publish & Use
6. Client Applications
Websites
Reach Rich
Highpoints Highpoints
Access from Anywhere Rich and Native User Experience
Instant On Updates Occasionally Connected (Offline)
Sandboxed to Browser Hosted on OS
Deployment & Update
Discoverable via Search
Shareable via URL
Challenges
Challenges Deployment & Update
Discoverability
Occasional Connection(offline)
Ability to share
Rich & Native User Experience
Sandboxing & Access control
Scalability
Mesh-Enabled Web Applications
9. Client-side Web Apps Hosted on Live Services or Websites
• DHTML, JavaScript/Ajax, Silverlight, etc
Simple Feed-based Programming APIs
Mesh-Enabled Web
• AtomPub/RSS/XML/HTTP
Application
Auto Deployment and Update
• Application Mesh Object
• Sync Web App Files
•Data Feed(s)
•Application Data
Socially Aware and Shareable
•Settings
• Sync Web App data with users and devices •User data
•Associated Mesh Objects
Accessed by Originating Website
•Access to user data
• User controlled access of data
Runs in a Sandbox
• Browser sandbox Online & Offline
10. Device Live Website
Contoso.com
Third-Party Desktop Host
Website
Sandbox
Mesh-Enabled
Mesh Bar
Sandbox
Web App
Mesh-Enabled
Mesh Bar
Silverlight/Ajax Web App
Kit & APIs
SilverLight/Ajax
Kit & APIs
AtomPub/FeedSync/XML/HTTP
App Manager
Client LOE
App Host
AtomPub/FeedSync/XML/HTTP
Cloud Live Operating Envrionment
Live Desktop App
Synchronization
Communication
App Catalogue
App Manager
Notification
Enclosure
App Host
PubSub
Identity
Storage
Live Services
Store
Live Services
11. Developer Portal
Register your domain and get a App ID & Secret
Download Live Framework SDK and VS Tools
Build and debug application using Visual Studio (or
preferred tool)
Upload Application to Azure Developer Portal (Optional)
Market and publicize your app on your web site (or
anywhere else)!
Get user consent and access their data
12.
13. ∞
1
Installed User Private
Application User Gives
User Installs
Access
Application Data
(Catalogue)
User Creates
∞
Data
Instance
Has
∞ ∞
Synchronized Member
User Shares
Mesh Object (Live User)
(DataFeeds)
14.
15. Live Framework APIs provide
capabilities to:
• Manage app News
News
• Manage app Members
• View mapped Devices
App can use Live social and
Members
device context
Apps can build their own Devices
control/experience
Mesh Control is the current
default implementation
18. Mesh-Enabled Rich Client
Web Apps
Web Application Apps
• Pre-authenticated • Request for partial • App runs as the
• Pre-authorized to access to user data user, with full
(Delegated permission
only access user
• Access to Cloud or
Authentication)
consented data
• Pass requested
• Sandboxed to Client Live Services
permissions, App ID endpoints
browser
& Secret
• No token
• After user
management is
consent, gets a
required
token to use against
Live Services
endpoint
19. All about putting users in control of their data and apps
Application Secure Context
• Apps not allowed to access disk, other apps and user private data
• User can explicitly grant permission to private data
Offers & Roles (Read, Write, Full)
• Standard: Contacts, Profiles, News, LiveMeshFolder
• Custom Offers: <Custom Type> of Mesh Objects (promotes app type sharing)
Client Sandbox: Shared secret and cookies isolate each application
Live Desktop Sandbox: Cookies, Iframe and domain isolation
20. 2) Consent Request
1) Add App to Mesh
5) Del Auth Token
Third Party
Web Site Live
6) Call with Token
Website
________
User
Live
Services
3) Consent Request UI
4) Agree to Consent
21.
22. Application ID • Uniquely identifies a Live Mesh Application
Secret • Used to authenticate a third party website
• Permissions can be managed at Mesh Object, Profiles, Contacts and
Resources Mesh Application level
• Privileges requested/given to third party web sites
Roles & Offers • Read, Contribute, Own
Consent Request • A request by a web site to get access to a Mesh resource
• User explicit permission to an application to access his/her data &
User Consent applications
Delegation Token • An encrypted token representing a granted consent
Refresh Token • Used to refresh a token for a granted consent
23. Updating Applications is a pain point for developers and end-
users
Mesh Auto update service updates all the instances of a
Mesh App upon use
Triggered when developer uploads a new version into
Application Catalogue
Auto update is optional (user decides whether and when to
update)
App Catalogue stores and renders multiple versions of an
application
24. Global Store for all Mesh-Enabled Web Applications
Install From Catalogue Or Website
Developer View vs End-user View
Application Approval Process
Applications are addressable & shareable via URL
Accessed via Live Desktop web site
25. Mesh Service
Mesh-enabled Web Apps
Synchronizes App Files
Extend Websites to run
and App Data
Offline on Desktop
Live Framework Provides
Tools and APIs Kits for Users Control Access to
Building Live Connected their Apps and Data
Apps