awesome technology on the web - oxygen accelerator

38
HTML5 & JAVASCRIPT Awesome Technology on the Web Rob Hawkes Hi, I’m Rob Hawkes and I’m here to talk a little about HTML5 & JavaScript to show you some of the awesome things that you can do with them.

Upload: robin-hawkes

Post on 27-Jan-2015

109 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Awesome Technology on the Web - Oxygen Accelerator

HTML5 & JAVASCRIPT

Awesome Technology on the Web

Rob Hawkes

Hi, I’m Rob Hawkes and I’m here to talk a little about HTML5 & JavaScript to show you some of the awesome things that you can do with them.

Page 2: Awesome Technology on the Web - Oxygen Accelerator

If you don’t already know, I work at Mozilla.

My official job title is Technical Evangelist, but I prefer Rawket Scientist, which is what it says on my business card.

Part of my job is to engage with developers and related communities about cool new technologies on the Web.

And for those of you with no idea of what Rawket means, I made a multiplayer game called Rawkets in which players fly around in little rockets and shoot each other in the face with the latest Web technologies. It’s quite addictive!

http://rawkets.com

Page 3: Awesome Technology on the Web - Oxygen Accelerator

Created by Phil Banks (@emirpprime)

Now it’s no secret that I spend most of my time experimenting with HTML5 and other cool technologies.

If you’ve met me before then you probably already know about my slight addiction to HTML5 canvas and visual programming.

Page 4: Awesome Technology on the Web - Oxygen Accelerator

Also, please don’t hesitate to ask a question as we go along.

All I ask is that you raise your hand and I’ll get to you as soon as I can.

It’s worth noting that these slides will be online on my blog very soon if you want to see them again or want to check out the notes.

Page 5: Awesome Technology on the Web - Oxygen Accelerator

It’s worth mentioning that I’m in jet-lag and travel-confusion mode at the moment.

I flew back from the US last week only to then travel to Poland for a HTML5 gaming conference a couple days later.

I only got back from there this past Saturday evening to find myself jumping on a train from Bournemouth at 6am today to come see you guys.

It’s a lot of travelling and it can be massively confusing, especially when you sleep through the entire flight to Poland and realise that you could be in any city in the world right now, although it did turn out to be Warsaw which *is* in Poland and luckily the right city.

I am in England now, right?

Page 6: Awesome Technology on the Web - Oxygen Accelerator

HTML5 & JavaScript

What is all the fuss about?

I mentioned that this talk is all about HTML5 & JavaScript, but why are they important? What’s all the fuss about?

Page 7: Awesome Technology on the Web - Oxygen Accelerator

Open technologies

Anyone can view the source code

They are open technologies.

Anyone can get involved in their creation; through browser developers like Mozilla, or through standards organisations like the W3C.

Just a few days ago I was in a W3C meeting to explore what is needed for making games with these technologies. What was cool was that anyone was allowed to take part; which included everyday developers, employees of major browsers, and games companies.

Also, these technologies are open in that anyone can view the resulting code that is used within Web pages, which is a fantastic way of learning.

Page 8: Awesome Technology on the Web - Oxygen Accelerator

Free technologies

Free to use. Free to develop with

They are free technologies.

Anyone can use these technologies without having to pay anything, both for using the technology and developing with it.

This is unlike closed environments like Flash where you have to pay to use official code editors and production environments.

Page 9: Awesome Technology on the Web - Oxygen Accelerator

Plugin-less

No more reliance on third-party software

They are technologies baked directly into the browser, which means no more plugins!

No longer do you have to rely on users having third-party software installed to use rich media.

Page 10: Awesome Technology on the Web - Oxygen Accelerator

Interoperable

They are built to work across platforms

These technologies are built to work across platforms; whether that’s desktop, mobile, TV, or anything else!

This makes it great to develop this way because you can be sure that it will work on any platform that has support.

Page 11: Awesome Technology on the Web - Oxygen Accelerator

Cross-browser support

Most major fe

atures are supported

As with any technology on the Web it’s important that you can use it across all the major browsers.

Fortunately the bigger features of HTML5 like video are supported by all the major browsers, with some of the newer and smaller features getting better support as time goes on.

The situation isn’t perfect but we’re definitely in a position where these technologies can now be used in production.

There’s a fantastic website called Can I Use? which lets you know what browsers support each technology - http://caniuse.com

Page 12: Awesome Technology on the Web - Oxygen Accelerator

My favourites

Highlighting some the best new features

There are so many new features that HTML5 & JavaScript bring to the table. So many in fact that I could probably spend an entire day telling you about them.

I don’t have that luxury today, so I’m going to show you some of my favourites to help spike your imagination.

Page 13: Awesome Technology on the Web - Oxygen Accelerator

Canvas

2D graphics platform

As I mentioned at the beginning, canvas is easily one of my favourite new features.

Canvas is a 2D graphics platform that uses both HTML5 and JavaScript.

You use HTML5 to place a canvas on a Web page, and you use JavaScript to draw on to that canvas and manipulate it.

It’s quite amazingly what can be done with such simple drawing and image manipulation tools.

Page 14: Awesome Technology on the Web - Oxygen Accelerator

Silk is a stunning example of what can be achieved by combining the simple drawing tools available in canvas.

http://weavesilk.com

Page 15: Awesome Technology on the Web - Oxygen Accelerator

Close Pixelate is a canvas app that lets you manipulate images on–the-fly to create a pixelated effect.

http://desandro.com/resources/close-pixelate/

Page 16: Awesome Technology on the Web - Oxygen Accelerator

You can even use canvas just for simple effects on a standard Web page.

David Desandro uses canvas to draw curved lines on his portfolio that indicate areas of focus. Before canvas you’d have had to have used static images or complex techniques to achieve this.

http://desandro.com/portfolio/

Page 17: Awesome Technology on the Web - Oxygen Accelerator

Google Plus has a seriously cool feature that lets you take a screenshot of a page and highlight areas of interest. It’s great as a user can highlight areas of a problem and submit the screenshot for feedback.

I’m unsure if they are using canvas here, but it’s not impossible for canvas to be used in this way and it’s a really innovative use of the technology.

https://plus.google.com

Page 18: Awesome Technology on the Web - Oxygen Accelerator

WebGL

3D graphics platform

WebGL brings the ability to provide advanced 3D graphics directly within the browser.

It’s great for gaming and visualisations.

Page 19: Awesome Technology on the Web - Oxygen Accelerator

HelloRacer is a little game that lets you drive a Formula One car around your browser. It’s a beautiful example of WebGL in action.

http://helloracer.com/webgl/

Page 20: Awesome Technology on the Web - Oxygen Accelerator

Rome is a music video created with WebGL. It’s an amazing example of what the technology can achieve in a real-world situation given a large team.

http://ro.me

Page 21: Awesome Technology on the Web - Oxygen Accelerator

Tinkercad is probably the best use of WebGL that I’ve seen in a production situation.

It’s a Web app that allows you to create 3D objects in your browser using WebGL, then get them printed and sent to your doorstep in just a few simple clicks. It’s seriously awesome.

https://tinkercad.com

Page 22: Awesome Technology on the Web - Oxygen Accelerator

This is a rather freaky example of how interesting WebGL is.

It’s a demo that shows just how realistic WebGL can render materials, like skin. This isn’t much unlike the quality of modern games consoles!

http://www.everyday3d.com/j3d/demo/014_Head.html

Page 23: Awesome Technology on the Web - Oxygen Accelerator

Video

The reliance on Flash is over

HTML5 video is one of the biggest improvements with HTML5; no longer do you have to rely on Flash to provide rich video on the Web.

Page 24: Awesome Technology on the Web - Oxygen Accelerator

SublimeVideo is a service that allows you to implement beautiful HTML5 video across all the major browsers.

It’s main draw is the custom video controls that look really pretty.

http://sublimevideo.net

Page 25: Awesome Technology on the Web - Oxygen Accelerator

Popcorn.js is quite simply one of the most interesting tools that exists for HTML5 video.

It allows you to tie-in video to content on the Web page, meaning that you can automatically change the website content depending on what point of video is currently being played.

http://popcornjs.org

Page 26: Awesome Technology on the Web - Oxygen Accelerator

Audio

More Flash reliance vaporisation

Along with HTML5 video comes HTML5 audio, which again means that there is now a legitimate alternative to Flash.

Page 27: Awesome Technology on the Web - Oxygen Accelerator

This is something I made especially for the ASSEMBLY 2011 event in Finland.

It’s an audio visualiser that uses WebGL and the HTML5 Audio Data API.

http://robhawkes.github.com/webgl-html5-audio-visualiser/

Page 28: Awesome Technology on the Web - Oxygen Accelerator

WebSockets

Bi-directional real-time communication

WebSockets are another technology at the top of my list.

It allows you to provide bi-directional real-time communication between a browser and a server.

This means you can push a user data instantly as soon as it becomes available.

WebSockets are commonly used in situations where speed is important; like in games, the stock market, and chat.

Page 29: Awesome Technology on the Web - Oxygen Accelerator

Rawkets is the game I mentioned at the beginning that allows you to shoot your friends in the face with WebSockets and canvas.

It’s still not really at a beta release level yet hence the bugs you might notice in this video, but it’s a good demo of a game created using these technologies.

http://rawkets.com

Page 30: Awesome Technology on the Web - Oxygen Accelerator

Pusher is a service that lets you push data to your users in real-time using WebSockets.

It’s a great example of how easy it is to use these technologies today in your project.

http://pusher.com

Page 31: Awesome Technology on the Web - Oxygen Accelerator

Node.js

Run JavaScript on the server

Node isn’t technically part of the new HTML5 & JavaScript technologies, but it’s too cool to miss out.

Effectively what Node allows you to do is to run JavaScript code on the server, which has many benefits.

The major benefit is that your code can run asynchronously, which means that you can do multiple tasks at once without having to wait for previous ones to finish.

Another useful thing about Node is that the community have produced hundreds of free modules for it to add extra functionality, which means that it saves you a tonne of time when making your Web app.

http://nodejs.org

Page 32: Awesome Technology on the Web - Oxygen Accelerator

Many more

Much has changed on the Web

There are so many thing that I don’t have time to talk about.

Things like CSS3, HTML5 Forms, Web Fonts, File APIs, Web Apps and much, much more!

There are loads of resources around to help you find out more about these technologies if you’re interested:

Dive Into HTML5 - http://diveintohtml5.orgHTML5 Doctor - http://html5doctor.comMozilla Developer Network - https://developer.mozilla.org

Page 33: Awesome Technology on the Web - Oxygen Accelerator

The future

We are only at the beginning

As well as the current technologies that exist in HTML5 & JavaScript there are also some important one coming in the near-future.

Things like Web APIs to provide a basic phone experience on the Web.

Or WebRTC to provide real-time audio/visual communication, like Skype.

And I’m sure there’s even more amazing stuff on the horizon.

Page 34: Awesome Technology on the Web - Oxygen Accelerator

Threshold of something cool

The time is now

So overall, the time is now; we’re on the threshold of something awesome.

We can now create amazing apps, visualisations, and games with nothing more than the technologies normally use to build a website.

This is definitely a good time to be developing on the Web and I hope I’ve managed to peak your interest in the platform.

Page 35: Awesome Technology on the Web - Oxygen Accelerator

Rob Hawkes

Rawkets.comHTML5 & WebSockets game

Twitter sentiment analysisDelving into your soul

RECENT PROJECTS

Rawkes.comPersonal website and blog

MORE COOL STUFF

ExplicitWeb.co.ukWeb development podcast

Rawket ScientistTechnical Evangelist at Mozilla

@robhawkes

Twitter - @robhawkesRawkes - http://rawkes.com

Page 36: Awesome Technology on the Web - Oxygen Accelerator

Become a canvas master

RAWKES.COM/FOUNDATIONCANVAS

Out now

Paperback and digital formats

Learn how to animate

Make two cool space games

Foundation HTML5 Canvas

Foundation HTML5 Canvas is out now on Amazon and other reputable book stores.

http://rawkes.com/foundationcanvas

Page 37: Awesome Technology on the Web - Oxygen Accelerator

Hand-picked experts

@ASKMDN & #ASKMDN ON TWITTER

One hour every fortnight

Web development topics

Great discussions

Ask MDN

ASKMDN

And lastly, I’d like to quickly mention Ask MDN which is a project that I’m working on at Mozilla.

The concept is simple. One hour every fortnight we gather a bunch of experts on Twitter to answer your questions about a particular topic.

We’ve had 4 sessions to date and it’s going down really well. If you follow @AskMDN on Twitter you’ll be sure not to miss the next session.

http://twitter.com/AskMDN

Page 38: Awesome Technology on the Web - Oxygen Accelerator

THANK YOU

Any questions?

Rob Hawkes

@robhawkes

Thank you.

If you have any questions feel free to grab me on Twitter (@robhawkes), or email [email protected]