SlideShare a Scribd company logo
ENHANCING SHAREPOINT 2010
      FOR THE IPAD




        January 21, 2012
Thank you for being a part of the first
         SharePoint Saturday Austin
• Please turn off all electronic devices or set them to
  vibrate.
• If you must take a phone call, please do so in the hall so
  as not to disturb others.
• Open wireless access is available with no password
• Feel free to “tweet and blog” during the session
• Thanks to our Title Sponsors:
THANKS TO OUR OTHER SPONSORS!
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   4
Core Concepts

           DEVICE ORIENTATION DETECTION


1/7/2012               Enhancing SharePoint 2010 for the iPad   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               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   7
Device Orientation Detection

           CSS APPROACH


1/7/2012                 Enhancing SharePoint 2010 for the iPad   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   9
SUPPORTED ORIENTATIONS


                          Portrait                       Landscape




1/7/2012        Enhancing SharePoint 2010 for the iPad    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          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                  12
Device Orientation Detection

           SCRIPTED APPROACH


1/7/2012                 Enhancing SharePoint 2010 for the iPad   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   14
SUPPORTED ORIENTATIONS


            -90°                        0°                  90°   180°




1/7/2012           Enhancing SharePoint 2010 for the iPad    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          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                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               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                  19
Demonstration

           BRANDING WITH DEVICE
           ORIENTATION

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

           HTML5


1/7/2012                Enhancing SharePoint 2010 for the iPad   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             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        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   24
QUESTIONS?
MICHAEL GREENE


@webdes03   mike-greene.com

More Related Content

What's hot

Writing an extensible web testing framework ready for the cloud slide share
Writing an extensible web testing framework ready for the cloud   slide shareWriting an extensible web testing framework ready for the cloud   slide share
Writing an extensible web testing framework ready for the cloud slide share
Mike Ensor
 
What IS SharePoint Development?
What IS SharePoint Development?What IS SharePoint Development?
What IS SharePoint Development?
Mark Rackley
 
#1 - HTML5 Overview
#1 - HTML5 Overview#1 - HTML5 Overview
#1 - HTML5 Overview
iloveigloo
 
SPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesSPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesMark Rackley
 
SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointSPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePoint
Mark Rackley
 
What is SharePoint Development??
What is SharePoint Development??What is SharePoint Development??
What is SharePoint Development??Mark Rackley
 
Grails patterns and practices
Grails patterns and practicesGrails patterns and practices
Grails patterns and practices
paulbowler
 

What's hot (7)

Writing an extensible web testing framework ready for the cloud slide share
Writing an extensible web testing framework ready for the cloud   slide shareWriting an extensible web testing framework ready for the cloud   slide share
Writing an extensible web testing framework ready for the cloud slide share
 
What IS SharePoint Development?
What IS SharePoint Development?What IS SharePoint Development?
What IS SharePoint Development?
 
#1 - HTML5 Overview
#1 - HTML5 Overview#1 - HTML5 Overview
#1 - HTML5 Overview
 
SPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesSPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery Libraries
 
SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointSPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePoint
 
What is SharePoint Development??
What is SharePoint Development??What is SharePoint Development??
What is SharePoint Development??
 
Grails patterns and practices
Grails patterns and practicesGrails patterns and practices
Grails patterns and practices
 

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

SharePoint Development 101
SharePoint Development 101SharePoint Development 101
SharePoint Development 101Greg Hurlman
 
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
Binu Paul
 
Resume ankur new
Resume ankur newResume ankur new
Resume ankur new
Ankur bhardwaj
 
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
Rodolfo Finochietti
 
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
Mark Rackley
 
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
Sébastien Levert
 
Dojo mobile web5-2013
Dojo mobile web5-2013Dojo mobile web5-2013
Dojo mobile web5-2013cjolif
 
Jornata llc sps baltimore 2012 - share point branding
Jornata llc   sps baltimore 2012 - share point brandingJornata llc   sps baltimore 2012 - share point branding
Jornata llc sps baltimore 2012 - share point brandingjcsturges
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
Jonathan Snook
 
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365
Fabio Franzini
 
Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCritical Mass
 
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
Roy Clarkson
 
Creating Data Driven Web Apps with BIRT - Michael Williams
Creating Data Driven Web Apps with BIRT - Michael WilliamsCreating Data Driven Web Apps with BIRT - Michael Williams
Creating Data Driven Web Apps with BIRT - Michael Williams
jaxconf
 
SharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGSharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUG
Ed Musters
 
SharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGSharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUG
Ed Musters
 

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

SharePoint Development 101
SharePoint Development 101SharePoint Development 101
SharePoint Development 101
 
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
 
Resume ankur new
Resume ankur newResume ankur new
Resume ankur new
 
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
 
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 Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
 
Dojo mobile web5-2013
Dojo mobile web5-2013Dojo mobile web5-2013
Dojo mobile web5-2013
 
Responsive SharePoint
Responsive SharePointResponsive SharePoint
Responsive SharePoint
 
Jornata llc sps baltimore 2012 - share point branding
Jornata llc   sps baltimore 2012 - share point brandingJornata llc   sps baltimore 2012 - share point branding
Jornata llc sps baltimore 2012 - share point branding
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
REHAN
REHANREHAN
REHAN
 
Web app
Web appWeb app
Web app
 
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365
 
Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learn
 
Web app
Web appWeb app
Web app
 
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
 
Creating Data Driven Web Apps with BIRT - Michael Williams
Creating Data Driven Web Apps with BIRT - Michael WilliamsCreating Data Driven Web Apps with BIRT - Michael Williams
Creating Data Driven Web Apps with BIRT - Michael Williams
 
SharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGSharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUG
 
SharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGSharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUG
 
Areeb CV
Areeb CVAreeb CV
Areeb CV
 

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 2016
Michael 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 2016
Michael 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 & O365
Michael 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
 
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 - SPSRIC
Michael Greene
 

More from Michael Greene (9)

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

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 

Enhancing SharePoint 2010 for the iPad (SPSAusTX 2012)

  • 1. ENHANCING SHAREPOINT 2010 FOR THE IPAD January 21, 2012
  • 2. Thank you for being a part of the first SharePoint Saturday Austin • Please turn off all electronic devices or set them to vibrate. • If you must take a phone call, please do so in the hall so as not to disturb others. • Open wireless access is available with no password • Feel free to “tweet and blog” during the session • Thanks to our Title Sponsors:
  • 3. THANKS TO OUR OTHER SPONSORS!
  • 4. 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 4
  • 5. Core Concepts DEVICE ORIENTATION DETECTION 1/7/2012 Enhancing SharePoint 2010 for the iPad 5
  • 6. 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 6
  • 7. 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 7
  • 8. Device Orientation Detection CSS APPROACH 1/7/2012 Enhancing SharePoint 2010 for the iPad 8
  • 9. 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 9
  • 10. SUPPORTED ORIENTATIONS Portrait Landscape 1/7/2012 Enhancing SharePoint 2010 for the iPad 10
  • 11. 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 11
  • 12. 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 12
  • 13. Device Orientation Detection SCRIPTED APPROACH 1/7/2012 Enhancing SharePoint 2010 for the iPad 13
  • 14. 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 14
  • 15. SUPPORTED ORIENTATIONS -90° 0° 90° 180° 1/7/2012 Enhancing SharePoint 2010 for the iPad 15
  • 16. 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 16
  • 17. 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 17
  • 18. 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 18
  • 19. 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 19
  • 20. Demonstration BRANDING WITH DEVICE ORIENTATION 1/7/2012 Enhancing SharePoint 2010 for the iPad 20
  • 21. Cross-Platform Video HTML5 1/7/2012 Enhancing SharePoint 2010 for the iPad 21
  • 22. 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 22
  • 23. 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 23
  • 24. 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 24
  • 26. MICHAEL GREENE @webdes03 mike-greene.com

Editor's Notes

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