Slide 1

Slide 1 text

Stop solving problems you don’t yet have. Dublin Web Summit 2012

Slide 2

Slide 2 text

a History Lesson

Slide 3

Slide 3 text

<!-- 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); //-->

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Things used by people who understand the problems they solve are also used by those who do not understand those problems, or even if there is a problem.

Slide 6

Slide 6 text

This is an amazing time to be a web developer.

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Frustration

Slide 10

Slide 10 text

The web is a work in progress. Your job? To deal with it.

Slide 11

Slide 11 text

Making things better with code

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

You now have two problems

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Problem: no media query support in IE8 and below.

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Problem: lack of support for styling HTML5 semantic elements in older browsers.

Slide 18

Slide 18 text

Problem: lack of support for certain CSS3 Selectors in older browsers.

Slide 19

Slide 19 text

1. What is the problem? My process 2. What are my constraints? 3. Is not supporting this feature an option? 4. What current solutions exist? 5. Use a polyfill or roll my own?

Slide 20

Slide 20 text

Why not just use a boilerplate?

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Stop solving problems you don’t yet have

Slide 23

Slide 23 text

If you don’t know what it is doing. Why is it there?

Slide 24

Slide 24 text

Do you know what is safe to delete?

Slide 25

Slide 25 text

There’s no silver bullet to making a slow site fast. You must take a holistic approach. High performance runs the entire way through from the hardware it’s hosted on, through the app that builds the pages, to the server software that delivers the pages and the front end code that displays them in a browser. Drew McLellan - http://allinthehead.com/retro/361/how-to-make-your-website-fast

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Polyfills should not be a black box

Slide 28

Slide 28 text

Teach problem solving before polyfilling.

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

“Perch is removing my paragraphs”

Slide 31

Slide 31 text

We need to teach: HTML, CSS, JavaScript

Slide 32

Slide 32 text

We need to teach: Problem Solving skills

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

If we train people to just copy and paste, we stop them growing, learning and contributing.

Slide 35

Slide 35 text

Make sure you know why you are using a solution and what your other options are.

Slide 36

Slide 36 text

Know and test for what happens if JavaScript doesn’t load.

Slide 37

Slide 37 text

When teaching or writing tutorials for others explain problems before handing out the solution. Explain why as well as how.

Slide 38

Slide 38 text

Thank you. @rachelandrew http://rachelandrew.co.uk http://edgeofmyseat.com http://grabaperch.com Image credits - Flickr users: artbystevejohnson, atoach, dominicspics, imagesbywestfall, koalazymonkey, pinksherbert, whatcouldgowrong, colemama