Enterprise Mobile Web Development Robert Altland | Principal - - PowerPoint PPT Presentation

enterprise mobile web development
SMART_READER_LITE
LIVE PREVIEW

Enterprise Mobile Web Development Robert Altland | Principal - - PowerPoint PPT Presentation

Enterprise Mobile Web Development Robert Altland | Principal Consultant, Mobility Neudesic, LLC | robert.altland@neudesic.com Setting the Stage Making the right technology choice for your mobile presence What makes a good enterprise


slide-1
SLIDE 1

Enterprise Mobile Web Development

Robert Altland | Principal Consultant, Mobility Neudesic, LLC | robert.altland@neudesic.com

slide-2
SLIDE 2

Setting the Stage

  • Making the right technology choice for your

mobile presence

  • What makes a good

enterprise mobile web application?

– Types of applications – Features – Technologies – Best Practices

slide-3
SLIDE 3

TECHNOLOGY CHOICES

slide-4
SLIDE 4

Mobile vs. fixed internet usage

  • Mobile internet usage is on pace to surpass

fixed internet usage in only a few years

– Adoption is 11 times faster – “Many companies will wonder what just happened”

http://bit.ly/MobileInternetAdoption

slide-5
SLIDE 5

Native vs. Web

Functionality Native Application Mobile Web (HTML5) Geo Location Yes Yes Local Storage Yes Yes Offline Yes Yes Phone Dialer Yes Yes (through URL) Maps Yes Web control only Contacts Yes Camera Yes Accelerometer Yes File System Yes Push Notifications Yes

slide-6
SLIDE 6

Hybrid Application

Web Content Panel Native Libraries

JavaScript bridge Camera Contacts …

Combine native and web to create a Hybrid application – content surfaced as Web content, with access to native libraries through a JavaScript bridge Because wrapper is a native application, full deployment to the AppStore is possible (subject to having enough local content to satisfy Apple’s agreement)

slide-7
SLIDE 7

How to make the right choice

  • Forrester’s POST strategy

– People – Objectives – Strategy – Technology

  • Where to get it:

http://bit.ly/ForresterPOST

slide-8
SLIDE 8

The benefits of mobile web

  • Easy, controlled distribution
  • Easily updated
  • Developer skills reuse
  • Greater potential for code reuse
  • More easily reach a broader audience
slide-9
SLIDE 9

WHAT MAKES A GOOD ENTERPRISE MOBILE WEB APPLICATION?

slide-10
SLIDE 10

Mobile intranet

  • Existing, mature web application
  • Mission critical
  • Identify key use cases which make sense

to be used from a mobile device

– Facilitate workflow – Monitor health – Search

slide-11
SLIDE 11

Mobile intranet

  • Mobile enabled Sharepoint site

– Less than ideal UI – NTLM authentication – Credentials not cached

  • n iPhone

– Doesn’t work on Android

slide-12
SLIDE 12

Mobile intranet

  • Native clients

– Download and configure – Better UX – Access to entire site

  • Examples:

– SharePlus by SouthLabs – Filamente by Aircreek

slide-13
SLIDE 13

Mobile intranet

  • Recommended solution: custom client

– Leverage Sharepoint services – Custom UI – Surface only the features you need

slide-14
SLIDE 14

Mobile intranet

  • Whitepaper: 10 Best Intranet Sites
  • The number of winners with mobile

intranets doubled

  • Sites with fewer features

have much better usability than full-featured websites

  • http://bit.ly/10BestIntranetSites
slide-15
SLIDE 15

Authentication using Azure ACS

  • What can it do for you?

– Allow users to authenticate using the credentials of their choice – Lower the barrier for entry to your site – Connect with partners without having to share an identity store – Reduce the complexity of federated security – Integrate SSO and centralized authorization into your web applications

slide-16
SLIDE 16

Authentication using Azure ACS

Authentication against AppFabric ACS Session token

Mobile Web

Request with OAuth Response

AppFabric

Google Yahoo! Windows Live Facebook ADFS 2.0

slide-17
SLIDE 17

ACS in jQuery Mobile

  • Integration with AppFabric ACS works, with

the following caveats

– Create a custom provider screen – Use window.location.href when navigating to Google/Yahoo sign in screen – Handle redirection after authentication

http://bit.ly/ACSwithJQM

slide-18
SLIDE 18

Writing secure applications

  • Be careful with cross domain messaging

– Check the domain before processing – Consider whitelisting trusted domains

  • Always validate and

cleanse input http://bit.ly/HTML5SecurityCheatSheet

slide-19
SLIDE 19

Writing secure applications

  • Don’t store sensitive data in localStorage
  • Be careful with WebSockets
  • Use the “sandbox” attribute
  • n iframe for untrusted

content http://bit.ly/SecureHTML5

slide-20
SLIDE 20

Usable when offline

  • Three aspects to offline:

– Local storage – Cache manifest – Network connectivity changes

http://mzl.la/OfflineWebApplications

slide-21
SLIDE 21

localStorage

  • Simple API for accessing local storage

– window.localStorage.setItem(key, value); – window.localStorage.getItem(key);

  • This is not encrypted and does not expire
  • Don’t store sensitive data here!

– SecureStore – jQuery plugin – JavaScript AES encryption

slide-22
SLIDE 22

Cache manifest

  • Mime type: text/cache-manifest
  • Referencing the manifest in the document
  • Example cache manifest

CACHE MANIFEST 
 fonts/MarketingScript.ttf 
 css/main.css 
 css/fonts.css 
 img/face.gif 
 js/main.js 
 index.xhtml <html manifest=“offline.manifest”>

slide-23
SLIDE 23

Connectivity Status

  • Checking current network status

if(navigator.onLine) {
 // do what you’d normally do
 }
 else {
 // defer execution until back online
 }

slide-24
SLIDE 24

Connectivity changes

  • Connectivity changed events

window.addEventListener("online", 
 function() {
 // do stuff here when we go online
 }); 
 window.addEventListener(”offline", 
 function() {
 // do stuff here when we go offline
 });

slide-25
SLIDE 25

Speeding up your site

  • Reduce the size of the DOM

– ASP.NET MVC emits concise, semantic HTML

  • Minimize use of cookies
  • Minify CSS and JavaScript
  • Use JSON serialization
slide-26
SLIDE 26

Speeding up your site

  • Reduce the number of requests

– Combine CSS and JavaScript – Use image sprites

  • Tools

– Y slow, Fiddler

  • Whitepaper:

http://yhoo.it/MobileSpeedUp

slide-27
SLIDE 27

Summary

  • Good enterprise mobile web applications

– Are growing in popularity – Leverage existing investments – Are quick to load and are responsive to the user – Are secure – Work offline

slide-28
SLIDE 28

Thank you