Last week I attended Fronteers 2014, one of Europe's largest front-end web development conferences, in Amsterdam. It is the third web conference I have ever attended and my first time attending Fronteers, and it was a great experience!
Before I talk about what I got out of the conference, I just want to say that I was really impressed with the organisation of Fronteers, the atmosphere, and approachability of the staff in particular. I was pleased to read and hear that they had a code of conduct, and thought the way that the staff drew attention to it, and were always on hand to talk to at any time during the event, made it feel like a safe and inclusive environment, which is super important! :)
This is going to be a two-part blog entry, focusing on the main learnings I took from the conference. For the second part, I'll talk about some of the more technical talks (including CSS animation and game making, yay!) but for this first part, I'm going to focus on one the over-arching messages from the conference, which I think one of the speakers, Petro Salema, summed up best:
"The goal of technical innovation is user experience" Petro Salema - #fronteers14
Heydon Pickering kicked off Fronteers with a talk that discussed just this, questioning how much our obsession with "best practise" is actually relevant to the user, and whether it improves the product as a whole, or how much of it we are doing to maintain our own developer standards - are we sometimes obsessing over the wrong things for the wrong reasons?
"A front-end developer asks 'How should I do this?'. A designer asks 'Should I do this?'" Heydon Pickering - #fronteers14
So often we focus on "best practises", but UX - "user experience" - is still an afterthought. UX is the kind of thing we want to pay somebody to come in afterwards and check, or that we think about at the end. Maybe we see it as a separate role.
Heydon's message was one I feel strongly about myself - that as developers, we all need to start thinking more in terms of design. About why we're doing things, if we should be doing them, and realising that user experience should fall into our role as much as knowing technologies should. It's great to be striving for good code practises, but maybe we should be striving to get a user experience focus higher on our radar again.
"We are all web designers because we are all contributing" Somebody at #fronteers14.. sorry, my notes failed me
Design products for less than perfect situations
This was another strong message coming from the conference, which goes hand in hand with a larger consideration of user experience. Alex Feyerke's talk, Offline first drew attention to just how many apps are treating offline as an error, rather than the default state being that the user may have no (or no decent) connection. He talked about how his library Hoodie treats offline as a default and strives to ensure that a user can get to their data when they need it, and not just when they happened to have a connection. Personally I have experience of both being annoyed that I can't use an app offline, and also developing an app where we think "oh yeah, we should put in an error if the user has no connection", so it was useful to shift our thinking back to a user's default state being less than perfect.
"Gov.uk stopped asking what departments want to say, and instead asked what citizens want to know." Meri Williams - #fronteers14
Meri Williams talked about the importance of accessibility and how we need to try and "bake it in" to our workflow, so that it doesn't get forgotten. We may often think that somebody with a disability or accessibility challenges is a minority, but just by talking to your family or somebody you know, we can find out that the use case for our product goes way beyond us, in our offices with our large mac screens and fast connections. It was interesting to be reminded that around 8% of users have difficulty lifting or grasping a mouse for example, a percentage that is almost equal to or higher than some of the percentages we try and include when we schedule in Internet Explorer development. Too often accessibility is an afterthought, or an "extra cost" but Meri rightly pointed out how vital it is to start considering how different people in different situations are using our products and how integral this should be to our process.
"We need to find a way to walk in somebody else's shoes, & see what's different for them." Meri Williams - #fronteers14
Know your accessibility bias
To finish off this first part, I'll return to Petro Salema, whose quote I used earlier. His closing talk "Dream big, think small" on day 2 of Fronteers, opened in a rather harrowing, post-apocalyptic way. He told us a story of planes returning from war, with bullet holes in the wings. The engineers would take that to mean that those parts of the plane needed more work on protecting them from the bullets, and would focus on fixing that area of the plane. What they failed to realise, and what one person eventually realised, is that the opposite was actually true. The planes that returned could withhold the bullets, and so they came back - the ones that couldn't, never came back.
" You can't get a better answer than the question you can ask, limited by your experience" Petro Salema - #fronteers14
Petro's tale, and the rest of his talk, was an eye-opener on how much our own "accessiblity bias" dictates the questions we ask, and the problems we solve. We want to think big, and solve big problems, but we need to remember to "think small", to not simply design ideal solutions to ideal problems, but to increasingly consider the smaller things that take place, the things users may be doing that we haven't even thought about - simply because of our own bias. As he discussed - we can't help our experiences, and we can't help that they naturally effect the questions we ask and answers we come up with, but it shows the need, ever more, to try and find the smaller questions, so we don't miss out on solving the smaller problems that we're not even looking at.
I think that, as resonating as these talks were, and as important as the messages were, it's often going to be a challenge in a commercial client world to get some of these considerations to the forefront. Many of us still work in "waterfall" type processes, and don't always have access or resources to get as much user feedback as we would like. Following the conference, I returned to work, feeling like it was wrong that we're all developing in Chrome, seeing our websites 90% of the time in their "best case scenario". However, I then tried to do some development in an Internet Explorer virtual machine again and.. I remembered why we don't develop there by default. XD Even so, I really do think it's time to get user experience back into the limelight again, as much as coding practises are to front-end developers, and find ways to put ourselves in other situations more when we're using the products we develop. I think UX is the responsibility of everybody, and it's going to take some thinking to see how we can get this into our workflow. Thoughts, or comments, or anything I have got incorrect above, appreciated. :)
Part two, where I will talk about some exciting web animation stuff, and some bits and pieces from the other talks at Fronteers, coming soon!
When January arrives it's always time for New Year's resolutions - you know, those ones about quitting chocolate or taking up running that you realise a week later were not really a fun idea at all. I often hear people say things like: "Oh I don't make new year's resolutions because people just break them" or "I could do that anytime of year, January is a bad excuse!". Whilst I agree that if you want to do something, you should just start anytime, sometimes we need to help ourselves with a bit of a motivational kick and January - being a nice clean start to a new year, or at least feeling like one (even if it's technically just another day) can help.
I've seen "365" projects a few times before, sometimes photography, sometimes drawings, where you set yourself the challenge to create a little something on every day of the year. I generally don't like to dictate when or what I draw, as I find that never works out, maybe because I find it difficult to draw on demand and I just have to be in the right mood for creative pursuits. The typical pandalion thrives when enjoying a varied lifestyle with multiple hobbies, flitting between coding, doodling, and other creative or geeky pursuits, as well as playing far too many different videogames and not finishing many of them. I've always felt both in my personal and professional life, that I've never been quite content or good at focusing on just one "skill tree". There's just so many different fun things to do in the world! However sometimes the fact that there's so much I want to do and never enough time for it all, means that stuff I would like to do more of can fall by the wayside, purely from there not being enough hours in the day.
So, I decided to start a 365 doodles project in January of this year, with the aim of doodling something - anything - every day of the year. My hope was that I would motivate myself to exercise that drawing muscle more, giving myself smaller goals that would be easier to meet (it doesn't have to be a masterpiece! Just get something on paper). The main reason being that creating and putting something out into the world, as well as observing, consuming and passively taking things in, always feels like a great thing, regardless of what you create. Perfectionism is one of my most annoying traits and actually holds me back from creating things sometimes because of the fear that it might not be that good anyway, so again, this felt like a way to draw but say "hey, it doesn't have to be great."
I love videogames (what do you mean you didn't realise?? ;), and as a 29 year old woman, when I talk about this, I still often get reactions like "videogames are a waste of time", "I'm too busy for games now I'm older", "I create things these days, I can't just sit and play games". As I've said above, putting things out into the world is great, no matter how small that thing is, but I think it's missing the point if you don't appreciate the merit of enjoying the things that have already been created.
I've already written in some detail about how videogames are a fantastic blend of the creations of artists, artists in all kinds of fields - visuals, programming, storytelling, and music to name just a few. I really believe that inspiration is the beginning of all creativity. If you haven't experienced things that you enjoy, that have invoked emotion in you, how can you hope to invoke the same feeling in others through the things you create?
I don't have any technical training in drawing, and I don't see myself as a "serious artist", because for me it's really just something that comes from my heart. Everything I draw just comes from a picture in my mind that I think could be pretty cute, how it looks is some combination of the things that have inspired me over the years, the things I've seen and thought "ahhh that's adorable".
During my personal challenge to doodle daily, if I hadn't been doing much outside of doodling, if I hadn't experienced something recently that had brought me joy, it would be much more difficult for me to know what to draw, and I certainly had those days. But other days, I will have just been to see a superhero movie, or just played Borderlands for several hours and I would want to get those experiences on paper in my own little way.
I didn't get to doodle #365. I got to #176, and then stopped. I had a lot going on with work and moving house, but those weren't really the reasons, I guess I just wasn't enjoying it anymore, and it was feeling too forced. I felt like I was ready to stop, and wanted to go back to it not being a "chore", but picking up a pencil at random moments when I felt like it. And I'm glad I stopped when I felt like that too. It's part of the reason for me making this blog post - to explain the personal benefits of giving myself the project but also that not "meeting the goal" doesn't feel like a failure to me.
176 drawings is way more than I would have created had I not done this project. I feel like I exercised my "drawing muscle" and I helped myself create time in the day to not leave my hobby behind despite the other busy goings-on and responsibilities of life. I experimented over that time, tried different styles for drawing people, tried different characters or animals I had maybe not drawn before. I tried slightly different paper or techniques, I found what I liked or didn't like.
After that many drawings, I still don't feel like I "know" what I'm doing. I still feel like art comes to me on a whim, when I wake up on a Sunday morning with a picture of something cute in my mind and want to get it on paper. But, after I stopped drawing daily, I noticed that ideas would come to me, ways of drawing things would appear in my mind - inspiration from games or people or characters or situations - and my drawing muscle felt on better form.
So, what was the goal of 365 doodles? Obviously three hundred and sixty-five doodles, on one hand. But reaching that number for the very sake of it, I believe would have stopped me making some of what I think are "better" pieces later on, through letting that muscle have a rest. Though it helped and was nice to have friends watching my progress and cheering me on, the project was for my personal benefit - and do I feel like I've benefited? Yes, hugely. I'm happy that the project helped me devote time to this hobby, to try a lot of different little things and break out of my comfort zone a bit.
I'm happy that it resulted in being able to make a lot of my friends happy too, with doodles of their pets, favourite characters, or anthropomorphised versions of themselves. And when something like this happens - a photo of my friends beloved cats, which I turned to doodle form, and somebody else turned to a sculpture.. that for me just sums up how the joy of the things we love is the very thing that can spark inspiration, that carries on over different mediums, different people, and even generations.
So, to summarise - I didn't reach 365 doodles. But I don't feel like I've failed either. I got so much out of this personal project and to have been able to see others get some joy out of it too, that was awesome. Creation should be about enjoyment, as much as playing games or anything else we do should be, and it shouldn't be a chore.
So go forth, play games, read books, listen to music, watch shows, do whatever the heck brings you joy, and I'm pretty sure that joy might make you want to spread more of it in your own little way :)
This continues on from my first post - Incuna at jQuery UK 2013 - part 1, I wanted to finish up discussing a few of the other talks from the day and what I took away from them. :)
After lunch (which included the delicious cupcake above!), Garann Means gave a talk on using events to glue full-stack frameworks together. Unfortunately I didn’t have a good view for this talk and couldn’t see the code examples very well and the rest went over my head a little :( Following her talk, my Incunauts and I did take a look at Marionette, the library she was using for Backbone, as we use Backbone in our projects at Incuna. So I’m interested to learn about that a bit more, also because the website is so pretty.. (there I go with the visual stuff again! :)
The next talk was Ilya Grigorik and was entitled “Wait, Chrome Devtools can do that?”. This was probably the most useful of the talks for me in terms of concrete information that I knew I could go away and look into, and hopefully use to improve some of our workflow processes and testing/debugging. The main thing to take from the talk is download Chrome Canary now! I hadn’t realised how far ahead Chrome Canary was in terms of the devtools, so that was useful to know. He also talked about some really useful and interesting features such as:
Better use of the timeline, including saving timeline traces as HAR files so others can recreate it, to see where something is loading slowly for example.
How frames per second apply to webpages as well as games, and how slow paints or costly CSS effects can affect this and cause (as Chrome puts it) “jank”, and how you can use the devtools to diagnose this.
How if you change CSS in devtools, Canary can actually give you a diff of your changes (yay)
How you can add custom panels to Devtools, the ones that sounded particularly interesting of these were jQuery Debugger and PageSpeed Insights. One of the coolest things mentioned about PageSpeed Insights was that it would suggest compressing an image for further reduction and at the same time offer you a download of that image at the reduced size! Oooh..
Finally, it was very useful to hear that Canary has remote debugging, for Android at least, with the ability to use all the same DevTools features whilst debugging on the device. Remote debugging is something we sometimes still have issues with at Incuna, so anything we can do to improve this process is great. There was a lot more useful information, you can read it in Ilya’s slides, there’s also a super useful Chrome Devtools course on Code School and it was interesting to hear about a weekly Chrome Youtube show The Breakpoint.
After Ilya, John Bender gave a talk about faster DOM manipulation with category theory, and he had some great slides, but it was admittedly a little maths-heavy for me. So, uh, moving on..!
I enjoyed the final two talks - it was interesting to hear Joe Petterson talking about his experience of still having to develop for older versions of IE, also as it the talk was around a pharmaceutical site, similar to the things we work on at Incuna. He gave some good thoughts on using IE VMs for testing (which we currently do), but also how you might use Selenium or an external service like Saucelabs to be able to test accurately on the VMs. Front-end testing is still something we need to do more of and look into more at Incuna, so this felt pretty relevant to recent work conversations.
Finally Jason Scott from Blackberry talked about building “an experience, not just another framework”. I was interested to hear a talk from this perspective, as ultimately, the reason we’re all writing jQuery, and the end point of all of our sites and apps is the user.
He talked about using jQuery Mobile and customising the theme for your user. This was quite familiar to me, having used jQuery Mobile a few times at Incuna when working on Phonegap mobile applications, and I found myself agreeing when he pointed out how it doesn’t make sense to try and replicate all native functionality with things that just don’t work as well in a webview - for example transitions that require a a heavy amount of rendering. He also mentioned Grunt JS as a build tool for minifying and uglifying files. We have scripts for doing this on our projects at Incuna but it still sounds like it could be a useful thing to look into.
Overall, it was a great day with a really interesting range of content and it was nice to meet some new people in the jQuery community. It definitely left me feeling inspired. Yay!
Yesterday my fellow front-end Incunauts and I attended the jQuery UK conference in the lovely city of Oxford (where we are lucky enough to work everyday of course!). White October put on a fantastic Alice in Wonderland themed event complete with jabberwocky t-shirts, jam tarts and even white rabbit pawprints to follow to the location of the event.
It was a great day - socialising with the community, listening to some brilliant talks, and enjoying maybe slightly too much of one of my favourite games of all time - Micro Machines! - in the amazing retro gaming area provided by Replay Events (who I’d never heard of before but now I want them for my birthday party :).
Richard Worth, the director of the jQuery foundation then gave us an overview of the recently released jQuery 2.0, which drops support for IE6,7, and 8 but allows a smaller, faster library for environments where the IE support isn’t needed (or where the code jQuery needs to support IE could actually cause problems). At Incuna we still do often need to support IE8 and on occasions 7, and I think some people (myself included) may have initially thought “this is well and good dropping IE support, but my clients still use IE, don’t I get to use 2.0??” However, jQuery are still continuing to release 1.x versions and have promised that the API will be the same as 2.0 - just without the IE support.
So what I took from this, is that jQuery 2.0 is just another option or branch of jQuery for now - a better option for when you’re doing stuff that you know won’t be used on IE. For us at Incuna I think this will be great to use for when we’re doing things like Phonegap/Cordova apps, allowing us to use a more minimal version of the library without all the unrequired code. But for our websites that need to support IE7/8, we can continue to use 1.9 and 1.x as it gets released, as for the foreseeable future jQuery aren’t getting rid of it, and we’ll be able to use the same API.
It was interesting that Remy’s talk was followed by Adam Sontag, whose talk was titled “jQuery is a swiss army knife (and that’s ok!)”. I think Adam’s talk was my favourite of the day, for subject but also his speaking style and the way he discussed the subject. As I tweeted yesterday, it was like a “big warm jquery hug” :) He talked about the way in which jQuery is a multitool/swiss army knife, it has all these parts we can use - and they are there to help us build something, as a tool should. We shouldn’t only use it, but also, it’s there to assist us, so there’s really no reason to dismiss it because it’s a library and think we should build a house with our bare hands for some reason. I think he really strongly disputed the criticism of jQuery and how silly a lot of it is - we’re often blaming a tool for what people do with it. Someone could use a knife to craft something amazing or to stab themselves in the eye - either way, it’s not the tool’s fault, there’s always going to be a spectrum of users, and that’s okay.
I’ll leave this here for now, but will discuss the other talks a bit in my next entry along with some useful links that I took away from the conference :) Thanks for reading, and feel free to share your thoughts/comments!
A couple of exciting videogame-related things happened this week. One is that I've been raving on about Indie Game: The Movie, which I watched for the second time this week (and for the first time on the big screen!), and the other is that the Museum of Modern Art in New York announced plans to add videogames to their collection. It seemed like a perfect time to write a bit about why I love the movie, and my thoughts on videogames as art and inspiration in general.
Indie Game is a documentary that follows the story of three independent game developers - Edmund Mcmillen and Tommy Refenes, who created Super Meat Boy, Phil Fish who created Fez, and Jonathan Blow who created Braid (all three games are on Xbox Live Arcade, Super Meat Boy and Braid are available on Steam too I believe). It is a brilliant, and pretty emotional insight into the journeys of these game developers, their backgrounds and inspirations, the pressures and rewards of being a one or two person team creating something for millions of people. I don't think you necessarily need to be a videogame fan to enjoy this documentary - if you've ever been inspired, or created something, you'll probably find something here you'll relate to.
One of my very favourite things that the film conveys is the power that videogames have as a medium, to inspire generations. There's some debate going on about whether videogames should be classified as 'art' and be allowed to feature in the museum. Personally, I can't see how it's even a question, as it seems like a no-brainer to me. Granted, 'art' is a fairly wide and subjective term, difficult to define, but most of us would probably agree that a creation such as a painting or illustration is art, that musicians are artists, and even that skilled programmers are good at an 'art'. So, illustration, music, technical skills, and we haven't even started to consider story and writing.
Videogames combine all of these things, and then allow you to not only interact with the creation, but personally become part of it, and affect it through your own actions. Another thing people may say about art is that it should invoke emotion, convey something personal, inspire you. I can definately say that during my life, games have touched me and invoked as much, if not more, emotion in me than any piece of static art I've looked at, or song I've listened to. Of course, not all games are of the same quality, as not all art is, and not all games effect everybody in the same way, again much the same as any other medium.
There's a particularly poorly informed, substance-less, and - in my opinion - fairly laughable review on the Guardian website, whose arguments for games not being art include statements such as "A work of art is one person's reaction to life", "Art may be made with a paintbrush or selected as a ready-made, but it has to be an act of personal imagination.", and "No one "owns" the game, so there is no artist, and therefore no work of art." To me, these statements actually only serve as reasons for why games are art.
Let's take one of the most well known and loved videogame series as an example - The Legend of Zelda. Along with many other Nintendo games, this game series began in one mind, that of Shigeru Miyamoto.
"When I was a child," Miyamoto said, "I went hiking and found a lake. It was quite a surprise for me to stumble upon it. When I traveled around the country without a map, trying to find my way, stumbling on amazing things as I went, I realized how it felt to go on an adventure like this."
This was the beginning of Miyamoto's inspiration for The Legend of Zelda, and 26 years after the first game was released, millions of people around the world have fallen in love with and have been inspired by something that came from the childhood memories of one man. That to me, is pretty damn amazing. As for the last quote from that article, that nobody 'owns' the game, and there is no artist, I really have no idea what he is talking about. Miyamoto had an amazing imagination, but no technical skills, and so he worked with technicians and no doubt artists and people of different disclipines to create the games. Yes, many games are created by large teams of people, skilled in different areas, does this mean they are any less art, because there is more than one artist?
Going back to Indie Game, one of the people we learn a lot about is Edmund McMillen, the mind behind Super Meat Boy. Edmund grew up playing videogames like Super Mario Bros, and also being very creative, imagining and drawing monsters/creatures, and things inspired by his personal feelings at the time. Super Meat Boy is a unique game for sure, but is also a self-confessed homage to the games he grew up playing. Indie Game follows the game through development and then we watch its release, as people play the game, write reviews, upload YouTube videos of themselves playing it. Edmund starts to see fanart of Super Meat Boy. Drawings, creations. Why do these exist? Because his videogame inspired people. He comments at the end of the movie, how weird it is for him, growing up doodling Mario and drawing things inspired by games, to then, create a game and have people draw fanart from his game.
I think this was the defining moment of the movie for me, encapsulating the idea of videogames not only being art (created from inspiration, memories, and skill), but going full-circle. Inspiring art and creation that may one day lead to the kids who grew up playing Super Meat Boy becoming the next generation of gamers who create their own game. I believe it is a misconception that videogames are just a passive medium, kids sat in front of the tv, wasting time pressing buttons. Is it a waste of time, if this game challenges them to think in new ways, if it teaches them something, but most of all, if it inspires them, strikes up their imagination. Makes them draw something, want to learn a skill, want to create something themselves?
And of course, not everyone who plays games will go on to make games, or even to create in any form. But not everyone who reads books becomes a writer, not everyone who visits an art gallery starts painting, nor everyone who appreciates music become a musician. Yet for some reason, these mediums are taken for granted as being 'art', or at least to some people, a more 'productive' use of time. Not all games are as personal as others, indeed. Many games are designed to appeal to a mass market, and games like anything else, are trying to make money. Everyone will play games for different reasons. But in written media, as there are novels, there are also trashy gossip magazines. That's not a reason to judge the medium as a whole.
Indie Game shows just how much of a personal creation a videogame can be. In the movie, it's clear that the biggest motivation behind these games is creating something personal, a self-expression. Obviously, the three developers hope that people will enjoy their games, but they are never creating it based on 'what will be popular'. The film gives a really interesting insight into their different reactions when their games are unleashed onto the public.
When Braid was released, it was getting scores of 9 and 10, and it was selling amazingly well. But Jonathan Blow was unhappy about the reviews, because they missed what he felt was special about the game. People were praising it for the platforming or the puzzles, but really only at a surface level, they weren't getting what he wanted them to get. As somebody who likes to create art sometimes, I relate to this in a way, when you create you may hope that a certain bit of it is conveyed, but somebody might see something else. Obviously, it's a pretty normal thing about art that everyone will see something different in it, and I don't think in a way he could have expected everyone to see the game as he did, but I think it's interesting that this mattered to him more than the score it received. Similarly, it was interesting to see Super Meat Boy programmer Tommy, appear incredibly apathetic about how the game was received, even after it started selling so well. He was obviously proud and relieved to have finished the game, for himself, but it was clear it wasn't about the ratings for him. It was, however, a lovely moment, when Edmund showed him videos of people enjoying the game on YouTube, and it feels like this, more than scores and reviews made him feel like the game had succeeded.
Phil Fish, creator of Fez, seemed perhaps the most in need of external praise, he admitted he thrives on and requires feedback for his work, and as a creator myself, that's something I totally relate to. He'd been through a difficult time, with illness in the family, a dispute with a business partner, and a relationship break-up. I think he felt that if his creation could touch people in some way, make them smile, laugh, enjoy it, he would feel like he had achieved something and it gave him purpose. Overall, in many ways, the creations of all three games were clearly very personal, drawn from experience and memories, and I think if you play Braid, Fez and Super Meat Boy after watching this movie, you will likely see something beyond that surface level "it's a fun game".
So, if you're still wondering whether videogames are 'art', or think that they aren't as personal as other mediums, go read about Shigeru Miyamoto, or watch Indie Game, or find out how many things have been created on the back of videogame inspiration. But it's certainly not all about creation, I believe videogames can inspire us - and do, me - to simply live with more reverence and a greater sense of joy and adventure. Can anything else really do that quite as well? :)