Fronteers — vakvereniging voor front-end developers

The prestige of being a web developer by Chris Heilmann




Christian Heilmann: [0:04] Hello. I'm not going to give you and ask you to say, "Hey, how you doing?" Because you're like, "Fuck off, I want to have beer." Oh, and I started swearing already, great. [0:13] Today I'm going to finish the whole thing up, because there was so much to take in, you're probably completely overloaded already. With a few idea that I have over the years now, having been on stage, and having mentored other people how they got on stage.

[0:28] And helping out people to become somebody who's not only there fixing bugs, and writing websites, but actually going out and training other people on the things that we do. And I called it, "The Prestige of Being a Web Developer."

[0:42] Because a Web developer, we're not there to write code. We're not software developers that just build things that are just working. We're there to support the medium, the Internet. Which to me, should have replaced TV, radio, and newspapers, years ago, and sadly enough it hasn't yet. But it's actually a challenge.

[1:00] Last year I talked about how good it is to be a Web developer. I still stand by that. And I want all of us here to go the next step now, and to actually take what we've learned here, and bring it out to the world, and be listened to.

[1:12] I base that on a movie that I saw called, "Prestige," from 2006, which is absolutely an amazing movie about the turn of the century. It's two magicians, stage magicians, that upstage each other with more and more brutal tricks to get more of the audience in.

[1:31] Actually, they steal from each other. They do all kind of horrible things to each other. And it's starts with a friendship, and it becomes then more and more of a rivalry, and ends up in killings and everything. And has this really cool "Steam Punk" feel to it, that movie as well.

[1:45] The best thing about the movie is just the awesomeness of this. There's Batman in there. And there's Alfred in there. And then there is like Scarlett Johansson in there as one of the helpers of them. Then it actually goes further...if my slides work for me. It goes further with Wolverine. All in one movie.

[2:08] And then it's actually Nicola Tesla played by, I guess you can guess who it is. Yes. And it's amazing. They could have made that movie only better if they added Chuck Norris, [audience laughter] and basically Captain Kirk and his ingenuity in finding weapons. [audience laughter] Spock with a beard and Dr. Crockford.

[2:37] But it would have made it too awesome. It would be like in "Dogma" when he hears the voice of God and falls apart, and that doesn't do. So they weren't allowed to be in the movie.

[2:48] But what the movie does is explains a little bit of the story of what magicians do on stage. And I never liked magicians. But I always wondered, "How do they do their things, and what do they do right?"

[2:57] There's actually three parts to any magic trick, according to the movie. And they explain that really nicely. The first part is the pledge. The magician goes up and shows you something ordinary. In the movie it's like Michael Caine showing a bird in a cage.

[3:13] And the second one then is the turn. Basically what he does is put a sheet over the cage and smashes it. And that's like, "My God, you don't do that to a bird."

[3:23] Not necessarily that this is a magic trick, because it's just cruelty to animals and anybody can do that. But that's where the third thing comes in, and that's the prestige.

[3:32] The prestige means that he lifts it up, and he has a bird flying out of that thing. We don't know what happened. We don't probably want to know what happened. We want to think it's magic.

[3:43] We want to think there's something that we don't understand. And that's the prestige that is bringing it back to the real world of what the magic was beforehand.

[3:52] We want to know in the end that everything is good. We don't want to know that the bird was killed, and he's like, "Oh, I smashed a bird. Look. It's like blood and feathers. Awesome. I'm a magician."

[4:00] No you're not. You're just a cruel, cruel person. And to a degree, we do this right now. We're on stage inspiring you with amazing stuff. What? Is my microphone broken?

[4:09] OK, we do amazing stuff here. And you get very inspired, and go home, and you go to an office, and you're like, "Shit. I can't use any of that. My boss doesn't allow me to. Our product doesn't use it." And that's just not it. We want you to prolong the magic to bring it back to your work.

[4:29] We do magic. I'm a lot on planes. I have my laptop open because I write my slides last minute, which the organizers here can verify, and I just did here. And you see people sitting there next to you like, "Oh you got a computer?" Yeah. "I use Google mostly. Is that a Mac?" And like, totally random questions.

[4:53] But for them, it's like, whoa, you writes some random stuff, and things rotate on a screen. That's amazing. That's magic. And never forget this. We do this for a living what other people look at like, "Uh, this is quite cool."

[5:05] We do the same to ourselves. Native 3D sounds impure as with fallback for IE6 is what I will be showing you right now.

[5:13] We start building that. It works mostly in some nightly build or some fixes for a browser you can't get. We send it out. People are like, "Awesome. This is wonderful. I plus one it, I put it on Twitter, I re-tweet it.

[5:29] And in the audience, the same thing. You see these kind of things. And like, "That was the most inspiring talk ever. I'm so hyped right now. Shit. I can't use any of it." You see these conferences. Had a few conference when you're not going there, and you follow Twitter.

[5:44] You're like, "This is the coolest thing ever." And Monday after that, "Yeah, I asked my boss. We're not going to use that ever. And oh, it really doesn't work. It was just nice on stage." Let's think about that and take it further.

[5:55] This is a demo that has been out for a year. It basically just is, you can take an image, you can drop it into the page, drag and drop from your desktop in Windows, Linux, and Mac.

[6:08] You can annotate it, and then you can send it up to some design thing, or some hosting sites for movies and pictures.

[6:16] Why is not every single upload that we build in the last year using these technologies? They're supported in all the browsers. I see really shit upload buttons or Flash solutions for uploads.

[6:28] These technologies are there. The source code is available. We all clapped on it on stage. We all loved it. But we didn't dare implementing it into our products yet.

[6:37] And that's what I want you to think about. Why do we release these things when people don't use them? What did we do wrong that we can't reach you to actually tell your boss that it's OK to use these things? Or are we just afraid of using them?

[6:52] So that's something to think about. How good magicians work is something that is explained in the movie as well, and a lot of it I think can be translated to what we're doing.

[7:01] The first one is reusing and improving. He took the original magic trick with the box and the bird, and made it visible, that actually the bird vanishes with some other trick.

[7:13] We can do that as well. We should be doing that as well. If we don't reuse from the past, if we don't learn from the past, we're actually repeating repeating mistakes from the past.

[7:21] Chrome is an amazing piece of software, an amazing browser. And it had a good time because other browsers made really, really horrible mistakes before, that it didn't have to repeat again. Every browser that comes out has that same benefit.

[7:34] Instead of just asking for bad features of all browsers, we should be thinking about new ones. And what Alex showed you was amazing. It's like, these are things that can come soon.

So it's as button. It's not a [inaudible 8: [7:43] 09] . And there's really no explanation out there why you should be doing that if it's not generated.

[7:53] And as Bruce showed, the main problem that we have is that button is not properly styleable. So you're job is should be to find bugs every single day to ever browser provider out there, to think about Web forms, and to think about buttons and making them styleable. Not to write a JavaScript that works around the issue and uses a div for clicking.

[8:11] Because it's unfair for us to think about surroundings and problems. HTML should do what we want to do. If test apply, that actually is progressive enhancement. It's really simple to test for something, and then apply it.

[8:25] If you just apply it, and say, "Please download the latest nightly build of the browser," you're actually bringing your problem to the end-user. They shouldn't have this problem. It's partly because we have this old best practices.

[8:37] This was before JavaScript was supported, before CSS was there, everything was HTML. Table layout, font faces. Great. Then we came up with DHTML days where we did everything in JavaScript like massive navigations and these kind of things.

Then CSS came around and in the HTML days had a bit of [inaudible 9: [8:52] 04] , a bit of CSS, and a lot of JavaScript. And then we moved further, and had the gospel according to Zellman. When you thought DHTML was a shit idea.

[9:04] Don't do everything in JavaScript. Don't do everything in like, that it doesn't work only in one browser and in another, and you have to write the same code three times.

[9:12] Yeah, nowadays we take this gospel with the things that we build, and it looks a bit like this what we're building right now. Because the standard, the separation that we're preaching, is not working the way it should be anymore.

[9:26] So if people complain Modernizer uses JavaScript to test for CSS properties, well done. Do it differently. You can't. You cannot test, for example, if a certain video is prominently supported on the server side. You have to test it in JavaScript.

[9:42] So we have to rethink our best practices. We have to refresh our approach to that. That was originally my talk that I wanted to give. But I thought, "OK, there's so much cool shit coming. You don't need the details of that. We can talk about this. This is what it's about."

[9:56] You're not what Alex Rosa calls Dogma, when Web developers come up, and like it should be always separations, it should be always HTML. And other people said, "Well, you can do everything in JavaScript because it works in my browser."

[10:08] We have to meet in the middle somehow. And that is partly learning from others. In the movie they disguised themselves and they go to other magic shows when they're still friends at the beginning, and they learn what other people are doing.

[10:18] The problem with learning what other people are doing on the Web is that we always tend to just look at things. We find a massive JavaScript solution. We looked at it in the source code, and we find one thing that we don't like.

[10:31] Then we say, "This is shit. I'm going to write it myself." Instead of writing a patch. Instead of fixing it. Instead of collaborating with other people. We look for the one mistake. Not for what that thing does that is absolutely awesome.

[10:44] Because we want to be awesome ourselves with our own 200 repositories on Get Up that have forks instead of 300 forks. Nine Inch Nails. Somebody asked be to do a Nine Inch Nails reference in there so it's always good. That's good.

[10:59] And not invented here is bad. And not invented here for me is the killer of innovation at the moment. That every company comes up with their own solutions rather than sitting together and working together on a solution.

[11:09] We can't jump our own shadow and say like, "If I haven't written, I can't use it." There are so many solutions being done in Parallel, because they were not invented in the company, or in this environment where people like it.

[11:24] I'll come back to that later. The Flash world has a lot of solutions that we need right now. But we don't talk to those people because, "Flash is dead. Take you, fuck you. Ha ha." That's not helpful. It's like, you saw Sep earlier. Sep, amazing talk. The best I've ever seen here amongst others, but he's a Flash developer.

[11:49] You didn't throw any bananas or anything at him. He's a Flash developer. But but he can show that if you reach out from your world to the other world, you can do awesome stuff. The other thing that they show in the movie to be a good magician is to be inventive.

[12:02] So they come up with all these gadgets that they put under them. So this is all like mechanical stuff that brings the bird cage out and things like that. What you learn from the movie there is though that these things are not like here. We tinker with things.

[12:17] It's absolutely necessary, it's very important to write demos. It's very important to play with technology. And in this case, like if you only get a game on your iPhone, you can actually use a big microphone and your camera to put it on your big screen.

[12:28] But this is nothing to showoff to your neighbors, and with Web development tricks we do that. We come up with quick solutions and then we say, "Hey, this is a demo. Look at it. It breaks and everything. But hey, this is awesome." Instead of just under the hood, saying, like, "Hey, we just fixed that in our browser. How about you fix it in your browser, as well, and then we bring a solution out together?"

[12:50] I see this happening, but I don't see it much. And I don't see it across frameworks, I don't see it across libraries. We just find other tricks to show off, rather than collaborating on them.

[13:00] That brings best practices that are just not applicable to everybody. So, like, here, if attacked by mobile clowns, go for the jugular. It's probably good advice, but really not applicable to me at the moment.

[13:10] A lot of our, especially the performance world, a lot of the best practices, what you should be doing, might be necessary, for, like, massive websites or big web applications, but really is overkill for your blog. But we still call it a best practice.

[13:23] That's something that always got me. Like, to me, a best practice is not just, it doesn't come out of nowhere, it comes out of research. It comes out of the market, it comes from you. Not from somebody onstage telling you, this is the best practice, follow that right now.

[13:35] The other thing that they're doing in the movies is they're leaving their comfort zone. So, when they meet with Nikolai Tesla, they actually start using electricity, and these kinds of things. And, back in those days, it was really scary.

[13:47] For us, it means that we now, we're bickering about semantics. We're bickering about little HTML attributes and what they should be calling, but the mobile market and the tablet market and streaming video and streaming TV and all these things bicker away and cut away at what the web is.

[14:05] If people tell me that streaming video is great for the Internet, and I'm like, OK, you're replacing your television with a television?

[14:13] Internet TV, to me, would be that I could remix the movie and send it to you and get comments for it. I could vote with 10 people how the movie should end.

[14:23] I should be able to actually change the colors of the football team when my team is losing. These kinds of things. It's all interactive.

[14:30] But no, we just get streaming video and call it innovative, and it's great. Well, sorry, it's only in America, but in a half year's time, you might get it as well, and then your Internet will be as awful as ours.

[14:40] Internet is worldwide, so, every time You Tube shows me a video and says, like, I can't see it in my country, even if it's in my language, then I cry a little. I think like, Jesus, what did we do wrong?

[14:50] So, it's not about the desktop only anymore. If you haven't understood that yet, and you don't have, but you test different browsers on your Android phone, and you don't find the excitement of building touch interfaces on tablet and things like that, be aware, this is going to change.

[15:08] I don't want a world where everything is in closed environments. I want the web to be on these devices, because it showed on the desktop what a revolution it can be.

[15:16] Some things we show to people are just amazing. I mean, I hired Robin Hawks, who built Rawkets, probably, who has seen Rawkets? Which is, like, a multiplayer WebSocket style and asteroid style shooting game, with the little triangle that you rotate, and shoot each other.

[15:36] And it shows that WebSockets is awesome and it shows, it's really cool. But it looks like Asteroids from 1976. If you go to any Flash conference, and would show a game demo that looks like Asteroids from 1976, they would laugh you offstage.

[15:50] As we're saying, like, "Hey, it's with open technology, so it's much better than the Flash stuff, right?"

[15:55] So, we're lucky that there is a whole retro thing going on, but we should be taking the web past all the other things. We should make the web beautiful and creative and change to the users' needs, and not just say, OK, it has to look like iPhone, then it's good.

[16:12] So, ask the Flash developer world, if you know Flash guys that are developers, ask them for their tricks. Thank you for people like Seth, who share their tricks, because not many people do.

[16:24] But there are so many problems that we have in WebGL, that we have in video, that we have in animation that has been solved in Flash, but we're too arrogant to ask those people.

[16:35] They do their own little conferences, talking to each other and laughing about what the web is going. And we laugh about that Flash is being replaced by somebody else.

[16:42] In the end, we want to do smooth animations for our end users. We want to do it with open technology, because we know it's good, and we know how to use it. So, our users shouldn't suffer because we're too arrogant not to talk to other communities.

[16:54] Be gorgeous. Whatever we build, if it's a demo, if it, products, of course. But if it's a demo, it should be beautiful. It should work, it should be falling back to something that doesn't work, when, doesn't work in a certain browser.

[17:10] It should be just a joy to play with. Not like, OK, this looks like something on Omega 500, but it's using Canvas, so it's cool. Please to retweet that to your friends.

[17:19] It should be something that you love. I mean, Calvin and Hobbes, if you don't like Calvin and Hobbes, you have no soul. It's a series of comic books that just is, this kid is excited about everything.

[17:33] There's no official merchandise. The original writer only wanted to sell his books. So, he didn't want to make money with t-shirts, coffee mugs, and these kinds of things, which shows you dedication to the cause.

[17:43] So, whatever we build should be beautiful to play with. And it should fall back. There are so many benefits to that. When people talk about Canvas, and they're like, OK, I'm not, how about you do a fall back picture inside your Canvas with some description for those people who don't have Canvas? Why would I want to do that? That's extra work, that's pointless.

[18:03] Well, anybody who links to your Canvas demo on Facebook will get that fallback image as the thumbnail image.

[18:10] So, there's 500 million or 600 million or whatever they claim right now that they're having. 600 million people have a chance to see your thing and go to it and then interactively play with it.

[18:19] Just because you put that image in, you put that extra effort of making it gorgeous, rather than just making it work.

[18:25] So, what we show as the first thing should be inviting, should be interesting, should be beautiful. Code is poetry and I've said this before. People judge you by the quality of your code, not necessarily in a nice way, but also in a good way.

[18:40] When I interview people and I look at the source code of their websites or what they put on GetUp, I see already what kind of training that person might need or what kind of ideas they're coming from.

[18:50] I read a lot into your code, which might be unfair, but at the same time, that's what I do. Same as what you put on Facebook, it's probably a good idea to test before you actually apply for a job.

[18:59] But if your code looks like you're painting with crayons and you're eating half of them, then probably, I'm not going to hire you to a bank website and things like that.

[19:09] Be open, is a very important thing. The coolest tricks, the coolest magic tricks, I mean, magic tricks on stage have been a bit outdated, you know.

[19:19] You have, like, Siegfried and Roy and these creepy things. Nowadays, when you see the TV shows, it's all people in the street doing street magic, things in public. That is in the movies, as well.

[19:28] That is cool. If you innovate and do beautiful things in public, how much cooler is that than doing it somewhere behind closed doors and release it after three years?

[19:38] Yes, you will fail. Yes, you will have smaller problems, but you can ask your community about it to fix it with you, rather than just building the best thing and not listening to anybody. Then releasing it, ta-da. And that's never working for somebody who doesn't put a lot of money into it.

[19:53] It's simple to build magic and to build beautiful things when you have full control. There's no way, and I'm saying this now, there's no way the web can compete with native interfaces, so you, so stop copying them.

[20:07] Stop trying to make something look like iOS to the nth degree, because you will not have the same smoothness. You will not be able to scroll it the same way. You will not be have to set the same experience.

[20:18] The web can be better than native code, because the web can adapt. And native code cannot. You get the things that you have on the phone, and you should be using that, because you confuse people if you don't.

[20:31] On the web, we confused people for years, so we learned what not to do. We don't have any circular navigations anymore, we don't have any buttons that bark when you press them, hopefully.

[20:43] Boston Globe is a great example. Right now, it's a poster child, it's getting more of a cliche by now, that uses HTML, CSS, and JavaScript and media queries to give the website to different devices and being one website.

[20:58] The Financial Times just released a web app, and they have more readers on that one than on the iPhone app. We can do that, if we strive for being gorgeous, not for being like, it's the web, it will never be as beautiful, so meh. And I only do it for one resolution, and I do an extra mobile phone application on the side.

[21:16] Adaptation, to me, brings the prestige. Taking what you've heard here, and adapting to your needs in the company. Taking one thing out of the 10 that you heard, and trying to convince somebody in the company to use that.

[21:30] Or just use it, and hope that they, that, find out that it works, and get the praise when it works, and when it doesn't work, or has to be fixed, they're going to find out anyways. We had that last year, I told you about that.

[21:42] It's always, survival of the fittest is always what people say Darwin was about. Like, it's the strongest company, the best one with the most users with the best thing.

[21:50] If you really look into his books, and I was at a Darwin cafe, that's where I found that, it's not the strongest of the species that survive, it's not the intelligent. But it's the one that's actually most responsive to change.

[22:02] If we, as a web community, don't change and don't be adaptive to new markets that need us and need our approach and need our intelligence of saying, like, yeah, this will never be 100 percent, but it's so much better if it's 1000 percent, because it changes to the needs of the device, and the end user. Then we will be extinct.

[22:22] Not in the next 20 years, not in the next 10 years, but we will actually have users out there that don't get a beautiful web. They get something that they paid for, and they will be wondering why they can't do anything unless they pay more for it.

[22:35] The Internet, to me, was always, the good thing about it was, like, I did not have to pay for Wikipedia. I did not have to pay for newspapers. I can get information.

[22:45] So, using something like PhoneGap to write your HTML, CSS, and JavaScript and turn it into native apps is absolutely awesome. It's like, somebody wants to have a mobile app, just write it as a website for them, render it out as a native app.

[22:59] Charge them for another three weeks, fair enough. "Oh, it took all the extra time to make the mobile app." But we should not have to, because our main technologies are good enough.

[23:08] Because if you don't, then your work gets multiplied, not in the short run. Right now, you talk to Americans and it's like, "Oh, it's all iPhone and Android, fuck it, nothing else is necessary."

[23:19] There will be more players on the market. There will be more cool tablets. There will be more cool mobile phones, there will be more cool set top boxes, speaking freezers, washing machines, I don't know, whatever, toilet brushes that actually read tweets out to you. All these things will come.

[23:34] When you're open, and when you're actually writing in a technology that's flexible enough, and Alex has shown some awesome stuff, how flexible we can make these technologies in the future, and the CSS stuff blew me away, as well.

[23:47] Then you don't have to multiply the work. You just maintain it in one code base and then render it out as native if you need to.

[23:54] Another thing from Charles Darwin was that, as a young man, I had uninformed ideas. I threw out queries, suggestions, wondering all the time over everything.

[24:03] To my astonishment, the ideas took like wildfire. Which I translate to, don't be afraid to ask questions. Don't be afraid to go on a mailing list, even if it's the jQuery boss or to somebody else. And just ask a question.

[24:32] As you showed with the community support that we're having in these open systems, nobody, nobody is not important. You are as important as the people that write that code. Because you might find that bug that we didn't think about.

[24:32] So web workers, people that build things on the web, designers, UX people, project managers, developers, are not stage magicians. We should not woo you with cool little tricks. We should give you, this is how cool it can be, and here is a, why don't you try it out, please tell us if it worked or not.

[24:52] The feedback, I don't get that much, and that's something that annoys me. Because it's not something you can never have. We should, next year, not be here and talk about the same things, because you were like, wow, was blowing my head right off.

[25:05] We should be forced to come up with new ideas. We should be forced to come up with new things, because you already have helped us, bringing the magic that we told you about into the market and into products, and to end users that now have a better experience.

[25:21] Dragging and dropping a folder into an image search to upload to Flickr, that zips up the folder in the browser and sends it off to a web service as a zip, in a tenth of the time than uploading 400 pictures would have done is not science fiction.

[25:36] This can be done in WebKit, this can be done in Firefox. We just need to dare to actually use it, and dare to use it in a progressive enhancement way that people with old browsers don't actually get that experience and get locked out and get asked to download a new browser.

[25:52] They don't need to know that this exists. But the people with newer browsers, with newer mobile phones should not be stopped from using these really cool functionalities.

[26:01] Ask questions. Demand cool stuff to adapt to your environments. If Google, Microsoft, Apple, Mozilla, anybody says like "This doesn't work," then please stand up and say like, "I would love to use this. I only need this to change."

[26:18] I mean, we had a few people that said, for example, strange things about the enterprise level market when it comes to Mozilla, for example. Now we have a group of people in the company talking exclusively with the enterprise market to see how we could help them.

[26:33] So it sparked a discussion, which is good, because we weren't asked by the enterprise before -- and I always think about Captain Kirk when I heard, but sad enough it never is.

[26:42] It's just good that we learn from your needs, but the needs don't come in. And if you don't ask the right questions, we will come up with solutions for ourselves.

[26:53] As Tab said in the CSS working group there's not many web developers in there, that's why they build things that we don't need rather than fixing things that we need. So maybe become part of that group, even just send mails to them and find out what's going on.

[27:06] So one thing that annoys me for a long, long time is that people are out for blood. I mean, we want to go into Mordor with bears with lasers out of their eyes.

[27:15] It's just this whole thing when you go in a conference and sit in a panel and they coach you and say like, "Well, you guys should disagree on something because the audience loves that."

[27:26] You're like, "Wait, what? Aren't we here on the panel so people can ask questions and get their questions answered rather than doing a stage fight here?"

[27:35] That doesn't work for me. And as with anything, it's with technologies against each other. "I'm a Chrome fan boy. Your stuff sucks." "Oh, I'm a Firefox. I'm open, you're not." Blah.

[27:44] There's no gain from being out for blood and wanting things. In the movie, it basically meant that the magicians actually mutilated themselves or lost loved ones because the audience wanted more and more and more. And the audience didn't care for the welfare of the magicians.

[28:00] The same we don't really care if Microsoft does something really, really good because we actually have too much fun pointing out it did something really, really bad.

[28:08] So think about what we do to each other by just always being out for controversy, and being out for--"Why don't you trust--I disagree about this." Like when I was with YUI and I was with John Resig so "YUI is not as good as jQuery, right?"

[28:21] That's not a question, that's a statement, and I don't really care any more. Because you don't even quantify or want to know what the differences are.

[28:29] So browser makers, all of them, want the web to succeed and deliver awesome experiences. That's what we should be concentrating on. This is what we should be doing right now.

[28:39] This is what we do to a degree. But on the other hand, as for example, Jake said, "The marketing departments do something different because people keep saying like 'Which is the biggest browser?'"

[28:50] Browser numbers, all based on, some counter that people have to put into their website and actually make the effort to be counted by that thing.

[29:01] That's not data that is really showing anything. That's actually a subset of the Internet. If we had browser numbers from the BBC, from Google, from Yahoo, from Microsoft -- from all these big websites --, then we would have browser stats.

[29:16] Not the ones that say like, "Oh, well, we lost five points, the others lost 10 points. We've got to do something. How about a marketing campaign?" Like, oh my God, not again.

[29:25] So Chris at JSConf gave a talk three days ago, and he asked for more harmony in the JavaScript community--less flame wars, less bickering, less controversy in public.

[29:41] If two public figures like in Brendan Eich and Alex Russell or John Resig and me, if we bicker at each other on Twitter, that is entertaining, yes? But it will be quoted out of context in 10,000 other little conversations. And it doesn't actually help us to work with each other again later on.

[30:00] Disagreeing is a great thing, but we should not get addicted to it, and we do right now. So we love to actually shoot people down. It's like, "Oh, that's not true, Chris. What a hippie you are. That's stupid."

[30:11] John Resig's presentation was awesome -- wonderful, you agree? Yes. Like insight into how jQuery came to be, what it is right now.

[30:23] Now imagine a Microsoft guy standing here and giving exactly the same presentation. I'm 100 percent sure the Twitter stream would have been completely different. Half a -- yeah, Microsoft well, whatever, yes, they say they reach out to the community, blah, and they would have taken the effort of doing this, of giving this data out, as well.

So let's think about like giving people a chance rather than just shooting people down in flames because we like one thing or another. Like [inaudible 30: [30:42] 57] showed how you can do some of the things that I showed in my JavaScript article with CSS and Sass and Compass.

[30:57] Awesome, thank you. Now we showed two different communities to reach the same trick instead of saying like, "She didn't say minus beta." I didn't say, "Oh, that's stupid. We should use JavaScript instead."

[31:08] We just showed that the same trick, the same logic, is behind these two technologies. So let's have a bit more harmony in it and less fighting and bickering.

[31:16] If you don't like something, don't rant on Twitter that it's awful. Just don't use it. If you're not interested in using it at all, why do you even bother doing that?

[31:25] When Adobe released Edge, we all had a good laugh at it, and said like, "OK, great, the output is just ridiculous."

[31:32] What we should ask ourselves is how a company as intelligent as Adobe with a track record of releasing lots and lots of software that millions of people spend a lot of money on thought 2011 was a good market to come up with a what you see is what you get editor, after we for 10 years told people HTML, CSS and JavaScript is damn easy.

[31:50] You don't need to use a What You See Is What You Get editor. What You See Is What You Get is not the web. The web is what you see is actually what's the best experience we can give you.

[31:59] That's what they didn't understand in this case, and they thought there's a market out there, because our stuff is considered too hard. And that's something we should work on, because it's good to see a competition.

[32:11] Competition is important. I should disagree with Google guys. I just disagree with Opera guys, with Microsoft guys. And it's simple.

[32:18] But the competition should be on, "Hey, you won this time. I win next time," not like out for blood. "I'm going to destroy you with my new release." That's just not working, because being reactive kills innovation.

[32:31] If people come up to me and file bugs about experimental stuff that only makes sense in a certain browser with a certain extra technology behind it, why doesn't Mozilla support this? OK, I answer we can't because we don't have the other technology.

[32:47] But some other person says like, "Oh, there were five bugs filed, why we don't do that? Why we don't do that?" So I have to send her another 10 emails explaining that these things should be done rather than fixing something useful.

[32:56] So reactive -- calling out for blood from companies to do the same as others instead of looking at the innovation in all of them and picking and choosing and making a good...

[33:08] There's good articles out there explaining these things nowadays, where people look at what everybody does and show the best things of all of them, rather than like "but really, you should be using Safari, because everything else is a stupid idea." That's not the attitude that helps anybody right now.

[33:22] As a speaker on stage you need people to trust, and in the movie that's basically her getting handcuffed and being dropped into a water bucket, which doesn't happen much on web development conferences, admittedly.

[33:34] Bu t-- yes, not yet -- no, no, let's not go there. I had in the past, I got you really excited about cool technologies, cool APIs and awesome stuff, and then I got--then your emails came in to the product team, and they didn't answer the emails.

[33:52] All the API got shut down half a year later. And I was just standing there like, "OK, that was bad."

[33:57] But also when I go to -- and I do that deliberately right now -- I go out of my conference zone. I speak at java conferences. I speak at enterprise level conferences, mobile phone conferences.

[34:08] I talk to them about how awesome web developers are, and how good they are at taking new technology and making it work and bringing beautiful interfaces to the people out there, I don't want to stand there and lie.

[34:19] .

[34:20] I don't want to stand there and say like, "This Drag and Drop thing, by the way, I haven't seen much." I want to show next time I go to a conference and 15 companies in the Netherlands use this Drag and Drop for their upload now.

[34:31] How cool would that be? You can actually tell people the web people are not the ones that are just preaching dogma and not doing anything, but they're actually building products with the stuff that we innovate on.

[34:41] So if you are on stage, tell the truthI mean, this is what it's all about. You'll be on stage after this, I hope, and I can help anybody with that. I wrote a handbook on it that helps you with it if you want it to.

[34:54] I release all my stuff for free, that you can copy and paste and do whatever you want with, but tell the truth. Don't try to skim over things. Don't try to bamboozle people into something.

[35:05] I had a guy for a while right now he went up on stage. He does a JavaScript framework and he's like, my framework gets the same experience as a native app. That's a really stupid statement to make, because it's so easy to drill holes into that one.

[35:18] Don't do these kinds of stuff. Don't try to big it up. Just tell the truth, what's going on out there. And yes, if you help people who are not available, if you say, "Hey, there's a great community if you just go to the mailing list or go on IRC, people will help you."

[35:32] And the people go there and a Flash developer, for example, comes on HTML5 and says, "I'm a Flash developer, how do I do this?" "Wow, you're an idiot, ha, ha, Jake, were you unnecessary," that's unhelpful. So be open as much as we are open in giving out our information for free.

[35:46] Great example yesterday. Dive into HTML5 went offline. Mark Pilgrim went offline that did Dive into HTML5, and Dive into Python, a lot of other books that are referenced in almost all my talks in the last year.

[36:04] And people got -- "What's wrong with Mark?" That was wonderful. That was really cool. People did not just say, "Oh, the thing is offline." Because it said, "gone," it did not say, "Sorry, not available."

[36:15] And people started worrying, "What's wrong with Mark? What's going on?" They asked his bosses in Google where he is. It got so far that people sent the police around to his house to see if he's OK.

[36:23] He just wanted to be offline. He just said, "I had enough for a moment." I don't know what the real reasons are now, but that basically showed me that people cared about him that much.

[36:31] But the site, regardless, is gone. All my slides from the last year were linked to HTML5 -- at Dive in HTML5 and I told every single person, "Why do I learn HTML5? Just go to HTML5 and read that."

All these people actually now are telling, Chris lied, because that thing is not available. It's the vanishing act in the Batman movie that with the [inaudible 36: [36:46] 59] .

[36:55] And you see more and more of these things happening--Yahoo Maps, Google Translate. All the things that we keep relying on are gone, which made me realize a few things.

[37:05] If Mark Pilgrim stops doing that -- and I don't see it coming, but if I lose both my hands and my ability to speak or something like that, and I can't do anything with my blog anymore, there will be attrition. It will fall apart.

[37:20] I found like that people point out bugs or mistakes in my blog posts from 2006. "Can you please fix that?" And I'm like, "Yes, I'm going to get on it when I get time," and I don't have the time to do it because it's me. And it's cool to be this guy with the blog, the old blog that people go to.

[37:36] But on the other hand it is a lot of responsibility for me to do it. If things break that I built that you actually use in your presentations, I feel bad. So broken links will happen.

[37:47] So I thought a good idea is to stop trying to be a rock star. Join a band. Be part of a band, be part of a group of people that actually go on to forums, work with each other.

[37:59] Don't do a demo on your own. Find a designer to partner with and make a wonderful demo. Make a really, really, good, awesome thing. Be part of a band, don't be the rock star that will be in rehab in three years' time and then forgotten in five years' time. Justin Biebier, mark my words.

[38:15] And one of the things that -- luckily, I work for them, but I used that before--the MDN documentation is a wiki, and it fascinates me how many people don't get this.

[38:27] They say, "Oh, you guys on MDN, you should write something about this. Here's a blog post that I've written about it." And I'm like, "OK, did you see that? If you go to that site, there's an edit button.

[38:37] Let me help you there. There's an edit button." There's no filtering. There's no... We look at it. We see the changes and we may look at grammar and things like that, but if you want to write about webkit specific stuff on MDN, do it. It's an open wiki.

[38:54] This is about information for the web. This is not about Firefox only stuff. The W3cb wiki is the same thing. There's lots and lots of places out there where you can put your content where people are already going, rather than having to fight the other blogs to find your one article about the coolest way to rotate something. You can be part of this and it doesn't cost you anything.

[39:16] It's not as prestigious. You're not the stage magician, but you are somebody that helps the web. And you have 10,000, 20,000 people out there that help you with it.

[39:26] I mean, Mozilla has 400 people, 450 now, but 40,000 contributors. How cool is that to have that kind of intelligent people who are driven already to learn about something to send your ideas to and get answers from?

[39:39] Because, in the end, it's about collaboration. You will not ever build a real product without working with a project manager, a designer, and maybe an HTML guy, a PHP back end guy, and whatever else.

[39:53] It's all about communicating with other people and building the best thing together, not like, "Oh, I can write everything in JavaScript, but the client then cannot maintain it once you are gone. It's all about collaborating with each other, so why don't we do it with documentation?

[40:06] JsFiddle, shown by DVI as well. I use that more and more. It's just so cool when somebody asks something on an HTML channel and he's like, "OK, how do I do this?"

[40:17] I write a fiddle. I put the JavaScript there, the CSS there, the HTML there, and they can see it immediately rather than having to put some demo on my server again that I forget about and never delete again and it just gets older and older.

[40:29] I think there's a pointer somewhere over there. Yeah. Other people can actually fork the thing and update it. You can run it yourself. You can do whatever you want with it. That's so much more powerful.

[40:40] The other day, I wanted to have headlines in the end docs at a 90 degree turn. I played with it. I tweeted with Chris Coyer, and we worked together on it.

[40:49] Then I threw out the fiddle, put it on Twitter, and said, "Guys, play with that. Who's got the best solution?" An hour later I had 17 different solutions for the same problem. We found a really good one that we're not implementing.

[41:00] On my blog, this would have been three days of comments where I deleted half them that want to give me Viagra or great money lending facilities and these kind of things. Because we start with the code and we talk about it there.

[41:12] Etherpad is what we use for internal meetings. It's actually hosted by Mozilla. There's several free ones out there, as well. Piratepad and these kind of things.

[41:22] It's amazing. It's like Google Docs, but it's not like this massive word interface. It's more like a text editor where you can write with each other. And you can chat next to it.

[41:31] You can actually discuss and do documentation together in a matter of minutes rather than sending emails to each other and actually quoting each other wrongly and indenting the wrong way so you actually find the information and corroboratively put them together quite easily.

[41:45] Dropbox. Seb has all this stuff on Dropbox that he showed earlier. Wonderful tool, just for collaborating on code. It's just like you don't even need to go public yet. You don't need to go and get GetUp code or whatever. You can just do it in Dropbox together.

[42:00] And, of course, get top in the end. And now, with the app for Mac, it's that easy. You don't even need to... "Oh, this scary terminal thing. I'm not going to touch that. It's going to bite me."

[42:10] So with the new app, you don't have to do that. You can just get it, change it, use your editor, change whatever's out there and send it back to GetUp.

[42:18] Be your own teacher. This is a saying that I love to bid. A mediocre teacher tells. A good teacher explains. A superior teacher demonstrates. A great teacher inspires.

[42:32] I could show you the coolest shit out here, but I start to get more and more into, "Here is what other people have done. Here's how it works. What do you think you can do with it?"

[42:41] In training courses, it's totally pointless to go through one big folder and teach you everything step by step. It's much more interesting to let you play with technology, find your own solutions.

[42:50] What we find out in our own terms, we retain 10 times better than we just hear. So every time I say something cool, I download it. I play with it. I fail. I completely misunderstand what the guy wanted to do.

[43:02] Then I start reading the documentation and I see what's going on and I play with it. You can do the same thing. Learn by just playing with things. Learn by using codes, no just waiting for the perfect documentation to fall out of the sky. Because code is open and the slides are released. All of the stuff is free out there.

[43:19] I sometimes wonder why I'm doing that. I could be selling these things, as well. And I had offers to it. Like, "Oh, put it on a DVD and we send it out to people." And I'm like, "Hey, welcome to 1985. That's an awesome idea."

[43:29] Fill in the blanks. If there's something that you're missing and none of these open source projects that you think should be done, you could be the person doing that.

[43:39] You don't have to be an awesome coder for that. You could be the person to do that thing the main coder doesn't have time for, or doesn't want to do.

[43:46] A great example for that just the article I had on Smashing Magazine, which is like simple math, explaining to you how to do sine curves and sine and cosine for circular motion.

[43:57] There's nothing magical in there. I released all of it for jsFiddle for people to play with, as well, and the comments on Smashing Mag showed that people are playing with it there, rather than like, "Oh, download the sip and hopefully look at it." With the jsFiddle, it's much more inviting to play with it.

[44:11] So I actually did this because I was in Seb's training and Seb expected us to all know that. I knew it. A lot of people did, as well. But I thought, "OK, where's this documented? All this knowledge about basic math of animation?"

[44:29] I looked at Google and I didn't find anything, so I just wrote the article. Smashing Mag wanted to have an article from me anyways, so perfect.

[44:36] I filled the gap, so now Seb can go and say, "Here's a starter or a refresher on math if you want to read up for it before you come to my training."

[44:43] So I filled a gap. I filled a problem that was there, not necessarily perceived, but I think that more and more people will now think about going to his course because they already got inspired of, "Oh my God, I have to do math?" Actually, math is really cool. It's not that really hard.

[44:58] So don't submit only code. People always think, "Open source projects. They only need code and I'm not good enough as a JavaScript developer."

[45:06] Just write examples and documentations. I dare you to find a person that has a cool thing on GetUp that will hate you for finding a folder the next morning called, "Examples" or "Documentation" that explains what they've been writing.

[45:22] This is the kind of documentation that I write for myself as I start playing with things. I write down, "OK. That does that. That does that. That does that."

[45:29] I start writing documentation first and then my code from the documentation. This is rather sick, but it actually shows me a lot of things that I should be thinking about in my code that I wouldn't do if I didn't document it up front.

[45:40] So think about that. You can actually help the web be much more understandable by just putting a little example in there. Especially when it comes to support.

[45:50] Right now, I'm spending a lot of time taking old webkit demos from a year ago because, in the nightly of Firefox we now have CSS 3D animations. Like transformations, the whole rotating thing stuff that was amazing in webkit a few months ago and now we have it.

[46:07] Instead of writing something new, I just take the demos that people have seen and their own Get Up and I put another mast in there, where only the webkit was.

[46:16] That is a simple fix that all of you could do, because browsers keep up and they do start supporting it, but a lot of demos are just like, "This is only webkit. Nobody else will ever come up with that idea that's a standard."

[46:27] So help out that way. Use what you heard today. Just play with the things that you've found, like this guy in Starbucks, and do something with it. Just download it, play with it.

[46:39] Seb's stuff is right for this, and go through Leah's talk and find some of the CSS stuff. Play with that in your real products and see if it sticks. It will stick because Leah has a great way of explaining this cool stuff and also where it fails, what other people don't do.

[46:57] Molly Holdstock gave this great quote that after four years of making rounded corners work in every browser, designers don't do rounded corners anymore.

[47:05] This, to me, shows how broken the process is that we have right now with the standards that we want. And at the same time, when they're there we don't use because we're still afraid of them.

[47:14] So be more bold. Just use this new stuff and try it out. Repeat the message, as well. Go back to your company and offer, hey, you just paid me whatever it cost to get to this conference. How about I do a quick meeting and show you what we've been talking about. Show you some cool stuff that is applicable to my company."

[47:34] That is how I learned speaking. That is how I learned public speaking. That is how I got known. This is how I hired people because they are... Or retained people who wanted to leave. To say like, "Whoa, I can actually do some of this Python stuff that we don't use in real production?"

[47:48] Yeah, talk to the company about it. Show then what's going on the market out there, because we don't all have time doing it.

[47:52] I can safely say that your boss will love you for that. Your boss will not say, "Well, no, no, no. We sent you to an expensive conference. You should not share that information with anybody." That's probably not what you're going to hear.

[48:05] But if you come out and say, "We heard some really cool stuff that can make us more effective. How about half an hour before lunch we sit together and I show you through some of them."

[48:14] You'll become a speaker. You'll become a magician. You'll go up on stage. A small stage, yes, but the first stage. You could be the Chris Heilmann here in the next few years. Grow your hair. Go for it.

[48:23] Collect good stories. Please give us the real information and do the story that's not the obvious one but the other one around.

[48:32] Tell us how some of the stuff that Leah showed made you save 400k out of your home page. Tell us how you started using Canvas or SVG for your bar charts rather than generating them as static images and how many emails came back from your users that started loving your site because it's much more interactive.

[48:51] Give us the real information. I can only be as good as the real world. I can tell you bullshit, but I don't. I want to have real stories from the real market out there that tells me that what I've been preaching is actually useful for anybody out there. But I can't do it if you don't tell me about it.

[49:07] Because best practices are discovered. They're not defined. If a best practice fails completely in 80% of the market, it's not a best practice.

[49:17] It's a good idea, but a best practice makes the web better, makes the market better and not just only one speaker like, "Yeah, you should be doing this."

[49:25] I had people that have standards in companies where they asked us to sort attributes in HTML by alphabet. Never an explanation why we should be doing it. It was just the way we did it.

[49:37] If it didn't come in like that, the code was not submitted. That's the kind of dogma that I'm talking about that we should not be doing anymore.

[49:43] So bring us evidence. Tell us about how what we talked about helped you in your real job. I can safely say that not a lot of speakers would send you an email back like, "Don't bother me with that crap."

[49:55] We'd be like, "Oh, thank you. I've finally found somebody that used my stuff and..." And in my next slide, I'm going to show you a website and say, "Look how they used it," if you use a lot of it. If it's like two lines of code, probably not that impressive but still a story to tell.

[50:09] This here is reserved for you. You can all do this. We're not stage magicians. We're web developers, just like you. So please, please use our shit and next year I'll see you here. Thank you very much.


Christian: [50:40] Ten minutes 'til beer. [laughter]

Christian: [50:47] I'm sorry for not being technical, but this had to be said. I could show you technical shit for 10 minutes if there are no questions. [50:55] Yeah, from PPK. Any questions? Come on. Disagree. Fuck it, it's your job to come to my company and tell my boss what to do. Well, you can get paid for that. People do that. Good. Beer time. Thank you very much.



A summary of this talk is available on Chris's site


1 mark on 29-01-2013 at 16:55 o'clock:
great song
Post a comment