Blog

Front-Trends 2010

I was happy to learn this spring that people I had a pleasure to work with are going organize in Poland a conference about front-end development. I was thrilled primarily because such events haven’t been hosted before in my country. When the speaker line-up was announced it turned out that there’s much more to be excited about than the location. With names such as Douglas Crockford, Peter Paul Koch and Tantek Çelik it looked more than promising.

The Front-Trends 2010 conference took place last week. How did it go? Excellent.

Subjects ranged from web and mobile design, through CSS and markup to unit testing and server-side JavaScript. With the name of the conference explicitly mentioning trends, I was looking for some of them in the talks. In fact trends did emerge.

Mobile

I have been hearing about the need for focus on mobile web since years. Phones with web browsers have been around for a decade. So what’s the deal? Well, we reached a point when designing for mobile is not an extra activity that requires knowledge about obscure phone-only technologies (anybody still remembers WAP?). We can finally apply existing knowledge about web standards such as CSS and HTML. Surprisingly, contemporary smartphones often provide better capabilities than their desktop counterparts: Webkit has become a de facto standard rendering engine for the phones, while desktop web still struggles with IE6 legacy. Last but not least, better touch screens make browsing on the phone a pleasure rather than sadomasochistic experience it was just few years ago.

The subject of mobile web appeared in few presentations:

PPK and Douglas Crockford - Panel Discussion
PPK and Douglas Crockford – Panel Discussion; photo credit by Krzysztof Danek

Koch’s talk was certainly one of my favorites. For the last two years PPK has been working for Vodafone on what he does best: discovering quirks and bugs in browsers. Except this time he’s been doing this in the wild mobile world, where the sheer amount of browsers, resolutions, viewports and phone models can give a headache. In his talk he tried to predict how the mobile landscape will look like in 2018, when phones as powerful as today’s iPhone 3G will be accessible at 10 euro price tag. Make sure to check back this blog post in eight years to verify PPK’s predictions:

  • HTML5 apps are the future, not the native ones. Only applications written with open standards ensure cross-platform interoperability and thus the broadest reach.
  • App stores are destined to die. There’s already at least 41 of them – Apple’s App Store is just one of the many. The value they provide is either overrated (discoverability), already provided by others (payments have been handled by operators for years) or will be replaced by open standards (common APIs). What I am missing on this list is the convenience for users, so I wonder how this particular prediction will turn out.
  • Access to phone features (calls, camera, storage etc.) will be standardized across different devices. WAC initiative is a step in that direction.
  • High-speed network coverage will not grow as fast as the computing power of mobile devices. Thus there still will be the need for efficient and cheap data transfer format. This format could be a streamlined version of JSON sent over SMS (thus the title of the talk).
  • We are about to see some totally new JavaScript events untangled by mobile devices, way beyond desktop metaphors such as click and hover. Think events like orientationchange, phonecall, move (GPS location change), cameraopen. Mobile context enables creativity that’s been somewhat missing in the desktop web in the last ten years.

My personal takeaway from the talks on mobile is that it’s worth to invest time now in learning how to design for this new environment. It’s not that hard to adapt existing web sites and web applications to mobile devices, but it requires consideration during design and development phases. Reasonably working devices and standards are already there. The share of users accessing the web through phones will only continue to grow.

JavaScript as THE programming language of the web

JavaScript has been around for over a decade and from the beginning it was used to spice up user interface (as any other spice, it has been widely abused). In the last 5 years – after “Ajax revolution” – it has become indispensable ingredient of web applications with heavy client. So what’s the news here? I think there are two, actually:

DSC_0149
Douglas Crockford; photo credit by Morgan Roderick
  1. JavaScript is now used for more complex tasks than ever before. Animations and DOM interactions, integration of browser APIs and web services – all this is done with JavaScript. As the applications become more complex, development style for JavaScript has changed. It’s no longer the fragile cycle: write, reload, pray it works. With tools like JSLint, Firebug and unit testing frameworks it’s finally possible to efficiently develop and debug even large JavaScript codebases. With complexity came new design challenges and the notion of “JavaScript application architecture” doesn’t sound ridiculous anymore.
  2. JavaScript expands to the server side. This idea is not new. Proprietary solutions utilizing JavaScript syntax on the server side have been around since 1990’s, with Microsoft JScript being the most popular. But with node.js there seems to be finally a framework that embraces language’s philosophy (like architecture based on asynchronous callbacks) instead of merely using familiar syntax.

This changed approach to JavaScript was reflected in several talks:

While I skipped the talks about unit testing (having a conference with two tracks enforces tough choices), it’s encouraging to see that unit testing and Test Driven Development are not anymore alien concepts in JavaScript world. To the point that they deserved a 600-page book written by one of the speakers. (Fortunately it’s not obligatory to read it in order to start writing unit tests in JavaScript.)

Kyle Simpson’s and Douglas Crockford’s talks addressed the subject of server-side JavaScript. It’s still in its infancy – e.g. there are not many libraries out there and even node.js is in an early phase – but I hope that eventually we will be able to run the same code on the server and the client. That was the premise of Kyle’s talk about middle-end, which was a fancy name for JS code that bridges the gap between the client and the server. Think about solution for eternal problem of validation code repeated in JavaScript and server-side language.

An interesting point was made by Douglas Crockford during the (excellent) panel discussion with PPK and Tantek Çelik: JavaScript has become a Virtual Machine for the world. Any application doing anything interesting on the web right now has to execute JavaScript in the browser runtime. It’s especially striking with projects like GWT, that allow developers to use their language of choice (in this case: Java), but eventually compile to JavaScript for execution.

One of the most inspiring talks of the whole conference was delivered by Chris Heilman. He first showed how to use JavaScript to create mashups connecting data from different REST web services. While totally feasible and not too complex, the task can quickly become tedious when developer has to go through registration process for different APIs and learn their details. Therefore in the second part Chris showed how to reduce the whole effort to two lines of code. Silver bullet? In fact it’s YQL, a language for web service integration with syntax similar to SQL. It takes care of the mundane details and allows developer to treat RESTful services or even regular HTML websites as database tables that can be joined and queried. For instance, imagine a query that takes Twitter messages in Polish with the keyword “Warszawa” inside and automatically translates them to English using Google Translation API. Sounds like a lot of work, but in fact it can be done with one line of YQL code. I knew that YQL has been around for a while, but the presentation gave me a boost to create something new with that shiny new toy. I mean tool.

HTML5 and CSS3

A conference about front-end development cannot happen without addressing web standards. On Front-Trends CSS3 and HTML5 were all the rage. While both buzzwords were repeated like a mantra in most of the talks, three presentations went into details:

Lea Verou - "Pragmatic CSS" (4)
Lea Verou; photo credit by Krzysztof Danek

According to people who have seen it, Lea’s presentation was one of the best of the conference (unfortunately I missed it). She published her slides online and they’re definitely worth checking. The presentation itself is written in HTML5 and styled with CSS3. Lea went through several new CSS3 properties, explained them and showed how they can be used to simplify the code and deliver features that were previously hard or impossible to implement. All this was accompanied with information about browser support, so one can tell immediately how feasible is the cutting edge. Spoiler: a lot from CSS3 can be used right now.

The talk by Tantek Çelik was in a similar spirit. Tantek went through most of the new features of HTML5 and grouped them into five buckets:

  1. dependable now
  2. roughly usable
  3. awkward
  4. interesting but ignorable
  5. worthy of experimentation

I strongly recommend checking his slides as they give a primer of what’s possible now with HTML5 and what’s just around the corner.

One of the highlights of his talks was a call to action: send the following tweet to Internet Explorer 9 team:

Dear @IE: please implement Geolocation API, it’s Candidate Recommendation now!

Tantek Çelik (2)
Tantek Çelik; photo credit by Krzysztof Danek

Tantek is a former Microsoft employee and a person behind IE5 for Mac, known at the time for its excellent CSS support. Microsoft is usually implementing W3C specs that reached certain level of maturity, so there’s a hope that Geolocation API will make its way into IE9. I have sent a tweet, have you?

Truthy value

The conference was not without some flaws. In accordance with long tradition of tech gatherings, the wifi didn’t survive the rush of 300 bandwidth-hungry nerds. Nevertheless, the whole event was fantastic.

I’ve already heard about most of the new developments shown during the conference. Yet after leaving the venue I felt inclined to give some of them a try NOW, instead of waiting for IE8’s death in 2050. If the conference inspires you to try something new, could you wish for something more?

Comments

  1. […] Front-Trends reviews: Chris Heilmann’s impressions, Krzysztof Szafranek review, Mariusz Cieśla […]

Comments are now closed