SlideShare a Scribd company logo
1 of 25
ENHANCING SHAREPOINT 2010
      FOR THE IPAD




        January 7, 2012
AGENDA

           •   Device Orientation Detection
                • CSS Approach
                • Scripted Approach
           •   Branding for Device Orientation Demo
           •   Cross-Platform Video
                • HTML5 Video
                • Security Considerations




1/7/2012                 Enhancing SharePoint 2010 for the iPad   3
Core Concepts

           DEVICE ORIENTATION DETECTION


1/7/2012               Enhancing SharePoint 2010 for the iPad   4
SHAREPOINT 2010 COMPATIBILITY

           •   SharePoint 2010 is cross browser compatible out of the box
           •   Fully Supported:                               IE7 (32bit), IE8 (32bit), IE9 (32bit)
           •   Supported w/ Limitations:                      IE7 (64bit), IE8 (64bit), IE9 (64bit),
                                                              Firefox 3.6 (Win & Non-Win),
                                             Safari 4.04 (non-Win)
           •              Safari iPad         !=
               Is your custom markup cross browser compatible? iPod
                                         Safari iPhone      Safari      !=




1/7/2012                 Enhancing SharePoint 2010 for the iPad               5
DEVICE ORIENTATION DETECTION

           •   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




1/7/2012                 Enhancing SharePoint 2010 for the iPad   6
Device Orientation Detection

           CSS APPROACH


1/7/2012                 Enhancing SharePoint 2010 for the iPad   7
CSS APPROACH

           •   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-wide branding




1/7/2012                  Enhancing SharePoint 2010 for the iPad   8
SUPPORTED ORIENTATIONS


                          Portrait                       Landscape




1/7/2012        Enhancing SharePoint 2010 for the iPad     9
ATTACHING STYLE SHEETS

           •    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]><! --> All style sheets should be attached after Core.css
                                          and custom CSS registrations.
              <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” media=“all and (orientation:landscape)” href=“landscape.css” />
           <![endif]-->




1/7/2012                      Enhancing SharePoint 2010 for the iPad          10
EXAMPLES

           •   Hide Quick Launch when                                  •   Hide any content with the
               device is in Portrait orientation                           “notPortrait” class; similar to
                                                                           ues of “s4-notdlg”.


           Portrait.css                                                Portrait.css
           #s4-leftpanel {                                             .notPortrait {
             display: none;                                              display: none;
           }                                                           }

           .s4-ca {
              margin-left: 0px;
           }




1/7/2012                      Enhancing SharePoint 2010 for the iPad                  11
Device Orientation Detection

           SCRIPTED APPROACH


1/7/2012                 Enhancing SharePoint 2010 for the iPad   12
SCRIPTED APPROACH

           •   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)




1/7/2012                  Enhancing SharePoint 2010 for the iPad   13
SUPPORTED ORIENTATIONS


            -90°                        0°                  90°   180°




1/7/2012           Enhancing SharePoint 2010 for the iPad    14
SCRIPTING ORIENTATION DETECTION
           <script type=“text/javascript”>
             function ProcessOrientation(currentOrientation) { // Handle orientation processing
                 if (currentOrientation == 0 || currentOrientation == 180) {
                     // Is Portrait
                 } else if (currentOrientation == 90 || currentOrientation == -90) {
                     // Is Landscape
                 }
             }
             var isiPad = navigator.userAgent.match(/iPad/i) != null;
             if (isiPad) { // Process only if true
                 ProcessOrientation(window.orientation); // Process initial orientation
                 window.onorientationchange = function() { // Process when orientation changes
                     ProcessOrientation(window.orientation);
                 }
             }
           </script>


1/7/2012                          Enhancing SharePoint 2010 for the iPad          15
EXAMPLES

           •   Hide Quick Launch when                                  •   Hide any content with the
               device is in Portrait orientation                           “notPortrait” class; similar to
                                                                           ues of “s4-notdlg”.


           jQuery                                                      jQuery
           if (Portrait) {                                             if (Portrait) {
               $(“#s4-leftpanel”).hide();                                  $(“.notPortrait”).hide();
               $(“.s4-ca”).css(“marginLeft”, 0);                       }
           }                                                           if (Landscape) {
           if (Landscape) {                                                $(“.notPortrait”).show();
               $(“#s4-leftpanel”).show();                              }
               $(“.s4-ca”).css(“marginLeft”, “150px”);
           }




1/7/2012                      Enhancing SharePoint 2010 for the iPad                16
ADVANCED EXAMPLES

           •   Hide Quick Launch with                                   •   Move contents of one
               animation when device is in                                  container to another, and back
               Portrait orientation                                         again
           jQuery                                                       jQuery
           if (Portrait) {                                              if (Portrait) {
               $(“#s4-leftpanel”).animate(                                  $(“#C1”).clone().appendTo(“#C2”);
                  [“left”: “=-150px”], “slow”                               $(“#C1”).html(“”);
               );                                                       }
               $(“.s4-ca”).animate(                                     if (Landscape) {
                  [“marginLeft”: “0px”], “slow”                             $(“#C2”).clone().appendTo(“#C1”);
               );                                                           $(“#C2”).html(“”);
           }                                                            }
           if (Landscape) {
               $(“#s4-leftpanel”).animate(
                  [“left”: “=+150px”], “slow”
               );
               $(“.s4-ca”).animate(
                  [“marginLeft”: “150px”], “slow”
               );
           }

1/7/2012                       Enhancing SharePoint 2010 for the iPad               17
ADVANCED EXAMPLES

           •    Hide Quick Launch with                                   •   Move contents of one
                animationSales
                            when device is in                                container to another, and back
                Portrait orientation                                         again
                                                                              Chart Title             Sales
                                             1st Qtr
           jQuery                            2nd Qtr
                                                                         jQuery
                                                                         jQuery
                                             3rd Qtr
           if (Portrait) {                                               if (Portrait) {
                                                                          if (Portrait) {
               $(“#s4-leftpanel”).animate( Qtr   4th
                                                                             $(“#C1”).clone().appendTo(“#C2”); Qtr
                                                                                                           1st
                                                                             $(“#C1”).clone().appendTo(“#C2”);
                  [“left”: “=-150px”], “slow”                                $(“#C1”).html(“”);
                                                                             $(“#C1”).html(“”);            2nd Qtr

               );                                                        }}                                3rd Qtr
                               Chart Title                                if (Landscape) {
               $(“.s4-ca”).animate(                                      if (Landscape) {                  4th Qtr
                                                                             $(“#C2”).clone().appendTo(“#C1”);
                  [“marginLeft”: “0px”], “slow”                              $(“#C2”).clone().appendTo(“#C1”);
                                                                             $(“#C2”).html(“”);
               );                                                         } $(“#C2”).html(“”);
                                                                          Cat 1 Cat 2 Cat 3 Cat 4

           }                                                             }
           if (Landscape) {
               $(“#s4-leftpanel”).animate(
                      Cat 1  Cat 2   Cat 3 Cat 4

                  [“left”: “=+150px”], “slow”
               );
               $(“.s4-ca”).animate(
                  [“marginLeft”: “150px”], “slow”
               );
           }

1/7/2012                        Enhancing SharePoint 2010 for the iPad                  18
Demonstration

           BRANDING WITH DEVICE
           ORIENTATION

1/7/2012               Enhancing SharePoint 2010 for the iPad   19
Cross-Platform Video

           HTML5


1/7/2012                Enhancing SharePoint 2010 for the iPad   20
HTML5 VIDEO

           •   No third party plugin support on the iPad, only option for embedded
               video is use of HTML5
           •   HTML5 standard dictates support for embedded video with <video>
               tag
           •   HTML5 does NOT standardize video format
                                    IE               Firefox       Safari   Chrom    Opera   iOS
                                                                            e
       Ogg                                           3.5+        ‡        5.0+    10.5+ 
       (Theora/Vorbis)
       H.264/AAC/MP4                                              3.0+    5.0+           3.0+
                                 9.0†                ‡           6.0+  10.6+ 
       WebM will render and video format supported by QuickTime; support for H.264/AACMP4 is
       ‡ Safari
       shipped with QuickTime while other formats require additional client-side plugins.
       † WebM video format available in IE9 with downloaded codec.




1/7/2012                  Enhancing SharePoint 2010 for the iPad             21
HTML5 VIDEO TAG
           <video width=“640” height=“360” controls>
             <!-- MP4 file must be first for iPad compatibility -->
             <source src=“video.mp4” type=“video/mp4” /> <!-- Safari/iOS -->
             <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 -->
                <img src=“video.jpg” width=“640” height=“360” alt=“title” title=“Can’t Play Video” />
             </object>
           </video>


1/7/2012                     Enhancing SharePoint 2010 for the iPad        22
SECURITY CONSIDERATIONS

           •   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




1/7/2012                 Enhancing SharePoint 2010 for the iPad   23
QUESTIONS?
MICHAEL GREENE


@webdes03   mike-greene.com

More Related Content

Similar to Enhancing SharePoint 2010 for the iPad (SPSVB 2012)

Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
Utilizing jQuery in SharePoint: Get More Done Faster
Utilizing jQuery in SharePoint: Get More Done FasterUtilizing jQuery in SharePoint: Get More Done Faster
Utilizing jQuery in SharePoint: Get More Done FasterMark Rackley
 
SharePoint Development 101
SharePoint Development 101SharePoint Development 101
SharePoint Development 101Greg Hurlman
 
2013 URISA Track, Kickstarter for JavaScript Web and Mobile GIS Development b...
2013 URISA Track, Kickstarter for JavaScript Web and Mobile GIS Development b...2013 URISA Track, Kickstarter for JavaScript Web and Mobile GIS Development b...
2013 URISA Track, Kickstarter for JavaScript Web and Mobile GIS Development b...GIS in the Rockies
 
Cordova training : Day 5 - UI development using Framework7
Cordova training : Day 5 - UI development using Framework7Cordova training : Day 5 - UI development using Framework7
Cordova training : Day 5 - UI development using Framework7Binu Paul
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Rodolfo Finochietti
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty grittyMario Noble
 
Extending Spring MVC with Spring Mobile and JavaScript
Extending Spring MVC with Spring Mobile and JavaScriptExtending Spring MVC with Spring Mobile and JavaScript
Extending Spring MVC with Spring Mobile and JavaScriptRoy Clarkson
 
iOS 8 and iPhone 6 for web developers and designers
iOS 8 and iPhone 6 for web developers and designersiOS 8 and iPhone 6 for web developers and designers
iOS 8 and iPhone 6 for web developers and designersZhi Zhong
 
C3 웹기술로만드는모바일앱
C3 웹기술로만드는모바일앱C3 웹기술로만드는모바일앱
C3 웹기술로만드는모바일앱NAVER D2
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers dssprakash
 
Dojo mobile web5-2013
Dojo mobile web5-2013Dojo mobile web5-2013
Dojo mobile web5-2013cjolif
 
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
 
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
 
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure FunctionsSharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure FunctionsSébastien Levert
 
Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCritical Mass
 
Offline strategies for HTML5 web applications - IPC12
Offline strategies for HTML5 web applications - IPC12Offline strategies for HTML5 web applications - IPC12
Offline strategies for HTML5 web applications - IPC12Stephan Hochdörfer
 

Similar to Enhancing SharePoint 2010 for the iPad (SPSVB 2012) (20)

Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Web app
Web appWeb app
Web app
 
Utilizing jQuery in SharePoint: Get More Done Faster
Utilizing jQuery in SharePoint: Get More Done FasterUtilizing jQuery in SharePoint: Get More Done Faster
Utilizing jQuery in SharePoint: Get More Done Faster
 
SharePoint Development 101
SharePoint Development 101SharePoint Development 101
SharePoint Development 101
 
2013 URISA Track, Kickstarter for JavaScript Web and Mobile GIS Development b...
2013 URISA Track, Kickstarter for JavaScript Web and Mobile GIS Development b...2013 URISA Track, Kickstarter for JavaScript Web and Mobile GIS Development b...
2013 URISA Track, Kickstarter for JavaScript Web and Mobile GIS Development b...
 
Cordova training : Day 5 - UI development using Framework7
Cordova training : Day 5 - UI development using Framework7Cordova training : Day 5 - UI development using Framework7
Cordova training : Day 5 - UI development using Framework7
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty gritty
 
Extending Spring MVC with Spring Mobile and JavaScript
Extending Spring MVC with Spring Mobile and JavaScriptExtending Spring MVC with Spring Mobile and JavaScript
Extending Spring MVC with Spring Mobile and JavaScript
 
iOS 8 and iPhone 6 for web developers and designers
iOS 8 and iPhone 6 for web developers and designersiOS 8 and iPhone 6 for web developers and designers
iOS 8 and iPhone 6 for web developers and designers
 
C3 웹기술로만드는모바일앱
C3 웹기술로만드는모바일앱C3 웹기술로만드는모바일앱
C3 웹기술로만드는모바일앱
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
 
Dojo mobile web5-2013
Dojo mobile web5-2013Dojo mobile web5-2013
Dojo mobile web5-2013
 
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
 
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
 
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure FunctionsSharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
 
Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learn
 
Responsive SharePoint
Responsive SharePointResponsive SharePoint
Responsive SharePoint
 
Offline strategies for HTML5 web applications - IPC12
Offline strategies for HTML5 web applications - IPC12Offline strategies for HTML5 web applications - IPC12
Offline strategies for HTML5 web applications - IPC12
 
Spsmi13 charts
Spsmi13 chartsSpsmi13 charts
Spsmi13 charts
 

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
 
ATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best BetsATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best BetsMichael 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 (8)

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)
 
ATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best BetsATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best Bets
 
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

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Enhancing SharePoint 2010 for the iPad (SPSVB 2012)

  • 1. ENHANCING SHAREPOINT 2010 FOR THE IPAD January 7, 2012
  • 2.
  • 3. AGENDA • Device Orientation Detection • CSS Approach • Scripted Approach • Branding for Device Orientation Demo • Cross-Platform Video • HTML5 Video • Security Considerations 1/7/2012 Enhancing SharePoint 2010 for the iPad 3
  • 4. Core Concepts DEVICE ORIENTATION DETECTION 1/7/2012 Enhancing SharePoint 2010 for the iPad 4
  • 5. SHAREPOINT 2010 COMPATIBILITY • SharePoint 2010 is cross browser compatible out of the box • Fully Supported: IE7 (32bit), IE8 (32bit), IE9 (32bit) • Supported w/ Limitations: IE7 (64bit), IE8 (64bit), IE9 (64bit), Firefox 3.6 (Win & Non-Win), Safari 4.04 (non-Win) • Safari iPad != Is your custom markup cross browser compatible? iPod Safari iPhone Safari != 1/7/2012 Enhancing SharePoint 2010 for the iPad 5
  • 6. DEVICE ORIENTATION DETECTION • 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 1/7/2012 Enhancing SharePoint 2010 for the iPad 6
  • 7. Device Orientation Detection CSS APPROACH 1/7/2012 Enhancing SharePoint 2010 for the iPad 7
  • 8. CSS APPROACH • 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-wide branding 1/7/2012 Enhancing SharePoint 2010 for the iPad 8
  • 9. SUPPORTED ORIENTATIONS Portrait Landscape 1/7/2012 Enhancing SharePoint 2010 for the iPad 9
  • 10. ATTACHING STYLE SHEETS • 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]><! --> All style sheets should be attached after Core.css and custom CSS registrations. <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” media=“all and (orientation:landscape)” href=“landscape.css” /> <![endif]--> 1/7/2012 Enhancing SharePoint 2010 for the iPad 10
  • 11. EXAMPLES • Hide Quick Launch when • Hide any content with the device is in Portrait orientation “notPortrait” class; similar to ues of “s4-notdlg”. Portrait.css Portrait.css #s4-leftpanel { .notPortrait { display: none; display: none; } } .s4-ca { margin-left: 0px; } 1/7/2012 Enhancing SharePoint 2010 for the iPad 11
  • 12. Device Orientation Detection SCRIPTED APPROACH 1/7/2012 Enhancing SharePoint 2010 for the iPad 12
  • 13. SCRIPTED APPROACH • 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) 1/7/2012 Enhancing SharePoint 2010 for the iPad 13
  • 14. SUPPORTED ORIENTATIONS -90° 0° 90° 180° 1/7/2012 Enhancing SharePoint 2010 for the iPad 14
  • 15. SCRIPTING ORIENTATION DETECTION <script type=“text/javascript”> function ProcessOrientation(currentOrientation) { // Handle orientation processing if (currentOrientation == 0 || currentOrientation == 180) { // Is Portrait } else if (currentOrientation == 90 || currentOrientation == -90) { // Is Landscape } } var isiPad = navigator.userAgent.match(/iPad/i) != null; if (isiPad) { // Process only if true ProcessOrientation(window.orientation); // Process initial orientation window.onorientationchange = function() { // Process when orientation changes ProcessOrientation(window.orientation); } } </script> 1/7/2012 Enhancing SharePoint 2010 for the iPad 15
  • 16. EXAMPLES • Hide Quick Launch when • Hide any content with the device is in Portrait orientation “notPortrait” class; similar to ues of “s4-notdlg”. jQuery jQuery if (Portrait) { if (Portrait) { $(“#s4-leftpanel”).hide(); $(“.notPortrait”).hide(); $(“.s4-ca”).css(“marginLeft”, 0); } } if (Landscape) { if (Landscape) { $(“.notPortrait”).show(); $(“#s4-leftpanel”).show(); } $(“.s4-ca”).css(“marginLeft”, “150px”); } 1/7/2012 Enhancing SharePoint 2010 for the iPad 16
  • 17. ADVANCED EXAMPLES • Hide Quick Launch with • Move contents of one animation when device is in container to another, and back Portrait orientation again jQuery jQuery if (Portrait) { if (Portrait) { $(“#s4-leftpanel”).animate( $(“#C1”).clone().appendTo(“#C2”); [“left”: “=-150px”], “slow” $(“#C1”).html(“”); ); } $(“.s4-ca”).animate( if (Landscape) { [“marginLeft”: “0px”], “slow” $(“#C2”).clone().appendTo(“#C1”); ); $(“#C2”).html(“”); } } if (Landscape) { $(“#s4-leftpanel”).animate( [“left”: “=+150px”], “slow” ); $(“.s4-ca”).animate( [“marginLeft”: “150px”], “slow” ); } 1/7/2012 Enhancing SharePoint 2010 for the iPad 17
  • 18. ADVANCED EXAMPLES • Hide Quick Launch with • Move contents of one animationSales when device is in container to another, and back Portrait orientation again Chart Title Sales 1st Qtr jQuery 2nd Qtr jQuery jQuery 3rd Qtr if (Portrait) { if (Portrait) { if (Portrait) { $(“#s4-leftpanel”).animate( Qtr 4th $(“#C1”).clone().appendTo(“#C2”); Qtr 1st $(“#C1”).clone().appendTo(“#C2”); [“left”: “=-150px”], “slow” $(“#C1”).html(“”); $(“#C1”).html(“”); 2nd Qtr ); }} 3rd Qtr Chart Title if (Landscape) { $(“.s4-ca”).animate( if (Landscape) { 4th Qtr $(“#C2”).clone().appendTo(“#C1”); [“marginLeft”: “0px”], “slow” $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”); ); } $(“#C2”).html(“”); Cat 1 Cat 2 Cat 3 Cat 4 } } if (Landscape) { $(“#s4-leftpanel”).animate( Cat 1 Cat 2 Cat 3 Cat 4 [“left”: “=+150px”], “slow” ); $(“.s4-ca”).animate( [“marginLeft”: “150px”], “slow” ); } 1/7/2012 Enhancing SharePoint 2010 for the iPad 18
  • 19. Demonstration BRANDING WITH DEVICE ORIENTATION 1/7/2012 Enhancing SharePoint 2010 for the iPad 19
  • 20. Cross-Platform Video HTML5 1/7/2012 Enhancing SharePoint 2010 for the iPad 20
  • 21. HTML5 VIDEO • No third party plugin support on the iPad, only option for embedded video is use of HTML5 • HTML5 standard dictates support for embedded video with <video> tag • HTML5 does NOT standardize video format IE Firefox Safari Chrom Opera iOS e Ogg   3.5+ ‡  5.0+  10.5+  (Theora/Vorbis) H.264/AAC/MP4    3.0+  5.0+   3.0+  9.0†  ‡  6.0+  10.6+  WebM will render and video format supported by QuickTime; support for H.264/AACMP4 is ‡ Safari shipped with QuickTime while other formats require additional client-side plugins. † WebM video format available in IE9 with downloaded codec. 1/7/2012 Enhancing SharePoint 2010 for the iPad 21
  • 22. HTML5 VIDEO TAG <video width=“640” height=“360” controls> <!-- MP4 file must be first for iPad compatibility --> <source src=“video.mp4” type=“video/mp4” /> <!-- Safari/iOS --> <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 --> <img src=“video.jpg” width=“640” height=“360” alt=“title” title=“Can’t Play Video” /> </object> </video> 1/7/2012 Enhancing SharePoint 2010 for the iPad 22
  • 23. SECURITY CONSIDERATIONS • 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 1/7/2012 Enhancing SharePoint 2010 for the iPad 23
  • 25. MICHAEL GREENE @webdes03 mike-greene.com

Editor's Notes

  1. Idera, $199 per user
  2. Idera, $199 per user