The Next Five Years Will Be Very Exciting

26 September 2011

In May 2010, the (now former) Google employee Brad Neuberg gave an amazing presentation about the new and emerging technologies in web development. The name of the topic is HTML5 and the Future of the Web, but don't let this title fool you - it's not dedicated only to HTML5 but also to CSS3, SVG and the new JavaScript APIs. According to Brad:

HTML5 = Next Generation Features for Modern Web Development

Fortunately, a high quality video is uploaded on youtube. Although May 2010 is now way behind us, this video is still a brilliant overview of what's going on today. Before seeing it, I didn't believed that someone can explain all this stuff in less than an hour, but Brad proved me wrong. And he did it with style.

Here are the topics mentioned in the video and the quotes that impressed me the most:

  • New JavaScript selectors - it's a sort of what jQuery gives you. You can put an arbitrary CSS selector;
  • Web Storage - It's really easy to be used, and it just persists;
  • Web SQL Database - When simple key-value pair isn't enough, another part of HTML5 is a real SQL database;
  • Application Cache API;
  • Geolocation;
  • Web Workers - they are not threads, but they kind of act like them;
  • Drag And Drop;
  • New Semantic Tags - the nice thing is that it keeps your mark-up more semantic, it helps search engines [...] and you're also making your page more maintainable;
  • New link relations;
  • Microdata - it's not trying to be artificial intelligence mark-up language, and it's learning from a lot of the lessons from the last 15 years. Right now Google will actually see some Microdata mark-ups for events, reviews, in order to get better search results;
  • ARIA attributes - one problem with jQuery UI, Dojo UI, is that screen readers can't work with them. ARIA is a way to add a little more of extra information, so screen readers know that a jQuery UI component that is a tree... is a tree;
  • New form field types - we don't have to do this with JavaScript. So a lot of HTML5 is, again... get things out of the JavaScript that don't really belong there, get them back in the browser;
  • Audio and Video - this is really in the browser, so we can add CSS reflection (and other stuff);
  • Canvas;
  • SVG - HTML5 says you can now drop these tags into the normal html;
  • Selectors - CSS gives you more of them (selectors) based on what people have asked for;
  • Fonts - it's actually from CSS 2.1 but it's finally ariving after 15 years;
  • Text wrapping - you have no idea how much pain people have gone trough, having to use server-side solution to achieve this;
  • Columns - something that used to be a pain in the but to do; you don't have to be a wizzard to do things that everyone needs to do;
  • Text stroke;
  • Opacity - this used to require custom made images;
  • HSL - the reason that matters is humans don't think of colors in terms how rgb asked you to think of colors;
  • Rounded corners - it's amazing how common things used to be so hard;
  • Gradients - with great power comes great responsibility;
  • Text shadows;
  • Background sizing and multiple backgrounds - again, you don't have to spend many hours in front of Photoshop;
  • Transition and Transforms - these can replace a lot of JavaScript.

In general, two phrases by Brad Neuberg are also worth mentioning:

It's great time to be a web developer

and

The next five years will be very exciting

The slides can be found on slides.html5rocks.com. It seems that they update the information from time to time with things that are missed, or had not existed, during the talk, which is a great way to keep yourself informed about what's going on in the constantly changing world of HTML5, CSS3 and JavaScript. Some of the new topics are IndexedDB, Web Sockets, Desktop Drag-In (File API), Desktop Drag-Out, FileSystem APIs, Device Orientation, Speech Input, Markup for applications, Form field types on mobile, Border image, Flexible Box Model, Custom data-* attributes, Element.classList, History API.

Enjoy the video.