Upload
jeff-willinger
View
1.322
Download
2
Tags:
Embed Size (px)
Citation preview
Rich vs. Reach: Understanding Your SharePoint Mobility OptionsJuly 25, 2012
rightpoint At-A-Glance
Mobile + SharePoint
Session Objectives
• Apply the Rich / Reach spectrum to your mobile initiatives
• Understand the approaches for taking SharePoint mobile
• Identify the platforms for apps and how to integrate these platforms with SharePoint
Mobile + SharePoint
Mobile + SharePoint Timeline
June, 2007Original iPhone Available
February, 2011Apple App Store passes 10 billion app downloads,HTML5 Working Draft published by W3C
SharePoint 2007 in 3 Gartner Magic Quadrants• Search• Portals• Enterprise
Content Management
June, 2009
Released• V4 UI, Fluent Ribbon• jQuery Support• Client Side Object Model
Mobile Events
SharePoint Events
November, 2006
Released• /m Mobile Sites• Mobile Views
November, 2010Windows Phone
Released• SharePoint/Office
Hub
February, 2008Apple opens App Store, App SDK
Mobile + SharePoint
Mobile + SharePoint Strategy
Mobile + SharePoint
The Rich / Reach Spectrum
ReachBroadest Audience
RichFocused
Experience
The GoalYour app or site reaches the broadest
audience of users, regardless of device, platform, or form factor
Benefit: Lower total cost of maintenance, flexible to support new devices / platforms
Downside: Lowest common denominator approach, Higher testing cycle time
The GoalYour app or site provides an immersive
experience that takes full advantage of the capabilities of the user’s device
Benefit: Enables a full range of usage scenarios, can deliver a better UX
Downside: Requires decisions about devices to build for and support, potentially results in
multiple codebases if multiple platforms are required
Mobile + SharePoint
Mobile+SharePoint Choices
ReachBroadest Audience
RichFocused
Experience
Extend to Mobile
Build Apps for Mobile
Build Sites for Mobile
Third Party App Options
Mobile + SharePoint
Architecture Option #1: Extend to MobileReachBroadest Audience
RichFocused
Experience
GoalMake existing SharePoint Websites more mobile-friendly
StrategyEither make existing pages mobile-friendly or create pages in your sites to enhance the experience
Tactics and ToolsConditional CSS with User Agent detection or @Media CSS3 class targeting in Custom Master PagejQuery Mobile and ASP.NET Mobile Framework
LimitationsApplication pages must align with full-browser pages and only show an alternate renderingSharePoint’s default pages are very command-dense and information-dense, so presenting a compelling and complete mobile UX is difficult
Mobile + SharePoint
Rightpoint SharePoint ™ Mobile UI Framework
Mobile + SharePointNew Balance iNB Mobile: HTML5 publishing site with conditional CSS and mobile user agent detection
General Mills Brands-On-The-Go: Tablet-Friendly SharePoint Mobile Web UI through Custom Master Page loading CSS based on User Agent
Mobile + SharePoint
ERP
Mobile + SharePoint
Architecture Option #1: Extend to Mobile – How To Do It
Technique #1: Mobile-Friendly Custom Master Page1. Ensure that non-mobile pages are shown for mobile devices:
• Add following code to web.config (i.e. via a feature)<browserCaps> <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <filter>isMobileDevice=false</filter></browserCaps>
or edit ASP.NET *.browser files on web servers
2. Start with Starter Master Pages for SharePoint:http://startermasterpages.codeplex.com/
3. Target specific styles to mobile browsers by either:• Use CSS3 @media queries in supplemental CSS to target browser experience based on viewport, etc.,
see http://caniuse.com/#feat=css-mediaqueries for specific mobile browser support, or• Load CSS conditionally based on user agent
Mobile + SharePoint
Architecture Option #1: Extend to Mobile – How To Do It
Technique #2: Add alternate pages with jQuery Mobile functionality1. Check out jQuery Mobile: http://jquerymobile.com
2. Check out ASP.NET Mobile Framework: http://amf.codeplex.com
3. Use ASP.NET Mobile Framework, and SharePoint server API to create custom web parts to render content from sites, lists/libraries, and list items.
4. The functionality behind the screenshots from the previous slide are used as a basis for Rightpoint to make future specific customizations on a web part / page as needed.
5. This is a good approach if you can redirect a mobile user on a site to specific mobile pages that give you more control than the SharePoint OOTB mobile experience.
Architecture Option #2: Build Sites for MobileReachBroadest Audience
RichFocused
Experience
GoalCreate ASP.NET (MVC) Mobile Website UI, leverage existing functionality and data using CSOM and façade services
StrategyBuild a new site and leverage services/data from existing site. Makes sense when existing pages don’t align to the needs of a mobile experience and you still need to support a variety of mobile devices
Mobile + SharePoint
Tactics and ToolsASP.NET MVC or WebFormsSharePoint Client Object Model (CSOM)jQuery Mobile or other mobile JS frameworks
LimitationsDifferent devices need to be testedSecurity groups may need to be involved to ratify architecture
Architecture Option #2 Topology
InternalSharePoint
Environment
Mobile Website
Mobile + SharePoint
Jones Lang LaSalle - OneView ProjectsMobile + SharePoint
Mobile + SharePoint
Architecture Option #2: Build Sites for Mobile – How To Do ItBest Practices / Tips: Flow Authentication Credentials through to SharePoint1. User authentication should be done via forms authentication, and subsequent service invocations to
SharePoint should use those credentials1. Based on your SharePoint implementation, consider SSO and SAML options to minimize having to re-
authenticate with each service request2. Obviously, the ASP.NET website should be only hosted in HTTPS/SSL3. Or, if you are heavily using the CSOM, consider configuring the site and SharePoint for Kerberos and
the ClientContext should flow the credentials from the client browser through to the service invocation. This is a bit tricky to set up, so budget for some time.
2. If you are not familiar, become familiar with the Client Side Object Model: http://msdn.microsoft.com/en-us/library/ff798388.aspx
3. If CSOM isn’t meeting your needs, consider developing a service and deploying on SharePoint as a feature, and invoking that service.
Architecture Option #3: Buy Apps/Sites for MobileReachBroadest Audience
RichFocused
Experience
GoalProvide functionality to mobile users that is met by existing third party products, i.e. harmon.ie. This functionality typically aligns with a subset of SharePoint OOTB functionality for traversing and working with sites, lists, and libraries.
StrategyDetermine your needed capabilities and cross-reference with existing apps.
Mobile + SharePoint
Tactics and ToolsHarmon.ie, Colligo, SharePlus, MobileEntree
LimitationsSome product assume that your SharePoint environment is already exposed to the internet. That may not be the case. In all cases, check carefully to ensure that the product’s features match your needs.
Architecture Option #3: Buy Apps/Sites for Mobile
Mobile + SharePoint
• Product features typically align with document library, workflow, and search capabilities
• Different apps are supported on different devices, but typically most new devices are supported, with a focus on iOS devices.
• e.g. A search for SharePoint in the Apple App Store yields 97 results
Architecture Option #4: Build Apps for MobileReachBroadest Audience
RichFocused
Experience
GoalCreate an app; an app is focused on a specific set of tasks that take advantage of the device
StrategyTarget the device: iOS (iPad/iPhone), Windows Phone/Windows 8, Android, etc.Determine your app development stack based on your platform
Mobile + SharePoint
Tactics and ToolsPhoneGap (http://phonegap.com)MonoTouch, Mono for Android (C#/Mono for iOS or Android – http://xamarin.com/monotouch or http://xamarin.com/monoforandroid)iOS: xCode, Apple Developer/Enterprise LicenseWindows Phone: Visual Studio/MSDN
LimitationsPhoneGap doesn’t provide a full set of app capabilities, and developing native ties you to a platform; know your features and choose carefully
Architecture Option #4 Topology
InternalSharePoint
Environment
Mobile Website – WCF services, etc.
Mobile + SharePoint
Groundwork – Property Appraisals iPhone AppMobile + SharePoint
Mobile + SharePoint
Architecture Option #3: Build Apps for Mobile – How To Do ItBest Practices / Tips:1. A portal website and an app are not the same thing. Build your apps for specific purposes:
1. Employee Directory2. Insight/Action into a specific workflow (Approve/Reject from mobile device, potentially using Camera
or GPS)3. Mobile-ready BI dashboard (i.e. to replace emailed reports, etc.)4. Specific mobile rendering of main page content
Note: Each of these would be a separate app. Avoid putting too many features into an app
2. Plan upfront for scenarios in which the app should be updated
3. If the device is not maintained by your organization’s IT, strongly consider avoiding the storage of any company data on the device, and always authenticate the user upon app startup
4. Consider a hybrid option of wrapping a mobile-friendly site in an app. For instance, the News Feed and many other screens of the Facebook iOS app are really just showing web pages on a browser window inside the app. For iOS apps, check out the UIWebView class.
Mobile + SharePoint
Apps / Sites Decision Tree
App Specific Features
?
• Offline• Camera• GPS• Unique UX
Select App Platform /
Device
Build App
Yes
Can work in
existing UI?
NoExtend Site
Build Site
Assuming a buy vs. build decision
was made, and build was chosen…
Yes
No
Mobile + SharePoint
Key Takeaways
• Use the Rich / Reach Spectrum and the 4 target topologies as a tool to elicit requirements to determine target architecture
• Use the Apps / Sites Decision Tree to determine the best fit option