SlideShare una empresa de Scribd logo
1 de 124
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Australian Digital Marketing Landscape 2016
Australian Digital Marketing Landscape 2016Australian Digital Marketing Landscape 2016
Australian Digital Marketing Landscape 2016Marketa
 
The State of Decentralized Storage
The State of Decentralized StorageThe State of Decentralized Storage
The State of Decentralized StorageCoinGecko
 
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)Kim Dewe
 
2016 Digital predictions for marketing, tech, pop culture and everything in b...
2016 Digital predictions for marketing, tech, pop culture and everything in b...2016 Digital predictions for marketing, tech, pop culture and everything in b...
2016 Digital predictions for marketing, tech, pop culture and everything in b...Soap Creative
 
E-A-T: Myths, Truths, And Implications for SEO
E-A-T: Myths, Truths, And Implications for SEOE-A-T: Myths, Truths, And Implications for SEO
E-A-T: Myths, Truths, And Implications for SEOIan Lurie
 
Working With Big Data
Working With Big DataWorking With Big Data
Working With Big DataSeth Familian
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeawaysHavas
 
Aleyda Solis: How to develop actionable and impactful SEO audits
Aleyda Solis: How to develop actionable and impactful SEO auditsAleyda Solis: How to develop actionable and impactful SEO audits
Aleyda Solis: How to develop actionable and impactful SEO auditsSearchNorwich
 
The Future Of Work & The Work Of The Future
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
 
50 Essential Content Marketing Hacks (Content Marketing World)
50 Essential Content Marketing Hacks (Content Marketing World)50 Essential Content Marketing Hacks (Content Marketing World)
50 Essential Content Marketing Hacks (Content Marketing World)Heinz Marketing Inc
 
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina Stoy
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina StoyData Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina Stoy
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina StoyLazarinaStoyanova
 
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...Aleyda Solís
 
How to think like a startup
How to think like a startupHow to think like a startup
How to think like a startupLoic Le Meur
 
Why Content Marketing Fails
Why Content Marketing FailsWhy Content Marketing Fails
Why Content Marketing FailsRand Fishkin
 
2023 Google Algorithms & SEO's Future: Powerful Predictions For 2024
2023 Google Algorithms & SEO's Future: Powerful Predictions For 20242023 Google Algorithms & SEO's Future: Powerful Predictions For 2024
2023 Google Algorithms & SEO's Future: Powerful Predictions For 2024Search Engine Journal
 
How to Determine the ROI of Anything
How to Determine the ROI of AnythingHow to Determine the ROI of Anything
How to Determine the ROI of AnythingGary Vaynerchuk
 
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&A
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&APreparing for your startup pitch - rehearsal, confidence, and the deadly Q&A
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&ADarren Menabney
 
WTF - Why the Future Is Up to Us - pptx version
WTF - Why the Future Is Up to Us - pptx versionWTF - Why the Future Is Up to Us - pptx version
WTF - Why the Future Is Up to Us - pptx versionTim O'Reilly
 

La actualidad más candente (20)

Australian Digital Marketing Landscape 2016
Australian Digital Marketing Landscape 2016Australian Digital Marketing Landscape 2016
Australian Digital Marketing Landscape 2016
 
The State of Decentralized Storage
The State of Decentralized StorageThe State of Decentralized Storage
The State of Decentralized Storage
 
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
 
2016 Digital predictions for marketing, tech, pop culture and everything in b...
2016 Digital predictions for marketing, tech, pop culture and everything in b...2016 Digital predictions for marketing, tech, pop culture and everything in b...
2016 Digital predictions for marketing, tech, pop culture and everything in b...
 
E-A-T: Myths, Truths, And Implications for SEO
E-A-T: Myths, Truths, And Implications for SEOE-A-T: Myths, Truths, And Implications for SEO
E-A-T: Myths, Truths, And Implications for SEO
 
Working With Big Data
Working With Big DataWorking With Big Data
Working With Big Data
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeaways
 
Aleyda Solis: How to develop actionable and impactful SEO audits
Aleyda Solis: How to develop actionable and impactful SEO auditsAleyda Solis: How to develop actionable and impactful SEO audits
Aleyda Solis: How to develop actionable and impactful SEO audits
 
The Future Of Work & The Work Of The Future
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 Future
 
50 Essential Content Marketing Hacks (Content Marketing World)
50 Essential Content Marketing Hacks (Content Marketing World)50 Essential Content Marketing Hacks (Content Marketing World)
50 Essential Content Marketing Hacks (Content Marketing World)
 
chatgpt dalle.pptx
chatgpt dalle.pptxchatgpt dalle.pptx
chatgpt dalle.pptx
 
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina Stoy
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina StoyData Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina Stoy
Data Studio for SEOs: Reporting Automation Tips - Weekly SEO with Lazarina Stoy
 
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
 
How to think like a startup
How to think like a startupHow to think like a startup
How to think like a startup
 
State of the Cloud 2023—The AI era
State of the Cloud 2023—The AI eraState of the Cloud 2023—The AI era
State of the Cloud 2023—The AI era
 
Why Content Marketing Fails
Why Content Marketing FailsWhy Content Marketing Fails
Why Content Marketing Fails
 
2023 Google Algorithms & SEO's Future: Powerful Predictions For 2024
2023 Google Algorithms & SEO's Future: Powerful Predictions For 20242023 Google Algorithms & SEO's Future: Powerful Predictions For 2024
2023 Google Algorithms & SEO's Future: Powerful Predictions For 2024
 
How to Determine the ROI of Anything
How to Determine the ROI of AnythingHow to Determine the ROI of Anything
How to Determine the ROI of Anything
 
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&A
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&APreparing for your startup pitch - rehearsal, confidence, and the deadly Q&A
Preparing for your startup pitch - rehearsal, confidence, and the deadly Q&A
 
WTF - Why the Future Is Up to Us - pptx version
WTF - Why the Future Is Up to Us - pptx versionWTF - Why the Future Is Up to Us - pptx version
WTF - Why the Future Is Up to Us - pptx version
 

Destacado

Game Based Learning for Language Learners
Game Based Learning for Language LearnersGame Based Learning for Language Learners
Game Based Learning for Language LearnersShelly Sanchez Terrell
 
Are Traditional Teaching Methods Right for Today's Students
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
 
Enterprise 2.0 @ Sun Microsystems
Enterprise 2.0 @ Sun MicrosystemsEnterprise 2.0 @ Sun Microsystems
Enterprise 2.0 @ Sun MicrosystemsPeter H. Reiser
 
The Human Body in the IoT. Tim Cannon + Ryan O'Shea
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
 
Net neutrality: The Basics
Net neutrality: The BasicsNet neutrality: The Basics
Net neutrality: The BasicsInterQuest Group
 
Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Angel Diaz
 
Business optimization | building your first million is easy
Business optimization | building your first million is easyBusiness optimization | building your first million is easy
Business optimization | building your first million is easySurjeet Singh
 
Kuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employeesKuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employeesEric Tachibana
 
Vers une architecture de l'information
Vers une architecture de l'informationVers une architecture de l'information
Vers une architecture de l'informationAndrea Resmini
 
TEDxSanFrancisco – Review
TEDxSanFrancisco – ReviewTEDxSanFrancisco – Review
TEDxSanFrancisco – ReviewNiki Skene
 
Rethinking Transformational Change
Rethinking Transformational ChangeRethinking Transformational Change
Rethinking Transformational ChangeJason Little
 
ADP ReThink 2016: Evolution of Work
ADP ReThink 2016: Evolution of WorkADP ReThink 2016: Evolution of Work
ADP ReThink 2016: Evolution of WorkADP, LLC
 
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...
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...AdNerds
 
Offline 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 é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 écranCedric Giorgi
 
31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & Offline31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & OfflinePixc
 
Infographic: Cloud Security Superhero
Infographic: Cloud Security SuperheroInfographic: Cloud Security Superhero
Infographic: Cloud Security SuperheroIBM Security
 
Facebook et la présidentielle 2012
Facebook et la présidentielle 2012Facebook et la présidentielle 2012
Facebook et la présidentielle 2012Publicis Consultants
 
Securing the Cloud
Securing the CloudSecuring the Cloud
Securing the CloudGGV Capital
 

Destacado (20)

Game Based Learning for Language Learners
Game Based Learning for Language LearnersGame Based Learning for Language Learners
Game Based Learning for Language Learners
 
Are Traditional Teaching Methods Right for Today's Students
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
 
Enterprise 2.0 @ Sun Microsystems
Enterprise 2.0 @ Sun MicrosystemsEnterprise 2.0 @ Sun Microsystems
Enterprise 2.0 @ Sun Microsystems
 
The Human Body in the IoT. Tim Cannon + Ryan O'Shea
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
 
Net neutrality: The Basics
Net neutrality: The BasicsNet neutrality: The Basics
Net neutrality: The Basics
 
Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code Innovation Enablers: Culture, Community & Code
Innovation Enablers: Culture, Community & Code
 
Business optimization | building your first million is easy
Business optimization | building your first million is easyBusiness optimization | building your first million is easy
Business optimization | building your first million is easy
 
Kuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employeesKuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employees
 
Vers une architecture de l'information
Vers une architecture de l'informationVers une architecture de l'information
Vers une architecture de l'information
 
Brennpunkt2015 Neuburger
Brennpunkt2015 NeuburgerBrennpunkt2015 Neuburger
Brennpunkt2015 Neuburger
 
TEDxSanFrancisco – Review
TEDxSanFrancisco – ReviewTEDxSanFrancisco – Review
TEDxSanFrancisco – Review
 
Rethinking Transformational Change
Rethinking Transformational ChangeRethinking Transformational Change
Rethinking Transformational Change
 
ADP ReThink 2016: Evolution of Work
ADP ReThink 2016: Evolution of WorkADP ReThink 2016: Evolution of Work
ADP ReThink 2016: Evolution of Work
 
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...
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...
 
Offline 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 é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
 
31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & Offline31+ Startup Tools, Both Online & Offline
31+ Startup Tools, Both Online & Offline
 
Infographic: Cloud Security Superhero
Infographic: Cloud Security SuperheroInfographic: Cloud Security Superhero
Infographic: Cloud Security Superhero
 
Facebook et la présidentielle 2012
Facebook et la présidentielle 2012Facebook et la présidentielle 2012
Facebook et la présidentielle 2012
 
Innovating supply chains in Asia
Innovating supply chains in AsiaInnovating supply chains in Asia
Innovating supply chains in Asia
 
Securing the Cloud
Securing the CloudSecuring the Cloud
Securing the Cloud
 

Similar a Montreal Girl Geeks: Building the Modern Web

Looking Back to Move Forward: Building the Modern Web
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
 
The DiSo Project and the Open Web
The DiSo Project and the Open WebThe DiSo Project and the Open Web
The DiSo Project and the Open WebChris Messina
 
Business of Front-end Web Development
Business of Front-end Web DevelopmentBusiness of Front-end Web Development
Business of Front-end Web DevelopmentRachel Andrew
 
Contribution & Confidence, All Things Open Keynote
Contribution & Confidence, All Things Open KeynoteContribution & Confidence, All Things Open Keynote
Contribution & Confidence, All Things Open KeynoteRachel Andrew
 
Contribution & Confidence
Contribution & ConfidenceContribution & Confidence
Contribution & ConfidenceAll Things Open
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesiabrucelawson
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda MeetupPharo
 
Finding harmony in web development
Finding harmony in web developmentFinding harmony in web development
Finding harmony in web developmentChristian Heilmann
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptChristian Heilmann
 
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
Drupal Security for Coders and Themers - XSS and CSRF knaddison
 
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014jbandi
 
WAPWG Clark defining capturing_web-based_if
WAPWG Clark defining capturing_web-based_ifWAPWG Clark defining capturing_web-based_if
WAPWG Clark defining capturing_web-based_ifSara Day Thomson
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialPatrick Chanezon
 
[drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance![drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance!DrupalDay
 
Speed up your Drupal instance!!
Speed up your Drupal instance!!Speed up your Drupal instance!!
Speed up your Drupal instance!!bmeme
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slowdmethvin
 

Similar a Montreal Girl Geeks: Building the Modern Web (20)

Looking Back to Move Forward: Building the Modern Web
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
 
The DiSo Project and the Open Web
The DiSo Project and the Open WebThe DiSo Project and the Open Web
The DiSo Project and the Open Web
 
Business of Front-end Web Development
Business of Front-end Web DevelopmentBusiness of Front-end Web Development
Business of Front-end Web Development
 
Knowing it all
Knowing it allKnowing it all
Knowing it all
 
Contribution & Confidence, All Things Open Keynote
Contribution & Confidence, All Things Open KeynoteContribution & Confidence, All Things Open Keynote
Contribution & Confidence, All Things Open Keynote
 
Contribution & Confidence
Contribution & ConfidenceContribution & Confidence
Contribution & Confidence
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup2015 Pharo Prague Lambda Meetup
2015 Pharo Prague Lambda Meetup
 
Finding harmony in web development
Finding harmony in web developmentFinding harmony in web development
Finding harmony in web development
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
Graduating to Grid
Graduating to GridGraduating to Grid
Graduating to Grid
 
Why NodeJS
Why NodeJSWhy NodeJS
Why NodeJS
 
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
Drupal Security for Coders and Themers - XSS and CSRF
 
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014
 
WAPWG Clark defining capturing_web-based_if
WAPWG Clark defining capturing_web-based_ifWAPWG Clark defining capturing_web-based_if
WAPWG Clark defining capturing_web-based_if
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
 
[drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance![drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance!
 
Speed up your Drupal instance!!
Speed up your Drupal instance!!Speed up your Drupal instance!!
Speed up your Drupal instance!!
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
 

Más de Rachel Andrew

All Day Hey! Unlocking The Power of CSS Grid Layout
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
 
SmashingConf SF: Unlocking the Power of CSS Grid Layout
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
 
Unlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid LayoutUnlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid LayoutRachel Andrew
 
The Creative New World of CSS
The Creative New World of CSSThe Creative New World of CSS
The Creative New World of CSSRachel Andrew
 
Into the Weeds of CSS Layout
Into the Weeds of CSS LayoutInto the Weeds of CSS Layout
Into the Weeds of CSS LayoutRachel Andrew
 
Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Rachel Andrew
 
View Source London: Solving Layout Problems with CSS Grid & Friends
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 & FriendsRachel Andrew
 
DevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayDevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayRachel Andrew
 
Start Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSStart Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSRachel Andrew
 
404.ie: Solving Layout Problems with CSS Grid & Friends
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 & FriendsRachel Andrew
 
Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Rachel Andrew
 
Laying out the future with grid & flexbox - Smashing Conf Freiburg
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 FreiburgRachel Andrew
 
Solving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSSolving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSRachel Andrew
 
Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Rachel Andrew
 
Web Summer Camp Keynote
Web Summer Camp KeynoteWeb Summer Camp Keynote
Web Summer Camp KeynoteRachel Andrew
 
New CSS Layout Meets the Real World
New CSS Layout Meets the Real WorldNew CSS Layout Meets the Real World
New CSS Layout Meets the Real WorldRachel Andrew
 
An Event Apart DC - New CSS Layout meets the Real World
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 WorldRachel Andrew
 
Perch, Patterns and Old Browsers
Perch, Patterns and Old BrowsersPerch, Patterns and Old Browsers
Perch, Patterns and Old BrowsersRachel Andrew
 
Evergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersEvergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersRachel Andrew
 
What I discovered about layout vis CSS Grid
What I discovered about layout vis CSS GridWhat I discovered about layout vis CSS Grid
What I discovered about layout vis CSS GridRachel Andrew
 

Más de Rachel Andrew (20)

All Day Hey! Unlocking The Power of CSS Grid Layout
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
 
SmashingConf SF: Unlocking the Power of CSS Grid Layout
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
 
Unlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid LayoutUnlocking the Power of CSS Grid Layout
Unlocking the Power of CSS Grid Layout
 
The Creative New World of CSS
The Creative New World of CSSThe Creative New World of CSS
The Creative New World of CSS
 
Into the Weeds of CSS Layout
Into the Weeds of CSS LayoutInto the Weeds of CSS Layout
Into the Weeds of CSS Layout
 
Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17Solving Layout Problems with CSS Grid & Friends - DevFest17
Solving Layout Problems with CSS Grid & Friends - DevFest17
 
View Source London: Solving Layout Problems with CSS Grid & Friends
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
 
DevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout todayDevFest Nantes - Start Using CSS Grid Layout today
DevFest Nantes - Start Using CSS Grid Layout today
 
Start Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJSStart Using CSS Grid Layout Today - RuhrJS
Start Using CSS Grid Layout Today - RuhrJS
 
404.ie: Solving Layout Problems with CSS Grid & Friends
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
 
Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17Solving Layout Problems with CSS Grid & Friends - WEBU17
Solving Layout Problems with CSS Grid & Friends - WEBU17
 
Laying out the future with grid & flexbox - Smashing Conf Freiburg
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
 
Solving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJSSolving Layout Problems with CSS Grid & Friends - NordicJS
Solving Layout Problems with CSS Grid & Friends - NordicJS
 
Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout Google Developers Experts Summit 2017 - CSS Layout
Google Developers Experts Summit 2017 - CSS Layout
 
Web Summer Camp Keynote
Web Summer Camp KeynoteWeb Summer Camp Keynote
Web Summer Camp Keynote
 
New CSS Layout Meets the Real World
New CSS Layout Meets the Real WorldNew CSS Layout Meets the Real World
New CSS Layout Meets the Real World
 
An Event Apart DC - New CSS Layout meets the Real World
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
 
Perch, Patterns and Old Browsers
Perch, Patterns and Old BrowsersPerch, Patterns and Old Browsers
Perch, Patterns and Old Browsers
 
Evergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsersEvergreen websites for Evergreen browsers
Evergreen websites for Evergreen browsers
 
What I discovered about layout vis CSS Grid
What I discovered about layout vis CSS GridWhat I discovered about layout vis CSS Grid
What I discovered about layout vis CSS Grid
 

Último

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Juan Carlos Gonzalez
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 

Último (20)

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 

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