SlideShare a Scribd company logo
1 of 25
Michael Greene Triangle SharePoint User Group February 1, 2010 ENHANCING SHAREPOINT 2010FOR THE IPAD
Agenda Device Orientation Detection CSS Approach Scripted Approach Branding for Device Orientation Demo Cross-Platform Video HTML5 Video Security Considerations 2/2/2011 2 Michael Greene
Device orientation detection 2/2/2011 Michael Greene 3 Consumer adoption leading to growth in the business sector New ability to touch and interact with business data Increased user experience Efficiently manage limited screen real estate
CSS Approach Device Orientation Detection 2/2/2011 Michael Greene 4
Css approach 2/2/2011 Michael Greene 5 Utilizes orientation aware Cascading Style Sheets (CSS) Little overhead, no code or script required Detects Portrait vs. Landscape Browser determines ratio of browser width vs. height Use to display, hide, or change size of elements for specific orientations Ideal for integrating orientation detection with site branding
Supported Orientations 2/2/2011 Michael Greene 6 Landscape Portrait
Standard “link” tag with media attribute <link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" /> <link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" /> Cross-Browser Support <!--[if !IE]><!-->   <link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" />   <link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" /> <!--<![endif]--> <!--[if IE]>   <link rel="stylesheet" href="Landscape.css" /> <![endif]--> Attaching style sheets 2/2/2011 Michael Greene 7 Often not needed
Standard “link” tag <link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" /> <link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" /> Browser Support <!--[if !IE]><!-->   <link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" />   <link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" /> <!--<![endif]--> <!--[if IE]>   <link rel="stylesheet" href="Landscape.css" /> <![endif]--> Attaching style sheets 2/2/2011 Michael Greene 8 All style sheets should be attached after Core.css and custom CSS registrations.
Hide Quick Launch when device is in Portrait orientation. Hide any content with the “notPortrait” class; similar to the use of “s4-notdlg”. Examples 2/2/2011 Michael Greene 9 Portrait.css Portrait.css #s4-leftpanel {     display: none; } .s4-ca {     margin-left: 0px; } .notPortrait{ display: none; }
Scripted Approach Device Orientation Detection 2/2/2011 Michael Greene 10
Scripted approach 2/2/2011 Michael Greene 11 Utilizes client-side script (Javascript/jQuery) Scripted specifically for iPad Identifies numerical orientation value Orientation value returned by device hardware/accelerometer Uses: Bind functions to orientation changes Animate element changes Make changes to the Document Object Model (DOM)
Supported Orientations 2/2/2011 Michael Greene 12 90° -90° 0° 180°
<script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript"> varisiPad = navigator.userAgent.match(/iPad/i) != null;  //Boolean, is device iPad if (isiPad) { // Process only for iPads ProcessOrientation(window.orientation); // Process initial orientation window.onorientationchange = function() { // Process on orientation change ProcessOrientation(window.orientation); }         function ProcessOrientation(currentOrientation) {  if (currentOrientation== 0 || currentOrientation== 180) {                 // Is Portrait 	 } else if (currentOrientation== 90 || currentOrientation== -90) {                 // Is Landscape 	 }         } }  </script> Scripting Orientation Detection 2/2/2011 Michael Greene 13
Hide Quick Launch when device is in Portrait orientation. Hide any content with the “notPortrait” class; similar to the use of “s4-notdlg”. Examples 2/2/2011 Michael Greene 14 jQuery jQuery if (Portrait) {   $(“#s4-leftpanel”).hide();   $(“.s4-ca”).css(“marginLeft”, 0); } if (Landscape) {   $(“#s4-leftpanel”).show();   $(“.s4-ca”).css(“marginLeft”, “150px”); } if (Portrait) {   $(“.notPortrait”).hide(); } if (Landscape) {   $(“.notPortrait”).show(); }
Hide Quick Launch with animation when device is in Portrait orientation. Move contents of one container to another, and back again. ADVANCED Examples 2/2/2011 Michael Greene 15 jQuery jQuery if (Portrait) {   $(“#s4-leftpanel”).animate(     [“left”: “=-150px”], “slow”   );   $(“.s4-ca).animate(     [“marginLeft”: “0px”], “slow”   ); } if (Landscape) {  $(“#s4-leftpanel”).animate(     [“left”: “=+150px”], “slow”   );   $(“.s4-ca).animate(     [“marginLeft”: “150px”], “slow” ); } if (Portrait) {   $(“#C1”).clone().appendTo(“#C2”);  $(“#C1”).html(“”); } if (Landscape) {   $(“#C2”).clone().appendTo(“#C1”);  $(“#C2”).html(“”); }
Hide Quick Launch with animation when device is in Portrait orientation. Move contents of one container to another, and back again. ADVANCED Examples 2/2/2011 Michael Greene 16 jQuery jQuery if (Portrait) {   $(“#s4-leftpanel”).animate(     [“left”: “=-150px”], “slow”   );   $(“.s4-ca).animate(     [“marginLeft”: “0px”], “slow”   ); } if (Landscape) {  $(“#s4-leftpanel”).animate(     [“left”: “=+150px”], “slow”   );   $(“.s4-ca).animate(     [“marginLeft”: “150px”], “slow” ); } if (Portrait) {   $(“#C1”).clone().appendTo(“#C2”);  $(“#C1”).html(“”); } if (Landscape) {   $(“#C2”).clone().appendTo(“#C1”);  $(“#C2”).html(“”); }
Hide Quick Launch with animation when device is in Portrait orientation. Move contents of one container to another, and back again. ADVANCED Examples 2/2/2011 Michael Greene 17 jQuery jQuery if (Portrait) {   $(“#s4-leftpanel”).animate(     [“left”: “=-150px”], “slow”   );   $(“.s4-ca).animate(     [“marginLeft”: “0px”], “slow”   ); } if (Landscape) {  $(“#s4-leftpanel”).animate(     [“left”: “=+150px”], “slow”   );   $(“.s4-ca).animate(     [“marginLeft”: “150px”], “slow” ); } if (Portrait) {   $(“#C1”).clone().appendTo(“#C2”);  $(“#C1”).html(“”); } if (Landscape) {   $(“#C2”).clone().appendTo(“#C1”);  $(“#C2”).html(“”); }
Branding for Device Orientation Demonstration 2/2/2011 Michael Greene 18
HTML5 Cross-Platform Video  2/2/2011 Michael Greene 19
Html5 video 2/2/2011 Michael Greene 20 No third party plugin support in the iPad, only option for embedded video is the use of HTML5. HTML5 standard dictates support for embedded video with <video> tag HTML5 does NOT standardize video format ‡ Safari will render and video format supported by QuickTime; support for H.264/AACMP4 is shipped with QuickTime while other formats require additional client-side plugins. † WebM video format expected for Internet Explorer 9.0+
HTML5 VIDEO TAG 2/2/2011 Michael Greene 21 <video width="640" height="360" controls>  <!-- MP4 must be first for iPad! -->  <source src="__VIDEO__.MP4" type="video/mp4" /> <!-- Safari / iOS video -->  <source src="__VIDEO__.OGV" type="video/ogg" /> <!-- Firefox / Opera / Chrome10 -->  <!-- fallback to Flash: -->  <object width="640" height="360" type="application/x-shockwave-flash“      data="__FLASH__.SWF">    <param name="movie" value="__FLASH__.SWF" />    <param name="flashvars" value="controlbar=over&amp;image=__POSTER__.JPG&amp;      file=__VIDEO__.MP4" />    <!-- fallback image. -->    <imgsrc="__VIDEO__.JPG" width="640" height="360" alt="__TITLE__" title="No video      playback capabilities” />  </object></video>
Security Considerations Cross-Platform Video  2/2/2011 Michael Greene 22
Security considerations 2/2/2011 Michael Greene 23 iPad passes embedded video requests to QuickTime for rendering QuickTime lacks support for any proxy or authentication methods, and iPads cannot join a domain Video files must be anonymously accessible
2/2/2011 Michael Greene 24 Questions?
2/2/2011 Michael Greene 25 Michael greene youtube.mike-greene.com @webdes03 mike-greene.com mike@mike-greene.com michaelg@intellinet.com

More Related Content

Similar to Enhancing SharePoint 2010 for the iPad

Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009Christopher Judd
 
Silver Light By Nyros Developer
Silver Light By Nyros DeveloperSilver Light By Nyros Developer
Silver Light By Nyros DeveloperNyros Technologies
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersTodd Anglin
 
Real-World AJAX with ASP.NET
Real-World AJAX with ASP.NETReal-World AJAX with ASP.NET
Real-World AJAX with ASP.NETgoodfriday
 
Client-side JavaScript Vulnerabilities
Client-side JavaScript VulnerabilitiesClient-side JavaScript Vulnerabilities
Client-side JavaScript VulnerabilitiesOry Segal
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introductionbeforeach
 
Design Tips & Development with jQuery Mobile and PhoneGap
Design Tips & Development with jQuery Mobile and PhoneGapDesign Tips & Development with jQuery Mobile and PhoneGap
Design Tips & Development with jQuery Mobile and PhoneGapGO Ohtani
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Adam Lu
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 WorkshopDavid Manock
 
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008Association Paris-Web
 
Offline strategies for HTML5 web applications - pfCongres2012
Offline strategies for HTML5 web applications - pfCongres2012Offline strategies for HTML5 web applications - pfCongres2012
Offline strategies for HTML5 web applications - pfCongres2012Stephan Hochdörfer
 
HTML5 and CSS3 Techniques You Can Use Today
HTML5 and CSS3 Techniques You Can Use TodayHTML5 and CSS3 Techniques You Can Use Today
HTML5 and CSS3 Techniques You Can Use TodayTodd Anglin
 
HTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game TechHTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game Techvincent_scheib
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on MobileAdam Lu
 
02 integrate highchart
02 integrate highchart02 integrate highchart
02 integrate highchartErhwen Kuo
 

Similar to Enhancing SharePoint 2010 for the iPad (20)

Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
Silver Light By Nyros Developer
Silver Light By Nyros DeveloperSilver Light By Nyros Developer
Silver Light By Nyros Developer
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
 
Real-World AJAX with ASP.NET
Real-World AJAX with ASP.NETReal-World AJAX with ASP.NET
Real-World AJAX with ASP.NET
 
Client-side JavaScript Vulnerabilities
Client-side JavaScript VulnerabilitiesClient-side JavaScript Vulnerabilities
Client-side JavaScript Vulnerabilities
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
 
Design Tips & Development with jQuery Mobile and PhoneGap
Design Tips & Development with jQuery Mobile and PhoneGapDesign Tips & Development with jQuery Mobile and PhoneGap
Design Tips & Development with jQuery Mobile and PhoneGap
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
 
Offline strategies for HTML5 web applications - pfCongres2012
Offline strategies for HTML5 web applications - pfCongres2012Offline strategies for HTML5 web applications - pfCongres2012
Offline strategies for HTML5 web applications - pfCongres2012
 
HTML5 and CSS3 Techniques You Can Use Today
HTML5 and CSS3 Techniques You Can Use TodayHTML5 and CSS3 Techniques You Can Use Today
HTML5 and CSS3 Techniques You Can Use Today
 
HTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game TechHTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game Tech
 
Vaadin & Web Components
Vaadin & Web ComponentsVaadin & Web Components
Vaadin & Web Components
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
02 integrate highchart
02 integrate highchart02 integrate highchart
02 integrate highchart
 
Responsive design
Responsive designResponsive design
Responsive design
 

More from Michael Greene

Anatomy of an Intranet (Triangle SharePoint User Group) January 2016
Anatomy of an Intranet (Triangle SharePoint User Group) January 2016Anatomy of an Intranet (Triangle SharePoint User Group) January 2016
Anatomy of an Intranet (Triangle SharePoint User Group) January 2016Michael Greene
 
Anatomy of an Intranet (Triangle SharePoint User Group) October 2016
Anatomy of an Intranet (Triangle SharePoint User Group) October 2016Anatomy of an Intranet (Triangle SharePoint User Group) October 2016
Anatomy of an Intranet (Triangle SharePoint User Group) October 2016Michael Greene
 
PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365Michael Greene
 
Anatomy of an Intranet (SPSATL 2014)
Anatomy of an Intranet (SPSATL 2014)Anatomy of an Intranet (SPSATL 2014)
Anatomy of an Intranet (SPSATL 2014)Michael Greene
 
Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)
Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)
Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)Michael Greene
 
ATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best BetsATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best BetsMichael Greene
 
SharePoint Branding Best Bets (SharePoint Saturday Richmond, 2013)
SharePoint Branding Best Bets (SharePoint Saturday Richmond, 2013)SharePoint Branding Best Bets (SharePoint Saturday Richmond, 2013)
SharePoint Branding Best Bets (SharePoint Saturday Richmond, 2013)Michael Greene
 
Making Life Easier with PowerShell (SPSATL 2012)
Making Life Easier with PowerShell (SPSATL 2012)Making Life Easier with PowerShell (SPSATL 2012)
Making Life Easier with PowerShell (SPSATL 2012)Michael Greene
 
Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Michael Greene
 
Making Life Easier with PowerShell - SPSRIC
Making Life Easier with PowerShell - SPSRICMaking Life Easier with PowerShell - SPSRIC
Making Life Easier with PowerShell - SPSRICMichael Greene
 

More from Michael Greene (10)

Anatomy of an Intranet (Triangle SharePoint User Group) January 2016
Anatomy of an Intranet (Triangle SharePoint User Group) January 2016Anatomy of an Intranet (Triangle SharePoint User Group) January 2016
Anatomy of an Intranet (Triangle SharePoint User Group) January 2016
 
Anatomy of an Intranet (Triangle SharePoint User Group) October 2016
Anatomy of an Intranet (Triangle SharePoint User Group) October 2016Anatomy of an Intranet (Triangle SharePoint User Group) October 2016
Anatomy of an Intranet (Triangle SharePoint User Group) October 2016
 
PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365
 
Anatomy of an Intranet (SPSATL 2014)
Anatomy of an Intranet (SPSATL 2014)Anatomy of an Intranet (SPSATL 2014)
Anatomy of an Intranet (SPSATL 2014)
 
Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)
Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)
Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)
 
ATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best BetsATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best Bets
 
SharePoint Branding Best Bets (SharePoint Saturday Richmond, 2013)
SharePoint Branding Best Bets (SharePoint Saturday Richmond, 2013)SharePoint Branding Best Bets (SharePoint Saturday Richmond, 2013)
SharePoint Branding Best Bets (SharePoint Saturday Richmond, 2013)
 
Making Life Easier with PowerShell (SPSATL 2012)
Making Life Easier with PowerShell (SPSATL 2012)Making Life Easier with PowerShell (SPSATL 2012)
Making Life Easier with PowerShell (SPSATL 2012)
 
Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)
 
Making Life Easier with PowerShell - SPSRIC
Making Life Easier with PowerShell - SPSRICMaking Life Easier with PowerShell - SPSRIC
Making Life Easier with PowerShell - SPSRIC
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Enhancing SharePoint 2010 for the iPad

  • 1. Michael Greene Triangle SharePoint User Group February 1, 2010 ENHANCING SHAREPOINT 2010FOR THE IPAD
  • 2. Agenda Device Orientation Detection CSS Approach Scripted Approach Branding for Device Orientation Demo Cross-Platform Video HTML5 Video Security Considerations 2/2/2011 2 Michael Greene
  • 3. Device orientation detection 2/2/2011 Michael Greene 3 Consumer adoption leading to growth in the business sector New ability to touch and interact with business data Increased user experience Efficiently manage limited screen real estate
  • 4. CSS Approach Device Orientation Detection 2/2/2011 Michael Greene 4
  • 5. Css approach 2/2/2011 Michael Greene 5 Utilizes orientation aware Cascading Style Sheets (CSS) Little overhead, no code or script required Detects Portrait vs. Landscape Browser determines ratio of browser width vs. height Use to display, hide, or change size of elements for specific orientations Ideal for integrating orientation detection with site branding
  • 6. Supported Orientations 2/2/2011 Michael Greene 6 Landscape Portrait
  • 7. Standard “link” tag with media attribute <link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" /> <link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" /> Cross-Browser Support <!--[if !IE]><!--> <link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" /> <link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" /> <!--<![endif]--> <!--[if IE]> <link rel="stylesheet" href="Landscape.css" /> <![endif]--> Attaching style sheets 2/2/2011 Michael Greene 7 Often not needed
  • 8. Standard “link” tag <link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" /> <link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" /> Browser Support <!--[if !IE]><!--> <link rel="stylesheet" media="all and (orientation:portrait)" href="Portrait.css" /> <link rel="stylesheet" media="all and (orientation:landscape)" href="Landscape.css" /> <!--<![endif]--> <!--[if IE]> <link rel="stylesheet" href="Landscape.css" /> <![endif]--> Attaching style sheets 2/2/2011 Michael Greene 8 All style sheets should be attached after Core.css and custom CSS registrations.
  • 9. Hide Quick Launch when device is in Portrait orientation. Hide any content with the “notPortrait” class; similar to the use of “s4-notdlg”. Examples 2/2/2011 Michael Greene 9 Portrait.css Portrait.css #s4-leftpanel { display: none; } .s4-ca { margin-left: 0px; } .notPortrait{ display: none; }
  • 10. Scripted Approach Device Orientation Detection 2/2/2011 Michael Greene 10
  • 11. Scripted approach 2/2/2011 Michael Greene 11 Utilizes client-side script (Javascript/jQuery) Scripted specifically for iPad Identifies numerical orientation value Orientation value returned by device hardware/accelerometer Uses: Bind functions to orientation changes Animate element changes Make changes to the Document Object Model (DOM)
  • 12. Supported Orientations 2/2/2011 Michael Greene 12 90° -90° 0° 180°
  • 13. <script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript"> varisiPad = navigator.userAgent.match(/iPad/i) != null; //Boolean, is device iPad if (isiPad) { // Process only for iPads ProcessOrientation(window.orientation); // Process initial orientation window.onorientationchange = function() { // Process on orientation change ProcessOrientation(window.orientation); } function ProcessOrientation(currentOrientation) { if (currentOrientation== 0 || currentOrientation== 180) { // Is Portrait } else if (currentOrientation== 90 || currentOrientation== -90) { // Is Landscape } } } </script> Scripting Orientation Detection 2/2/2011 Michael Greene 13
  • 14. Hide Quick Launch when device is in Portrait orientation. Hide any content with the “notPortrait” class; similar to the use of “s4-notdlg”. Examples 2/2/2011 Michael Greene 14 jQuery jQuery if (Portrait) { $(“#s4-leftpanel”).hide(); $(“.s4-ca”).css(“marginLeft”, 0); } if (Landscape) { $(“#s4-leftpanel”).show(); $(“.s4-ca”).css(“marginLeft”, “150px”); } if (Portrait) { $(“.notPortrait”).hide(); } if (Landscape) { $(“.notPortrait”).show(); }
  • 15. Hide Quick Launch with animation when device is in Portrait orientation. Move contents of one container to another, and back again. ADVANCED Examples 2/2/2011 Michael Greene 15 jQuery jQuery if (Portrait) { $(“#s4-leftpanel”).animate( [“left”: “=-150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “0px”], “slow” ); } if (Landscape) { $(“#s4-leftpanel”).animate( [“left”: “=+150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “150px”], “slow” ); } if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”); } if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”); }
  • 16. Hide Quick Launch with animation when device is in Portrait orientation. Move contents of one container to another, and back again. ADVANCED Examples 2/2/2011 Michael Greene 16 jQuery jQuery if (Portrait) { $(“#s4-leftpanel”).animate( [“left”: “=-150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “0px”], “slow” ); } if (Landscape) { $(“#s4-leftpanel”).animate( [“left”: “=+150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “150px”], “slow” ); } if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”); } if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”); }
  • 17. Hide Quick Launch with animation when device is in Portrait orientation. Move contents of one container to another, and back again. ADVANCED Examples 2/2/2011 Michael Greene 17 jQuery jQuery if (Portrait) { $(“#s4-leftpanel”).animate( [“left”: “=-150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “0px”], “slow” ); } if (Landscape) { $(“#s4-leftpanel”).animate( [“left”: “=+150px”], “slow” ); $(“.s4-ca).animate( [“marginLeft”: “150px”], “slow” ); } if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”); } if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”); }
  • 18. Branding for Device Orientation Demonstration 2/2/2011 Michael Greene 18
  • 19. HTML5 Cross-Platform Video 2/2/2011 Michael Greene 19
  • 20. Html5 video 2/2/2011 Michael Greene 20 No third party plugin support in the iPad, only option for embedded video is the use of HTML5. HTML5 standard dictates support for embedded video with <video> tag HTML5 does NOT standardize video format ‡ Safari will render and video format supported by QuickTime; support for H.264/AACMP4 is shipped with QuickTime while other formats require additional client-side plugins. † WebM video format expected for Internet Explorer 9.0+
  • 21. HTML5 VIDEO TAG 2/2/2011 Michael Greene 21 <video width="640" height="360" controls> <!-- MP4 must be first for iPad! --> <source src="__VIDEO__.MP4" type="video/mp4" /> <!-- Safari / iOS video --> <source src="__VIDEO__.OGV" type="video/ogg" /> <!-- Firefox / Opera / Chrome10 --> <!-- fallback to Flash: --> <object width="640" height="360" type="application/x-shockwave-flash“ data="__FLASH__.SWF"> <param name="movie" value="__FLASH__.SWF" /> <param name="flashvars" value="controlbar=over&amp;image=__POSTER__.JPG&amp; file=__VIDEO__.MP4" /> <!-- fallback image. --> <imgsrc="__VIDEO__.JPG" width="640" height="360" alt="__TITLE__" title="No video playback capabilities” /> </object></video>
  • 22. Security Considerations Cross-Platform Video 2/2/2011 Michael Greene 22
  • 23. Security considerations 2/2/2011 Michael Greene 23 iPad passes embedded video requests to QuickTime for rendering QuickTime lacks support for any proxy or authentication methods, and iPads cannot join a domain Video files must be anonymously accessible
  • 24. 2/2/2011 Michael Greene 24 Questions?
  • 25. 2/2/2011 Michael Greene 25 Michael greene youtube.mike-greene.com @webdes03 mike-greene.com mike@mike-greene.com michaelg@intellinet.com