FOWD 2012: Future of Web Design

The Future of Web Design is one of the biggest and well respected annual web conferences in the world and recently the Mind Candy web team (Davide, Leo, Jenny, James and David) had the pleasure of attending. What follows isn’t a full-on summary of the event as that wouldn’t do it justice. It’s very well documented over the internet already. Instead, in a Q & A interview style, we talk about what areas of the conference stood out most for each of us.

FOWD 2012

Q. What was your favourite talk and why?

David: I particularly enjoyed Mark Boulton’s talk about “Failing and Doing It Well”, he highlighted the importance of embracing failure and maximising the learning process by taking risks and understanding that part of that, is not always succeeding. Putting the emphasis on learning creates for a better work environment and ultimately better work :).

He also highlighted issues with what he perceives as an issue of being overly ambitious; in the sense that you can never achieve your goal and be satisfied. He advises “don’t be ambitious, be a dreamer” because dreamers try to change the world but are content if they don’t succeed.

Jenny: I had a few, but the stand out ones tended to encapsulate my own current position in the industry, and my own future ambitions. I’d say a heady mix of Remy Sharp’s “Dr Weblove / How I learned to stop worrying about Photoshop and love designers”, Jonathan Berger’s “Code Literacy for Designers”, Sarah Parmenter’s “Future of Beautiful iOS Design”, and Jon Tan’s talk on Web Typography.

James: Laura Kalbag gave a great talk, I found her approach to adaptive responsive design both practical and pragmatic. She gave some great advice, such as: design around your images, don’t design straight into the browser because you’ll end up with blocky designs and it’s OK to design the desktop version of a site first.

I also really enjoyed Jon Tan’s talk on web typography, he made the point that badly set type isn’t harder to read, it just puts the user in a bad mood, which makes them much less likely to do what you want them to do.

Davide: The talks given by Bill Buxton and The Standardistas: they were inspiring: the former because it was a clear push toward the future and gave me an insight on how and were new ideas are born; the latter, because in an overconnected society like ours, we easily run the risk of simply collecting superficial information (like the squirrel) without digesting anything and missing the true power of a learning experience: incubation.

Q. Most exciting thing that you’re looking forward to?

Davide: The BIG Innovations intruduced in The HTML5 JS API: Geolocation, WebWorkers, WebSockets, Canvas, Local Storage, Indexed DB; Pushing forward for bringing Javascript in the Backend with NodeJS (Railway, Express etc..); Moreover, the wide adoption of CoffeeScript as the official successor for Javascript and seeing it supported natively by browser implementors.

Jenny: The final death throes of Internet Explorer 6.

Leo: Martin Beeby is a Microsoft web evangelist/developer and his talk blew me away! He introduced one of Microsoft’s current HTML5 developments: ‘Soundwave – Using the Doppler effect to sense gestures’ and if it realises its promise then I think it’s going to revolutionise the way we interact with the web.

In Microsoft’s words, SoundWave is a real-time sensing technique that leverages a device’s speaker and microphone to robustly sense in-air gestures and motion. So via clever use of existing device sensors, we can start to imagine and define new ways to touch, speak, move and interact with a web app as demonstrated in the link below.

http://www.youtube.com/watch?v=rFM59B3tYI4

Muscle memory is quicker and more intuitive than keyboard/mouse alone so in future I fully expect faster and richer human interactions with HTML5 web apps. Add to this the cutting edge advances in utilising a computer’s webcam via getUserMedia(), and the possibility of all these sensors working together in future, we can really start to imagine more involved and immersive web experiences and interactions. It’s still early days, but very exciting!

Q. What is the future of web design?

Davide: Maybe to change and include one of the new trends, that see Web Applications becoming more and more full fledged ‘Desktop’ Applications simply running into a web container. Web Design, in this perspective, will become more of a ‘Web’ branch of ‘application’ design.

Jenny: It’s everywhere we look and in everything we do. It’s a wealth of information made beautiful to look at. It’s the internet in our pocket and the world at our fingertips. It’s us, totally involved.

James: That there is no set best process for designing flexible adaptive sites – this is something I find incredibly exciting.

Q. Will this change the way you work/think in future?

Jenny: It’d be difficult for it not to. The arena we throw ourselves around in is constantly in a state of update, and it’s really important to keep our eyes open for the game-changing stuff :)

I personally came away with a whole bunch of practices and angles that I’d not thought about before, and that are already making a big difference. The speakers at FOWD know their onions, it’d be silly not to take notice!

Davide: Yes; I’ll start looking around me for hints of the future (see Bill Buxton talk) and I’ll probably try to focus on one topic at a time instead of consuming most of my time wandering around and ammassing information (that I never consume).

Q. Tweet or quote of the day?

Leo: “Don’t think. FEEL. It’s like a finger pointing at the moon. Do not concentrate on the finger or you will miss all of the heavenly glory!” Bruce Lee

Jon Tan talked about the emotive qualities of typography and how it is felt rather than just seen, so I think using a Bruce Lee quote to end a talk on Web Typography was awesome!

Jenny: I have a few…! I’ll settle with these:
“No matter what the tech is now, no matter what it is in the future, it will always be about communicating” – @blueleafchris

“Ideas don’t form in a vacuum. Without constant input, the outputs will inevitably remain the same” – @standardistas

David: “Now we can do anything, what should we do?” – Bill Buxton

Bill Buxton’s talk was one of the most future driven and he highlighted that technology is rarely what holds back progress; the limiting factor is often our imaginations.

Q. The one thing that you took away from the conference?

Jenny: I’m really big on learning new skills and becoming better at ones I already have. I like to be an InfoSponge™.

So I love how those in our industry (and especially the startup tech world) are excited to share information and fresh thinking – I believe we encourage that more than any other industry. It’s given me a lot of motivation to do the same, and rather wonderfully, learn a lot in the process.

Q Are you a superstar, ninja or rockstar?

Davide: Ninja, quickly moving in the shadows and sharpening my blades for the big battles to come.

James: I like to think of myself as a tramp with a house and a job.

Jenny: I’m just a massive nerd, and damn proud of it.

All in all, it was a brain-cramming, eye-opening and inspirational 2 days that provided a lot of insight and food for thought. Here at Mind Candy, we’ve already started to modify our design/development processes as a result of what we learnt and the results so far have been massively positive! With so much going on and so much to look forward to, it also ignited a renewed sense of excitement and enthusiasm for the web. So for these reasons alone, it’s been a highly invaluable experience and we’re very much looking forward to the next one! Roll on, FOWD 2013!

We now have access to all the videos so get in touch if you’d like to talk more! In the meantime, here are several interesting people to e-stalk:

@standardistas
@mrjoe
@USA2DAY
@rem
@jontangerine
@sazzy
@markboulton
@laurakalbag
@boagworld
@ryancarson
@Dstroii
@hellofisher

NOSQL Exchange

This is a quick run through of the NOSQL exchange that Ciaran & I attended on Nov 2 at SkillsMatter, which featured 8 speakers and links to all talks are included.

A lot of people were asking which NoSQL solution to use?

This was the advice given by the speakers…. There is no silver bullet. Is there a need for reading/writing lots of Big data? Think about the shape of the data and how are you going to query your data to help understand which NOSQL solution fits best. Also understand the trade-offs when you choose your solution. Finally at the talks there was a lot of evidence of people using NOSQL solutions when a SQL solution would have sufficed.

1) THE STATE OF NOSQL TODAY by Emil Eifrem
This was the best talk of the day and anyone interested in NOSQL should watch the talk.

NOSQL stands for Not Only SQL.

Main types of NOSQL:

  1. Key-value originated from Amazon’s paper on Dynamo e.g. Riak, Voldemort (used in Linkedin)
  2. Column Family e.g. Cassandra, Hbase, Hyper table
  3. Document databases (most popular) descended from Lotus notes. e.g. CouchDb & MongoDb
  4. Graph Databases (nodes with properties) originated from Euler and Graph theory. e.g. infinitegraph, Neo4J

Documents are superset of Key-values. Graphs are supersets of documents and thus all others. Does this imply you should use Graph NOSQL solutions for all your NOSQL concerns? The graph NOSQL advocates think so.

Trends:

  • Acidity is increasing e.g. MongoDb adding durable logging storage, Cassandra adding stronger consistency
  • More query languages – Cassandra -CQL, CouchDb UnQL, Neo4J – Cyper, Mongo.
  • Potentially more schemas?

NoSql challenges:

  • Mindshare
  • Tool support
  • Middleware support

Oracle now adopting NOSQL with a KeyValue solution despite debunking NOSQL in May this year. NOSQL seems to be following similar historical trends to SQL. SQL which had many vendors to begin with, over time resulted in 4 large vendors. Could NOSQL result in a similar situation in the near future?

2) HANDLING CONFLICTS IN EVENTUALLY CONSISTENT SYSTEMS by Russell Brown
Key quote from this talk: “Large systems are always in some degree of failure”

Problem: According to CAP: Consistency, Availability & Partition tolerance – you can’t have all 3. Have to compromise by picking 2.
PACELC:
In the case of a partition (P), trade availability (A) for consistency (C)
Else (E) trade latency for consistency (C)

Riak inspired by Dynamo. Built in Erlang/OTP. Has features such as MapReduce, links, full text search. Uses vector clocks not timestamps. Statebox for automation of resolving conflicts.
Uses a wheel for storing clustered data.

3) MONGODB + SCALA: CASE CLASSES, DOCUMENTS AND SHARDS FOR A NEW DATA MODEL by Brendan McAdams (creator of Casbah)

MongoDb is not suited for highly transactional applications or ad-hoc intelligence that requires SQL support. MongoDb resolves around memory mapped files. Mongo has an autosharding system.

Things to remember:
The datastore is a servant to the application not vice-versa
Don’t frankenshard

4) REAL LIFE CASSANDRA by Dave Gardner (from Cassandra user group)

  • Elastic – Read/Write throughput increases as scale horizontally.
  • Decentralised no master node.
  • Based on Amazon’s Dynamo paper
  • Rich data set model
  • Tunable
  • High write performance

If your requirements are big data, high availability high number of writes then use Cassandra.
When data modelling, start from your queries and work backwards.
Has expiring columns.
Avoid read before write & locking by safely mutating individual columns
Avoid super columns, instead use composite columns
Use Brisk (uses hadoop) for analysing data directly from Cassandra cluster.

5) DOCTOR WHO AND NEO4J by Ian Robinson
Although it was a fairly slick presentation it seemed to focus too much on modelling Doctor Who and his universe as a working example of graphs & Neo4J. Could this be to hide some shortcomings in Neo4J?

  • Neo4J is a fully ACID replacement for Mysql/Oracle.
  • Neo4j is a NOSQL solution that tries to sell itself as the most enterprise ready solution.
  • Has master/slave nodes.
  • Has 3 licenses: Community/Advanced/Enterprise.

With mentions of 2 phase commits, other than the advantage of modelling relationships such as social networks, there seemed little benefit from moving away from a relational database.
Having spoken to the Neo4J guys afterwards, it seems that the DB loses its ACIDity once you cluster it, and becomes another eventually-consistent store!

6) BUILDING REAL WORLD SOLUTION WITH DOCUMENT STORAGE, SCALA AND LIFT by Aleksa Vukotic

CouchDb:

  • Written in Erlang has Lift support (Scala framework)
  • Exposes REST/JSON endpoints
  • Eventually consistent
  • Versioning appends only updates
  • Mapreduce for querying using views

7) ROBERT REES ON POLYGLOT PERSISTENCE
A muddled presentation talking about mixing graph NOSQL solution with a document based one.

8) THE FUTURE OF NOSQL AND BIG DATA STORAGE by Tom Wilkie
Rather than using the out of the box storage engines for NOSQL solutions, there can be dramatic throughput gains for using alternative storage engines such as Tokutek and Acunu (Castle).

Unite11 – Exporting to Flash from Unity

Last week, four of the Mind Candy tech team ventured over to San Francisco for the Unite conference. One of the things I was most keen to learn about is the upcoming Flash export.

On the Tuesday, we attended the Flash afternoon where Lucas Meijer and Ralph Hauwert detailed the latest progress on Unity’s export to Flash. On first impressions, the games they’ve been working on look fantastic! One of the reasons I’ve been keen on working with Unity over Flash for 3D games dev is the awesome toolset, and these guys have really nailed the Flash export.

As long as your code isn’t doing anything too “exotic”, Unity will convert your code (c#, js (strict) and boo) to ActionScript. It will then compile this, along with your assets, into a swf using the mxmlc compiler. One thing to note here is that literally everything is compiled into that one swf. There was mention of them using asset bundles at a later date to generate individual swfs for content such as scenes. Since everything is in one swf, that means file sizes could get pretty large really quickly. One of the demo apps generating simple spheres compiled to a ~1.4mb (iirc) swf which is pretty chunky for something so simple.

The generated AS3 code is pretty readable although since there’s no method overloading in Flash, they’ve had to compromise on function names somewhat! That said, it should be pretty easy to debug your exported app.

The features currently supported in Flash are:

  • PhysX
  • Particle system
  • Custom and standard shaders

Things that won’t work in the first version include:

  • Anything needing depth textures
  • Advanced audio such as doppler and reverb
  • Dynamic shadows
  • Mouse lock
  • Unity networking (you’ll have to use a Flash networking solution for now)

Looking at the performance of the games, they seemed to run pretty well. They mentioned trying to push anything you can to the GPU rather than CPU. An example given would be to animate textures in a shader rather than scrolling it in a script, as well as the usual light baking and occlusion culling. Basically, as Lucas put it: “The best way to make your game go faster, is to have it not do stuff”.

So to summarise – from a first glance, the Flash export looks pretty awesome, and the Unity guys have done a great job getting it working. There are still a fair few features missing, but there should be enough there for most simple Unity games to be exported. Unfortunately, both the release date and the price were listed as “TBA”, so I guess you’ll have to wait a little longer before you can try it out.