Montreal Girl Geeks: Building the Modern Web

Rachel Andrew
Rachel AndrewWriter, speaker, co-founder of Perch CMS. Google Developer Expert for Web Technologies à A List Apart
Building the modern web
Rachel Andrew, Montreal Girl Geeks, February 2016
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Dancers do not need to use
computers
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
The web gave me a
community
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
“Knowing HTML” was a
marketable skill
Rachel Andrew, Montreal Girl Geeks
Learning something one
day - teaching it to
someone else the next
Rachel Andrew, Montreal Girl Geeks
The web gave me a new
career.
Rachel Andrew, Montreal Girl Geeks
The web was accessible, and had
a culture of sharing knowledge.
Rachel Andrew, Montreal Girl Geeks
Font tags and nested tables
Rachel Andrew, Montreal Girl Geeks
<script type="text/javascript">
<!--
function MM_reloadPage(init) {
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
Rachel Andrew, Montreal Girl Geeks
The “Netscape Resize Fix”
If the user resized their browser window positioned
elements lost their positioning values.
The “fix” was to reload the browser window on resize.
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
… basic support of existing W3C
standards has been sacrificed in
the name of such innovation,
needlessly fragmenting the Web
and helping no one.
— http://archive.webstandards.org/mission.html
Rachel Andrew, Montreal Girl Geeks
Our goal is to support these core
standards and encourage browser
makers to do the same, thereby
ensuring simple, affordable
access to Web technologies for
all.
— http://archive.webstandards.org/mission.html
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Encouraging designers to
care about web standards
Rachel Andrew, Montreal Girl Geeks
The IE6 years
Rachel Andrew, Montreal Girl Geeks
Front-end developer 2005?
Browser bugs expert
Rachel Andrew, Montreal Girl Geeks
Thanks to the hard work of
countless WaSP members and
supporters (like you), Tim
Berners-Lee’s vision of the web as
an open, accessible, and universal
community is largely the reality.
— http://www.webstandards.org/2013/03/01/our-work-
here-is-done/
Rachel Andrew, Montreal Girl Geeks
Browser vendors are
implementing standard
things in a standard way
Rachel Andrew, Montreal Girl Geeks
Innovation happens
through the standards
process
Rachel Andrew, Montreal Girl Geeks
Show stopping browser
bugs when doing
straightforward things in
modern browsers are rare
Rachel Andrew, Montreal Girl Geeks
Is it all easy now?
Rachel Andrew, Montreal Girl Geeks
Studies show that a todo list is
the most complex JavaScript app
you can create before a newer,
better framework is invented.
— http://www.allenpike.com/2015/javascript-
framework-fatigue/
Rachel Andrew, Montreal Girl Geeks
We’re creating complexity
Hiding the simple languages of
the web behind tooling and
process
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
<div class="header">
<h1>My website</h1>
<div class="nav">
</div>
</div>
<div class="article"></div>
<div class="sidebar"></div>
<div class="footer"></div>
Rachel Andrew, Montreal Girl Geeks
<header>
<h1>My website</h1>
<nav>
</nav>
</header>
<article></article>
<aside></aside>
<footer></footer>
Rachel Andrew, Montreal Girl Geeks
Web Video Text Tracks Format (WebVTT)
WEBVTT
1
00:00:22.230 --> 00:00:24.606
This is the first subtitle.
2
00:00:30.739 --> 00:00:34.074
This is the second.
3
00:00:34.159 --> 00:00:35.743
Third
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Time-dimensional pseudo-classes
:current
:past
:future
:current(p, li, dt, dd) {
background: yellow;
}
:past(p, li, dt, dd) {
background: transparent;
color: #999999;
}
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
CSS Grid Layout
<div class="wrapper">
<header class="header">Header</header>
<aside class="sidebar">Sidebar</aside>
<article class="content">Content</article>
</div>
Rachel Andrew, Montreal Girl Geeks
.sidebar {
grid-area: sidebar;
}
.content {
grid-area: content;
}
.header {
grid-area: header;
}
.wrapper {
display: grid;
grid-template-columns:
120px 10px 120px 10px 120px;
grid-template-rows: auto;
grid-template-areas:
"header header header header header"
"sidebar . content content content";
}
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
“I’ll take a look if you create a
Sass Mixin …”
— via my inbox
Rachel Andrew, Montreal Girl Geeks
Emerging specifications
like Grid remove the need
for a lot of the
preprocessing
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
.ag1 {
@include span(2 of 10);
}
.ag2 {
@include span(6 of 10);
@include clearfix;
}
.ag3 {
@include span(2 of 10 last);
}
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
/* declare a grid and set up a 10 column grid with gutters */
.container {
width: 90%;
margin: 0 auto 0 auto;
display: grid;
grid-template-columns: [col] 4.25fr repeat(9, [gutter] 1fr [col] 4.25fr ) [gutter];
grid-template-rows: auto repeat(5, 100px);
}
/* boxes positioned like so */
/* heading in row 1 full width */
h1 {
grid-column: col / span col 10;
grid-row: 1 / 2;
}
/* left hand sidebar */
.ag1 {
grid-column: col / span gutter 2;
grid-row: 2 / 3;
}
Rachel Andrew, Montreal Girl Geeks
We should be all over a spec
like grid. This is the
future.
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
By leaning on frameworks,
are we masking the issues?
Rachel Andrew, Montreal Girl Geeks
Only by working with the
specifications can we be
part of improving them
Rachel Andrew, Montreal Girl Geeks
Sheer frustration drove
much of the Web Standards
movement
Rachel Andrew, Montreal Girl Geeks
My fear is that our reliance
on frameworks will stop us
pushing for better solutions
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
There are always
compromises. They
shouldn’t be the same for
every project.
Rachel Andrew, Montreal Girl Geeks
Standardising on tools
should not be at the
expense of learning HTML,
CSS and JavaScript
Rachel Andrew, Montreal Girl Geeks
Use your tools and
frameworks lightly
Rachel Andrew, Montreal Girl Geeks
Be ready to put them aside
when they don’t suit a
project
Rachel Andrew, Montreal Girl Geeks
Don’t become an expert in
one brand of hammer.
Become a master carpenter.
Rachel Andrew, Montreal Girl Geeks
Develop timeless skills
Rachel Andrew, Montreal Girl Geeks
It is HTML, CSS, JavaScript
How you get there is just
process.
Rachel Andrew, Montreal Girl Geeks
The “space junk” of the web
Rachel Andrew, Montreal Girl Geeks
Will we be still using
frameworks to abstract
away layout hacks, long
after there is any need for
the hacks?
Rachel Andrew, Montreal Girl Geeks
Best practices can become anti-patterns
HTTP/2 will see many of our best practices become bad
practices.
— Image Sprites
— Domain Sharding
— Concatenating CSS and JavaScript
https://www.smashingmagazine.com/2016/02/getting-
ready-for-http2/
Rachel Andrew, Montreal Girl Geeks
Whose time are we saving?
Rachel Andrew, Montreal Girl Geeks
We write code once.
It runs 100s of 1000s of times in
the browsers of our visitors.
Rachel Andrew, Montreal Girl Geeks
“When I look around, I see our community spending a
lot of time coming up with new tools and techniques to
make our jobs easier. To ship faster. And it’s not that
I’m against efficiency, but I think we need to consider
the implications of our decisions. And if one of those
implications is making our users suffer—or potentially
suffer—in order to make our lives easier, I think we need
to consider their needs above our own.”
— http://aaron-gustafson.com/notebook/who-should-
pay/
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
The myth of temporary
Rachel Andrew, Montreal Girl Geeks
The web is inherently
accessible. We choose to
protect that, or to break it.
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
I believe progressive
enhancement is still the
best approach we have
Rachel Andrew, Montreal Girl Geeks
“a robust site or application in the
more traditional sense minimises
its dependencies. The minimum
dependency for a web site should
be an internet connection and the
ability to parse HTML.”
— http://www.bbc.co.uk/guidelines/futuremedia/
accessibility/html/progressive-enhancement.shtml
Rachel Andrew, Montreal Girl Geeks
Start with the core
experience
Rachel Andrew, Montreal Girl Geeks
What is the minimum that I
need to ship?
How can I ensure as I iterate I
protect the core experience for
everyone?
Rachel Andrew, Montreal Girl Geeks
We Ship. We Iterate.
Rachel Andrew, Montreal Girl Geeks
How should we integrate
third party code?
Rachel Andrew, Montreal Girl Geeks
Not Invented Here
Rachel Andrew, Montreal Girl Geeks
“Are you afraid to write code? Does the
thought linger in your brain that
somewhere out there somebody has already
done this? Do you find yourself trapped in
an analysis cycle where nothing is getting
done? Is your product mutating to
accommodate third party components? If
yes, then perhaps you are suffering from
invented-here syndrome.”
— http://mortoray.com/2015/02/25/invented-here-syndrome/
Rachel Andrew, Montreal Girl Geeks
Avoid turning shortcuts and
third party code into
dependencies
Rachel Andrew, Montreal Girl Geeks
Dependency Inversion
Rachel Andrew, Montreal Girl Geeks
“High level modules should not depend upon low-
level modules. Both should depend upon
abstractions.
Abstractions should never depend upon details. Details
should depend upon abstractions.”
— http://www.objectmentor.com/resources/articles/
dip.pdf
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Progressively enhanced UI
— JavaScript implementation based on the regular
HTML5 Video element
— Static maps that become draggable and zoomable -
avoiding creating a dependency on one maps
provider or library
— Ordering items via a form input - that become drag
and drop if the user has JavaScript
Rachel Andrew, Montreal Girl Geeks
You can’t do everything
You can do something
Rachel Andrew, Montreal Girl Geeks
“A 100% pure progressively-enhanced
website may not be practical on every
single project you will ever encounter.
While that sort of purity can exist, it’s
unlikely in many business scenarios.
Budgets, timelines: these things exist.
Progressive enhancement isn’t a zero sum
game; it’s a continuum, just like the Web.”
— http://sixtwothree.org/posts/the-practical-case-for-progressive-
enhancement
Rachel Andrew, Montreal Girl Geeks
If your site doesn’t load who
misses out? What do they lose?
Rachel Andrew, Montreal Girl Geeks
Giving back
Rachel Andrew, Montreal Girl Geeks
Where does our next
generation of web
professionals come from?
Rachel Andrew, Montreal Girl Geeks
If you have been doing this
for a year, there is someone
6 months in who you are
ideally placed to help.
Rachel Andrew, Montreal Girl Geeks
You will learn by teaching
Rachel Andrew, Montreal Girl Geeks
Contribute to the standards
that make up the web
Rachel Andrew, Montreal Girl Geeks
What do authors think?
Rachel Andrew, Montreal Girl Geeks
Learn how the modern
standards process works
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
If authors do not offer feedback,
the final specification will reflect
our needs as understood by
people who do not build
websites.
Rachel Andrew, Montreal Girl Geeks
To make an impact on a specification you need to do so
while it is still a draft
There is no point complaining about something that is
finished. You have your chance to make your case
during the open standards process.
Rachel Andrew, Montreal Girl Geeks
Grid Layout and “gutters”
Rachel Andrew, Montreal Girl Geeks
.wrapper {
display: grid;
grid-template-columns:
120px 10px 120px 10px 120px;
grid-template-rows: auto;
grid-template-areas:
"header header header header header"
"sidebar . content content content";
}
Rachel Andrew, Montreal Girl Geeks
.wrapper {
display: grid;
grid-template-columns:
repeat(11, [col] 4fr [gutter] 3.5fr ) [col] 4fr [gutter];
grid-template-rows:
auto repeat(4, [row] auto [gutter] 15px);
}
Rachel Andrew, Montreal Girl Geeks
I believed the grid needed
column and row gaps much like
multi-column layout has the
column-gap property
Rachel Andrew, Montreal Girl Geeks
.wrapper {
display: grid;
grid-template-columns:
repeat(11, [col] 4fr [gutter] 3.5fr ) [col] 4fr [gutter];
grid-template-rows:
auto repeat(4, [row] auto [gutter] 15px);
}
Rachel Andrew, Montreal Girl Geeks
.wrapper {
display: grid;
grid-column-gap: 1em;
grid-row-gap: 1em;
grid-template-columns: repeat(12, [col] 4fr );
grid-template-rows: auto;
}
Rachel Andrew, Montreal Girl Geeks
Solving the gutter problem
— https://rachelandrew.co.uk/archives/2015/06/19/css-
grid-layout-solving-the-gutter-problem/
— Post to the CSS WG list about the issue
Rachel Andrew, Montreal Girl Geeks
Put together use cases.
Show issues clearly.
Rachel Andrew, Montreal Girl Geeks
Look for the issues already listed in draft specifications
Rachel Andrew, Montreal Girl Geeks
I am hopeful that
contributing to standards is
going to get easier
Rachel Andrew, Montreal Girl Geeks
The CSS Working Group
may move to GitHub for
issues in 2016
Rachel Andrew, Montreal Girl Geeks
The Web Incubator Community Group
— https://www.w3.org/community/wicg/
Rachel Andrew, Montreal Girl Geeks
“Their goal is to take the lessons
learned during the RICG’s
responsive images slog and adapt
web standards to match.”
— https://www.w3.org/community/respimg/2015/07/09/
wicg/
Rachel Andrew, Montreal Girl Geeks
The Specification Forum
http://discourse.wicg.io/
Rachel Andrew, Montreal Girl Geeks
Keep an eye on CSS Houdini
A task force working on drafts that seek to explain and
expose different parts of CSS. This should ultimately
make it easier to polyfill, innovate, experiment and
create entire new features.
— https://wiki.css-houdini.org/
— https://dev.opera.com/articles/houdini/
Rachel Andrew, Montreal Girl Geeks
Browsers vendors and the CSS WG alike are looking for
“signals” from authors
— are people talking about this spec?
— are they writing about it, speaking at conferences?
— are they directly requesting the features?
Rachel Andrew, Montreal Girl Geeks
Rachel Andrew, Montreal Girl Geeks
Make a noise so that
browser vendors hear what
we want implemented
Rachel Andrew, Montreal Girl Geeks
Adopt an emerging
specification!
Rachel Andrew, Montreal Girl Geeks
Some final thoughts
Rachel Andrew, Montreal Girl Geeks
Things are changing fast.
Solid understanding of core
web technologies has
proved timeless.
Rachel Andrew, Montreal Girl Geeks
Ensuring maximum
accessibility should be at
the heart of all you do.
Rachel Andrew, Montreal Girl Geeks
Find ways to contribute
Your voice & the voice of the
people you build sites for is
important.
Rachel Andrew, Montreal Girl Geeks
Thank you.
@rachelandrew
Rachel Andrew, Montreal Girl Geeks
1 sur 124

Recommandé

SXSW 2016: The Need To Knows par
SXSW 2016: The Need To KnowsSXSW 2016: The Need To Knows
SXSW 2016: The Need To KnowsOgilvy Consulting
180K vues32 diapositives
Securing the Cloud par
Securing the CloudSecuring the Cloud
Securing the CloudGGV Capital
40.8K vues19 diapositives
DESIGN THE PRIORITY, PERFORMANCE 
AND UX par
DESIGN THE PRIORITY, PERFORMANCE 
AND UXDESIGN THE PRIORITY, PERFORMANCE 
AND UX
DESIGN THE PRIORITY, PERFORMANCE 
AND UXPeter Rozek
25.2K vues76 diapositives
The Future Of Work & The Work Of The Future par
The Future Of Work & The Work Of The FutureThe Future Of Work & The Work Of The Future
The Future Of Work & The Work Of The FutureArturo Pelayo
447.5K vues70 diapositives
Build Features, Not Apps par
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not AppsNatasha Murashev
389K vues60 diapositives
Visual Design with Data par
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
2.9M vues76 diapositives

Contenu connexe

Tendances

Deriving Intelligence from Customer Actions: Data Marketing 2015 presentation par
Deriving Intelligence from Customer Actions: Data Marketing 2015 presentation  Deriving Intelligence from Customer Actions: Data Marketing 2015 presentation
Deriving Intelligence from Customer Actions: Data Marketing 2015 presentation Mathew Sweezey
56.9K vues53 diapositives
Why Marketing should care about Entertainment par
Why Marketing should care about EntertainmentWhy Marketing should care about Entertainment
Why Marketing should care about EntertainmentWAKSTER Limited
177.4K vues42 diapositives
The Hierarchy of Engagement par
The Hierarchy of EngagementThe Hierarchy of Engagement
The Hierarchy of EngagementGreylock Partners
305.1K vues53 diapositives
Publishing Production: From the Desktop to the Cloud par
Publishing Production: From the Desktop to the CloudPublishing Production: From the Desktop to the Cloud
Publishing Production: From the Desktop to the CloudDeanta
39.3K vues18 diapositives
Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop. par
Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop.Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop.
Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop.Andreas Klinger
324K vues152 diapositives
ChatGPT Prompt Engineering par
ChatGPT Prompt EngineeringChatGPT Prompt Engineering
ChatGPT Prompt EngineeringSupernova Media
669 vues13 diapositives

Tendances(20)

Deriving Intelligence from Customer Actions: Data Marketing 2015 presentation par Mathew Sweezey
Deriving Intelligence from Customer Actions: Data Marketing 2015 presentation  Deriving Intelligence from Customer Actions: Data Marketing 2015 presentation
Deriving Intelligence from Customer Actions: Data Marketing 2015 presentation
Mathew Sweezey56.9K vues
Why Marketing should care about Entertainment par WAKSTER Limited
Why Marketing should care about EntertainmentWhy Marketing should care about Entertainment
Why Marketing should care about Entertainment
WAKSTER Limited177.4K vues
Publishing Production: From the Desktop to the Cloud par Deanta
Publishing Production: From the Desktop to the CloudPublishing Production: From the Desktop to the Cloud
Publishing Production: From the Desktop to the Cloud
Deanta 39.3K vues
Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop. par Andreas Klinger
Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop.Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop.
Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop.
Andreas Klinger324K vues
ProdPad Sales Deck - Software for Highly Effective Product Managers par ProdPad
ProdPad Sales Deck - Software for Highly Effective Product Managers ProdPad Sales Deck - Software for Highly Effective Product Managers
ProdPad Sales Deck - Software for Highly Effective Product Managers
ProdPad 339.3K vues
Mobile-First SEO - The Marketers Edition #3XEDigital par Aleyda Solís
Mobile-First SEO - The Marketers Edition #3XEDigitalMobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigital
Aleyda Solís471.4K vues
NYT Product Discovery Activity Guide par Al Ming
NYT Product Discovery Activity GuideNYT Product Discovery Activity Guide
NYT Product Discovery Activity Guide
Al Ming37.2K vues
Questions product managers should ask customers par ProductPlan
Questions product managers should ask customersQuestions product managers should ask customers
Questions product managers should ask customers
ProductPlan47.1K vues
The Physical Interface par Josh Clark
The Physical InterfaceThe Physical Interface
The Physical Interface
Josh Clark366.1K vues
The Great State of Design with CSS Grid Layout and Friends par Stacy Kvernmo
The Great State of Design with CSS Grid Layout and FriendsThe Great State of Design with CSS Grid Layout and Friends
The Great State of Design with CSS Grid Layout and Friends
Stacy Kvernmo2.1M vues
6 Steps to Building User Personas and Why You Should Care par HubSpot
6 Steps to Building User Personas and Why You Should Care6 Steps to Building User Personas and Why You Should Care
6 Steps to Building User Personas and Why You Should Care
HubSpot49.2K vues
Visual Data Representation Techniques Combining Art and Design par Logo Design Guru
Visual Data Representation Techniques Combining Art and DesignVisual Data Representation Techniques Combining Art and Design
Visual Data Representation Techniques Combining Art and Design
Logo Design Guru59.7K vues
10 Insightful Quotes On Designing A Better Customer Experience par Yuan Wang
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
Yuan Wang1.3M vues
8 Tips for Scaling Mobile Users in China by Edith Yeung par Edith Yeung
8 Tips for Scaling Mobile Users in China by Edith Yeung8 Tips for Scaling Mobile Users in China by Edith Yeung
8 Tips for Scaling Mobile Users in China by Edith Yeung
Edith Yeung143.7K vues
Better Software—Faster: Ten Best Practices from Sequoia's Microservices Summit par Sequoia Capital
Better Software—Faster: Ten Best Practices from Sequoia's Microservices SummitBetter Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
Better Software—Faster: Ten Best Practices from Sequoia's Microservices Summit
Sequoia Capital65.4K vues

En vedette

Game Based Learning for Language Learners par
Game Based Learning for Language LearnersGame Based Learning for Language Learners
Game Based Learning for Language LearnersShelly Sanchez Terrell
193.3K vues37 diapositives
Are Traditional Teaching Methods Right for Today's Students par
Are Traditional Teaching Methods Right for Today's StudentsAre Traditional Teaching Methods Right for Today's Students
Are Traditional Teaching Methods Right for Today's StudentsWiley
49.4K vues16 diapositives
Enterprise 2.0 @ Sun Microsystems par
Enterprise 2.0 @ Sun MicrosystemsEnterprise 2.0 @ Sun Microsystems
Enterprise 2.0 @ Sun MicrosystemsPeter H. Reiser
3.7K vues10 diapositives
The Human Body in the IoT. Tim Cannon + Ryan O'Shea par
The Human Body in the IoT. Tim Cannon + Ryan O'SheaThe Human Body in the IoT. Tim Cannon + Ryan O'Shea
The Human Body in the IoT. Tim Cannon + Ryan O'SheaFuture Insights
15.1K vues24 diapositives
Net neutrality: The Basics par
Net neutrality: The BasicsNet neutrality: The Basics
Net neutrality: The BasicsInterQuest Group
38.3K vues1 diapositive
Innovation Enablers: Culture, Community & Code par
Innovation Enablers: Culture, Community & Code Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Angel Diaz
3.7K vues38 diapositives

En vedette(20)

Are Traditional Teaching Methods Right for Today's Students par Wiley
Are Traditional Teaching Methods Right for Today's StudentsAre Traditional Teaching Methods Right for Today's Students
Are Traditional Teaching Methods Right for Today's Students
Wiley49.4K vues
The Human Body in the IoT. Tim Cannon + Ryan O'Shea par Future Insights
The Human Body in the IoT. Tim Cannon + Ryan O'SheaThe Human Body in the IoT. Tim Cannon + Ryan O'Shea
The Human Body in the IoT. Tim Cannon + Ryan O'Shea
Future Insights15.1K vues
Innovation Enablers: Culture, Community & Code par Angel Diaz
Innovation Enablers: Culture, Community & Code Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code
Angel Diaz3.7K vues
Business optimization | building your first million is easy par Surjeet Singh
Business optimization | building your first million is easyBusiness optimization | building your first million is easy
Business optimization | building your first million is easy
Surjeet Singh14K vues
Kuala Lumpur CTO Summit - How to fire employees par Eric Tachibana
Kuala Lumpur CTO Summit - How to fire employeesKuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employees
Eric Tachibana19.8K vues
Vers une architecture de l'information par Andrea Resmini
Vers une architecture de l'informationVers une architecture de l'information
Vers une architecture de l'information
Andrea Resmini39.9K vues
TEDxSanFrancisco – Review par Niki Skene
TEDxSanFrancisco – ReviewTEDxSanFrancisco – Review
TEDxSanFrancisco – Review
Niki Skene25.6K vues
Rethinking Transformational Change par Jason Little
Rethinking Transformational ChangeRethinking Transformational Change
Rethinking Transformational Change
Jason Little4.3K vues
ADP ReThink 2016: Evolution of Work par ADP, LLC
ADP ReThink 2016: Evolution of WorkADP ReThink 2016: Evolution of Work
ADP ReThink 2016: Evolution of Work
ADP, LLC3.1K vues
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d... par AdNerds
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...
AdNerds42.2K vues
Offline is the new online - Le futur d'internet n'est plus derrière un écran par Cedric Giorgi
Offline is the new online - Le futur d'internet n'est plus derrière un écranOffline is the new online - Le futur d'internet n'est plus derrière un écran
Offline is the new online - Le futur d'internet n'est plus derrière un écran
Cedric Giorgi22.8K vues
31+ Startup Tools, Both Online & Offline par Pixc
31+ Startup Tools, Both Online & Offline31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & Offline
Pixc22.2K vues
Infographic: Cloud Security Superhero par IBM Security
Infographic: Cloud Security SuperheroInfographic: Cloud Security Superhero
Infographic: Cloud Security Superhero
IBM Security10K vues
Understanding strategy in innovation and technology oriented business par Durgarao Gundu
Understanding strategy in innovation and technology oriented businessUnderstanding strategy in innovation and technology oriented business
Understanding strategy in innovation and technology oriented business
Durgarao Gundu107.1K vues

Similaire à Montreal Girl Geeks: Building the Modern Web

Looking Back to Move Forward: Building the Modern Web par
Looking Back to Move Forward: Building the Modern WebLooking Back to Move Forward: Building the Modern Web
Looking Back to Move Forward: Building the Modern WebRachel Andrew
41.4K vues125 diapositives
The DiSo Project and the Open Web par
The DiSo Project and the Open WebThe DiSo Project and the Open Web
The DiSo Project and the Open WebChris Messina
15.6K vues154 diapositives
Business of Front-end Web Development par
Business of Front-end Web DevelopmentBusiness of Front-end Web Development
Business of Front-end Web DevelopmentRachel Andrew
1.4K vues84 diapositives
Knowing it all par
Knowing it allKnowing it all
Knowing it allRachel Andrew
24.5K vues101 diapositives
Contribution & Confidence, All Things Open Keynote par
Contribution & Confidence, All Things Open KeynoteContribution & Confidence, All Things Open Keynote
Contribution & Confidence, All Things Open KeynoteRachel Andrew
1.1K vues57 diapositives
Contribution & Confidence par
Contribution & ConfidenceContribution & Confidence
Contribution & ConfidenceAll Things Open
460 vues57 diapositives

Similaire à Montreal Girl Geeks: Building the Modern Web(20)

Looking Back to Move Forward: Building the Modern Web par Rachel Andrew
Looking Back to Move Forward: Building the Modern WebLooking Back to Move Forward: Building the Modern Web
Looking Back to Move Forward: Building the Modern Web
Rachel Andrew41.4K vues
The DiSo Project and the Open Web par Chris Messina
The DiSo Project and the Open WebThe DiSo Project and the Open Web
The DiSo Project and the Open Web
Chris Messina15.6K vues
Business of Front-end Web Development par Rachel Andrew
Business of Front-end Web DevelopmentBusiness of Front-end Web Development
Business of Front-end Web Development
Rachel Andrew1.4K vues
Contribution & Confidence, All Things Open Keynote par Rachel Andrew
Contribution & Confidence, All Things Open KeynoteContribution & Confidence, All Things Open Keynote
Contribution & Confidence, All Things Open Keynote
Rachel Andrew1.1K vues
Bruce Lawson Opera Indonesia par brucelawson
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
brucelawson1.5K vues
2015 Pharo Prague Lambda Meetup par Pharo
2015 Pharo Prague Lambda Meetup2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
Pharo1.4K vues
Drupal Security for Coders and Themers - XSS and CSRF par knaddison
Drupal Security for Coders and Themers - XSS and CSRF Drupal Security for Coders and Themers - XSS and CSRF
Drupal Security for Coders and Themers - XSS and CSRF
knaddison1.2K vues
There is something about JavaScript - Choose Forum 2014 par jbandi
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014
jbandi2K vues
WAPWG Clark defining capturing_web-based_if par Sara Day Thomson
WAPWG Clark defining capturing_web-based_ifWAPWG Clark defining capturing_web-based_if
WAPWG Clark defining capturing_web-based_if
Sara Day Thomson111 vues
[drupalday2017] - Speed-up your Drupal instance! par DrupalDay
[drupalday2017] - Speed-up your Drupal instance![drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance!
DrupalDay352 vues
Speed up your Drupal instance!! par bmeme
Speed up your Drupal instance!!Speed up your Drupal instance!!
Speed up your Drupal instance!!
bmeme239 vues
PrairieDevCon 2014 - Web Doesn't Mean Slow par dmethvin
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
dmethvin2.2K vues

Plus de Rachel Andrew

All Day Hey! Unlocking The Power of CSS Grid Layout par
All Day Hey! Unlocking The Power of CSS Grid LayoutAll Day Hey! Unlocking The Power of CSS Grid Layout
All Day Hey! Unlocking The Power of CSS Grid LayoutRachel Andrew
2.2K vues113 diapositives
SmashingConf SF: Unlocking the Power of CSS Grid Layout par
SmashingConf SF: Unlocking the Power of CSS Grid LayoutSmashingConf SF: Unlocking the Power of CSS Grid Layout
SmashingConf SF: Unlocking the Power of CSS Grid LayoutRachel Andrew
2.3K vues113 diapositives
Unlocking the Power of CSS Grid Layout par
Unlocking the Power of CSS Grid LayoutUnlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid LayoutRachel Andrew
2K vues113 diapositives
The Creative New World of CSS par
The Creative New World of CSSThe Creative New World of CSS
The Creative New World of CSSRachel Andrew
2K vues144 diapositives
Into the Weeds of CSS Layout par
Into the Weeds of CSS LayoutInto the Weeds of CSS Layout
Into the Weeds of CSS LayoutRachel Andrew
1.5K vues93 diapositives
Solving Layout Problems with CSS Grid & Friends - DevFest17 par
Solving Layout Problems with CSS Grid & Friends - DevFest17Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Rachel Andrew
2.1K vues96 diapositives

Plus de Rachel Andrew(20)

All Day Hey! Unlocking The Power of CSS Grid Layout par Rachel Andrew
All Day Hey! Unlocking The Power of CSS Grid LayoutAll Day Hey! Unlocking The Power of CSS Grid Layout
All Day Hey! Unlocking The Power of CSS Grid Layout
Rachel Andrew2.2K vues
SmashingConf SF: Unlocking the Power of CSS Grid Layout par Rachel Andrew
SmashingConf SF: Unlocking the Power of CSS Grid LayoutSmashingConf SF: Unlocking the Power of CSS Grid Layout
SmashingConf SF: Unlocking the Power of CSS Grid Layout
Rachel Andrew2.3K vues
Unlocking the Power of CSS Grid Layout par Rachel Andrew
Unlocking the Power of CSS Grid LayoutUnlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid Layout
Rachel Andrew2K vues
Into the Weeds of CSS Layout par Rachel Andrew
Into the Weeds of CSS LayoutInto the Weeds of CSS Layout
Into the Weeds of CSS Layout
Rachel Andrew1.5K vues
Solving Layout Problems with CSS Grid & Friends - DevFest17 par Rachel Andrew
Solving Layout Problems with CSS Grid & Friends - DevFest17Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17
Rachel Andrew2.1K vues
View Source London: Solving Layout Problems with CSS Grid & Friends par Rachel Andrew
View Source London: Solving Layout Problems with CSS Grid & FriendsView Source London: Solving Layout Problems with CSS Grid & Friends
View Source London: Solving Layout Problems with CSS Grid & Friends
Rachel Andrew1K vues
DevFest Nantes - Start Using CSS Grid Layout today par Rachel Andrew
DevFest Nantes - Start Using CSS Grid Layout todayDevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout today
Rachel Andrew1.1K vues
Start Using CSS Grid Layout Today - RuhrJS par Rachel Andrew
Start Using CSS Grid Layout Today - RuhrJSStart Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJS
Rachel Andrew990 vues
404.ie: Solving Layout Problems with CSS Grid & Friends par Rachel Andrew
404.ie: Solving Layout Problems with CSS Grid & Friends404.ie: Solving Layout Problems with CSS Grid & Friends
404.ie: Solving Layout Problems with CSS Grid & Friends
Rachel Andrew909 vues
Solving Layout Problems with CSS Grid & Friends - WEBU17 par Rachel Andrew
Solving Layout Problems with CSS Grid & Friends - WEBU17Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17
Rachel Andrew902 vues
Laying out the future with grid & flexbox - Smashing Conf Freiburg par Rachel Andrew
Laying out the future with grid & flexbox - Smashing Conf FreiburgLaying out the future with grid & flexbox - Smashing Conf Freiburg
Laying out the future with grid & flexbox - Smashing Conf Freiburg
Rachel Andrew2.4K vues
Solving Layout Problems with CSS Grid & Friends - NordicJS par Rachel Andrew
Solving Layout Problems with CSS Grid & Friends - NordicJSSolving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJS
Rachel Andrew2.7K vues
Google Developers Experts Summit 2017 - CSS Layout par Rachel Andrew
Google Developers Experts Summit 2017 - CSS Layout Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout
Rachel Andrew1.4K vues
New CSS Layout Meets the Real World par Rachel Andrew
New CSS Layout Meets the Real WorldNew CSS Layout Meets the Real World
New CSS Layout Meets the Real World
Rachel Andrew866 vues
An Event Apart DC - New CSS Layout meets the Real World par Rachel Andrew
An Event Apart DC - New CSS Layout meets the Real WorldAn Event Apart DC - New CSS Layout meets the Real World
An Event Apart DC - New CSS Layout meets the Real World
Rachel Andrew408 vues
Perch, Patterns and Old Browsers par Rachel Andrew
Perch, Patterns and Old BrowsersPerch, Patterns and Old Browsers
Perch, Patterns and Old Browsers
Rachel Andrew1.8K vues
Evergreen websites for Evergreen browsers par Rachel Andrew
Evergreen websites for Evergreen browsersEvergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsers
Rachel Andrew1.5K vues
What I discovered about layout vis CSS Grid par Rachel Andrew
What I discovered about layout vis CSS GridWhat I discovered about layout vis CSS Grid
What I discovered about layout vis CSS Grid
Rachel Andrew9.5K vues

Dernier

The Role of Patterns in the Era of Large Language Models par
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
91 vues65 diapositives
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... par
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...ShapeBlue
199 vues20 diapositives
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... par
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
35 vues49 diapositives
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT par
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITShapeBlue
208 vues8 diapositives
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... par
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...ShapeBlue
164 vues13 diapositives
"Package management in monorepos", Zoltan Kochan par
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan KochanFwdays
34 vues18 diapositives

Dernier(20)

The Role of Patterns in the Era of Large Language Models par Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li91 vues
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... par ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue199 vues
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... par Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT par ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue208 vues
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... par ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue164 vues
"Package management in monorepos", Zoltan Kochan par Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 vues
Business Analyst Series 2023 - Week 4 Session 7 par DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10146 vues
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... par BookNet Canada
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
BookNet Canada41 vues
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... par ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue129 vues
Business Analyst Series 2023 - Week 4 Session 8 par DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 vues
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... par Moses Kemibaro
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Moses Kemibaro35 vues
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... par ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue141 vues
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... par ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue196 vues
"Surviving highload with Node.js", Andrii Shumada par Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays58 vues
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue par ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue265 vues
Why and How CloudStack at weSystems - Stephan Bienek - weSystems par ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue247 vues
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue par ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue207 vues
NTGapps NTG LowCode Platform par Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu437 vues
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... par ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue108 vues

Montreal Girl Geeks: Building the Modern Web

  • 1. Building the modern web Rachel Andrew, Montreal Girl Geeks, February 2016 Rachel Andrew, Montreal Girl Geeks
  • 3. Dancers do not need to use computers Rachel Andrew, Montreal Girl Geeks
  • 5. The web gave me a community Rachel Andrew, Montreal Girl Geeks
  • 7. “Knowing HTML” was a marketable skill Rachel Andrew, Montreal Girl Geeks
  • 8. Learning something one day - teaching it to someone else the next Rachel Andrew, Montreal Girl Geeks
  • 9. The web gave me a new career. Rachel Andrew, Montreal Girl Geeks
  • 10. The web was accessible, and had a culture of sharing knowledge. Rachel Andrew, Montreal Girl Geeks
  • 11. Font tags and nested tables Rachel Andrew, Montreal Girl Geeks
  • 12. <script type="text/javascript"> <!-- function MM_reloadPage(init) { if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> Rachel Andrew, Montreal Girl Geeks
  • 13. The “Netscape Resize Fix” If the user resized their browser window positioned elements lost their positioning values. The “fix” was to reload the browser window on resize. Rachel Andrew, Montreal Girl Geeks
  • 18. … basic support of existing W3C standards has been sacrificed in the name of such innovation, needlessly fragmenting the Web and helping no one. — http://archive.webstandards.org/mission.html Rachel Andrew, Montreal Girl Geeks
  • 19. Our goal is to support these core standards and encourage browser makers to do the same, thereby ensuring simple, affordable access to Web technologies for all. — http://archive.webstandards.org/mission.html Rachel Andrew, Montreal Girl Geeks
  • 21. Encouraging designers to care about web standards Rachel Andrew, Montreal Girl Geeks
  • 22. The IE6 years Rachel Andrew, Montreal Girl Geeks
  • 23. Front-end developer 2005? Browser bugs expert Rachel Andrew, Montreal Girl Geeks
  • 24. Thanks to the hard work of countless WaSP members and supporters (like you), Tim Berners-Lee’s vision of the web as an open, accessible, and universal community is largely the reality. — http://www.webstandards.org/2013/03/01/our-work- here-is-done/ Rachel Andrew, Montreal Girl Geeks
  • 25. Browser vendors are implementing standard things in a standard way Rachel Andrew, Montreal Girl Geeks
  • 26. Innovation happens through the standards process Rachel Andrew, Montreal Girl Geeks
  • 27. Show stopping browser bugs when doing straightforward things in modern browsers are rare Rachel Andrew, Montreal Girl Geeks
  • 28. Is it all easy now? Rachel Andrew, Montreal Girl Geeks
  • 29. Studies show that a todo list is the most complex JavaScript app you can create before a newer, better framework is invented. — http://www.allenpike.com/2015/javascript- framework-fatigue/ Rachel Andrew, Montreal Girl Geeks
  • 30. We’re creating complexity Hiding the simple languages of the web behind tooling and process Rachel Andrew, Montreal Girl Geeks
  • 32. <div class="header"> <h1>My website</h1> <div class="nav"> </div> </div> <div class="article"></div> <div class="sidebar"></div> <div class="footer"></div> Rachel Andrew, Montreal Girl Geeks
  • 34. Web Video Text Tracks Format (WebVTT) WEBVTT 1 00:00:22.230 --> 00:00:24.606 This is the first subtitle. 2 00:00:30.739 --> 00:00:34.074 This is the second. 3 00:00:34.159 --> 00:00:35.743 Third Rachel Andrew, Montreal Girl Geeks
  • 37. Time-dimensional pseudo-classes :current :past :future :current(p, li, dt, dd) { background: yellow; } :past(p, li, dt, dd) { background: transparent; color: #999999; } Rachel Andrew, Montreal Girl Geeks
  • 40. CSS Grid Layout <div class="wrapper"> <header class="header">Header</header> <aside class="sidebar">Sidebar</aside> <article class="content">Content</article> </div> Rachel Andrew, Montreal Girl Geeks
  • 41. .sidebar { grid-area: sidebar; } .content { grid-area: content; } .header { grid-area: header; } .wrapper { display: grid; grid-template-columns: 120px 10px 120px 10px 120px; grid-template-rows: auto; grid-template-areas: "header header header header header" "sidebar . content content content"; } Rachel Andrew, Montreal Girl Geeks
  • 44. “I’ll take a look if you create a Sass Mixin …” — via my inbox Rachel Andrew, Montreal Girl Geeks
  • 45. Emerging specifications like Grid remove the need for a lot of the preprocessing Rachel Andrew, Montreal Girl Geeks
  • 48. .ag1 { @include span(2 of 10); } .ag2 { @include span(6 of 10); @include clearfix; } .ag3 { @include span(2 of 10 last); } Rachel Andrew, Montreal Girl Geeks
  • 50. /* declare a grid and set up a 10 column grid with gutters */ .container { width: 90%; margin: 0 auto 0 auto; display: grid; grid-template-columns: [col] 4.25fr repeat(9, [gutter] 1fr [col] 4.25fr ) [gutter]; grid-template-rows: auto repeat(5, 100px); } /* boxes positioned like so */ /* heading in row 1 full width */ h1 { grid-column: col / span col 10; grid-row: 1 / 2; } /* left hand sidebar */ .ag1 { grid-column: col / span gutter 2; grid-row: 2 / 3; } Rachel Andrew, Montreal Girl Geeks
  • 51. We should be all over a spec like grid. This is the future. Rachel Andrew, Montreal Girl Geeks
  • 53. By leaning on frameworks, are we masking the issues? Rachel Andrew, Montreal Girl Geeks
  • 54. Only by working with the specifications can we be part of improving them Rachel Andrew, Montreal Girl Geeks
  • 55. Sheer frustration drove much of the Web Standards movement Rachel Andrew, Montreal Girl Geeks
  • 56. My fear is that our reliance on frameworks will stop us pushing for better solutions Rachel Andrew, Montreal Girl Geeks
  • 58. There are always compromises. They shouldn’t be the same for every project. Rachel Andrew, Montreal Girl Geeks
  • 59. Standardising on tools should not be at the expense of learning HTML, CSS and JavaScript Rachel Andrew, Montreal Girl Geeks
  • 60. Use your tools and frameworks lightly Rachel Andrew, Montreal Girl Geeks
  • 61. Be ready to put them aside when they don’t suit a project Rachel Andrew, Montreal Girl Geeks
  • 62. Don’t become an expert in one brand of hammer. Become a master carpenter. Rachel Andrew, Montreal Girl Geeks
  • 63. Develop timeless skills Rachel Andrew, Montreal Girl Geeks
  • 64. It is HTML, CSS, JavaScript How you get there is just process. Rachel Andrew, Montreal Girl Geeks
  • 65. The “space junk” of the web Rachel Andrew, Montreal Girl Geeks
  • 66. Will we be still using frameworks to abstract away layout hacks, long after there is any need for the hacks? Rachel Andrew, Montreal Girl Geeks
  • 67. Best practices can become anti-patterns HTTP/2 will see many of our best practices become bad practices. — Image Sprites — Domain Sharding — Concatenating CSS and JavaScript https://www.smashingmagazine.com/2016/02/getting- ready-for-http2/ Rachel Andrew, Montreal Girl Geeks
  • 68. Whose time are we saving? Rachel Andrew, Montreal Girl Geeks
  • 69. We write code once. It runs 100s of 1000s of times in the browsers of our visitors. Rachel Andrew, Montreal Girl Geeks
  • 70. “When I look around, I see our community spending a lot of time coming up with new tools and techniques to make our jobs easier. To ship faster. And it’s not that I’m against efficiency, but I think we need to consider the implications of our decisions. And if one of those implications is making our users suffer—or potentially suffer—in order to make our lives easier, I think we need to consider their needs above our own.” — http://aaron-gustafson.com/notebook/who-should- pay/ Rachel Andrew, Montreal Girl Geeks
  • 72. The myth of temporary Rachel Andrew, Montreal Girl Geeks
  • 73. The web is inherently accessible. We choose to protect that, or to break it. Rachel Andrew, Montreal Girl Geeks
  • 75. I believe progressive enhancement is still the best approach we have Rachel Andrew, Montreal Girl Geeks
  • 76. “a robust site or application in the more traditional sense minimises its dependencies. The minimum dependency for a web site should be an internet connection and the ability to parse HTML.” — http://www.bbc.co.uk/guidelines/futuremedia/ accessibility/html/progressive-enhancement.shtml Rachel Andrew, Montreal Girl Geeks
  • 77. Start with the core experience Rachel Andrew, Montreal Girl Geeks
  • 78. What is the minimum that I need to ship? How can I ensure as I iterate I protect the core experience for everyone? Rachel Andrew, Montreal Girl Geeks
  • 79. We Ship. We Iterate. Rachel Andrew, Montreal Girl Geeks
  • 80. How should we integrate third party code? Rachel Andrew, Montreal Girl Geeks
  • 81. Not Invented Here Rachel Andrew, Montreal Girl Geeks
  • 82. “Are you afraid to write code? Does the thought linger in your brain that somewhere out there somebody has already done this? Do you find yourself trapped in an analysis cycle where nothing is getting done? Is your product mutating to accommodate third party components? If yes, then perhaps you are suffering from invented-here syndrome.” — http://mortoray.com/2015/02/25/invented-here-syndrome/ Rachel Andrew, Montreal Girl Geeks
  • 83. Avoid turning shortcuts and third party code into dependencies Rachel Andrew, Montreal Girl Geeks
  • 84. Dependency Inversion Rachel Andrew, Montreal Girl Geeks
  • 85. “High level modules should not depend upon low- level modules. Both should depend upon abstractions. Abstractions should never depend upon details. Details should depend upon abstractions.” — http://www.objectmentor.com/resources/articles/ dip.pdf Rachel Andrew, Montreal Girl Geeks
  • 87. Progressively enhanced UI — JavaScript implementation based on the regular HTML5 Video element — Static maps that become draggable and zoomable - avoiding creating a dependency on one maps provider or library — Ordering items via a form input - that become drag and drop if the user has JavaScript Rachel Andrew, Montreal Girl Geeks
  • 88. You can’t do everything You can do something Rachel Andrew, Montreal Girl Geeks
  • 89. “A 100% pure progressively-enhanced website may not be practical on every single project you will ever encounter. While that sort of purity can exist, it’s unlikely in many business scenarios. Budgets, timelines: these things exist. Progressive enhancement isn’t a zero sum game; it’s a continuum, just like the Web.” — http://sixtwothree.org/posts/the-practical-case-for-progressive- enhancement Rachel Andrew, Montreal Girl Geeks
  • 90. If your site doesn’t load who misses out? What do they lose? Rachel Andrew, Montreal Girl Geeks
  • 91. Giving back Rachel Andrew, Montreal Girl Geeks
  • 92. Where does our next generation of web professionals come from? Rachel Andrew, Montreal Girl Geeks
  • 93. If you have been doing this for a year, there is someone 6 months in who you are ideally placed to help. Rachel Andrew, Montreal Girl Geeks
  • 94. You will learn by teaching Rachel Andrew, Montreal Girl Geeks
  • 95. Contribute to the standards that make up the web Rachel Andrew, Montreal Girl Geeks
  • 96. What do authors think? Rachel Andrew, Montreal Girl Geeks
  • 97. Learn how the modern standards process works Rachel Andrew, Montreal Girl Geeks
  • 99. If authors do not offer feedback, the final specification will reflect our needs as understood by people who do not build websites. Rachel Andrew, Montreal Girl Geeks
  • 100. To make an impact on a specification you need to do so while it is still a draft There is no point complaining about something that is finished. You have your chance to make your case during the open standards process. Rachel Andrew, Montreal Girl Geeks
  • 101. Grid Layout and “gutters” Rachel Andrew, Montreal Girl Geeks
  • 102. .wrapper { display: grid; grid-template-columns: 120px 10px 120px 10px 120px; grid-template-rows: auto; grid-template-areas: "header header header header header" "sidebar . content content content"; } Rachel Andrew, Montreal Girl Geeks
  • 103. .wrapper { display: grid; grid-template-columns: repeat(11, [col] 4fr [gutter] 3.5fr ) [col] 4fr [gutter]; grid-template-rows: auto repeat(4, [row] auto [gutter] 15px); } Rachel Andrew, Montreal Girl Geeks
  • 104. I believed the grid needed column and row gaps much like multi-column layout has the column-gap property Rachel Andrew, Montreal Girl Geeks
  • 105. .wrapper { display: grid; grid-template-columns: repeat(11, [col] 4fr [gutter] 3.5fr ) [col] 4fr [gutter]; grid-template-rows: auto repeat(4, [row] auto [gutter] 15px); } Rachel Andrew, Montreal Girl Geeks
  • 106. .wrapper { display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-columns: repeat(12, [col] 4fr ); grid-template-rows: auto; } Rachel Andrew, Montreal Girl Geeks
  • 107. Solving the gutter problem — https://rachelandrew.co.uk/archives/2015/06/19/css- grid-layout-solving-the-gutter-problem/ — Post to the CSS WG list about the issue Rachel Andrew, Montreal Girl Geeks
  • 108. Put together use cases. Show issues clearly. Rachel Andrew, Montreal Girl Geeks
  • 109. Look for the issues already listed in draft specifications Rachel Andrew, Montreal Girl Geeks
  • 110. I am hopeful that contributing to standards is going to get easier Rachel Andrew, Montreal Girl Geeks
  • 111. The CSS Working Group may move to GitHub for issues in 2016 Rachel Andrew, Montreal Girl Geeks
  • 112. The Web Incubator Community Group — https://www.w3.org/community/wicg/ Rachel Andrew, Montreal Girl Geeks
  • 113. “Their goal is to take the lessons learned during the RICG’s responsive images slog and adapt web standards to match.” — https://www.w3.org/community/respimg/2015/07/09/ wicg/ Rachel Andrew, Montreal Girl Geeks
  • 115. Keep an eye on CSS Houdini A task force working on drafts that seek to explain and expose different parts of CSS. This should ultimately make it easier to polyfill, innovate, experiment and create entire new features. — https://wiki.css-houdini.org/ — https://dev.opera.com/articles/houdini/ Rachel Andrew, Montreal Girl Geeks
  • 116. Browsers vendors and the CSS WG alike are looking for “signals” from authors — are people talking about this spec? — are they writing about it, speaking at conferences? — are they directly requesting the features? Rachel Andrew, Montreal Girl Geeks
  • 117. Rachel Andrew, Montreal Girl Geeks
  • 118. Make a noise so that browser vendors hear what we want implemented Rachel Andrew, Montreal Girl Geeks
  • 119. Adopt an emerging specification! Rachel Andrew, Montreal Girl Geeks
  • 120. Some final thoughts Rachel Andrew, Montreal Girl Geeks
  • 121. Things are changing fast. Solid understanding of core web technologies has proved timeless. Rachel Andrew, Montreal Girl Geeks
  • 122. Ensuring maximum accessibility should be at the heart of all you do. Rachel Andrew, Montreal Girl Geeks
  • 123. Find ways to contribute Your voice & the voice of the people you build sites for is important. Rachel Andrew, Montreal Girl Geeks