SharePoint and Mobile

26
Rich vs. Reach: Understanding Your SharePoint Mobility Options July 25, 2012

Transcript of SharePoint and Mobile

Page 1: SharePoint and Mobile

Rich vs. Reach: Understanding Your SharePoint Mobility OptionsJuly 25, 2012

Page 2: SharePoint and Mobile

rightpoint At-A-Glance

Page 3: SharePoint and Mobile

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

Page 4: SharePoint and Mobile

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

Page 5: SharePoint and Mobile

Mobile + SharePoint

Mobile + SharePoint Strategy

Page 6: SharePoint and Mobile

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

Page 7: SharePoint and Mobile

Mobile + SharePoint

Mobile+SharePoint Choices

ReachBroadest Audience

RichFocused

Experience

Extend to Mobile

Build Apps for Mobile

Build Sites for Mobile

Third Party App Options

Page 8: SharePoint and Mobile

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

Page 9: SharePoint and Mobile

Mobile + SharePoint

Rightpoint SharePoint ™ Mobile UI Framework

Page 10: SharePoint and Mobile

Mobile + SharePointNew Balance iNB Mobile: HTML5 publishing site with conditional CSS and mobile user agent detection

Page 11: SharePoint and Mobile

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

Page 12: SharePoint and Mobile

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

Page 13: SharePoint and Mobile

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.

Page 14: SharePoint and Mobile

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

Page 15: SharePoint and Mobile

Architecture Option #2 Topology

InternalSharePoint

Environment

Mobile Website

Mobile + SharePoint

Page 16: SharePoint and Mobile

Jones Lang LaSalle - OneView ProjectsMobile + SharePoint

Page 17: SharePoint and Mobile

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.

Page 18: SharePoint and Mobile

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.

Page 19: SharePoint and Mobile

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

Page 20: SharePoint and Mobile

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

Page 21: SharePoint and Mobile

Architecture Option #4 Topology

InternalSharePoint

Environment

Mobile Website – WCF services, etc.

Mobile + SharePoint

Page 22: SharePoint and Mobile

Groundwork – Property Appraisals iPhone AppMobile + SharePoint

Page 23: SharePoint and Mobile

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.

Page 24: SharePoint and Mobile

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

Page 25: SharePoint and Mobile

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

Page 26: SharePoint and Mobile

thank you

[email protected]@rightpoint.com

Internal use only Jeff Willinger 312.622.2300