SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Kürzlich hochgeladen (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

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