@Media WebDirections Conference : Keynote - Day 1
Yesterday I attended day one of the @Media/WebDirections Conference at Queen Elizabeth Hall, South Bank, London. This is my second conference in a number of weeks following the Future of Web Design (FOWD) conference in May. I was intruiged to see how different this conference was especially as at least two speakers at FOWD were also speaking here (Remy Sharp and Aral Balkan).
The differences were quite significant.
Firstly this event was much smaller, although located in a large facility (the Queen Elizabeth probably sits about 2000 people) I think there was less that a quarter of that number. It was the same type of gender mix, predominantly male with a smattering of females (although that smattering was even lighter here) and a similar role mix although by the looks of them there were more developers and less designers.
Secondly, as you will see from this post and the next one, the content was more technical. I should have realised this after the workshops but just how much more technical was a big surprise.
Lastly, and unfortunately, it was a little less organised, especially around those luxuries that you come to expect at these conferences such as wi-fi connection and power sockets. As a result I was unable to get any quality Internet access which meant that I was unable to tweet (My blackberry was on low power too and its too slow for typing tweets in a conference).
Despite this last point I enjoyed the day and learnt a lot - which in the end is what it is all about
The event started with a short introduction that explained the merging of @media conference and the webdirections conference and was followed by a keynote by Brendan Eich.
So I have to admit that I am not familiar with the big names in the scripting industry especially those that orbit the W3C. At FOWD I saw the workshop and presentation of Molly and she gave off an air of almost angelic reverence to these people (including herself by inference). The same reverence seemed to be in the air for Brendan. For those other people who read my blog who are equally unfamiliar Brendan is one of the co-founders of JavaScript. He worked for Netscape and now works for Mozilla. He is deeply technical, I think a portion of his oxygen intake (lets say 40%) has been replaced by code. He promised something fast and furious and that is what we got.
His talk was effectively about the future development of JavaScript. I think that people like me think JavaScript just is and don’t think too much about its evolution. But evolving it is. There are a raft of new developments on the table for the next round of standardisation approvals some of which are being adopted by browsers right now and are likely to be ratified by 2013 through a project called Harmony. This includes:
- Const
The ability to define constants in addition to variables that can be scoped within functions or globally - Destructuring
The ability to see arrays in any order to swap the elements and rotate them to see [a,b] = [b,a] - Functions in Blocks
The ability to create inline functions with the same name within a block of code without conflict - Let
A better type of var that handles scope better and is less likely to leak to higher level functions - Default Values
Where parameters in functions can have defaults that are adopted if no value is applied to that parameter when the function is called. - Arguments as Parameters
Where a parameter of a function does not have to be a single value but could be an array of values
As you can see from the above items and descriptions. This is a technical subject and Brendan was quite obviously in his element. He talked rapidly (as he promised) and slides flashed before our very eyes. His content was assured and direct. At this point in the proceedings I felt that I was keeping up especially as many of the above conventions can be seen in more mature languages such as C.
However this is the point at which things started to change. Having discussed those elements where most if not all members of the working group are in agreement he started to move to those more bleeding edge ideas where not everyone has agreed the way forward.
I am not going to attempt to list or describe all the topics he covered. For two reasons:
- There were a lot of them
- I am not sure I understood them enough to write with confidence and not mislead
There were some elements worth noting:
Proxies
These seemed to be constructs that would allow developers to extend current functionality. For example the Math object a fundamental construct within JavaScript can be enhanced by Proxies with developers either extending or overwriting the native functionality. This may be useful where different providers have diversified with their implementation and developers want to be consistent (across browsers for example)
ByteArrays
A better way to manipulate complex objects, at least better than string arrays which is effectively the only option currently available
Improved Random Number Generator
Brendan did not say much about this except a clear message that the current implementation is not very good and probably should be avoided especially if it is going to be used in the construction of unique identifiers like those used in e-Mail request URLs.
Brendan finished his presentations with some predictions.
WebKit the major standard, currently, in browser construction, will fracture with Google and Apple taking the implementation in two different directions.
Harmony will be implemented in FireFox and IE first with Apple and Google to follow at a later date. This is mostly because Apple and Google’s browser development teams are quite small compared to those of Mozilla (Firefox) and Microsoft’s (which has recently been reformed to make IE9).
Native App stores (Apple and Android) will cause a resurgence of native code initiatives (like Objective C, Flash etc) but in the long run open source initiatives like JavaScript and ECMAScript will win out.
