SlideShare a Scribd company logo
Responsive Design with Visualforce 
and Twitter Bootstrap 
Keir Bowden 
CTO, BrightGen 
@bob_buzzard
Safe Harbor 
Safe harbor statement under the Private Securities Litigation Reform Act of 1995: 
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of 
the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking 
statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service 
availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future 
operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of 
our services. 
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, 
new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or 
delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and 
acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and 
manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization 
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our 
annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and 
others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. 
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be 
delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. 
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Keir Bowden 
CTO, BrightGen
Agenda 
What 
What 
Why 
How 
Bootstrap 
Demo
What is Responsive Design 
“Provide an optimal viewing experience – easy reading and navigation with a 
minimum of resizing, panning and scrolling – across a wide range of devices” 
Wikipedia 
• Pages respond to device 
– Viewport size 
– Orientation 
• Term coined by Ethan Marcotte 
– http://bobbuzz.me.uk/1hI879K
TL;DL 
• http://bobbuzz.me.uk/1qECQ1A
Agenda 
What 
Why 
Why 
How 
Bootstrap 
Demo
Why use Responsive Design? 
• One site to rule them all 
– DRY 
– Visitor Tracking 
– Would need many m. sites 
• Google’s Recommended Approach (SEO) 
– Easier to crawl 
– Better for the link algorithm 
– http://bobbuzz.me.uk/1g7G3wV
Agenda 
What 
Why 
How 
How 
Bootstrap 
Demo
Cornerstone 1 – Viewport Meta Tag 
• Viewport Meta Tag 
<meta name="viewport” 
content="width=device-width, initial-scale=1.0”> 
</meta> 
• width=device-width 
– Report actual size of device 
• initial-scale=1.0 
– Display page actual size 
• user-scalable=no
Cornerstone 2 – Fluid Grid
Reflow 
1 2 3 4 5 6 7 8 9 10 11 12 
1 2 3 4 5 6 7 8 9 10 11 12 
1 
2 
3 
4
Cornerstone 3 - CSS Media Queries 
• Expression Limiting Scope of CSS 
.sidebar { 
display: none; 
} 
@media (min-width: 1024px) { 
.sidebar { 
display: block; 
} 
}
Agenda 
What 
Why 
How 
Bootstrap 
Demo 
Bootstrap
Bootstrap 
• Responsive Front End Framework 
• HTML, CSS and JavaScript 
• Mobile First 
http://getbootstrap.com 
• Number 1 project on GitHub (forks/stars)
Fluid Grid 
• 12 column default 
• 4 Breakpoints 
– Large > 1200px 
– Medium > 992px 
– Small > 768px 
– Extra Small < 768x 
• Column Span Style Classes 
– col-md-6 
– col-xs-12
Visualforce + Bootstrap 
• Visualforce is container 
– Thin wrapper around HTML markup 
– Provides access to data 
• Minimal Page Generation 
– No <head>, <body> tags 
– Exclude standard style sheets
Visualforce + Bootstrap 
• Avoid Most Standard Components 
– No <apex:pageblock /> – not responsive 
– <apex:includeScript>, <apex:stylesheet/> 
– <apex:outputText> 
– <apex:repeat /> 
• Forms versus Remoting 
– Remoting = fast 
– Forms + rerender = DOM manipulation
Agenda 
What 
Why 
How 
Bootstrap 
DDeemmoo
Demo 
• Blog landing page 
– Recent posts 
– Comments 
– Search 
– Social media 
• http://bobbuzz.me.uk/SF1RD 
• Github : http://bobbuzz.me.uk/SF1GH
Code 
12 
Post 
Post 
Post 
Search 
About 
9 3 
Post 
Post 
Post 
Search 
About
Code
Code
Challenge - Images 
• Desktop images can be large 
• Use bandwidth, memory 
• In 2012, a survey found that 86% of sites deliver the same content regardless of 
device: 
– http://bobbuzz.me.uk/1kMbZs9
Solution - Images 
• Download and hide 
– All images, every device 
– Only show subset 
• Download and shrink 
– One image, resized 
– Wasteful
Future Solution - Images 
• HTML5 Picture element 
– Multiple images on server 
– Client loads best image for device 
<picture> 
<source media="(min-width: 1024px)” src=”large_image”></source> 
<source media="(min-width: 768px)” src=“medium_image”></source> 
<source src=“small_image"></source> 
<img src=“fallback_image"></img> 
</picture> 
• http://caniuse.com/#feat=picture 
– Chrome/Opera – experimental 
– Firefox – configure preference
Solution - Images 
• Picturefill, by Scott Jehl 
– Multiple images on server 
– Client loads best image for device 
– Uses JavaScript – image loaded after DOM ready 
<span data-picture="1" data-alt=”BlogImage"> 
<span data-src=”large_image" data-media="(min-width: 1024px)"></span> 
<span data-src=“medium_image" data-media="(min-width: 768px)"></span> 
<span data-src=“small_image"></span> 
</span> 
• http://bobbuzz.me.uk/RIcMD2
Dreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap
Ad

More Related Content

What's hot (20)

Twitter bootstrap force.com site and responsive design
Twitter bootstrap   force.com site and responsive designTwitter bootstrap   force.com site and responsive design
Twitter bootstrap force.com site and responsive design
Steven Herod
 
Salesforce1 UX Overview for ISVs and Partners
Salesforce1 UX Overview for ISVs and PartnersSalesforce1 UX Overview for ISVs and Partners
Salesforce1 UX Overview for ISVs and Partners
Salesforce Partners
 
Force.com Friday: Intro to Visualforce (May 8, 2015)
Force.com Friday: Intro to Visualforce (May 8, 2015)Force.com Friday: Intro to Visualforce (May 8, 2015)
Force.com Friday: Intro to Visualforce (May 8, 2015)
Salesforce Developers
 
Snap-in Service to Web and Mobile Apps
Snap-in Service to Web and Mobile AppsSnap-in Service to Web and Mobile Apps
Snap-in Service to Web and Mobile Apps
Salesforce Developers
 
Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Intro to Building Mobile Apps with Salesforce1: No Code Required WebinarIntro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Salesforce Developers
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Salesforce Developers
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Salesforce Developers
 
Intro to Salesforce1 Mobile App Development Webinar
Intro to Salesforce1 Mobile App Development WebinarIntro to Salesforce1 Mobile App Development Webinar
Intro to Salesforce1 Mobile App Development Webinar
Salesforce Developers
 
Build custom user interfaces for your Salesforce data with the UI API
 Build custom user interfaces for your Salesforce data with the UI API Build custom user interfaces for your Salesforce data with the UI API
Build custom user interfaces for your Salesforce data with the UI API
Salesforce Developers
 
Embed Customer Support into your Apps with Snap-ins
Embed Customer Support into your Apps with Snap-insEmbed Customer Support into your Apps with Snap-ins
Embed Customer Support into your Apps with Snap-ins
Salesforce Developers
 
Build Better Communities with Lightning
Build Better Communities with LightningBuild Better Communities with Lightning
Build Better Communities with Lightning
Salesforce Developers
 
Using Design System in Lightning Components
Using Design System in Lightning ComponentsUsing Design System in Lightning Components
Using Design System in Lightning Components
Salesforce Developers
 
Mastering Force.com: Advanced Visualforce
Mastering Force.com: Advanced VisualforceMastering Force.com: Advanced Visualforce
Mastering Force.com: Advanced Visualforce
Salesforce Developers
 
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
Salesforce Partners
 
Diving Into Heroku Private Spaces
Diving Into Heroku Private SpacesDiving Into Heroku Private Spaces
Diving Into Heroku Private Spaces
Salesforce Developers
 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling API
Jeff Douglas
 
Build Apps Visually with Lightning App Builder
Build Apps Visually with Lightning App BuilderBuild Apps Visually with Lightning App Builder
Build Apps Visually with Lightning App Builder
Salesforce Developers
 
Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)
Salesforce Partners
 
Winter'18 Developer Preview Webinar
Winter'18 Developer Preview WebinarWinter'18 Developer Preview Webinar
Winter'18 Developer Preview Webinar
Salesforce Developers
 
AppExchange for Components (General Components Information)
AppExchange for Components (General Components Information)AppExchange for Components (General Components Information)
AppExchange for Components (General Components Information)
Salesforce Partners
 
Twitter bootstrap force.com site and responsive design
Twitter bootstrap   force.com site and responsive designTwitter bootstrap   force.com site and responsive design
Twitter bootstrap force.com site and responsive design
Steven Herod
 
Salesforce1 UX Overview for ISVs and Partners
Salesforce1 UX Overview for ISVs and PartnersSalesforce1 UX Overview for ISVs and Partners
Salesforce1 UX Overview for ISVs and Partners
Salesforce Partners
 
Force.com Friday: Intro to Visualforce (May 8, 2015)
Force.com Friday: Intro to Visualforce (May 8, 2015)Force.com Friday: Intro to Visualforce (May 8, 2015)
Force.com Friday: Intro to Visualforce (May 8, 2015)
Salesforce Developers
 
Snap-in Service to Web and Mobile Apps
Snap-in Service to Web and Mobile AppsSnap-in Service to Web and Mobile Apps
Snap-in Service to Web and Mobile Apps
Salesforce Developers
 
Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Intro to Building Mobile Apps with Salesforce1: No Code Required WebinarIntro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Salesforce Developers
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Salesforce Developers
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Salesforce Developers
 
Intro to Salesforce1 Mobile App Development Webinar
Intro to Salesforce1 Mobile App Development WebinarIntro to Salesforce1 Mobile App Development Webinar
Intro to Salesforce1 Mobile App Development Webinar
Salesforce Developers
 
Build custom user interfaces for your Salesforce data with the UI API
 Build custom user interfaces for your Salesforce data with the UI API Build custom user interfaces for your Salesforce data with the UI API
Build custom user interfaces for your Salesforce data with the UI API
Salesforce Developers
 
Embed Customer Support into your Apps with Snap-ins
Embed Customer Support into your Apps with Snap-insEmbed Customer Support into your Apps with Snap-ins
Embed Customer Support into your Apps with Snap-ins
Salesforce Developers
 
Build Better Communities with Lightning
Build Better Communities with LightningBuild Better Communities with Lightning
Build Better Communities with Lightning
Salesforce Developers
 
Using Design System in Lightning Components
Using Design System in Lightning ComponentsUsing Design System in Lightning Components
Using Design System in Lightning Components
Salesforce Developers
 
Mastering Force.com: Advanced Visualforce
Mastering Force.com: Advanced VisualforceMastering Force.com: Advanced Visualforce
Mastering Force.com: Advanced Visualforce
Salesforce Developers
 
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)ISV Lightning Webinar Series - Part 1 (December 1, 2015)
ISV Lightning Webinar Series - Part 1 (December 1, 2015)
Salesforce Partners
 
Building Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling APIBuilding Command-line Tools with the Tooling API
Building Command-line Tools with the Tooling API
Jeff Douglas
 
Build Apps Visually with Lightning App Builder
Build Apps Visually with Lightning App BuilderBuild Apps Visually with Lightning App Builder
Build Apps Visually with Lightning App Builder
Salesforce Developers
 
Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)Building Lightning Components for ISVs (Dreamforce 2015)
Building Lightning Components for ISVs (Dreamforce 2015)
Salesforce Partners
 
AppExchange for Components (General Components Information)
AppExchange for Components (General Components Information)AppExchange for Components (General Components Information)
AppExchange for Components (General Components Information)
Salesforce Partners
 

Viewers also liked (20)

Customizing the Appearance and HTML Output of Visualforce Pages
Customizing the Appearance and HTML Output of VisualforcePages Customizing the Appearance and HTML Output of VisualforcePages
Customizing the Appearance and HTML Output of Visualforce Pages
Mohammed Safwat Abu Kwaik
 
Creating a Salesforce Community: Code vs Configuration
Creating a Salesforce Community: Code vs ConfigurationCreating a Salesforce Community: Code vs Configuration
Creating a Salesforce Community: Code vs Configuration
Michael Welburn
 
Procrastination Drug Of A Nation
Procrastination Drug Of A NationProcrastination Drug Of A Nation
Procrastination Drug Of A Nation
Hendrik Dacquin
 
Toomas Kuuda - Mida tähendavad muudatused majanduses
Toomas Kuuda - Mida tähendavad muudatused majandusesToomas Kuuda - Mida tähendavad muudatused majanduses
Toomas Kuuda - Mida tähendavad muudatused majanduses
lepakas
 
Mi presentacion
Mi presentacionMi presentacion
Mi presentacion
Saikicrimsom
 
Organize Meetings
Organize MeetingsOrganize Meetings
Organize Meetings
Marvin Nurse
 
Share Valuation for Razak Pharmaceutical
Share Valuation for Razak PharmaceuticalShare Valuation for Razak Pharmaceutical
Share Valuation for Razak Pharmaceutical
Reza Motaghedi
 
Ayuda aplicación matemática TPICI 1c 2016
Ayuda aplicación matemática TPICI 1c 2016Ayuda aplicación matemática TPICI 1c 2016
Ayuda aplicación matemática TPICI 1c 2016
Irma Noemí No
 
IBM Marketing Cloud mobile solutions
IBM Marketing Cloud mobile solutionsIBM Marketing Cloud mobile solutions
IBM Marketing Cloud mobile solutions
Virginia Fernandez
 
Vello Kukk - Muutused haridusmaastikul õppejõu pilgu läbi
Vello Kukk - Muutused haridusmaastikul õppejõu pilgu läbiVello Kukk - Muutused haridusmaastikul õppejõu pilgu läbi
Vello Kukk - Muutused haridusmaastikul õppejõu pilgu läbi
lepakas
 
Xuventude novas n57_xaneiro2015
Xuventude novas n57_xaneiro2015Xuventude novas n57_xaneiro2015
Xuventude novas n57_xaneiro2015
satelite1
 
Evolucion de la computadora daniel
Evolucion de la computadora danielEvolucion de la computadora daniel
Evolucion de la computadora daniel
adaniel275
 
The Function of Aesthetic
The Function of AestheticThe Function of Aesthetic
The Function of Aesthetic
Lex Roman
 
Impacto de las tic en educaciòn
Impacto de las tic en educaciònImpacto de las tic en educaciòn
Impacto de las tic en educaciòn
claudiamilenapg
 
ネイバージャパン モジュールのバージョン管理
ネイバージャパン モジュールのバージョン管理ネイバージャパン モジュールのバージョン管理
ネイバージャパン モジュールのバージョン管理
LINE Corporation (Tech Unit)
 
ICT for Lifelong Mobility
ICT for Lifelong MobilityICT for Lifelong Mobility
ICT for Lifelong Mobility
Airina Volungeviciene
 
Проект Йодобром
Проект ЙодобромПроект Йодобром
Проект Йодобром
kulibin
 
Market research for architecture and sustainable development
Market research for architecture and sustainable developmentMarket research for architecture and sustainable development
Market research for architecture and sustainable development
Yinetd Pineda Cruz
 
How to organize an LC meeting
How to organize an LC meetingHow to organize an LC meeting
How to organize an LC meeting
Mounaim Lamouni
 
กลวิธีคลายเครียด
กลวิธีคลายเครียดกลวิธีคลายเครียด
กลวิธีคลายเครียด
aemporn gaewkhiew
 
Customizing the Appearance and HTML Output of Visualforce Pages
Customizing the Appearance and HTML Output of VisualforcePages Customizing the Appearance and HTML Output of VisualforcePages
Customizing the Appearance and HTML Output of Visualforce Pages
Mohammed Safwat Abu Kwaik
 
Creating a Salesforce Community: Code vs Configuration
Creating a Salesforce Community: Code vs ConfigurationCreating a Salesforce Community: Code vs Configuration
Creating a Salesforce Community: Code vs Configuration
Michael Welburn
 
Procrastination Drug Of A Nation
Procrastination Drug Of A NationProcrastination Drug Of A Nation
Procrastination Drug Of A Nation
Hendrik Dacquin
 
Toomas Kuuda - Mida tähendavad muudatused majanduses
Toomas Kuuda - Mida tähendavad muudatused majandusesToomas Kuuda - Mida tähendavad muudatused majanduses
Toomas Kuuda - Mida tähendavad muudatused majanduses
lepakas
 
Share Valuation for Razak Pharmaceutical
Share Valuation for Razak PharmaceuticalShare Valuation for Razak Pharmaceutical
Share Valuation for Razak Pharmaceutical
Reza Motaghedi
 
Ayuda aplicación matemática TPICI 1c 2016
Ayuda aplicación matemática TPICI 1c 2016Ayuda aplicación matemática TPICI 1c 2016
Ayuda aplicación matemática TPICI 1c 2016
Irma Noemí No
 
IBM Marketing Cloud mobile solutions
IBM Marketing Cloud mobile solutionsIBM Marketing Cloud mobile solutions
IBM Marketing Cloud mobile solutions
Virginia Fernandez
 
Vello Kukk - Muutused haridusmaastikul õppejõu pilgu läbi
Vello Kukk - Muutused haridusmaastikul õppejõu pilgu läbiVello Kukk - Muutused haridusmaastikul õppejõu pilgu läbi
Vello Kukk - Muutused haridusmaastikul õppejõu pilgu läbi
lepakas
 
Xuventude novas n57_xaneiro2015
Xuventude novas n57_xaneiro2015Xuventude novas n57_xaneiro2015
Xuventude novas n57_xaneiro2015
satelite1
 
Evolucion de la computadora daniel
Evolucion de la computadora danielEvolucion de la computadora daniel
Evolucion de la computadora daniel
adaniel275
 
The Function of Aesthetic
The Function of AestheticThe Function of Aesthetic
The Function of Aesthetic
Lex Roman
 
Impacto de las tic en educaciòn
Impacto de las tic en educaciònImpacto de las tic en educaciòn
Impacto de las tic en educaciòn
claudiamilenapg
 
ネイバージャパン モジュールのバージョン管理
ネイバージャパン モジュールのバージョン管理ネイバージャパン モジュールのバージョン管理
ネイバージャパン モジュールのバージョン管理
LINE Corporation (Tech Unit)
 
Проект Йодобром
Проект ЙодобромПроект Йодобром
Проект Йодобром
kulibin
 
Market research for architecture and sustainable development
Market research for architecture and sustainable developmentMarket research for architecture and sustainable development
Market research for architecture and sustainable development
Yinetd Pineda Cruz
 
How to organize an LC meeting
How to organize an LC meetingHow to organize an LC meeting
How to organize an LC meeting
Mounaim Lamouni
 
กลวิธีคลายเครียด
กลวิธีคลายเครียดกลวิธีคลายเครียด
กลวิธีคลายเครียด
aemporn gaewkhiew
 
Ad

Similar to Dreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap (20)

Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Tom Gersic
 
AngularJS App In Two Weeks
AngularJS App In Two WeeksAngularJS App In Two Weeks
AngularJS App In Two Weeks
Peter Chittum
 
Developing a Documentation Portal on Heroku
Developing a Documentation Portal on HerokuDeveloping a Documentation Portal on Heroku
Developing a Documentation Portal on Heroku
Salesforce Developers
 
Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17
Mark Adcock
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
Salesforce Developers
 
JavaScript Unit Testing
JavaScript Unit TestingJavaScript Unit Testing
JavaScript Unit Testing
Keir Bowden
 
Force.com Friday - Intro to Visualforce
Force.com Friday - Intro to VisualforceForce.com Friday - Intro to Visualforce
Force.com Friday - Intro to Visualforce
Shivanath Devinarayanan
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
Singapore dev user group
Singapore   dev user groupSingapore   dev user group
Singapore dev user group
Troy Sellers
 
The secret to delivering a great website project on time and on budget every ...
The secret to delivering a great website project on time and on budget every ...The secret to delivering a great website project on time and on budget every ...
The secret to delivering a great website project on time and on budget every ...
Marketecture
 
Build Apps Fast with Lightning Components from Apttus
Build Apps Fast with Lightning Components from ApttusBuild Apps Fast with Lightning Components from Apttus
Build Apps Fast with Lightning Components from Apttus
Dreamforce
 
Aloop sow v1.5
Aloop sow v1.5Aloop sow v1.5
Aloop sow v1.5
Sales Strategy and Innovation Delivery
 
Visual Workflow Overview
Visual Workflow OverviewVisual Workflow Overview
Visual Workflow Overview
Salesforce Developers
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less time
Abhinav Gupta
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous Integration
Sebastian Wagner
 
Salesforce lightning design -components for CRM
Salesforce lightning design -components for CRMSalesforce lightning design -components for CRM
Salesforce lightning design -components for CRM
yahmad111
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
Keir Bowden
 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Salesforce Partners
 
San Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewSan Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning Overview
Vivek Chawla
 
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Chris Haddad
 
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Tom Gersic
 
AngularJS App In Two Weeks
AngularJS App In Two WeeksAngularJS App In Two Weeks
AngularJS App In Two Weeks
Peter Chittum
 
Developing a Documentation Portal on Heroku
Developing a Documentation Portal on HerokuDeveloping a Documentation Portal on Heroku
Developing a Documentation Portal on Heroku
Salesforce Developers
 
Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17
Mark Adcock
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
Salesforce Developers
 
JavaScript Unit Testing
JavaScript Unit TestingJavaScript Unit Testing
JavaScript Unit Testing
Keir Bowden
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
Singapore dev user group
Singapore   dev user groupSingapore   dev user group
Singapore dev user group
Troy Sellers
 
The secret to delivering a great website project on time and on budget every ...
The secret to delivering a great website project on time and on budget every ...The secret to delivering a great website project on time and on budget every ...
The secret to delivering a great website project on time and on budget every ...
Marketecture
 
Build Apps Fast with Lightning Components from Apttus
Build Apps Fast with Lightning Components from ApttusBuild Apps Fast with Lightning Components from Apttus
Build Apps Fast with Lightning Components from Apttus
Dreamforce
 
How Force.com developers do more in less time
How Force.com developers do more in less timeHow Force.com developers do more in less time
How Force.com developers do more in less time
Abhinav Gupta
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous Integration
Sebastian Wagner
 
Salesforce lightning design -components for CRM
Salesforce lightning design -components for CRMSalesforce lightning design -components for CRM
Salesforce lightning design -components for CRM
yahmad111
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
Keir Bowden
 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Salesforce Partners
 
San Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewSan Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning Overview
Vivek Chawla
 
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Chris Haddad
 
Ad

More from Keir Bowden (20)

LC 2022 - Second Generation Packaging
LC 2022 - Second Generation PackagingLC 2022 - Second Generation Packaging
LC 2022 - Second Generation Packaging
Keir Bowden
 
Mutation Testing.pdf
Mutation Testing.pdfMutation Testing.pdf
Mutation Testing.pdf
Keir Bowden
 
London Non-Profit Spring 22 Salesforce Release
London Non-Profit Spring 22 Salesforce ReleaseLondon Non-Profit Spring 22 Salesforce Release
London Non-Profit Spring 22 Salesforce Release
Keir Bowden
 
London Salesforce Developer January 2022
London Salesforce Developer January 2022London Salesforce Developer January 2022
London Salesforce Developer January 2022
Keir Bowden
 
Winter 22 for Developers
Winter 22 for DevelopersWinter 22 for Developers
Winter 22 for Developers
Keir Bowden
 
Londons Calling 2021
Londons Calling 2021Londons Calling 2021
Londons Calling 2021
Keir Bowden
 
London Salesforce Developers TDX 20 Global Gathering
London Salesforce Developers TDX 20 Global GatheringLondon Salesforce Developers TDX 20 Global Gathering
London Salesforce Developers TDX 20 Global Gathering
Keir Bowden
 
Helsinki developer group march 2020
Helsinki developer group march 2020Helsinki developer group march 2020
Helsinki developer group march 2020
Keir Bowden
 
London's calling 2020 Documentor Plug-In
London's calling 2020 Documentor Plug-InLondon's calling 2020 Documentor Plug-In
London's calling 2020 Documentor Plug-In
Keir Bowden
 
Lightning User Interface Testing with Selenium and Node JS
Lightning User Interface Testing with Selenium and Node JSLightning User Interface Testing with Selenium and Node JS
Lightning User Interface Testing with Selenium and Node JS
Keir Bowden
 
Salesforce CLI Cheat Sheet
Salesforce CLI Cheat Sheet Salesforce CLI Cheat Sheet
Salesforce CLI Cheat Sheet
Keir Bowden
 
Salesforce Spring 19 release top 10 Features
Salesforce Spring 19 release top 10 FeaturesSalesforce Spring 19 release top 10 Features
Salesforce Spring 19 release top 10 Features
Keir Bowden
 
UI Testing with Selenium and Node - London's Calling 2019
UI Testing with Selenium and Node - London's Calling 2019UI Testing with Selenium and Node - London's Calling 2019
UI Testing with Selenium and Node - London's Calling 2019
Keir Bowden
 
Salesforce Winter 19 release top 10 features
Salesforce Winter 19 release top 10 featuresSalesforce Winter 19 release top 10 features
Salesforce Winter 19 release top 10 features
Keir Bowden
 
Quickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLIQuickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLI
Keir Bowden
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018
Keir Bowden
 
Getting started with public speaking
Getting started with public speakingGetting started with public speaking
Getting started with public speaking
Keir Bowden
 
Salesforce CLI
Salesforce CLISalesforce CLI
Salesforce CLI
Keir Bowden
 
London's Calling 2018 - No Connection, No Problem
London's Calling 2018 - No Connection, No ProblemLondon's Calling 2018 - No Connection, No Problem
London's Calling 2018 - No Connection, No Problem
Keir Bowden
 
No Connection? No Problem!
No Connection? No Problem!No Connection? No Problem!
No Connection? No Problem!
Keir Bowden
 
LC 2022 - Second Generation Packaging
LC 2022 - Second Generation PackagingLC 2022 - Second Generation Packaging
LC 2022 - Second Generation Packaging
Keir Bowden
 
Mutation Testing.pdf
Mutation Testing.pdfMutation Testing.pdf
Mutation Testing.pdf
Keir Bowden
 
London Non-Profit Spring 22 Salesforce Release
London Non-Profit Spring 22 Salesforce ReleaseLondon Non-Profit Spring 22 Salesforce Release
London Non-Profit Spring 22 Salesforce Release
Keir Bowden
 
London Salesforce Developer January 2022
London Salesforce Developer January 2022London Salesforce Developer January 2022
London Salesforce Developer January 2022
Keir Bowden
 
Winter 22 for Developers
Winter 22 for DevelopersWinter 22 for Developers
Winter 22 for Developers
Keir Bowden
 
Londons Calling 2021
Londons Calling 2021Londons Calling 2021
Londons Calling 2021
Keir Bowden
 
London Salesforce Developers TDX 20 Global Gathering
London Salesforce Developers TDX 20 Global GatheringLondon Salesforce Developers TDX 20 Global Gathering
London Salesforce Developers TDX 20 Global Gathering
Keir Bowden
 
Helsinki developer group march 2020
Helsinki developer group march 2020Helsinki developer group march 2020
Helsinki developer group march 2020
Keir Bowden
 
London's calling 2020 Documentor Plug-In
London's calling 2020 Documentor Plug-InLondon's calling 2020 Documentor Plug-In
London's calling 2020 Documentor Plug-In
Keir Bowden
 
Lightning User Interface Testing with Selenium and Node JS
Lightning User Interface Testing with Selenium and Node JSLightning User Interface Testing with Selenium and Node JS
Lightning User Interface Testing with Selenium and Node JS
Keir Bowden
 
Salesforce CLI Cheat Sheet
Salesforce CLI Cheat Sheet Salesforce CLI Cheat Sheet
Salesforce CLI Cheat Sheet
Keir Bowden
 
Salesforce Spring 19 release top 10 Features
Salesforce Spring 19 release top 10 FeaturesSalesforce Spring 19 release top 10 Features
Salesforce Spring 19 release top 10 Features
Keir Bowden
 
UI Testing with Selenium and Node - London's Calling 2019
UI Testing with Selenium and Node - London's Calling 2019UI Testing with Selenium and Node - London's Calling 2019
UI Testing with Selenium and Node - London's Calling 2019
Keir Bowden
 
Salesforce Winter 19 release top 10 features
Salesforce Winter 19 release top 10 featuresSalesforce Winter 19 release top 10 features
Salesforce Winter 19 release top 10 features
Keir Bowden
 
Quickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLIQuickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLI
Keir Bowden
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018
Keir Bowden
 
Getting started with public speaking
Getting started with public speakingGetting started with public speaking
Getting started with public speaking
Keir Bowden
 
London's Calling 2018 - No Connection, No Problem
London's Calling 2018 - No Connection, No ProblemLondon's Calling 2018 - No Connection, No Problem
London's Calling 2018 - No Connection, No Problem
Keir Bowden
 
No Connection? No Problem!
No Connection? No Problem!No Connection? No Problem!
No Connection? No Problem!
Keir Bowden
 

Recently uploaded (20)

Agentic AI Use Cases using GenAI LLM models
Agentic AI Use Cases using GenAI LLM modelsAgentic AI Use Cases using GenAI LLM models
Agentic AI Use Cases using GenAI LLM models
Manish Chopra
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest VersionAdobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
usmanhidray
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Agentic AI Use Cases using GenAI LLM models
Agentic AI Use Cases using GenAI LLM modelsAgentic AI Use Cases using GenAI LLM models
Agentic AI Use Cases using GenAI LLM models
Manish Chopra
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest VersionAdobe Photoshop Lightroom CC 2025 Crack Latest Version
Adobe Photoshop Lightroom CC 2025 Crack Latest Version
usmanhidray
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 

Dreamforce 14 : Responsive Design with Visualforce and Twitter Bootstrap

  • 1. Responsive Design with Visualforce and Twitter Bootstrap Keir Bowden CTO, BrightGen @bob_buzzard
  • 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Keir Bowden CTO, BrightGen
  • 4. Agenda What What Why How Bootstrap Demo
  • 5. What is Responsive Design “Provide an optimal viewing experience – easy reading and navigation with a minimum of resizing, panning and scrolling – across a wide range of devices” Wikipedia • Pages respond to device – Viewport size – Orientation • Term coined by Ethan Marcotte – http://bobbuzz.me.uk/1hI879K
  • 7. Agenda What Why Why How Bootstrap Demo
  • 8. Why use Responsive Design? • One site to rule them all – DRY – Visitor Tracking – Would need many m. sites • Google’s Recommended Approach (SEO) – Easier to crawl – Better for the link algorithm – http://bobbuzz.me.uk/1g7G3wV
  • 9. Agenda What Why How How Bootstrap Demo
  • 10. Cornerstone 1 – Viewport Meta Tag • Viewport Meta Tag <meta name="viewport” content="width=device-width, initial-scale=1.0”> </meta> • width=device-width – Report actual size of device • initial-scale=1.0 – Display page actual size • user-scalable=no
  • 11. Cornerstone 2 – Fluid Grid
  • 12. Reflow 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4
  • 13. Cornerstone 3 - CSS Media Queries • Expression Limiting Scope of CSS .sidebar { display: none; } @media (min-width: 1024px) { .sidebar { display: block; } }
  • 14. Agenda What Why How Bootstrap Demo Bootstrap
  • 15. Bootstrap • Responsive Front End Framework • HTML, CSS and JavaScript • Mobile First http://getbootstrap.com • Number 1 project on GitHub (forks/stars)
  • 16. Fluid Grid • 12 column default • 4 Breakpoints – Large > 1200px – Medium > 992px – Small > 768px – Extra Small < 768x • Column Span Style Classes – col-md-6 – col-xs-12
  • 17. Visualforce + Bootstrap • Visualforce is container – Thin wrapper around HTML markup – Provides access to data • Minimal Page Generation – No <head>, <body> tags – Exclude standard style sheets
  • 18. Visualforce + Bootstrap • Avoid Most Standard Components – No <apex:pageblock /> – not responsive – <apex:includeScript>, <apex:stylesheet/> – <apex:outputText> – <apex:repeat /> • Forms versus Remoting – Remoting = fast – Forms + rerender = DOM manipulation
  • 19. Agenda What Why How Bootstrap DDeemmoo
  • 20. Demo • Blog landing page – Recent posts – Comments – Search – Social media • http://bobbuzz.me.uk/SF1RD • Github : http://bobbuzz.me.uk/SF1GH
  • 21. Code 12 Post Post Post Search About 9 3 Post Post Post Search About
  • 22. Code
  • 23. Code
  • 24. Challenge - Images • Desktop images can be large • Use bandwidth, memory • In 2012, a survey found that 86% of sites deliver the same content regardless of device: – http://bobbuzz.me.uk/1kMbZs9
  • 25. Solution - Images • Download and hide – All images, every device – Only show subset • Download and shrink – One image, resized – Wasteful
  • 26. Future Solution - Images • HTML5 Picture element – Multiple images on server – Client loads best image for device <picture> <source media="(min-width: 1024px)” src=”large_image”></source> <source media="(min-width: 768px)” src=“medium_image”></source> <source src=“small_image"></source> <img src=“fallback_image"></img> </picture> • http://caniuse.com/#feat=picture – Chrome/Opera – experimental – Firefox – configure preference
  • 27. Solution - Images • Picturefill, by Scott Jehl – Multiple images on server – Client loads best image for device – Uses JavaScript – image loaded after DOM ready <span data-picture="1" data-alt=”BlogImage"> <span data-src=”large_image" data-media="(min-width: 1024px)"></span> <span data-src=“medium_image" data-media="(min-width: 768px)"></span> <span data-src=“small_image"></span> </span> • http://bobbuzz.me.uk/RIcMD2

Editor's Notes

  • #3: Key Takeaway: We are a publicly traded company. Please make your buying decisions only on the products commercially available from Salesforce.com. Talk Track: Before I begin, just a quick note that when considering future developments, whether by us or with any other solution provider, you should always base your purchasing decisions on what is currently available.
  • #5: Talking about : What is responsive design Why would you use it How – the tools and techniques Then a little about bootstrap – my framework of choice Finally a demo of a responsive web page and a look at the code
  • #6: Nice wikipedia definition. Technically pages respond to device capabilities such as viewport and orientation. Don’t hide content – not punishing people for accessing on a small device. Coined by Ethan Marcotte in his excellent alistapart artice, at the shortlink shown. Don’t worry about capturing as the deck will be posted up to slideshare afterwards. Responsive
  • #7: If that was too long and you didn’t listen, go to Safari – first tab - and show scrolling around at small size. Still want all of the content and functionality to be accessible from all devices – responsive design is not about punishing people for using a particular device.
  • #9: Maintaining one site means that you don’t duplicate work – decent content management system can help with this, but still likely to have to apply changes to multiple sites in the event of a rebranding. Its easier to track visitors to a single site, rather than trying to figure out which of your visitors to multiple sites are unique. You’d also need a lot of m.sites for the different form factors – my favourite meme. Easier to crawl a single site, as just need a single user agent rather than processing as a phone, tablet, desktop etc Better for the link algo as all links point to a single site. Read more at the shortlink.
  • #10: How do you go about it. For me, three cornerstones
  • #11: Viewport meta tag, to indicate how the device should behave \ Report actual size otherwise iphone for ex will say it is 980 pixels wide, resulting in massively zoomed out page Initial scale means no zoom Don’t turn off user scaling - accessibility
  • #12: Fluid grid that breaks your content up into rows and columns. 12 popular as it divides nicely by 2, 3, 4 and 6. Where it really comes into its own is reflow
  • #13: Here is an example of the default reflow of bootstrap
  • #14: Finally, css media queries – expression limiting scope or css that conditionally applies based on the device capabilities Example – anything with the class of sidebar will be hidden Then add a media query to show the sidebar if the page is being displayed on a device with a width of 1024px or greater.
  • #15: My favourite framework
  • #16: Designers aren’t always keen as sites tend to look generic – black bar across the top, same fonts, colours, dialogs etc. Mobile first, not mobile ready – no page transitions etc
  • #17: Twitter has 12 column grid. Provides 4 breakpoints – large, medium, small and extra small – xs is quite a large range. Scales up, so define at xs is inherited by small, medium and large unless you override it. You can use the breakpoints in style classes – the col-md-6 says that the enclosed content spans 6 rows on a medium (and large) device Col-xs-12 spans 12 columns on xs and small – can combine these to define how the same content is rendered on multiple devices
  • #18: So where does VF come into it? The answer is not much. It’s the container that allows your pages to be served, but really is a thin wrapper around mainly vanilla HTML and provides the binding to your force.com data. You’ll want minimal page markup generation – you’ll need to turn off the head/body tag generation so that you can add your viewport tag. Defo exclude stylesheets as occasionally conflict.
  • #19: Don’t use the page block hierarchy as this isn’t responsive – I typically use the include tags to bring in my external resources, outputtext to format dates/currencies and repeat to iterate collections. Also consider whether to use remoting or regular vF forms and rerendering – remoting is faster, but you have to manage the DOM manipulation to display the results yourself.
  • #20: Now for the demo
  • #21: To recap what we saw earlier Its live and externally available at the shortlink, or you can scan the QR code to access. The code is also available on github
  • #22: This section defines how the post and sidebar are displayed. The col-xs- style classes define how the elements are displayed on an extra small screen and upwards. As the real estate is limited, the posts span the full width and the sidebar elements stack underneath it The col-md style classes override the formatting for medium and large – as these have more real estate I can display the post in the first 9 columns and the sidebar to the right.
  • #23: Next the comments – I have two forms of these – for medium and large screens ( as covered by the hidden-xs/sm) the comments are displayed in full. For smaller screens, the post content is more important so I render a button to allow the user to toggle the comments
  • #24: Finally the menu – this is standard bootstrap functionality so I haven’t had to specify any classes. The first div is automatically displayed on extra small screens, and produces the hamburger button that can be clicked to reveal the options. The second div is displayed for small and above, and produces the clickable links on the right hand side. Note also that I’ve hidden the search (and about although its not shown) links for medium and large, as these will be present in the sidebar so there is no need to provide menu options.
  • #25: Finally a word about one of the current challenges in responsive design – images
  • #26: Options to handle images: Download and hide – worst of all worlds – all the effort of maintaining multiple images and no efficiency – send them all to the browser and let that figure out which one to use Download and shrink – send a huge image to the browser and let it scale – wastes bandwith – 50% reduction in height and width discards 75% of the transmitted data.
  • #27: CSS media queries in the tag – browser chooses the appropriate one based on device capabilities. Iimage pre-loading is a potential issue, as this will always load the fallback_image even when it isn’t needed. Browsers aren’t there yet, although planned to be in firefox and chrome by the end of the year.
  • #28: Best solution for my money at present. Polyfill for the HTML5 picture element. Introduces some latency, as the image is loaded by JavaScript after the page is rendered. Similar concept to the picture element but using spans as opposed to source tags. Also a version for div but this messed up the bootstrap formatting. Shortlink to github repository.