SlideShare a Scribd company logo
1 of 26
Richmond SharePoint User Group
October 31, 2012
ENHANCING SHAREPOINT 2010
FOR THE IPAD
• Location
• Born & Raised in Upstate, New York
• Currently Live in Raleigh, North Carolina
• Professional Experience
• Working w/ SharePoint since 2007
• Consulting since 2010
• Public web design since 2003
• Hobbies
• SharePoint Saturday/UG Speaker
RIC, VB, ATL, AUS, TPA, RDU
• Photography
• Travel
6/6/2014 2Enhancing SharePoint 2010 for the iPad
MICHAEL GREENE
• Device Orientation Detection
• CSS Approach
• Scripted Approach
• Branding for Device Orientation Demo
• Cross-Platform Video
• HTML5 Video
• Security Considerations
6/6/2014 3Enhancing SharePoint 2010 for the iPad
AGENDA
DEVICE ORIENTATION DETECTION
Core Concepts
6/6/2014 4Enhancing SharePoint 2010 for the iPad
• SharePoint 2010 is cross browser compatible out of the box
http://technet.microsoft.com/en-us/library/cc263526.aspx
• Fully Supported: IE7 (32bit), IE8 (32bit), IE9 (32bit),
Google Chrome (latest version),
Mozilla Firefox (latest version)
• Supported w/ Limitations: IE7 (64bit), IE8 (64bit), IE9 (64bit),
Apple Safari (latest version)
• Supported Mobile Platforms: Windows Phone 7.0+, iOS 4.0+,
Android 2.1+, BB 4.0+, Symbian 3+
6/6/2014 5Enhancing SharePoint 2010 for the iPad
SHAREPOINT 2010 COMPATIBILITY
Safari iPad != Safari iPhone != Safari iPod
• 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
6/6/2014 6Enhancing SharePoint 2010 for the iPad
DEVICE ORIENTATION DETECTION
CSS APPROACH
Device Orientation Detection
6/6/2014 7Enhancing SharePoint 2010 for the iPad
• 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
6/6/2014 8Enhancing SharePoint 2010 for the iPad
CSS APPROACH
6/6/2014 9Enhancing SharePoint 2010 for the iPad
SUPPORTED ORIENTATIONS
Portrait Landscape
6/6/2014 10Enhancing SharePoint 2010 for the iPad
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]><! -->
<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]-->
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
ues of “s4-notdlg”.
EXAMPLES
6/6/2014 11Enhancing SharePoint 2010 for the iPad
#s4-leftpanel {
display: none;
}
.s4-ca {
margin-left: 0px;
}
Portrait.css
.notPortrait {
display: none;
}
Portrait.css
• Responsive Web Design (RWD) leverages CSS3 media queries to
adapt to the user’s platform and resolution.
• Paired with a fluid grid using percentages and Ems as opposed to
fixed units (pixels or points).
• Must account for all browser sizes if using min/max-width
6/6/2014 12Enhancing SharePoint 2010 for the iPad
RESPONSIVE DESIGN
@media screen and (orientation:portrait) {
#s4-leftpanel { display: none; }
.s4-ca { margin-left: 0px; }
}
SCRIPTED APPROACH
Device Orientation Detection
6/6/2014 13Enhancing SharePoint 2010 for the iPad
• 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)
6/6/2014 14Enhancing SharePoint 2010 for the iPad
SCRIPTED APPROACH
6/6/2014 15Enhancing SharePoint 2010 for the iPad
SUPPORTED ORIENTATIONS
0° 90° 180°-90°
6/6/2014 16Enhancing SharePoint 2010 for the iPad
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>
• Hide Quick Launch when
device is in Portrait orientation
• Hide any content with the
“notPortrait” class; similar to
ues of “s4-notdlg”.
EXAMPLES
6/6/2014 17Enhancing SharePoint 2010 for the iPad
if (Portrait) {
$(“#s4-leftpanel”).hide();
$(“.s4-ca”).css(“marginLeft”, 0);
}
if (Landscape) {
$(“#s4-leftpanel”).show();
$(“.s4-ca”).css(“marginLeft”, “150px”);
}
jQuery
if (Portrait) {
$(“.notPortrait”).hide();
}
if (Landscape) {
$(“.notPortrait”).show();
}
jQuery
• Hide Quick Launch with
animation when device is in
Portrait orientation
• Move contents of one
container to another, and back
again
ADVANCED EXAMPLES
6/6/2014 18Enhancing SharePoint 2010 for the iPad
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”
);
}
jQuery
if (Portrait) {
$(“#C1”).clone().appendTo(“#C2”);
$(“#C1”).html(“”);
}
if (Landscape) {
$(“#C2”).clone().appendTo(“#C1”);
$(“#C2”).html(“”);
}
jQuery
• Hide Quick Launch with
animation when device is in
Portrait orientation
• Move contents of one
container to another, and back
again
ADVANCED EXAMPLES
6/6/2014 19Enhancing SharePoint 2010 for the iPad
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”
);
}
jQuery
if (Portrait) {
$(“#C1”).clone().appendTo(“#C2”);
$(“#C1”).html(“”);
}
if (Landscape) {
$(“#C2”).clone().appendTo(“#C1”);
$(“#C2”).html(“”);
}
jQuery
if (Portrait) {
$(“#C1”).clone().appendTo(“#C2”);
$(“#C1”).html(“”);
}
if (Landscape) {
$(“#C2”).clone().appendTo(“#C1”);
$(“#C2”).html(“”);
}
jQuery
Sales
1st Qtr
2nd Qtr
3rd Qtr
4th Qtr
Cat 1 Cat 2 Cat 3 Cat 4
Chart Title
Cat 1 Cat 2 Cat 3 Cat 4
Chart Title Sales
1st Qtr
2nd Qtr
3rd Qtr
4th Qtr
BRANDING WITH DEVICE
ORIENTATION
Demonstration
6/6/2014 20Enhancing SharePoint 2010 for the iPad
HTML5
Cross-Platform Video
6/6/2014 21Enhancing SharePoint 2010 for the iPad
• 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
6/6/2014 22Enhancing SharePoint 2010 for the iPad
HTML5 VIDEO
IE Firefox Safari Chrom
e
Opera iOS
Ogg
(Theora/Vorbis)
  3.5+  ‡  5.0+  10.5+ 
H.264/AAC/MP4  9.0+   3.0+  5.0+   3.0+
WebM   3.5+  ‡  6.0+  10.6+ ‡ 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.
6/6/2014 23Enhancing SharePoint 2010 for the iPad
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>
• 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
6/6/2014 24Enhancing SharePoint 2010 for the iPad
SECURITY CONSIDERATIONS
QUESTIONS?
MICHAEL GREENE
@webdes03 mike-greene.com

More Related Content

What's hot

High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
C5 Insight
 

What's hot (20)

The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
 
Powell Software - Digital Workplace Offering - December 2018
Powell Software - Digital Workplace Offering - December 2018Powell Software - Digital Workplace Offering - December 2018
Powell Software - Digital Workplace Offering - December 2018
 
Powell Software - Digital Workplace Software
Powell Software - Digital Workplace SoftwarePowell Software - Digital Workplace Software
Powell Software - Digital Workplace Software
 
Powell 365 - Intranet Product Overview
Powell 365 - Intranet Product Overview Powell 365 - Intranet Product Overview
Powell 365 - Intranet Product Overview
 
AdditionalPageHead1
AdditionalPageHead1AdditionalPageHead1
AdditionalPageHead1
 
Powell 365 - Case Study Webhelp
Powell 365 - Case Study WebhelpPowell 365 - Case Study Webhelp
Powell 365 - Case Study Webhelp
 
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
SharePointFest 2013 Washington DC - WF 204 - Build scalable SharePoint 2013 S...
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
 
Powell 365 - The Digital Workplace for Office 365 & SharePoint
Powell 365 - The Digital Workplace for Office 365 & SharePointPowell 365 - The Digital Workplace for Office 365 & SharePoint
Powell 365 - The Digital Workplace for Office 365 & SharePoint
 
Enhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web DesignEnhance SharePoint 2013 with Responsive Web Design
Enhance SharePoint 2013 with Responsive Web Design
 
Image Slider with SharePoint 2013 Search Results Web Part
Image Slider with SharePoint 2013 Search Results Web PartImage Slider with SharePoint 2013 Search Results Web Part
Image Slider with SharePoint 2013 Search Results Web Part
 
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
WF 103 - Build scalable SharePoint 2013 Staged Workflows to run locally and i...
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
 
Penny coventry auto-bp-spsbe31
Penny coventry auto-bp-spsbe31Penny coventry auto-bp-spsbe31
Penny coventry auto-bp-spsbe31
 
Getting Started With SharePoint REST API in Nintex Workflows for Office 365 I...
Getting Started With SharePoint REST API in Nintex Workflows for Office 365 I...Getting Started With SharePoint REST API in Nintex Workflows for Office 365 I...
Getting Started With SharePoint REST API in Nintex Workflows for Office 365 I...
 
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic AppsBuilding Business Applications in Office 365 SharePoint Online Using Logic Apps
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
OFF 103 - Build a Public Website on Office 365
OFF 103 - Build a Public Website on Office 365OFF 103 - Build a Public Website on Office 365
OFF 103 - Build a Public Website on Office 365
 
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesSharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
 
How to develop maintainable custom Workflows in Office365 SharePoint online 2...
How to develop maintainable custom Workflows in Office365 SharePoint online 2...How to develop maintainable custom Workflows in Office365 SharePoint online 2...
How to develop maintainable custom Workflows in Office365 SharePoint online 2...
 

Similar to Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)

Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePoint
Talbott Crowell
 
Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learn
Critical Mass
 

Similar to Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012) (20)

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
 
Raj Kumar Rurhi-Resume
Raj Kumar Rurhi-ResumeRaj Kumar Rurhi-Resume
Raj Kumar Rurhi-Resume
 
Raj Kumar Rurhi-Resume
Raj Kumar Rurhi-ResumeRaj Kumar Rurhi-Resume
Raj Kumar Rurhi-Resume
 
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
 
Safari Web Content Guide
Safari Web Content GuideSafari Web Content Guide
Safari Web Content Guide
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePoint
 
Branding Modern SharePoint
Branding Modern SharePointBranding Modern SharePoint
Branding Modern SharePoint
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
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
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
Resume
ResumeResume
Resume
 
SharePoint Usability and Accesibility Best Practices Including 508 Compliance...
SharePoint Usability and Accesibility Best Practices Including 508 Compliance...SharePoint Usability and Accesibility Best Practices Including 508 Compliance...
SharePoint Usability and Accesibility Best Practices Including 508 Compliance...
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
 
Building solutions with SPFx that work across SharePoint and Teams
Building solutions with SPFx that work across SharePoint and TeamsBuilding solutions with SPFx that work across SharePoint and Teams
Building solutions with SPFx that work across SharePoint and Teams
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learn
 
REHAN
REHANREHAN
REHAN
 
Dashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BIDashboarding with Microsoft: Datazen & Power BI
Dashboarding with Microsoft: Datazen & Power BI
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding options
 

More from Michael Greene

ATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best BetsATLSPUG - SharePoint Branding Best Bets
ATLSPUG - SharePoint Branding Best Bets
Michael 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
 
SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad
SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPadSharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad
SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad
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
 
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
 
SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad
SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPadSharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad
SharePoint Saturday Tampa, Enhancing SharePoint 2010 for the iPad
 
Enhancing SharePoint 2010 for the iPad
Enhancing SharePoint 2010 for the iPadEnhancing SharePoint 2010 for the iPad
Enhancing SharePoint 2010 for the iPad
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Enhancing SharePoint 2010 for the iPad (Richmond SPUG 10/31/2012)

  • 1. Richmond SharePoint User Group October 31, 2012 ENHANCING SHAREPOINT 2010 FOR THE IPAD
  • 2. • Location • Born & Raised in Upstate, New York • Currently Live in Raleigh, North Carolina • Professional Experience • Working w/ SharePoint since 2007 • Consulting since 2010 • Public web design since 2003 • Hobbies • SharePoint Saturday/UG Speaker RIC, VB, ATL, AUS, TPA, RDU • Photography • Travel 6/6/2014 2Enhancing SharePoint 2010 for the iPad MICHAEL GREENE
  • 3. • Device Orientation Detection • CSS Approach • Scripted Approach • Branding for Device Orientation Demo • Cross-Platform Video • HTML5 Video • Security Considerations 6/6/2014 3Enhancing SharePoint 2010 for the iPad AGENDA
  • 4. DEVICE ORIENTATION DETECTION Core Concepts 6/6/2014 4Enhancing SharePoint 2010 for the iPad
  • 5. • SharePoint 2010 is cross browser compatible out of the box http://technet.microsoft.com/en-us/library/cc263526.aspx • Fully Supported: IE7 (32bit), IE8 (32bit), IE9 (32bit), Google Chrome (latest version), Mozilla Firefox (latest version) • Supported w/ Limitations: IE7 (64bit), IE8 (64bit), IE9 (64bit), Apple Safari (latest version) • Supported Mobile Platforms: Windows Phone 7.0+, iOS 4.0+, Android 2.1+, BB 4.0+, Symbian 3+ 6/6/2014 5Enhancing SharePoint 2010 for the iPad SHAREPOINT 2010 COMPATIBILITY Safari iPad != Safari iPhone != Safari iPod
  • 6. • 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 6/6/2014 6Enhancing SharePoint 2010 for the iPad DEVICE ORIENTATION DETECTION
  • 7. CSS APPROACH Device Orientation Detection 6/6/2014 7Enhancing SharePoint 2010 for the iPad
  • 8. • 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 6/6/2014 8Enhancing SharePoint 2010 for the iPad CSS APPROACH
  • 9. 6/6/2014 9Enhancing SharePoint 2010 for the iPad SUPPORTED ORIENTATIONS Portrait Landscape
  • 10. 6/6/2014 10Enhancing SharePoint 2010 for the iPad 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]><! --> <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]--> All style sheets should be attached after Core.css and custom CSS registrations.
  • 11. • Hide Quick Launch when device is in Portrait orientation • Hide any content with the “notPortrait” class; similar to ues of “s4-notdlg”. EXAMPLES 6/6/2014 11Enhancing SharePoint 2010 for the iPad #s4-leftpanel { display: none; } .s4-ca { margin-left: 0px; } Portrait.css .notPortrait { display: none; } Portrait.css
  • 12. • Responsive Web Design (RWD) leverages CSS3 media queries to adapt to the user’s platform and resolution. • Paired with a fluid grid using percentages and Ems as opposed to fixed units (pixels or points). • Must account for all browser sizes if using min/max-width 6/6/2014 12Enhancing SharePoint 2010 for the iPad RESPONSIVE DESIGN @media screen and (orientation:portrait) { #s4-leftpanel { display: none; } .s4-ca { margin-left: 0px; } }
  • 13. SCRIPTED APPROACH Device Orientation Detection 6/6/2014 13Enhancing SharePoint 2010 for the iPad
  • 14. • 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) 6/6/2014 14Enhancing SharePoint 2010 for the iPad SCRIPTED APPROACH
  • 15. 6/6/2014 15Enhancing SharePoint 2010 for the iPad SUPPORTED ORIENTATIONS 0° 90° 180°-90°
  • 16. 6/6/2014 16Enhancing SharePoint 2010 for the iPad 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>
  • 17. • Hide Quick Launch when device is in Portrait orientation • Hide any content with the “notPortrait” class; similar to ues of “s4-notdlg”. EXAMPLES 6/6/2014 17Enhancing SharePoint 2010 for the iPad if (Portrait) { $(“#s4-leftpanel”).hide(); $(“.s4-ca”).css(“marginLeft”, 0); } if (Landscape) { $(“#s4-leftpanel”).show(); $(“.s4-ca”).css(“marginLeft”, “150px”); } jQuery if (Portrait) { $(“.notPortrait”).hide(); } if (Landscape) { $(“.notPortrait”).show(); } jQuery
  • 18. • Hide Quick Launch with animation when device is in Portrait orientation • Move contents of one container to another, and back again ADVANCED EXAMPLES 6/6/2014 18Enhancing SharePoint 2010 for the iPad 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” ); } jQuery if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”); } if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”); } jQuery
  • 19. • Hide Quick Launch with animation when device is in Portrait orientation • Move contents of one container to another, and back again ADVANCED EXAMPLES 6/6/2014 19Enhancing SharePoint 2010 for the iPad 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” ); } jQuery if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”); } if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”); } jQuery if (Portrait) { $(“#C1”).clone().appendTo(“#C2”); $(“#C1”).html(“”); } if (Landscape) { $(“#C2”).clone().appendTo(“#C1”); $(“#C2”).html(“”); } jQuery Sales 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr Cat 1 Cat 2 Cat 3 Cat 4 Chart Title Cat 1 Cat 2 Cat 3 Cat 4 Chart Title Sales 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
  • 20. BRANDING WITH DEVICE ORIENTATION Demonstration 6/6/2014 20Enhancing SharePoint 2010 for the iPad
  • 21. HTML5 Cross-Platform Video 6/6/2014 21Enhancing SharePoint 2010 for the iPad
  • 22. • 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 6/6/2014 22Enhancing SharePoint 2010 for the iPad HTML5 VIDEO IE Firefox Safari Chrom e Opera iOS Ogg (Theora/Vorbis)   3.5+  ‡  5.0+  10.5+  H.264/AAC/MP4  9.0+   3.0+  5.0+   3.0+ WebM   3.5+  ‡  6.0+  10.6+ ‡ 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.
  • 23. 6/6/2014 23Enhancing SharePoint 2010 for the iPad 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>
  • 24. • 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 6/6/2014 24Enhancing SharePoint 2010 for the iPad SECURITY CONSIDERATIONS