<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Rawkes</title>
    
    <link href="http://rawkes.com" />
    <updated>2013-04-17T11:27:57.183Z</updated>
    <id>http://rawkes.com</id>
    <author>
        <name>Rob Hawkes</name>
        <email>rob@rawkes.com</email>
    </author>

    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/rawkes" /><feedburner:info uri="rawkes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>rawkes</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry>
        <title>Based in London and have my dream role? Tell me!</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/oINbBHuIg0g/london-work" />
        <updated>2013-04-17T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/london-work</id>
        <content type="html">&lt;p&gt;Just under a month ago I announced my plans to up sticks and &lt;a href="http://rawkes.com/articles/moving-to-london"&gt;move back to London&lt;/a&gt;. A lot has happened since then and I&amp;#39;ve had a lot of time to think about where I am now and where I want to be in the future.&lt;/p&gt;

&lt;p&gt;Although slightly later than planned, I&amp;#39;m still moving to London. But there is more. I&amp;#39;ve also been reconsidering my current situation regarding (&lt;a href="http://rawkes.com/articles/the-next-6-months"&gt;my self-imposed lack of&lt;/a&gt;) employment. While the motives behind this decision still apply, recent events in my life have caused me reconsider my options and take a different view on what&amp;#39;s important to me right now.&lt;/p&gt;

&lt;p&gt;The long and short of it is that I&amp;#39;m keen to explore the options available to me, one of which is traditional employment. I&amp;#39;ll outline my desires around employment in a bit more detail below, though you can just go straight ahead and email me (&lt;a href='mailto:rob@rawkes.com'&gt;rob@rawkes.com&lt;/a&gt;) if you think you have something I&amp;#39;d enjoy!&lt;/p&gt;

&lt;h2&gt;What am I after?&lt;/h2&gt;

&lt;p&gt;If the last few years have taught me anything, it&amp;#39;s what&amp;#39;s important to me in life. Put simply, I&amp;#39;ve learnt that if something doesn&amp;#39;t make me happy then I don&amp;#39;t want to be doing it. But what does happy actually mean in this case? Perhaps a better word is worthwhile. If I don&amp;#39;t feel like what I&amp;#39;m doing is worthwhile then I quickly lose interest and become unhappy. Life is too important to waste away doing things you don&amp;#39;t enjoy.&lt;/p&gt;

&lt;p&gt;Something else that I&amp;#39;ve learnt is that I don&amp;#39;t like feeling constricted in what I can do. Without freedom it is too easy to feel restricted and eventually lose interest in what you&amp;#39;re doing (because you want to do something else). Whatever I do, it needs to have freedom balanced with the necessary focus to prevent that freedom turning into a different problem (too much choice and a lack of direction). Whether that&amp;#39;s freedom built into a role, or freedom gained from part-time employment, it&amp;#39;s something that&amp;#39;s very important. I don&amp;#39;t want to give up my side projects and general tinkering.&lt;/p&gt;

&lt;p&gt;So what am I after exactly? A few things. Here are some key words that sum up individual things that make me happy&amp;hellip;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developer engagement&lt;/li&gt;
&lt;li&gt;Data visualisation&lt;/li&gt;
&lt;li&gt;Prototyping&lt;/li&gt;
&lt;li&gt;Demonstrations and hacks&lt;/li&gt;
&lt;li&gt;Speaking&lt;/li&gt;
&lt;li&gt;Freedom&lt;/li&gt;
&lt;li&gt;Flexibility&lt;/li&gt;
&lt;li&gt;Learning&lt;/li&gt;
&lt;li&gt;New and shiny&lt;/li&gt;
&lt;li&gt;Interestingness&lt;/li&gt;
&lt;li&gt;Technology&lt;/li&gt;
&lt;li&gt;Programming&lt;/li&gt;
&lt;li&gt;Being around others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, I&amp;#39;m keen to explore options that allow me to continue experimenting and tinkering with various technologies. Extra points for options that give me to opportunity to share that learning with other people. What I&amp;#39;m not interested in doing is the same thing day in day out &amp;mdash; there has to be variety.&lt;/p&gt;

&lt;p&gt;I&amp;#39;m a patient man and I&amp;#39;m prepared to wait for the right role to appear; I&amp;#39;m in no rush to simply get a job.&lt;/p&gt;

&lt;h2&gt;Got the perfect role?&lt;/h2&gt;

&lt;p&gt;Are you based in London and have a role that fits? Get in touch (&lt;a href='mailto:rob@rawkes.com'&gt;rob@rawkes.com&lt;/a&gt;) and let&amp;#39;s talk!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=oINbBHuIg0g:ZKQqqL-hb_g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=oINbBHuIg0g:ZKQqqL-hb_g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=oINbBHuIg0g:ZKQqqL-hb_g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=oINbBHuIg0g:ZKQqqL-hb_g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=oINbBHuIg0g:ZKQqqL-hb_g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=oINbBHuIg0g:ZKQqqL-hb_g:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=oINbBHuIg0g:ZKQqqL-hb_g:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/oINbBHuIg0g" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/london-work</feedburner:origLink></entry>
    
    <entry>
        <title>Moving to London</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/kkaXmWfVTXM/moving-to-london" />
        <updated>2013-03-25T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/moving-to-london</id>
        <content type="html">&lt;p&gt;Guess what? I&amp;#39;m moving to London!&lt;/p&gt;

&lt;p&gt;You heard right; I&amp;#39;m upping sticks from my cosy life by the beach and heading back to the city that I was brought up in. Am I crazy? Maybe.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/robhawkes/2685795580/"&gt;&lt;figure&gt;&lt;img src="http://farm4.staticflickr.com/3178/2685795580_071fdebc42_b.jpg" alt="Tilt-shift from a helicopter, by yours truly" title="" /&gt;&lt;figcaption&gt;Tilt-shift from a helicopter, by yours truly&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;What is this about?&lt;/h2&gt;

&lt;p&gt;To cut a long story short, my life has changed a whole bunch in the past few years. This year alone has seen some of the biggest decisions of my life to date; like leaving Mozilla and, most recently, (mutually) ending a 4-year relationship.&lt;/p&gt;

&lt;p&gt;Whether good or bad (both decisions can be seen in either light), what&amp;#39;s certain is that I now have the freedom to grab life by the balls and take it in directions I hadn&amp;#39;t considered before.&lt;/p&gt;

&lt;h2&gt;Why am I doing this?&lt;/h2&gt;

&lt;p&gt;So why London? Well, first of all it&amp;#39;s a city I know and love. I was brought up in Richmond and I lived there for near-enough 3/4 of my life before heading to university. I may not love the insane crowds so much but I certainly appreciate the beauty of the location.&lt;/p&gt;

&lt;p&gt;Aside from the sentiment and history, London is a great place to be if you want to immerse yourself in the UK Web community. And as much as I may have despised a move to London in the past (the countryside &lt;em&gt;is&lt;/em&gt; beautiful), the time has come for a change and I can&amp;#39;t think of anywhere better for that change than London.&lt;/p&gt;

&lt;h2&gt;When will it happen?&lt;/h2&gt;

&lt;p&gt;This is still up in the air at the moment but the plan is to sort everything out within the next few weeks.&lt;/p&gt;

&lt;p&gt;It&amp;#39;ll likely happen in stages, starting with a temporary move to the family home in Richmond and then a more permanent move to my own place somewhere in the vicinity (South West).&lt;/p&gt;

&lt;h2&gt;How can you help?&lt;/h2&gt;

&lt;p&gt;I&amp;#39;ve been out of touch with London for a long time; so much has changed since I last lived there. I also don&amp;#39;t know a huge amount of people there any more.&lt;/p&gt;

&lt;p&gt;Here are some things you might be able to help out with&amp;hellip;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inviting me along to local social and industry events that I might not know about&lt;/li&gt;
&lt;li&gt;Letting me know about work and contracting opportunities in the city that might tickle my fancy (R&amp;amp;D, experimentation, etc.)&lt;/li&gt;
&lt;li&gt;Helping me out while I ask stupid questions about the city&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, I&amp;#39;ll need help kick-starting the next stage in my life. I&amp;#39;ll appreciate it!&lt;/p&gt;

&lt;p&gt;Feel free to email me directly on &lt;a href='mailto:rob@rawkes.com'&gt;rob@rawkes.com&lt;/a&gt; or &lt;a href="http://twitter.com/robhawkes"&gt;send me tweet&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Before I go&amp;hellip;&lt;/h2&gt;

&lt;p&gt;Here&amp;#39;s an early screenshot from a &lt;a href="http://rawkes.com/articles/vizicities-dev-diary-1"&gt;ViziCities&lt;/a&gt; experiment with London landmarks.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/moving-to-london/vizicities-london.jpg" alt="ViziCities: London Landmarks" title="" /&gt;&lt;figcaption&gt;ViziCities: London Landmarks&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=kkaXmWfVTXM:qzud2QbIIPo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=kkaXmWfVTXM:qzud2QbIIPo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=kkaXmWfVTXM:qzud2QbIIPo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=kkaXmWfVTXM:qzud2QbIIPo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=kkaXmWfVTXM:qzud2QbIIPo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=kkaXmWfVTXM:qzud2QbIIPo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=kkaXmWfVTXM:qzud2QbIIPo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/kkaXmWfVTXM" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/moving-to-london</feedburner:origLink></entry>
    
    <entry>
        <title>ViziCities development diary #1: One month in</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/87W_feNGZ4s/vizicities-dev-diary-1" />
        <updated>2013-03-17T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/vizicities-dev-diary-1</id>
        <content type="html">&lt;p&gt;Just over a month ago I &lt;a href="http://rawkes.com/articles/announcing-vizicities"&gt;announced ViziCities&lt;/a&gt;, the latest project from &lt;a href="https://twitter.com/petewsmart"&gt;Pete Smart&lt;/a&gt; and &lt;a href="http://twitter.com/robhawkes"&gt;myself&lt;/a&gt;. We&amp;#39;re not quite ready to release it yet but make sure you &lt;a href="http://vizicities.com"&gt;sign up for the beta&lt;/a&gt; to be the first to use it. In the meantime, let me fill you in on what we&amp;#39;ve been up to this past month.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: This entry is focussed on the development side of ViziCities. Pete is working on the UI and UX side of things and we will update you on that progress separately.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;What is ViziCities?&lt;/h2&gt;

&lt;p&gt;Although it&amp;#39;s entirely obvious to Pete and myself, describing ViziCities has always been slightly difficult. This isn&amp;#39;t because it&amp;#39;s hard to understand, more that it&amp;#39;s a combination of many things and we&amp;#39;re still looking for that succinct elevator pitch.&lt;/p&gt;

&lt;h3&gt;Bringing cities to life&lt;/h3&gt;

&lt;p&gt;At the most basic level, ViziCities is about bringing cities to life using the power of the Web. At a slightly more wordy level, it&amp;#39;s about creating an interactive 3D city visualisation platform that is beautiful, fun and engaging.&lt;/p&gt;

&lt;h3&gt;Intersection of data, art and play&lt;/h3&gt;

&lt;p&gt;The best way we&amp;#39;ve found to describe the project so far is that it sits at the intersection of data, art and play. What&amp;#39;s great about describing it this way is that it means we get to create a Venn diagram, and who doesn&amp;#39;t enjoy a good Venn diagram?&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-data-art-play.jpg" alt="ViziCities: Data, Art &amp;amp; Play" title="" /&gt;&lt;figcaption&gt;ViziCities: Data, Art &amp;amp; Play&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;h3&gt;Inspired by SimCity&lt;/h3&gt;

&lt;p&gt;The original concept for ViziCities was to use WebGL to replicate the data layers from the new SimCity game. There&amp;#39;s something about visualising huge quantities of data about a city in 3D. It&amp;#39;s sort of sexy, in a weird way.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/simcity.jpg" alt="Data layers in the latest SimCity" title="" /&gt;&lt;figcaption&gt;Data layers in the latest SimCity&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update: Richard Shemaka, the principle engineer at Maxis for data layers in SimCity &lt;a href="http://www.reddit.com/r/SimCity/comments/1ags23/vizicities_dev_diary_1_simcitylike_3d/c8xghdq"&gt;is a fan of the project&lt;/a&gt;. We&amp;#39;re gobsmacked!&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;A gappsite&lt;/h3&gt;

&lt;p&gt;Something we still haven&amp;#39;t worked out is how to describe the media format that ViziCities falls under. It&amp;#39;s not a game, yet it has many game-like features and takes a lot from game design. It&amp;#39;s not an app, yet it acts like an app and is technically built like one. It&amp;#39;s not a website, yet it sort of is one.&lt;/p&gt;

&lt;p&gt;So what is it? The best we&amp;#39;ve come up with so far is that it&amp;#39;s a gappsite. That&amp;#39;ll do until we think of something more serious. If you hadn&amp;#39;t guessed, we really haven&amp;#39;t put too much thought into this yet.&lt;/p&gt;

&lt;h3&gt;Created in our spare time&lt;/h3&gt;

&lt;p&gt;Although not important to describing the project, it has turned out that a lot of people have assumed that there is a large team working on ViziCities, or that we&amp;#39;re being paid to do this. So is there, and are we?&lt;/p&gt;

&lt;p&gt;No. Pete and I are the only 2 working on this and we&amp;#39;re doing it in our spare time. This is a lot easier for me, seeing as I quit Mozilla back in January to do exactly this without having to worry about income. Last month alone we worked out that I sank around 300 hours into the project!&lt;/p&gt;

&lt;h2&gt;1 month ago we had nothing&lt;/h2&gt;

&lt;p&gt;I&amp;#39;m still quite amazed that just over a month ago ViziCities was nothing more than a crazy idea and an empty scene set up in &lt;a href="http://threejs.org"&gt;Three.js&lt;/a&gt; (a WebGL library).&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-basic-scene.jpg" alt="ViziCities: Basic scene" title="" /&gt;&lt;figcaption&gt;ViziCities: Basic scene&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;Not only did we have nothing created (aside from a camera that you could rotate, woo), we also had very little idea about how to turn this vision into a reality. Fortunately, the whole reason I do projects like this is to learn something new &amp;mdash; I thrive off the fear of the unknown; that feeling you get when you find yourself out of your depth.&lt;/p&gt;

&lt;p&gt;If only we knew how much there was to learn&amp;hellip;&lt;/p&gt;

&lt;h2&gt;Finding the data&lt;/h2&gt;

&lt;p&gt;The biggest problem by far has been finding accurate, usable data for the locations that we plan to visualise in 3D. For the proof of concept, we&amp;#39;ve been specifically looking for data about London. Why London? I was brought up there, we both live in the UK, and we assumed it would have copious amounts of free and easily accessible data.&lt;/p&gt;

&lt;p&gt;Wrong.&lt;/p&gt;

&lt;p&gt;Sort of&amp;hellip;&lt;/p&gt;

&lt;p&gt;We already knew that there were plenty of free sources of data for London (and the UK); like &lt;a href="http://data.gov.uk/"&gt;Data.gov.uk&lt;/a&gt;, the &lt;a href="http://data.london.gov.uk/"&gt;London Datastore&lt;/a&gt;, &lt;a href="http://www.ordnancesurvey.co.uk/oswebsite/products/os-opendata.html"&gt;Ordnance Survey OpenData&lt;/a&gt;, &lt;a href="http://www.openstreetmap.org/"&gt;OpenStreetMap&lt;/a&gt;, the &lt;a href="http://www.ons.gov.uk/ons/index.html"&gt;Office for National Statistics&lt;/a&gt;, and &lt;a href="http://www.police.uk/"&gt;Police.uk&lt;/a&gt;. These gave us the bulk of what we needed (census data, crime, geographic features, etc.) however they&amp;#39;re all in different file formats, level of detail, and often represent areas in different ways. It&amp;#39;s a mess.&lt;/p&gt;

&lt;p&gt;Most annoying has been finding accurate building outline and height data. I assumed this would be freely available (&lt;a href="https://nycopendata.socrata.com/"&gt;like in the US&lt;/a&gt;) but it turns out that you either need to &lt;a href="http://landmap.mimas.ac.uk/"&gt;be in full-time higher education&lt;/a&gt;, or &lt;a href="http://www.stanfords.co.uk/Business-Mapping/"&gt;have a tonne of money at your disposal&lt;/a&gt;. I&amp;#39;m no longer a student and don&amp;#39;t have the budget to buy building data for all of London (let alone the UK), so we&amp;#39;ve had to make do with the super-simple building outlines from &lt;a href="http://www.ordnancesurvey.co.uk/oswebsite/products/os-vectormap-district/index.html"&gt;Ordnance Survey&amp;#39;s VectorMap dataset&lt;/a&gt;. The unfortunate thing about this is, aside from the low detail, there is no height data for the buildings so we&amp;#39;ve had to come up with a method of performing an educated guess.&lt;/p&gt;

&lt;p&gt;If you&amp;#39;re involved in the building data side of things or know someone who is, please send an email to &lt;a href='mailto:hello@vizicities.com'&gt;hello@vizicities.com&lt;/a&gt; as we&amp;#39;d love to make buildings in ViziCities more accurate for London.&lt;/p&gt;

&lt;h2&gt;Working out how to use the data&lt;/h2&gt;

&lt;p&gt;The second biggest problem has been working out how to use the data we&amp;#39;ve collected and learning how to use the related tools. Neither Pete or I have any significant experience with GIS (Geographic Information System) software or the related data practices. We had a long way to go.&lt;/p&gt;

&lt;h3&gt;Reading geographic data&lt;/h3&gt;

&lt;p&gt;Fortunately, it turns out that there are a few usual formats that geographic data is provided in. In our case, we ended up using data provided in what&amp;#39;s called a shapefile. To read this data you can use a free piece of software called &lt;a href="http://www.qgis.org/"&gt;QGIS&lt;/a&gt;, which is effectively Photoshop for geographic data analysis.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/qgis.jpg" alt="QGIS" title="" /&gt;&lt;figcaption&gt;QGIS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;QGIS allows you to open the shapefile data and manipulate it using a slightly complicated GUI (which you do get used to). It also lets you do complex analysis, as well as importing and merging of external data. Basically, if you&amp;#39;re doing anything serious with GIS then you&amp;#39;ll likely end up using QGIS or the proprietary alternative, &lt;a href="http://www.esri.com/software/arcgis"&gt;ArcGIS&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Enter PostGIS&lt;/h3&gt;

&lt;p&gt;While QGIS is great, it only gets you so far as the features I needed weren&amp;#39;t multi-threaded, or particularly quick. It also periodically locks up whenever you&amp;#39;re playing with a large quantity of data, like every single building in London. It&amp;#39;s good for initial manipulation but I needed something more robust for the hardcore data manipulation.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://postgis.org/"&gt;PostGIS&lt;/a&gt; is the solution to this problem. It&amp;#39;s an extension to the Postgres database format that provides a huge amount of geographic functionality, allowing for super-quick spatial analysis.&lt;/p&gt;

&lt;p&gt;To put things in perspective, an intensive process that takes hours in QGIS (and locking it up) can potentially take just a matter of minutes in PostGIS if you do things right. It&amp;#39;s a no brainer.&lt;/p&gt;

&lt;h3&gt;Getting help via the GIS StackExchange&lt;/h3&gt;

&lt;p&gt;Arguably the most useful source of help for me during the early development of ViziCities has been the &lt;a href="http://gis.stackexchange.com/"&gt;GIS StackExchange&lt;/a&gt;. It&amp;#39;s hands down the most useful source of information for common GIS problems, and even those that aren&amp;#39;t so common.&lt;/p&gt;

&lt;h3&gt;Visualising things in WebGL&lt;/h3&gt;

&lt;p&gt;What I thought would be the most difficult step actually turned out to be one of the simplest. The beauty of geographic data is that it&amp;#39;s commonly stored as points, lines, or polygons, which map perfectly to 2D and 3D drawing platforms like WebGL. The only thing that I needed to do was export the data into an optimised GeoJSON format and convert the geographic coordinates for each point into pixel coordinates. Simple.&lt;/p&gt;

&lt;h2&gt;Adding buildings&lt;/h2&gt;

&lt;p&gt;The most interesting aspect to me, at least at the beginning of the project, was visualising building data for cities in 3D. This hasn&amp;#39;t really been done before in WebGL, at least not outside projects with massive development teams and budgets (like Google Maps and Nokia Maps).&lt;/p&gt;

&lt;p&gt;To keep things simple, and because I was sure it wouldn&amp;#39;t work, I tried outputting the centroid (centre) position for every building in a &amp;#39;small&amp;#39; 8x8km section of London. To my amazement, it worked!&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-building-centroids.jpg" alt="ViziCities: Building centroids" title="" /&gt;&lt;figcaption&gt;ViziCities: Building centroids&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;However, having points for buildings is not that glamorous. What&amp;#39;s needed instead is polygons, a seemingly complex process. The good news was that Three.js had functionality built in to construct shapes (polygons) from a collection of individual points, which was perfect considering that GeoJSON represents polygons (buildings) as a collection of points.&lt;/p&gt;

&lt;p&gt;The result was a solid shape for every building in our section of London, all in WebGL.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-building-outlines.jpg" alt="ViziCities: Building outlines" title="" /&gt;&lt;figcaption&gt;ViziCities: Building outlines&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;At this point I was gobsmacked at a) how easy this turned out to be, and b) how beautiful it was. It&amp;#39;s one thing to visualise procedural data, but visualising real-life data and recognising it is quite another. If you squint, you can even see the outline of the Thames at the bottom.&lt;/p&gt;

&lt;p&gt;I wasn&amp;#39;t prepared to stop at 2D outlines. The whole point of this project is to visualise cities in 3D, so the next step was turning the polygon shapes into full-blown 3D objects. Three.js again came to the rescue with its ability to extrude 2D shapes.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-building-objects.jpg" alt="ViziCities: Building objects" title="" /&gt;&lt;figcaption&gt;ViziCities: Building objects&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;The heights are off (random values) but you can clearly see that this is some sort of urban area. If you know London well enough then you can already start to recognise some of the buildings!&lt;/p&gt;

&lt;p&gt;What amazed me most at this stage was that everything ran at a silky-smooth 60fps, on all the devices I tested on. In my naivety, I assumed that visualising such a huge quantity of objects (many thousands) would be too much for WebGL. It turns out it isn&amp;#39;t, and after seeing examples of &lt;a href="http://learningthreejs.com/blog/2011/10/05/performance-merging-geometry/"&gt;Three.js rendering over a hundred thousand objects&lt;/a&gt; I can see that I was wrong to assume any less.&lt;/p&gt;

&lt;h2&gt;Experimenting with SSAO and tilt-shift&lt;/h2&gt;

&lt;p&gt;After the success with buildings I decided to take a stab at two visual effects that would help really make ViziCities pop; Screen Space Ambient Occlusion (SSAO), and tilt-shift.&lt;/p&gt;

&lt;p&gt;SSAO is a rendering technique that analyses the depth buffer to work out which objects are occluding (overlapping) others and applies a faux-shading effect around the edges of objects to give them definition. This sort of effect is sometimes referred to as clay rendering.&lt;/p&gt;

&lt;p&gt;When done wrong, the results look pretty appalling&amp;hellip;&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-ssao-fail.jpg" alt="ViziCities: SSAO fail" title="" /&gt;&lt;figcaption&gt;ViziCities: SSAO fail&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;But when refined and combined with better lighting, the result can make an entire 3D scene pop out and bite you in the face. It&amp;#39;s a beautiful effect that adds a whole element of realism to the scene.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-ssao-success.jpg" alt="ViziCities: SSAO success" title="" /&gt;&lt;figcaption&gt;ViziCities: SSAO success&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;In the example above you can also see the tilt-shift effect that we applied alongside SSAO to give the feeling of miniaturisation. It&amp;#39;s a similar effect to the one SimCity used in its latest game and it&amp;#39;s commonly used in photography to make urban spaces look small and toy-like. There&amp;#39;s something about the tilt-shift effect that we absolutely love.&lt;/p&gt;

&lt;h2&gt;Adding natural features&lt;/h2&gt;

&lt;p&gt;Although buildings are the lifeblood of any legitimate city, there are many natural features that are needed to complete it.&lt;/p&gt;

&lt;p&gt;It was at this point that I took the Ordnance Survey and OpenStreetMap data and merged together a selection of common natural features for London; particularly the river Thames, bodies of water, fields, and large areas of trees.&lt;/p&gt;

&lt;p&gt;The results speak for themselve&amp;hellip;&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-combined-ssao.jpg" alt="ViziCities: Combined features" title="" /&gt;&lt;figcaption&gt;ViziCities: Combined features&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;It&amp;#39;s actually a very minor visual addition to the scene but the river alone creates a feeling of context that allows you to get a much better idea about where in London this actually is. For those who are interested, it&amp;#39;s the area North of the Thames between the Houses of Parliament and the O2 Arena (aka. Millennium Dome), the latter of which you can see in the bottom right-hand corner (in a rather unflattering level of detail).&lt;/p&gt;

&lt;p&gt;Make no mistake. At this point we knew that this was no longer just a 3D model, this was beginning to become London.&lt;/p&gt;

&lt;h2&gt;Adding roads&lt;/h2&gt;

&lt;p&gt;Another feature that people recognise about cities is roads; after all, that&amp;#39;s what most people use traditional maps for. They&amp;#39;re an urban feature that we knew from the very beginning that we had to include &amp;mdash; you just can&amp;#39;t have a city without roads.&lt;/p&gt;

&lt;p&gt;To begin with I took a series of road &amp;#39;nodes&amp;#39; (points) from Ordnance Survey that described every junction in London. From here I outputted them in a basic scene similar to the initial building scene.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-road-points.jpg" alt="ViziCities: Road points" title="" /&gt;&lt;figcaption&gt;ViziCities: Road points&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;Although unconnected, you can already see the roads beginning to appear, as well as geographic features like the river.&lt;/p&gt;

&lt;h3&gt;Using lines as roads&lt;/h3&gt;

&lt;p&gt;By connecting the nodes we started to get a better idea about what the roads could look like, although it was far from perfect.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-road-lines.jpg" alt="ViziCities: Road lines" title="" /&gt;&lt;figcaption&gt;ViziCities: Road lines&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;You&amp;#39;ll notice that there are a whole bunch of gaps between the roads. In hindsight, I now know why that is (using junctions is not the right way to do this) however there is also another problem in that the line width is kept at all zoom levels. Things look a little unrealistic when you have really thin lines when you zoom all the way in, or really thick lines when you zoom out. We could have used ribbons in Three.js but we instead decided to explore other options for drawing roads.&lt;/p&gt;

&lt;h3&gt;Using voids to infer roads&lt;/h3&gt;

&lt;p&gt;One of these alternative options was to output the spaces between roads as polygons (effectively, city blocks) and infer the position of roads by the void left between these polygons. This approach allowed us to create a decent representation of roads&amp;hellip;&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-road-outlines.jpg" alt="ViziCities: Road outlines" title="" /&gt;&lt;figcaption&gt;ViziCities: Road outlines&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;It wasn&amp;#39;t perfect though, as can be seen by the huge expanse of solid green in the top right-hand corner. This is because the approach I&amp;#39;m taking doesn&amp;#39;t include every single tiny road in London, just the larger A and B roads. The unfortunate effect of this is that there are sometimes small gaps where a smaller road might be, meaning that the algorithm used to calculate city blocks can overlook legitimate areas that should be a road.&lt;/p&gt;

&lt;h3&gt;Simplifying the void approach&lt;/h3&gt;

&lt;p&gt;Instead, the final approach I went for was to expand the building outlines to create a sort of pavement effect. The void left between these expanded building outlines had a similar effect of looking like roads, albeit slightly less detailed than the previous approach.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-road-building-outlines.jpg" alt="ViziCities: Road building outlines" title="" /&gt;&lt;figcaption&gt;ViziCities: Road building outlines&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;Though not perfect, this approach was good enough for our needs and when combined with natural features it did create an effect that looked like roads between buildings.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-road-buildings.jpg" alt="ViziCities: Road buildings" title="" /&gt;&lt;figcaption&gt;ViziCities: Road buildings&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;We&amp;#39;re not ruling out another look at using ribbons as roads, as this would certainly be the &amp;#39;perfect&amp;#39; solution. For now though, this will do.&lt;/p&gt;

&lt;h2&gt;Adding data layers&lt;/h2&gt;

&lt;p&gt;Visualising cities, at least the visible aspect of them, is only part of what the project is about. A secondary focus of the project is the visualisation of data that, when combined with the buildings and natural features, creates a whole new level of context and exploration.&lt;/p&gt;

&lt;h3&gt;Bar charts&lt;/h3&gt;

&lt;p&gt;We could have started anywhere with data, so the decision was made to grab the first usable data source that we could find (population density) and create a naive bar-chart effect to see what it looked like.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-data-bars-fail.jpg" alt="ViziCities: Data layer bars" title="" /&gt;&lt;figcaption&gt;ViziCities: Data layer bars&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;As you can see, it&amp;#39;s a bit crazy. It&amp;#39;s sort of like those toys you can get which are full of pins that people can&amp;#39;t stop pressing their faces into.&lt;/p&gt;

&lt;p&gt;To simplify things I only outputted bars at what are known as &lt;a href="http://www.ons.gov.uk/ons/guide-method/geography/beginner-s-guide/census/super-output-areas--soas-/index.html"&gt;Lower Layer Super Output Areas&lt;/a&gt; (LSOAs &amp;mdash; no idea where the second L went). LSOAs are commonly used in the UK for census data and other data that needs to describe detailed geographic areas smaller than boroughs and neighbourhoods, though not as detailed as per-street.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-data-bars-colour.jpg" alt="ViziCities: Data layer bars" title="" /&gt;&lt;figcaption&gt;ViziCities: Data layer bars&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;As you can see, I also added a rough colour scale to get an idea of low and high values.&lt;/p&gt;

&lt;p&gt;Without the city underneath it&amp;#39;s kind of hard to get any context, so that&amp;#39;s what was added next.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-data-bars-buildings.jpg" alt="ViziCities: Data layer bars &amp;amp; buildings" title="" /&gt;&lt;figcaption&gt;ViziCities: Data layer bars &amp;amp; buildings&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;It was at this point that things were beginning to look and feel like the data layers from SimCity that inspired us so much.&lt;/p&gt;

&lt;p&gt;Something was missing though.&lt;/p&gt;

&lt;h3&gt;Heatmaps&lt;/h3&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-data-choropleth-buildings.jpg" alt="ViziCities: Data layer choropleth &amp;amp; buildings" title="" /&gt;&lt;figcaption&gt;ViziCities: Data layer choropleth &amp;amp; buildings&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;The first iteration of heatmaps used the LSOA outlines and coloured each one based on it&amp;#39;s population density value. As you can see, the area in the top-right corner is very light as no one likes living in parks or marshland.&lt;/p&gt;

&lt;p&gt;Couple with bars, the resulting data layer was a sight to behold!&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-data-choropleth-bars.jpg" alt="ViziCities: Data layer choropleth, bars, and buildings" title="" /&gt;&lt;figcaption&gt;ViziCities: Data layer choropleth, bars, and buildings&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;We could do better though, with the data laid over the top of the city (you can just about see the buildings through it) it was hard to grasp the geographic context.&lt;/p&gt;

&lt;p&gt;To solve this I added borough outlines.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-data-boroughs.jpg" alt="ViziCities: Data boroughs" title="" /&gt;&lt;figcaption&gt;ViziCities: Data boroughs&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;The result, as I&amp;#39;m sure you&amp;#39;ll agree, is much better than before. It&amp;#39;s now practically impossible to mis-read the data from a geographic context, plus it actually allows you to start comparing different, known locations around London. Things were getting interesting.&lt;/p&gt;

&lt;p&gt;Most recently, we experimented with slightly more obvious borough outlines and a hexagon grid for the heatmap rather that LSOA outlines.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-data-hexagons.jpg" alt="ViziCities: Data hexagons" title="" /&gt;&lt;figcaption&gt;ViziCities: Data hexagons&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#39;m a big fan of the hexagon grid; I think it looks neat (in all senses of the word). It reminds me a little of games like Risk.&lt;/p&gt;

&lt;h2&gt;Experimenting with AI&lt;/h2&gt;

&lt;p&gt;Unsatisfied with tackling buildings, natural features, roads, and data; the next challenge was to implement AI. Specifically, cars driving along the roads with no prior instruction.&lt;/p&gt;

&lt;p&gt;There are a million and one ways to tackle this problem depending on the level of detail you want. We wanted something simple so we kept things basic. The approach that we went for was to create a lookup table that represented every single road segment in the city. From there, we could create AI that simply moved from segment to segment, turning at segments that were connected to more than one segment (junctions).&lt;/p&gt;

&lt;p&gt;The result was simply jaw-dropping, if I do say so myself.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;iframe src="http://player.vimeo.com/video/60449733" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;As always, it isn&amp;#39;t perfect (the AI don&amp;#39;t move at a set speed) but it&amp;#39;s a fantastic starting point that we&amp;#39;re looking forward to expanding out in the near future.&lt;/p&gt;

&lt;p&gt;When coupled with the 3D buildings and natural features, the AI really does make the city look like it&amp;#39;s alive.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-ai.jpg" alt="ViziCities: AI" title="" /&gt;&lt;figcaption&gt;ViziCities: AI&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;I can&amp;#39;t wait to refine what we have and add the other AI ideas that we&amp;#39;ve got planned!&lt;/p&gt;

&lt;h2&gt;Expanding London&lt;/h2&gt;

&lt;p&gt;At this point we decided that we&amp;#39;d learnt enough about this small area of London and wanted to expand.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-expanded.jpg" alt="ViziCities: Expanding London" title="" /&gt;&lt;figcaption&gt;ViziCities: Expanding London&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;Compared to the original section of London (in green) the new, larger section was a massive upgrade. When everything was added, data and all, the effect was quite beautiful.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-expanded-data.jpg" alt="ViziCities: Expanding London" title="" /&gt;&lt;figcaption&gt;ViziCities: Expanding London&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;It really looked like London, the shape and everything.&lt;/p&gt;

&lt;h2&gt;Improving performance&lt;/h2&gt;

&lt;p&gt;Unfortunately, in our efforts for global domination we quickly discovered the performance limitations of the project as it stood, as well as my personal knowledge with Three.js and WebGL. In short, the expanded version of London ran at a horrible 20&amp;ndash;40fps depending on the system you viewed it on.&lt;/p&gt;

&lt;p&gt;To solve this, I spent a good week purely focussed on learning and implementing methods to increase performance en-masse. The aim was to get things back up to 60fps, at least when zoomed in.&lt;/p&gt;

&lt;h3&gt;Frustum culling&lt;/h3&gt;

&lt;p&gt;The first problem was that the method I had used to visualise buildings (merging them into a single object) meant that a technique called frustum culling would no longer work. This technique doesn&amp;#39;t render objects that are outside of the view frustum (screen edges) and so lightens the load on the GPU by only rendering what&amp;#39;s visible. In my case, by using a single, giant object  it was always going to try and render the entire thing because it was always in view.&lt;/p&gt;

&lt;p&gt;Fortunately, solving the frustum issue was simple. All that was needed was to split the city into a grid of smaller areas that could fall outside of the view frustum.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-performance-grid.jpg" alt="ViziCities: Performance grid" title="" /&gt;&lt;figcaption&gt;ViziCities: Performance grid&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;While this patchwork-like approach didn&amp;#39;t improve things when zoomed out, it dramatically improved performance when zoomed in. In fact, this fix alone bumped things to 60fps when zoomed in, simply because unnecessary objects weren&amp;#39;t being rendered.&lt;/p&gt;

&lt;h3&gt;Level of detail&lt;/h3&gt;

&lt;p&gt;To take things a step further I decided to tackle the performance problem when zoomed out. There are a couple of approaches to take here; like removing smaller objects or reducing the level of detail (LOD) as you zoom out. I took the second approach and utilised the LOD functionality built into Three.js.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-performance-lod.jpg" alt="ViziCities: Performance LOD" title="" /&gt;&lt;figcaption&gt;ViziCities: Performance LOD&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;What you can see is the new LOD approach in action. High-detail objects are in red, medium-detail in green, and low-detail in blue.&lt;/p&gt;

&lt;p&gt;This technique didn&amp;#39;t quite bump things up to 60fps but it was certainly a whole lot better!&lt;/p&gt;

&lt;h2&gt;Taking a new approach&lt;/h2&gt;

&lt;p&gt;Based on what we learnt from the prior work, specifically the performance issues, we decided to take a different approach to the visual design of the project.&lt;/p&gt;

&lt;p&gt;What we already knew from the initial work with a small section of London (8x8km isn&amp;#39;t very small, really) was that it performed very well on most devices we tested on. This was partly due to the smaller number of objects, though it&amp;#39;s arguably more because there is a defined limitation on size that we&amp;#39;re working within. This means that we can optimise performance in a controlled fashion as we always know how big the area we&amp;#39;re rendering is. Compare this to the naive approach we originally took in which we aimed to render an entire city all in one go.&lt;/p&gt;

&lt;p&gt;It&amp;#39;s not all roses though. The problem with rendering a smaller area of a city is that you only see a small part of it. We&amp;#39;re still committed to bringing entire cities to life with ViziCities so we&amp;#39;re looking at a new approach that couples the controlled nature of a small geographic area with the ability to explore a large city.&lt;/p&gt;

&lt;p&gt;Part of our solution is to set the 8x8km section of the city what we&amp;#39;re calling a plinth, which really enforces the miniaturisation effect when combined with SSAO and tilt-shift.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-plinth.jpg" alt="ViziCities: Plinth" title="" /&gt;&lt;figcaption&gt;ViziCities: Plinth&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;There are many more parts to this approach that we&amp;#39;re yet to implement; namely the parts that enforce that you&amp;#39;re seeing just one small part of a much larger city, as well as the parts that allow you to navigate around that larger city.&lt;/p&gt;

&lt;p&gt;We&amp;#39;re still working on those bits but we&amp;#39;re very happy with how the plinth concept is looking so far.&lt;/p&gt;

&lt;h2&gt;The next month&lt;/h2&gt;

&lt;p&gt;We&amp;#39;ve certainly come a heck of a long way since we started from scratch just over 30 days ago. If I&amp;#39;m to be honest, after compiling and writing this entry I&amp;#39;m actually in a state of disbelief about how much we&amp;#39;ve managed to get done in such a short space of time.&lt;/p&gt;

&lt;p&gt;Rest assured, we haven&amp;#39;t stopped and we&amp;#39;re far from completing our vision.&lt;/p&gt;

&lt;p&gt;Here&amp;#39;s an unfairly-blurred look at something we&amp;#39;re very excited about that we&amp;#39;ve not really mentioned before now.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/vizicities-dev-diary-1/vizicities-future.jpg" alt="ViziCities: Future" title="" /&gt;&lt;figcaption&gt;ViziCities: Future&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;h2&gt; Be the first to get beta access&lt;/h2&gt;

&lt;p&gt;I hope this insight has given you a better idea about what ViziCities is and what we&amp;#39;ve been up to this past month.&lt;/p&gt;

&lt;p&gt;Make sure that you &lt;a href="http://vizicities.com"&gt;sign up for the beta&lt;/a&gt; to be amongst the first to use it. You should also follow &lt;a href="http://twitter.com/ViziCities"&gt;ViziCities&lt;/a&gt; on Twitter, as well as &lt;a href="http://twitter.com/petewsmart"&gt;Pete&lt;/a&gt; and &lt;a href="http://twitter.com/robhawkes"&gt;myself&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We&amp;#39;re massively excited about what we&amp;#39;re working on. Watch this space!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=87W_feNGZ4s:q56-r2nvDe4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=87W_feNGZ4s:q56-r2nvDe4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=87W_feNGZ4s:q56-r2nvDe4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=87W_feNGZ4s:q56-r2nvDe4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=87W_feNGZ4s:q56-r2nvDe4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=87W_feNGZ4s:q56-r2nvDe4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=87W_feNGZ4s:q56-r2nvDe4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/87W_feNGZ4s" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/vizicities-dev-diary-1</feedburner:origLink></entry>
    
    <entry>
        <title>Announcing ViziCities - bringing cities to life!</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/ZntLBkUW0Vg/announcing-vizicities" />
        <updated>2013-02-14T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/announcing-vizicities</id>
        <content type="html">&lt;p&gt;3 weeks after leaving Mozilla and it&amp;#39;s time to announce the second project that I&amp;#39;m working on with my talented designer friend, &lt;a href="https://twitter.com/petewsmart"&gt;Pete Smart&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Introducing ViziCities&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://vizicities.com"&gt;ViziCities&lt;/a&gt; is an ambitious project that uses the latest Web technologies to bring real-world cities to life. We are using WebGL (so yes, this is 3D) as well as a multitude of other technologies, like Web Audio and real-time streaming.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/robhawkes/8473799908/"&gt;&lt;figure&gt;&lt;img src="http://farm9.staticflickr.com/8368/8473799908_1bc431661e_c.jpg" alt="Early screenshot from ViziCities" title="" /&gt;&lt;figcaption&gt;Early screenshot from ViziCities&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It&amp;#39;s undeniably SimCity-esque though will encompass many aspects beyond that comparison; ranging from data visualisation, to game design, art, and general awesomeness. There will be something in this project for everyone, we&amp;#39;re sure.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/robhawkes/8472710343/"&gt;&lt;figure&gt;&lt;img src="http://farm9.staticflickr.com/8250/8472710343_9d71125c26_c.jpg" alt="ViziCities landing page" title="" /&gt;&lt;figcaption&gt;ViziCities landing page&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We&amp;#39;re currently busy making this a reality but we put up a landing page today and highly encourage you to &lt;a href="http://vizicities.com"&gt;sign up to get early access&lt;/a&gt; before we launch to the public.&lt;/p&gt;

&lt;p&gt;Watch this space!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=ZntLBkUW0Vg:0kiXRrDbetc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=ZntLBkUW0Vg:0kiXRrDbetc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=ZntLBkUW0Vg:0kiXRrDbetc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=ZntLBkUW0Vg:0kiXRrDbetc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=ZntLBkUW0Vg:0kiXRrDbetc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=ZntLBkUW0Vg:0kiXRrDbetc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=ZntLBkUW0Vg:0kiXRrDbetc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/ZntLBkUW0Vg" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/announcing-vizicities</feedburner:origLink></entry>
    
    <entry>
        <title>Launching Tweetmap: Animated maps of real-time tweets using contiguous cartograms</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/iUrrJoHRGzw/launching-tweetmap" />
        <updated>2013-02-06T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/launching-tweetmap</id>
        <content type="html">&lt;p&gt;Over the past 2 months, &lt;a href="https://twitter.com/petewsmart"&gt;Pete Smart&lt;/a&gt; and I have been working on a beautiful data visualisation project. Today we can finally announce the launch of &lt;a href="http://tweetmap.it"&gt;Tweetmap&lt;/a&gt; &amp;ndash; animated maps of real-time and historic tweets using contiguous cartograms.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://tweetmap.it"&gt;&lt;figure&gt;&lt;img src="http://rawkes.com/media/tweetmap/tweetmap.jpg" alt="Tweetmap" title="" /&gt;&lt;figcaption&gt;Tweetmap&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under the hood, Tweetmap uses &lt;a href="https://github.com/mbostock/topojson/"&gt;TopoJSON&lt;/a&gt;, &lt;a href="http://d3js.org/"&gt;d3.js&lt;/a&gt;, &lt;a href="http://nodejs.org/"&gt;Node.js&lt;/a&gt;, and &lt;a href="http://phantomjs.org/"&gt;PhantomJS&lt;/a&gt;. I&amp;#39;ll be writing more about the technology and lessons learnt (many of them) in the coming weeks.&lt;/p&gt;

&lt;p&gt;For now, &lt;a href="http://tweetmap.it"&gt;enjoy the project&lt;/a&gt; and let me know on Twitter what you think!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=iUrrJoHRGzw:7kg3YX2hpCY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=iUrrJoHRGzw:7kg3YX2hpCY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=iUrrJoHRGzw:7kg3YX2hpCY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=iUrrJoHRGzw:7kg3YX2hpCY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=iUrrJoHRGzw:7kg3YX2hpCY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=iUrrJoHRGzw:7kg3YX2hpCY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=iUrrJoHRGzw:7kg3YX2hpCY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/iUrrJoHRGzw" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/launching-tweetmap</feedburner:origLink></entry>
    
    <entry>
        <title>The next 6 months: Contracting and experimentation</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/CuQ3q-fh160/the-next-6-months" />
        <updated>2013-01-09T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/the-next-6-months</id>
        <content type="html">&lt;p&gt;&amp;quot;Where are you going after Mozilla?&amp;quot; &amp;ndash; This is something I&amp;#39;ve been asked countless times since &lt;a href="http://rawkes.com/articles/on-leaving-mozilla"&gt;I announced my departure from the company behind Firefox&lt;/a&gt;. The funny thing is, it&amp;#39;s usually asked in a way that that expects a glamorous and impressive response. &amp;quot;So you&amp;#39;re going to Google or something then?&amp;quot; &amp;ndash; nope. &amp;quot;Facebook?&amp;quot; &amp;ndash; wrong again. &amp;quot;Microsoft?&amp;quot; &amp;ndash; Yes! Hah, just kidding.&lt;/p&gt;

&lt;p&gt;No, instead I&amp;#39;ll be doing something much better, something much less claustrophobic. I&amp;#39;m going to spend the next 6 months looking after me &amp;ndash; working on things that make me happy, doing things that I want to do, and generally taking things easy and as they come. Does that mean that I&amp;#39;ll be any less successful, or that what I&amp;#39;m doing is any less important or worthwhile? Hell no!&lt;/p&gt;

&lt;p&gt;I&amp;#39;m going to take some time to explain my decision, but you can &lt;a href="#hire-me"&gt;skip to the end and hire me&lt;/a&gt; if you know what&amp;#39;s good for you.&lt;/p&gt;

&lt;h2&gt;Going big doesn&amp;#39;t mean better&lt;/h2&gt;

&lt;p&gt;So many people look at the big Internet companies with starry eyes, desperate to work there but with absolutely no idea why. &amp;quot;Because it&amp;#39;s Google!&amp;quot; &amp;ndash; sure, the reputation of a company is a great reason to put them above others. The funny thing is that the employees at these larger companies are usually the ones who are both hugely motivated and mega stressed at the same time. Without that motivation the pressure of the job would be unhealthily-crushing.&lt;/p&gt;

&lt;p&gt;It&amp;#39;s surprising how many people assume that working at the largest companies around equals a happier, more successful life. It&amp;#39;s completely wrong &amp;ndash; you should never base your employment decisions based on the name and grandeur of a company. Instead, you should base your decisions on whether the role and expected experience will give you what you require to be happy and that the time you invest will be worthwhile.&lt;/p&gt;

&lt;p&gt;The other thing about large companies is that you are likely to get lost amongst the crowd, unless you&amp;#39;re a &amp;#39;ninja rock star&amp;#39; or whatever the current terminology is. Truth is, if you want to get well known then joining a huge company probably isn&amp;#39;t the best use of your time.&lt;/p&gt;

&lt;p&gt;Perhaps doing something smaller is a better use of your time. Perhaps something a little smaller is healthier for you. This is the conclusion that I came to &amp;ndash; going back to my roots, as they say.&lt;/p&gt;

&lt;h2&gt;Relaxation and personal focus&lt;/h2&gt;

&lt;p&gt;As I mentioned at the beginning, I&amp;#39;m spending the 6 months to look after me and work on things that make me happy. Basically, I&amp;#39;m going to have 6 months of little, ideally no stress. 6 months to work on whatever I want, when I want. 6 months without having to worry about income and other boring real-life things &amp;ndash; I&amp;#39;ll be living off my savings.&lt;/p&gt;

&lt;p&gt;When I explain this decision to people they mostly say something along the lines of, &amp;quot;That sounds, nice&amp;hellip;&amp;quot;, while wondering internally whether I&amp;#39;ve gone mental. For some reason there is a mass belief that we all have to do &amp;#39;real work&amp;#39; and that our dreams of doing things we truly love are well, just dreams. &amp;quot;I&amp;#39;d love to do that too but I have adult things to worry about like a mortgage&amp;quot; &amp;ndash; patronising, but ok. Seriously though, if you feel like your life is preventing you from doing what makes you happy then you really need to re-think your life.&lt;/p&gt;

&lt;p&gt;I believe that if you put your mind to something then you&amp;#39;ll often achieve what you set out to do. Perhaps I&amp;#39;m just too optimistic about things, but I very rarely fail at things that I focus my efforts on. Sure, the result might not be as I expected but I almost certainly learn something useful and valuable along the way.&lt;/p&gt;

&lt;p&gt;Take a risk sometimes, it&amp;#39;s fun! In this case, I&amp;#39;m terrified of what the future holds but I&amp;#39;m jumping out into the abyss in the hope that I land on something solid. &lt;em&gt;Where&lt;/em&gt; you land isn&amp;#39;t as important to me as the journey I take there &amp;ndash; you already know your expected destination, the journey is the fun bit.&lt;/p&gt;

&lt;h2&gt;Funding future projects&lt;/h2&gt;

&lt;p&gt;Living off your savings is great and all but it&amp;#39;s hardly a sustainable way of living. I&amp;#39;m aware of that though I&amp;#39;m not letting it cloud my decisions, at least for the first 6 months. So what about the future? I need to find a way to earn enough to continue having the flexibility to do what I love.&lt;/p&gt;

&lt;p&gt;I&amp;#39;ve been thinking about this for a long time and there are so many possible ways to make money, none of which will earn me enough on their own unless they become my primary focus (going against the whole point of doing this).&lt;/p&gt;

&lt;p&gt;What sort of things?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Getting sponsored by a company, like Robert Scoble and Rackspace&lt;/li&gt;
&lt;li&gt;Fund projects with the community, perhaps on Kickstarter&lt;/li&gt;
&lt;li&gt;Sell my projects, either as a service or as a one-off package&lt;/li&gt;
&lt;li&gt;Contract my skills&lt;/li&gt;
&lt;li&gt;Provide workshops&lt;/li&gt;
&lt;li&gt;Donations&lt;/li&gt;
&lt;li&gt;Sell my body&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of these options have pros and cons, and neither are quite perfect. It&amp;#39;s likely that a combination of approaches will yield the best results. The fun part is that I can use the next 6 months to experiment and see what works without the pressure of paying for rent and other annoyances.&lt;/p&gt;

&lt;p&gt;The first approach I&amp;#39;m taking is to do limited contracting of my skills; partly in an effort to save for the future, and partly to keep my options open and to explore new things.&lt;/p&gt;

&lt;p&gt;&lt;a id="hire-me"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Hiring me&lt;/h2&gt;

&lt;p&gt;That&amp;#39;s right! As of January 25th I have limited availability for hire. I&amp;#39;m not going to work all month every month, so it&amp;#39;s likely that my time will get booked up pretty quickly &amp;ndash; don&amp;#39;t hang about!&lt;/p&gt;

&lt;h3&gt;What am I looking for?&lt;/h3&gt;

&lt;p&gt;My skill-set is varied and I have &lt;a href="http://www.linkedin.com/profile/view?id=15569943"&gt;experience in many areas&lt;/a&gt;. I&amp;#39;m hugely driven and keen to explore the following&amp;hellip;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Experimental projects &amp;ndash; I&amp;#39;m a sucker for new and exciting technologies&lt;/li&gt;
&lt;li&gt;Creative programming &amp;ndash; games, data visualisation, all sorts!&lt;/li&gt;
&lt;li&gt;Consultancy &amp;ndash; I&amp;#39;d love to share my knowledge and experience&lt;/li&gt;
&lt;li&gt;Speaking opportunities &amp;ndash; I&amp;#39;m always talking about what I do&lt;/li&gt;
&lt;li&gt;Writing &amp;ndash; Likewise, I&amp;#39;m always writing about things&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, I&amp;#39;m keen to explore anything interesting. If you think it&amp;#39;s exciting and worth my time, it&amp;#39;s likely that I will too &amp;ndash; passionate people are the best people to work with.&lt;/p&gt;

&lt;h3&gt;What am I &lt;em&gt;not&lt;/em&gt; looking for?&lt;/h3&gt;

&lt;p&gt;I should point out that there are a few things that I&amp;#39;m not interested in, for example&amp;hellip;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;General Web design &amp;ndash; this doesn&amp;#39;t excite me any longer&lt;/li&gt;
&lt;li&gt;Every-day development projects &amp;ndash; neither does this&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It&amp;#39;s only fair to point this out now and save both of us time in the long run.&lt;/p&gt;

&lt;h3&gt;How can you get in touch?&lt;/h3&gt;

&lt;p&gt;The best approach is to email me on &lt;a href="&amp;#x6D;a&amp;#x69;l&amp;#x74;&amp;#x6F;:&amp;#x72;&amp;#x6F;&amp;#98;&amp;#x40;&amp;#114;&amp;#x61;&amp;#119;&amp;#107;&amp;#101;&amp;#x73;&amp;#46;&amp;#99;&amp;#x6F;&amp;#109;"&gt;&amp;#x72;&amp;#x6F;&amp;#98;&amp;#x40;&amp;#114;&amp;#x61;&amp;#119;&amp;#107;&amp;#101;&amp;#x73;&amp;#46;&amp;#99;&amp;#x6F;&amp;#109;&lt;/a&gt;, or &lt;a href="http://twitter.com/robhawkes"&gt;get in touch via Twitter&lt;/a&gt;. I&amp;#39;m looking forward to working with you!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=CuQ3q-fh160:4jFJhRYwvew:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=CuQ3q-fh160:4jFJhRYwvew:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=CuQ3q-fh160:4jFJhRYwvew:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=CuQ3q-fh160:4jFJhRYwvew:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=CuQ3q-fh160:4jFJhRYwvew:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=CuQ3q-fh160:4jFJhRYwvew:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=CuQ3q-fh160:4jFJhRYwvew:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/CuQ3q-fh160" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/the-next-6-months</feedburner:origLink></entry>
    
    <entry>
        <title>2012 in review: World travel and life-changing decisions</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/2FL0Dll0kTs/2012-in-review" />
        <updated>2013-01-08T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/2012-in-review</id>
        <content type="html">&lt;p&gt;&lt;em&gt;Note: This article was written 40,000 feet up in the air somewhere over the Atlantic, fuelled by relatively little sleep and what is probably the worst tea that I&amp;#39;ve ever had the pleasure of drinking. Enjoy.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#39;m not going to lie, 2012 has been a pretty intense year. Both good and bad, it&amp;#39;s been the craziest year of my life to date and a year that I&amp;#39;ll never forgot.&lt;/p&gt;

&lt;p&gt;If 2011 was about completing university and finding my feet within Mozilla, 2012 was about exploring new opportunities at the company and beginning to focus my efforts.&lt;/p&gt;

&lt;p&gt;2012 was also the year that everything changed for me, the year that I decided to do the unthinkable and actually leave Mozilla. I&amp;#39;ll touch on that in a little more detail later on.&lt;/p&gt;

&lt;p&gt;So here&amp;#39;s my overview of 2011, in no particular order.&lt;/p&gt;

&lt;h2&gt;Celebrating 1 year at Mozilla&lt;/h2&gt;

&lt;p&gt;On June 6th I celebrated &lt;a href="http://rawkes.com/articles/one-year-at-mozilla"&gt;my 1-year anniversary as a Mozilla employee&lt;/a&gt;. What&amp;#39;s most crazy is that the first year just flew by in what felt like a few short weeks, not a whole year!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/robhawkes/7231875778/"&gt;&lt;figure&gt;&lt;img src="http://farm8.staticflickr.com/7097/7231875778_880566ced4_c.jpg" alt="London Mozilla office" title="" /&gt;&lt;figcaption&gt;London Mozilla office&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In that 1-year period, so much at Mozilla had changed&amp;hellip;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We had doubled in size as a company, from around 350 employees to nearer 700&lt;/li&gt;
&lt;li&gt;We launched Firefox OS, the second-coming for Mozilla&lt;/li&gt;
&lt;li&gt;We finally gave HTML5 games the love they deserve&lt;/li&gt;
&lt;li&gt;We made mobile performance and support our primary responsibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There&amp;#39;s much more than that, but those are the basics. It has certainly been an intense year within the organisation.&lt;/p&gt;

&lt;h2&gt;Travelling around the world, 5 times&lt;/h2&gt;

&lt;p&gt;Ok, so I haven&amp;#39;t quite done a world tour but last year alone I travelled over 134,000 miles &amp;ndash; 5 times the circumference of the world!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/robhawkes/7333334316/"&gt;&lt;figure&gt;&lt;img src="http://farm8.staticflickr.com/7231/7333334316_f1b2634b88_c.jpg" alt="Vancouver panorama" title="" /&gt;&lt;figcaption&gt;Vancouver panorama&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It&amp;#39;s absolutely instance how much I&amp;#39;ve travelled since starting the job at Mozilla, I think if I calculated it all I&amp;#39;ve probably been away from home for 1/3 of the time &amp;ndash; that&amp;#39;s 6 months of travel. It&amp;#39;s incredible to think that my partner Lizzy has been living in our home half a year longer than me, though I&amp;#39;m sure she&amp;#39;s enjoyed the time without me annoying her.&lt;/p&gt;

&lt;p&gt;Don&amp;#39;t get me wrong, the travel has been a fantastic experience and one that I&amp;#39;ll never forget. My fondest, and perhaps craziest trip is the month-long tour I undertook during May. From the UK, to Sweden, to Australia, to the US, to Canada, and back to the to UK, it was a pretty intense trip. Couple that with the fact that &lt;a href="http://rawkes.com/speaking/"&gt;I gave something like 12 talks over that month-long period&lt;/a&gt; and you have a recipe for mild insanity. I took 2 holidays after that trip and I now see why!&lt;/p&gt;

&lt;h2&gt;Relaunching Rawkes&lt;/h2&gt;

&lt;p&gt;2012 was the year that I finally gave Rawkes some love and refreshed the entire platform, from infrastructure to design.&lt;/p&gt;

&lt;p&gt;The new platform puts the site in a much better position for future growth and allows me to focus on writing rather than fighting with process. I achieved this by moving from ExpressionEngine to a static approach using &lt;a href="https://github.com/bevry/docpad"&gt;DocPad&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Aside from the infrastructure, the new design allowed me to give the content of Rawkes proper focus. It also made things much cleaner and readable, something I&amp;#39;d been missing from previous designs.&lt;/p&gt;

&lt;p&gt;While I&amp;#39;m not 100% happy with the outcome, the new approach is a success and is stable footing for future improvements. Watch this space.&lt;/p&gt;

&lt;h2&gt;Falling in love with Firefox OS&lt;/h2&gt;

&lt;p&gt;Back in September &lt;a href="http://rawkes.com/articles/there-is-something-magical-about-firefox-os"&gt;I confessed my love for Mozilla&amp;#39;s Firefox OS project&lt;/a&gt;, a JavaScript-powered operating system for mobile devices. That article alone received well over 50,000 unique visitors over the first few days of its publication.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.flickr.com/photos/robhawkes/7980043535/"&gt;&lt;figure&gt;&lt;img src="http://farm9.staticflickr.com/8456/7980043535_c2b078d029_c.jpg" alt="Firefox OS" title="" /&gt;&lt;figcaption&gt;Firefox OS&lt;/figcaption&gt;&lt;/figure&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The reason why I love the project so much is nothing to do with the fact that I work at Mozilla. Working here may have expedited my exposure to the project but I&amp;#39;d like to think that I&amp;#39;d still see its potential from the outside.&lt;/p&gt;

&lt;p&gt;What I love so much about it is that it&amp;#39;s a potential game-changer for the mobile industry. The ability to have mobile devices powered by open Web technologies is inspiring and exciting. Just imagine having the ability to completely customise and extend your mobile phone using the same technologies that you use to build basic websites.&lt;/p&gt;

&lt;p&gt;Since confessing my love, the project has progressed a huge amount. It&amp;#39;s now in feature freeze for the version 1 release, slated to land later this year. We now have experimental devices that I&amp;#39;ve been fortunate enough to play with, and they&amp;#39;re amazing. The ability to run a complex OS on a low-powered device is quite an achievement, let alone it being created completely with Web technologies.&lt;/p&gt;

&lt;p&gt;I&amp;#39;m very much looking forward to seeing the project hit version 1 and to see the future progression after that. There is so much more in the pipeline that you haven&amp;#39;t seen yet!&lt;/p&gt;

&lt;h2&gt;Being incredibly proud of Lizzy&lt;/h2&gt;

&lt;p&gt;Without a doubt, I wouldn&amp;#39;t be where I am today without the love and support of Lizzy. She has picked me up when I&amp;#39;ve been down, and supported me when I&amp;#39;ve needed someone to talk to. I may not say it as much as I should, but I love her to bits and would likely be a mess without her.&lt;/p&gt;

&lt;p&gt;This past year has been a good one for Lizzy as well; she graduated from university, found herself a nice job, and started taking driving lessons. I&amp;#39;m incredibly proud of her and after 4 years together I can&amp;#39;t wait to spend the rest of my life with her.&lt;/p&gt;

&lt;h2&gt;Leaving Mozilla&lt;/h2&gt;

&lt;p&gt;And now we come to the difficult part of the past year, my decision to leave Mozilla. &lt;a href="http://rawkes.com/articles/on-leaving-mozilla"&gt;I recently wrote about this in depth&lt;/a&gt;, but the gist of things is that I wasn&amp;#39;t happy there any longer and needed to explore new challenges.&lt;/p&gt;

&lt;p&gt;Leaving the company that has helped shape and support me these past 18 months was the hardest decision of my live, by far. It was also the scariest decision. What do I do next?&lt;/p&gt;

&lt;p&gt;I&amp;#39;m still finalising my next steps, but they&amp;#39;re likely to involve taking some significant time off to unwind and explore some personal projects &amp;ndash; perhaps 6 months or so. During that time I&amp;#39;ll also be experimenting with ways of earning a living while keeping enough time and flexibility to do the things I want to do, perhaps via contracting or monetisation of my projects.&lt;/p&gt;

&lt;p&gt;Whatever happens, I&amp;#39;m hugely motivated and excited to see where the future takes me. I&amp;#39;ll be writing more about this new journey in the coming weeks.&lt;/p&gt;

&lt;h2&gt;Reflection on my 2012 wishes&lt;/h2&gt;

&lt;p&gt;At the beginning of last year &lt;a href="http://rawkes.com/articles/2011-full-of-surprise-relief-and-general-awesomeness"&gt;I outlined a few wishes for the following 12 months&lt;/a&gt;. Let&amp;#39;s see how they did&amp;hellip;&lt;/p&gt;

&lt;h3&gt;Improvements in open game development on the Web&lt;/h3&gt;

&lt;p&gt;My wish&amp;hellip;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If this past year is anything to go by then 2012 will be a good year for open game development using Web technologies. I&amp;#39;d love to see the industry gather more steam and for some high-profile success stories to arise.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Did this happen? Oh yes! We may have not seen any high-profile success stories for original HTML5 games but we certainly saw a rise in the significance and acceptance of HTML5 games. All the major browser makers committed resources to games in 2012, from both PR and technology perspectives.&lt;/p&gt;

&lt;h3&gt;More praise and focus for hidden talent&lt;/h3&gt;

&lt;p&gt;My wish&amp;hellip;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It&amp;#39;s no secret that I want hidden talent within the Web industry to be highlighted more. I&amp;#39;d love for 2012 to be the year when some viable solutions to this start to see the light of day.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Did this happen? I&amp;#39;m not sure. This was one of the areas that I didn&amp;#39;t get to explore as much as I&amp;#39;d like. I did notice a few conferences that had deliberately chose young, hidden talent for speakers. I want to see more of that.&lt;/p&gt;

&lt;h3&gt;Foundation HTML5 Canvas to be stocked in educational libraries&lt;/h3&gt;

&lt;p&gt;My wish&amp;hellip;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;This is a much more personal wish but I aim to get Foundation HTML5 Canvas stocked in libraries at universities and colleges within the UK. Keeping up-to-date with the latest technologies is notoriously hard in education and I&amp;#39;m hoping this will help students get their first footing with animation and graphics with HTML5 and JavaScript.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Did this happen? No, at least not from my own doing. This is another thing that I wanted to tackle in 2012 but never got around to it.&lt;/p&gt;

&lt;h3&gt;Relaunch Rawkes with a better focus on content&lt;/h3&gt;

&lt;p&gt;My wish&amp;hellip;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I hope that 2012 will be the year that Rawkes gets updated with a much better focus on the content and the people that use it. This wish is already in the early stages of development and I&amp;#39;m confident that it will start bearing fruit very soon indeed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Did this happen? Yes! After much planning and faffing around, I launched the new version of Rawkes earlier this year.&lt;/p&gt;

&lt;h2&gt;Wishes for 2013&lt;/h2&gt;

&lt;p&gt;I don&amp;#39;t do resolutions so instead here are my overall wishes for the coming year.&lt;/p&gt;

&lt;h3&gt;Position Rawkes as a viable channel for technology and development content&lt;/h3&gt;

&lt;p&gt;Right now, Rawkes is purely a personal blog containing information about me and the things that I&amp;#39;m currently thinking about. In 2013 I want to explore the idea of turning Rawkes into a much larger content platform, revolving around technology and development. I&amp;#39;d also like to see more authors contributing to Rawkes.&lt;/p&gt;

&lt;h3&gt;Find a way to earn enough to fund my personal projects and experimentation&lt;/h3&gt;

&lt;p&gt;The next 6 months are going to be spent working out how to fund time to continue experimenting and learning new things. I&amp;#39;m keen to find a way to do this without the act of earning money being my primary focus.&lt;/p&gt;

&lt;h3&gt;Work on a project interesting to the general public&lt;/h3&gt;

&lt;p&gt;More often than not, the projects I work on are targeted mainly to the developer community. I&amp;#39;m keen to work on some projects this year that are also of use to the general public, or at least to the wider Internet community.&lt;/p&gt;

&lt;h2&gt;Interesting facts about 2012&lt;/h2&gt;

&lt;p&gt;As always, I&amp;#39;ll end this round-up with a few facts and figures about the previous year with comparisons to last year in grey.&lt;/p&gt;

&lt;p&gt;&lt;img title="2012 statistics" src="http://rawkes.com/media/2012-in-review/2012-statistics.png"&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=2FL0Dll0kTs:JJU5LTQjd4g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=2FL0Dll0kTs:JJU5LTQjd4g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=2FL0Dll0kTs:JJU5LTQjd4g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=2FL0Dll0kTs:JJU5LTQjd4g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=2FL0Dll0kTs:JJU5LTQjd4g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=2FL0Dll0kTs:JJU5LTQjd4g:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=2FL0Dll0kTs:JJU5LTQjd4g:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/2FL0Dll0kTs" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/2012-in-review</feedburner:origLink></entry>
    
    <entry>
        <title>On leaving Mozilla</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/xyjDdILTWOg/on-leaving-mozilla" />
        <updated>2012-12-20T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/on-leaving-mozilla</id>
        <content type="html">&lt;p&gt;My last day at Mozilla will be the 25th of January.&lt;/p&gt;

&lt;p&gt;Wow, that was hard to say&amp;hellip;&lt;/p&gt;

&lt;p&gt;So yeah, I&amp;#39;m leaving Mozilla. 5 weeks from today. It&amp;#39;s been by far the most difficult decision of my life, probably ever!&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://farm6.staticflickr.com/5445/7432518150_6f920b4af7_c.jpg" alt="I'm Rob Hawkes, I used to be from Mozilla" title="" /&gt;&lt;figcaption&gt;I&amp;#39;m Rob Hawkes, I used to be from Mozilla&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;h2&gt;Why?&lt;/h2&gt;

&lt;p&gt;At this point you either a) don&amp;#39;t give a shit, or b) are wondering what kind of craziness I&amp;#39;m on and where you can get some. I can&amp;#39;t help with the lack of giving a shit, nor can I help with location of my craziness, but I can try and explain why this is happening.&lt;/p&gt;

&lt;p&gt;Why should I explain myself? Because I know I&amp;#39;m going to get asked about it a lot and I&amp;#39;d rather point people to a carefully-worded post than repeat myself a million and one times.&lt;/p&gt;

&lt;p&gt;Keep in mind that although these reasons may come across as negative, I&amp;#39;ve truly enjoyed my time at Mozilla. This is purely an insight into why I decided to leave, not any sort of exposé on how things really are within Mozilla.&lt;/p&gt;

&lt;h3&gt;Burning out&lt;/h3&gt;

&lt;p&gt;For the past few months I&amp;#39;ve been burnt out. I&amp;#39;m not really sure what triggered it, all I know is that I&amp;#39;m pretty sure that&amp;#39;s what I&amp;#39;m feeling at the moment &amp;ndash; excessively tired, unmotivated, etc. It&amp;#39;s just not me; I&amp;#39;m the guy with the bottomless pit of ideas that&amp;#39;s constantly learning and trying new things, not the guy who can&amp;#39;t even find the energy to attempt something new.&lt;/p&gt;

&lt;p&gt;I&amp;#39;ve only been burnt out a couple times in my life, and each time it was a massive wake up call that something was wrong&amp;hellip; I just hadn&amp;#39;t realised it yet. This occasion is no different and it&amp;#39;s one of the major reasons why I decided to explore new horizons &amp;ndash; I need to look after myself.&lt;/p&gt;

&lt;p&gt;I liken my current situation to the spark within me going out, a little like the AllSpark in Transformers. Without it, I&amp;#39;m just a mind and body doing stuff. I&amp;#39;m not useless but I&amp;#39;m also not &lt;em&gt;me&lt;/em&gt; &amp;ndash; I&amp;#39;m not happy. I need to get that spark back, and it&amp;#39;s not going to be at Mozilla.&lt;/p&gt;

&lt;h3&gt;Inability to switch off&lt;/h3&gt;

&lt;p&gt;One of the best things about the job has been that I&amp;#39;ve been able to work from home in a very flexible manner. Unfortunately, that&amp;#39;s also been one of the worst things about it too.&lt;/p&gt;

&lt;p&gt;Working from home is great, so long as you have firm control over when you&amp;#39;re &amp;#39;working&amp;#39; and when you&amp;#39;re not working. Normally that&amp;#39;s pretty manageable, with this job it has not been quite so easily manageable. It&amp;#39;s a result of numerous things, though the biggest culprit is the time-zone difference between the UK and HQ in California. Meetings at 6pm in the evening aren&amp;#39;t out of the ordinary, and then when you&amp;#39;re trying to relax later in the evening you&amp;#39;re constantly bombarded by emails from the US (for whom it&amp;#39;s early afternoon). Sure, these are easily averted by not attending meetings and turning my email off, but I don&amp;#39;t want to do that.&lt;/p&gt;

&lt;p&gt;At its core, this job is quite a unique one in which I&amp;#39;m not only working from home, but I&amp;#39;m also sort of expected to be available all day every day. Not by Mozilla, but as a result of the role &amp;ndash; I&amp;#39;m effectively the interface between the developer community and Mozilla, and the developer community never sleeps. Should I therefore ignore them when contacted &amp;#39;out of hours&amp;#39;, like on a weekend?&lt;/p&gt;

&lt;h3&gt;Needing a new challenge&lt;/h3&gt;

&lt;p&gt;While I&amp;#39;ve enjoyed my role at Mozilla, I&amp;#39;ve been finding myself wanting to explore avenues that either don&amp;#39;t fit within my role, or don&amp;#39;t sit well with Mozilla&amp;#39;s mission. This makes things rather tricky sometimes.&lt;/p&gt;

&lt;p&gt;For example, I&amp;#39;m pretty keen to explore native technologies and other areas beyond the Web (I can hear the collective gasps from here) &amp;ndash; game development, physical computing, data visualisation, etc. I don&amp;#39;t want to do these things on top of a Web-related job, I want them to be a part of what I do each and every day.&lt;/p&gt;

&lt;p&gt;I also want to go back to basics a bit. I&amp;#39;ve had fun being a community guy, but now I want to go back to my true passion of programming and creating things.&lt;/p&gt;

&lt;h3&gt;Needing a fresh start&lt;/h3&gt;

&lt;p&gt;I could probably find a role within Mozilla that fits the things that I mention above, I&amp;#39;ve no doubt about that. However, does that solve everything? In this case, no.&lt;/p&gt;

&lt;p&gt;I&amp;#39;m in the mindset that a fresh start every once in a while can be a good thing. In fact, I believe that a fresh start is imperative if you want to stay sane and keep expanding your experience and knowledge.&lt;/p&gt;

&lt;p&gt;For me, a fresh start in this regard means going somewhere other than Mozilla, trying something completely different and seeing where it takes me. It might fail. I might not enjoy it. The awesome thing is that&amp;#39;s part of trying something new, that&amp;#39;s what&amp;#39;s exciting about it!&lt;/p&gt;

&lt;h3&gt;Different directions&lt;/h3&gt;

&lt;p&gt;Something relatively disconnected from my role that affected my decision has been the direction Mozilla has headed since I joined (I know, it&amp;#39;s totally my fault). I won&amp;#39;t spend too much time on this one, but it&amp;#39;s worth mentioning as it might explain a few things to those who know me.&lt;/p&gt;

&lt;p&gt;Basically, Mozilla has changed as an organisation quite dramatically within the past year and a half. This isn&amp;#39;t to say that it&amp;#39;s a bad change, but it&amp;#39;s a big change. We&amp;#39;re very much a product- and business-focussed company now, where as when I joined we really weren&amp;#39;t. And you can&amp;#39;t blame Mozilla for that; after all, they do create products.&lt;/p&gt;

&lt;p&gt;What has become clear is that this new focus grates with some of the reasons why I joined in the first place; to evangelise Web technologies, not Mozilla technologies, and to be a developer, not a business guy. Don&amp;#39;t get me wrong, I&amp;#39;m not forced to tell people that Firefox is the best browser and that they shouldn&amp;#39;t use anything else (far from it). It&amp;#39;s more a shift in general focus and expectation within the organisation. I&amp;#39;d like to do something else.&lt;/p&gt;

&lt;h2&gt;Letting people down&lt;/h2&gt;

&lt;p&gt;The hardest part about deciding to leave has been about letting people down, both my colleagues and the community that I serve.&lt;/p&gt;

&lt;p&gt;I know that they&amp;#39;ll understand, but I hate leaving people in difficult situations and I&amp;#39;m not the best at saying goodbyes. I don&amp;#39;t cry or anything, I would just rather not say anything and pretend nothing has happened. After all, it&amp;#39;s not like I died&amp;hellip; we&amp;#39;ll still be in touch and part of the same community.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://farm8.staticflickr.com/7049/6889519626_297de88a72_c.jpg" alt="Robert 'Vader' Nyman" title="" /&gt;&lt;figcaption&gt;Robert &amp;#39;Vader&amp;#39; Nyman&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;h2&gt;Thank you, Mozilla&lt;/h2&gt;

&lt;p&gt;I may be leaving but Mozilla will always have a special place in my heart. I&amp;#39;m still hugely excited about the projects that are happening there and I&amp;#39;m looking forward to seeing them flourish, I just won&amp;#39;t directly be a part of it any longer.&lt;/p&gt;

&lt;p&gt;Mozilla put huge trust in me as a young, relatively inexperienced chap. For that, I am truly grateful. Without this opportunity I would not be where I am today, and I would not have met all the awesome people that I have in the past year and a half.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://farm8.staticflickr.com/7072/7225868376_ff76a309e7_c.jpg" alt="Visiting Sydney this year was amazing" title="" /&gt;&lt;figcaption&gt;Visiting Sydney this year was amazing&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#39;m going to miss the company. I&amp;#39;m going to miss my team. I&amp;#39;m going to miss the job!&lt;/p&gt;

&lt;p&gt;So, farewell Mozilla. It&amp;#39;s been a fun ride.&lt;/p&gt;

&lt;h2&gt;Now what?&lt;/h2&gt;

&lt;p&gt;Changing direction slightly, where do you go after working at one of the best and biggest companies on the Internet? Honestly? I&amp;#39;ve absolutely no idea, but it&amp;#39;s exciting!&lt;/p&gt;

&lt;p&gt;I&amp;#39;m currently exploring a few options, mainly revolving around some key things that I&amp;#39;m looking for&amp;hellip;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More programming &amp;ndash; making more things&lt;/li&gt;
&lt;li&gt;Less public responsibility &amp;ndash; I want to focus on me for a bit&lt;/li&gt;
&lt;li&gt;Working on smaller projects and seeing them to completion&lt;/li&gt;
&lt;li&gt;Perhaps something in an office &amp;ndash; helps with the &amp;#39;switching off&amp;#39; thing&lt;/li&gt;
&lt;li&gt;More time to work on personal projects and experiments &amp;ndash; this is essential&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hopefully I&amp;#39;ll find something that works around that. In fact, I&amp;#39;m sure I will.&lt;/p&gt;

&lt;p&gt;People tell me it&amp;#39;s a big risk to quit a decent job without having something else lined up. I&amp;#39;m not so sure. Perhaps I&amp;#39;m crazy, but I&amp;#39;d rather be jobless and happy than in a job I don&amp;#39;t enjoy because I feel like I have no other choice.&lt;/p&gt;

&lt;p&gt;Here&amp;#39;s to the future!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=xyjDdILTWOg:TPFYL2jpDlE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=xyjDdILTWOg:TPFYL2jpDlE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=xyjDdILTWOg:TPFYL2jpDlE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=xyjDdILTWOg:TPFYL2jpDlE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=xyjDdILTWOg:TPFYL2jpDlE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=xyjDdILTWOg:TPFYL2jpDlE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=xyjDdILTWOg:TPFYL2jpDlE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/xyjDdILTWOg" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/on-leaving-mozilla</feedburner:origLink></entry>
    
    <entry>
        <title>Rawkes Talks Series 2: Get your questions in</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/yZ8mhmOWsX8/rawkes-talks-series-2" />
        <updated>2012-11-12T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/rawkes-talks-series-2</id>
        <content type="html">&lt;p&gt;Rawkes Talks is a little something I started a while back to answer questions that are sent in by people who read this blog or follow me on Twitter. The premise is simple, you send in your best question and I&amp;#39;ll do my best to answer it in a future episode. It can be about anything that I might possibly be able to answer, within reason.&lt;/p&gt;

&lt;p&gt;The second series will be coming in the near future, so make sure you get your questions in now if you want them included &amp;mdash; just &lt;a href="https://twitter.com/intent/tweet?button_hashtag=RawkesTalks" class="twitter-hashtag-button" data-related="robhawkes" data-dnt="true"&gt;Tweet #RawkesTalks&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=yZ8mhmOWsX8:fp8ZsqIv7uM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=yZ8mhmOWsX8:fp8ZsqIv7uM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=yZ8mhmOWsX8:fp8ZsqIv7uM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=yZ8mhmOWsX8:fp8ZsqIv7uM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=yZ8mhmOWsX8:fp8ZsqIv7uM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=yZ8mhmOWsX8:fp8ZsqIv7uM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=yZ8mhmOWsX8:fp8ZsqIv7uM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/yZ8mhmOWsX8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/rawkes-talks-series-2</feedburner:origLink></entry>
    
    <entry>
        <title>There is something magical about Firefox OS</title>
        <link href="http://feedproxy.google.com/~r/rawkes/~3/U5qGKcB7UM0/there-is-something-magical-about-firefox-os" />
        <updated>2012-09-12T00:00:00.000Z</updated>
        <id>http://rawkes.com/articles/there-is-something-magical-about-firefox-os</id>
        <content type="html">&lt;p&gt;Over the past year and a half I&amp;#39;ve been spending more and more of my time working with Mozilla&amp;#39;s latest project, Firefox OS. During that time I&amp;#39;ve fallen in love with the project and what it stands for, in ways that I&amp;#39;ve never experienced with a technology platform before.&lt;/p&gt;

&lt;aside class="translations"&gt;
    &lt;div class="row"&gt;
        &lt;div class="span2 offset1"&gt;
            &lt;h4&gt;Translations&lt;/h4&gt;
        &lt;/div&gt;
        &lt;div class="span7"&gt;
            &lt;ul class="unstyled"&gt;
                &lt;li class="row"&gt;
                    &lt;span class="span1 flags"&gt;
                        &lt;img class="flag" src="/media/speaking/flags/fr.gif"&gt;
                    &lt;/span&gt;
                    &lt;a class="span6" href="http://www.framablog.org/index.php/post/2012/09/13/firefox-os"&gt;Lisez cet article en Français&lt;/a&gt;
                &lt;/li&gt;
                &lt;li class="row"&gt;
                    &lt;span class="span1 flags"&gt;
                        &lt;img class="flag" src="/media/speaking/flags/pt.gif"&gt;
                        &lt;img class="flag" src="/media/speaking/flags/br.gif"&gt;
                    &lt;/span&gt;
                    &lt;a class="span6" href="http://freebird.blog.br/2012/09/14/ha-algo-magico-sobre-o-firefox-os/"&gt;Leia esse artigo em Português&lt;/a&gt;
                &lt;/li&gt;
                &lt;li class="row"&gt;
                    &lt;span class="span1 flags"&gt;
                        &lt;img class="flag" src="/media/speaking/flags/es.gif"&gt;
                    &lt;/span&gt;
                    &lt;a class="span6" href="http://blog.mashme.tv/2012/09/15/hay-algo-magico-acerca-de-firefoxos/"&gt;Leer este artículo en Español&lt;/a&gt;
                &lt;/li&gt;
                &lt;li class="row"&gt;
                    &lt;span class="span1 flags"&gt;
                        &lt;img class="flag" src="/media/speaking/flags/ru.gif"&gt;
                    &lt;/span&gt;
                    &lt;a class="span6" href="http://habrahabr.ru/post/151548/"&gt;Прочтите эту статью на Русском&lt;/a&gt;
                &lt;/li&gt;
                &lt;li class="row"&gt;
                    &lt;a class="span6 offset1" href="http://www.zfanw.com/blog/firefox-os.html"&gt;阅读此文章的简体中文版本&lt;/a&gt;
                &lt;/li&gt;
                &lt;li class="row"&gt;
                    &lt;a class="span6 offset1" href="http://mozlinks-zh.blogspot.com/2012/09/firefox-os.html"&gt;閱讀此文章的正體中文版本&lt;/a&gt;
                &lt;/li&gt;
                &lt;li class="row"&gt;
                    &lt;span class="span1 flags"&gt;
                        &lt;img class="flag" src="/media/speaking/flags/pl.gif"&gt;
                    &lt;/span&gt;
                    &lt;a class="span6" href="http://blog.end3r.com/214/w-firefox-os-jest-cos-magicznego/"&gt;Przeczytaj ten artykuł po Polsku&lt;/a&gt;
                &lt;/li&gt;
                &lt;li class="row"&gt;
                    &lt;span class="span1 flags"&gt;
                        &lt;img class="flag" src="/media/speaking/flags/tr.gif"&gt;
                    &lt;/span&gt;
                    &lt;a class="span6" href="http://sukrubezen.com/blog/firefox-os/"&gt;Bu yaziyi Türkçe okuyun&lt;/a&gt;
                &lt;/li&gt;
            &lt;/ul&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/aside&gt;

&lt;p&gt;&lt;figure&gt;&lt;img src="http://farm9.staticflickr.com/8456/7980043535_c6a39de9c8_o.jpg" alt="Firefox OS screenshots" title="" /&gt;&lt;figcaption&gt;Firefox OS screenshots&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;Let me be perfectly clear; Firefox OS is the start of something huge. It&amp;#39;s a revolution in waiting. A breath of fresh air. A culmination of bleeding-edge technology. It&amp;#39;s magical and it&amp;#39;s going to change everything.&lt;/p&gt;

&lt;h2&gt;What is Firefox OS?&lt;/h2&gt;

&lt;p&gt;For those of you wondering what on earth I&amp;#39;m on about, let me bring you up to speed.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Firefox OS is a new mobile operating system developed by Mozilla&amp;#39;s Boot to Gecko (B2G) project. It uses a Linux kernel and boots into a Gecko-based runtime engine, which lets users run applications developed entirely using HTML, JavaScript, and other open Web application APIs.&lt;/p&gt;

  &lt;p&gt;&lt;small&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS"&gt;Mozilla Developer Network&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In short, Firefox OS is about taking the technologies behind the Web, like JavaScript, and using them to produce an entire mobile operating system. Just let that sink in for a moment &amp;mdash; it&amp;#39;s a mobile OS powered by JavaScript!&lt;/p&gt;

&lt;p&gt;To do this, a slightly-customised version of Gecko (the engine behind Firefox) has been created that introduces the new &lt;a href="https://wiki.mozilla.org/WebAPI#APIs"&gt;JavaScript APIs necessary to create a phone-like experience&lt;/a&gt;. This includes things like WebTelephony to make phone calls, WebSMS to send text messages, and the Vibration API to, well, vibrate things.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;iframe width="820" height="461" src="http://www.youtube.com/embed/5MzuGWFIfio?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;But Firefox OS is much more than the latest Web technologies being used in crazy ways, as awesome as that is, it&amp;#39;s also a combination of many other projects at Mozilla into a single vision &amp;mdash; the Web as a platform. Some of these projects include our &lt;a href="https://developer.mozilla.org/en-US/docs/Apps"&gt;Open Web Apps initiative&lt;/a&gt; and &lt;a href="https://login.persona.org/about"&gt;Persona&lt;/a&gt;, our solution to identity and logins on the Web (formally known as BrowserID). It&amp;#39;s absolutely fascinating to see so many different projects at Mozilla coalesce into a single, coherent vision.&lt;/p&gt;

&lt;p&gt;I&amp;#39;ll leave the description there as this entry isn&amp;#39;t about explaining the project in fine detail, though more information can be found on the &lt;a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS"&gt;Firefox OS pages on MDN&lt;/a&gt;. I definitely recommend checking them out.&lt;/p&gt;

&lt;h2&gt;Why Firefox OS?&lt;/h2&gt;

&lt;p&gt;So you might be thinking, &amp;quot;This sounds great, but why use JavaScript to build a phone?&amp;quot; And you&amp;#39;d be right, that&amp;#39;s a really important question to ask. The good news is that there are plenty of reasons why this is a good idea, besides making Web developers weak at the knees.&lt;/p&gt;

&lt;p&gt;The two major reasons are that Firefox OS fills a gap in the mobile market, and that it provides an alternative to the current proprietary and restrictive mobile landscape.&lt;/p&gt;

&lt;h3&gt;Closing a gap in the mobile market&lt;/h3&gt;

&lt;p&gt;It&amp;#39;s no surprise to anyone that smartphones are often ridiculously expensive, even in areas of the world that are perceived to have high levels of income. But if you thought they were expensive in countries that have the disposable income to afford them, consider for a moment that &lt;a href="http://store.apple.com/br/browse/home/shop_iphone/family/iphone/iphone4s"&gt;a 16GB iPhone 4S costs the equivalent of &amp;pound;615&lt;/a&gt; in a developing market like Brazil &amp;mdash; that&amp;#39;s over &amp;pound;100 more expensive than the same phone in the UK!&lt;/p&gt;

&lt;p&gt;Now, those inflated prices in Brazil are mainly down to high levels of import tax. Apple are apparently working to avoid that in the future by building local production lines in the country. Regardless, it points out a key issue in that expensive, high-end devices aren&amp;#39;t always an option in all areas of the world. Let alone the fact that in some societies &lt;a href="http://en.wikipedia.org/wiki/Crime_in_Brazil"&gt;you might not want to publicly brandish a phone the price of a small car&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So what do you do if you want a smartphone experience without shelling out a stupid amount of money? You could turn to the cheap Android devices but they tend to run poorly.&lt;/p&gt;

&lt;p&gt;Fortunately, this is where Firefox OS comes in&amp;hellip;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The goal of Firefox OS isn&amp;#39;t to compete with high-end devices, but to offer entry- to mid-level smartphones at feature phone prices.&lt;/p&gt;

  &lt;p&gt;&lt;small&gt;&lt;a href="http://allthingsd.com/20120906/mozilla-makes-a-mobile-web-browser-feel-like-a-smartphone"&gt;Bonnie Cha&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Firefox OS fits this gap in the market perfectly. It offers a smartphone experience on cheap, low-end hardware that is comparable to an Android experience on mid-range hardware. That is not a joke.&lt;/p&gt;

&lt;p&gt;For example, I am currently testing JavaScript games on a Firefox OS device that costs &amp;pound;50 (arguably, a very low-end device). You may expect them to run pretty poorly but they not only run much faster than the same games running in an Android browser (Firefox or Chrome) on the same device, they run as fast, if not faster than the same game running in an Android browser on a much better device that costs 4 or 5 times as much.&lt;/p&gt;

&lt;p&gt;Why the huge performance improvements over browsers in Android on identical devices? It&amp;#39;s because of the lack of stuff going on between Gecko and the hardware, meaning things like JavaScript can run at full pelt. So much for JavaScript being slow!&lt;/p&gt;

&lt;p&gt;This JavaScript performance on such cheap hardware is one of the reasons why I&amp;#39;m convinced that Firefox OS is the beginning of something huge.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I should point out that Mozilla isn&amp;#39;t necessarily launching with a &amp;pound;50 device, it&amp;#39;s just one that we&amp;#39;re currently using for development and testing.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;Providing an alternative, open platform&lt;/h3&gt;

&lt;p&gt;The second reason for &amp;#39;Why Firefox OS?&amp;#39; is that it&amp;#39;s an attempt to not only provide an open alternative mobile platform, but to stand up to and try and influence the big proprietary mobile players to change things.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Mozilla&amp;#39;s mission since its outset in 1998, first as a software project and later as a foundation and company, has been to provide open technology that challenges a dominant corporate product.&lt;/p&gt;

  &lt;p&gt;&lt;small&gt;&lt;a href="http://bits.blogs.nytimes.com/2012/02/23/why-mozilla-is-entering-the-smartphone-war/"&gt;Steve Lohr&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Mozilla is attempting to replicate its success with Firefox, in which it stormed the browser market and showed users that there is an alternative, one that lets them be in control of how they use the Web.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;This time, it&amp;#39;s the mobile Web that&amp;#39;s threatened, not by Microsoft but by Apple and Google, the leading smartphone platforms. With their native apps, locked-down platforms, proprietary software stores, and capricious developer rules, Apple and Google are making Web technology less relevant.&lt;/p&gt;

  &lt;p&gt;&lt;small&gt;&lt;a href="http://www.informationweek.com/development/mobility/mozillas-firefox-os-seeks-innovation-wit/240007065"&gt;Thomas Claburn&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On mobile, one of the main areas that needs improving is application portability&amp;hellip;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;For all the excitement around mobile apps, they seem a step backward in one respect: they tie users to a particular operating system and devices that support it. The Web, by contrast, evolved so that content is experienced much the same way on any hardware.&lt;/p&gt;

  &lt;p&gt;Mozilla, maker of the Firefox Web browser, is determined to make the same thing true for smartphones.&lt;/p&gt;

  &lt;p&gt;&lt;small&gt;&lt;a href="http://blogs.wsj.com/digits/2012/09/06/backers-tout-firefox-os-as-open-mobile-option/"&gt;Don Clark&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What Firefox OS aims to do here is to use the native everywhere-ness of the Web to provide a platform that allows applications to be enjoyed on a mobile device, a desktop computer, a tablet, or anywhere else that has access to a browser. Wouldn&amp;#39;t you want to be able to pick up your Angry Birds game on the desktop where where you left it on your phone? I certainly would!&lt;/p&gt;

&lt;h3&gt;A hackable dream for developers&lt;/h3&gt;

&lt;p&gt;One final, extra reason why Firefox OS is needed is that we don&amp;#39;t really have a comparable hackable mobile platform at the moment (you can sort of customise Android but it&amp;#39;s not easy).&lt;/p&gt;

&lt;p&gt;Because Firefox OS is constructed using HTML, JavaScript and CSS it means you only need basic Web development skills to reach in and completely change the device experience. You could literally change one line of CSS and completely change the way the icons on the homescreen look, or re-write some core JavaScript files that handle phone-calls.&lt;/p&gt;

&lt;p&gt;It&amp;#39;s truly a platform for developers and I&amp;#39;m most excited about seeing where they take it beyond Mozilla&amp;#39;s vision.&lt;/p&gt;

&lt;h2&gt;Perfect timing&lt;/h2&gt;

&lt;p&gt;Something that I&amp;#39;ve been fully aware of during my year-and-a-half at Mozilla is how fortunate I am to be here for the beginning of the Firefox OS project. If I remember right, it was announced (as Boot to Gecko) internally during my first few weeks on the job.&lt;/p&gt;

&lt;p&gt;Things were exciting back then but boy have they become even more exciting over time. Firefox OS is literally the number 1 thing that I&amp;#39;m working on at the moment and I honestly love it, I actually feel privileged to be a part of it.&lt;/p&gt;

&lt;p&gt;I&amp;#39;ve wondered many times if this is how it felt to work at Mozilla during the initial launch of Firefox; the excitement, passion, nervousness, and inability to explain quite how amazing it all is and why people should care.&lt;/p&gt;

&lt;p&gt;To be honest, I don&amp;#39;t think many people will truly understand what&amp;#39;s happening with Firefox OS and why it really matters until long after it has launched. A little like Firefox, I suppose.&lt;/p&gt;

&lt;p&gt;For now, I&amp;#39;m happy to be at Mozilla at a very interesting point in its life.&lt;/p&gt;

&lt;h2&gt;Blown minds&lt;/h2&gt;

&lt;p&gt;The people who do get it right now are the developers that have been hands-on with the demo devices that occasionally come with Mozillians to events. There&amp;#39;s not much I enjoy more than watching their expressions as they go through the various stages of emotion while playing with the devices&amp;hellip;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It starts with mild confusion &amp;mdash; a sort of &amp;#39;Why have you just given me an Android device?&amp;#39; look&lt;/li&gt;
&lt;li&gt;Following confusion is sudden realisation that this isn&amp;#39;t Android, it&amp;#39;s built using JavaScript&lt;/li&gt;
&lt;li&gt;After a short while the excitement starts in a sort of &amp;quot;Holy shit!&amp;quot; mind-blowing moment&lt;/li&gt;
&lt;li&gt;A while longer and they&amp;#39;re deep in concentration, exploring every corner of the device and asking lots of questions&lt;/li&gt;
&lt;li&gt;The last stage is slight reluctance as I ask for the device back and a final &amp;quot;That wasn&amp;#39;t half bad, I&amp;#39;m impressed!&amp;quot; as they hand it over&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You&amp;#39;d think I made that up to make things sound all rosy and amazing, but I honestly get those exact reactions from so many people that I show the devices to. It&amp;#39;s actually quite funny.&lt;/p&gt;

&lt;p&gt;What I&amp;#39;ve come to realise is that the more I see others play on a Firefox OS device the more I&amp;#39;m convinced that it&amp;#39;s a real game-changer. It just seems blows minds left right and centre, with barely any explanation needed from me.&lt;/p&gt;

&lt;h2&gt;Plenty of challenges&lt;/h2&gt;

&lt;p&gt;It wouldn&amp;#39;t be fair to talk about the greatness of Firefox OS and the things I&amp;#39;m working on without covering some of the challenges that we need to solve.&lt;/p&gt;

&lt;p&gt;On one side there are the more general issues, like how to manage an apps ecosystem that&amp;#39;s open and unrestrictive, or possible device fragmentation like there is with Android. Those issues are important but are ultimately uninteresting to me.&lt;/p&gt;

&lt;p&gt;However, what I&amp;#39;m most interested in is the challenge we have with HTML5 games on mobile devices &amp;mdash; both the perceived and very real performance issues that developers often complain about. This is by no means an issue specific to Firefox OS (Android and iOS are just as bad) but right now I&amp;#39;m purely focussed on Firefox OS and how we can improve things there.&lt;/p&gt;

&lt;p&gt;As it stands, the majority of pre-existing HTML5 games for mobile either run really poorly (0&amp;mdash;20FPS), or sort of alright (20&amp;mdash;30FPS). Most of the time these games don&amp;#39;t run at a stable frame-rate either, which makes the experience not very enjoyable.&lt;/p&gt;

&lt;p&gt;What&amp;#39;s interesting is that a lot of the issues don&amp;#39;t necessarily seem to be with the device or with JavaScript. There are a few intense games, like &lt;a href="http://playbiolab.com"&gt;Biolab Disaster&lt;/a&gt;, that perform stunningly on even the &amp;pound;50 low-end device that I&amp;#39;m testing on &amp;mdash; we&amp;#39;re talking between 40 and 60FPS.&lt;/p&gt;

&lt;p&gt;It&amp;#39;s definitely clear to me that, although the devices and platform are &lt;em&gt;sometimes&lt;/em&gt; to blame (not as often as some would like to make out), there is a lot we can learn from the games that do perform well on the low-end devices to see what techniques they&amp;#39;re using and how best to educate other developers looking to target HTML5 on mobile devices.&lt;/p&gt;

&lt;p&gt;I truly believe that quite intense HTML5 games can run well on mobile devices, even low-end ones. Why am I so confident about that? Because people are already making those games today. There are 2 things that I trust most in my life&amp;hellip; my eyes.&lt;/p&gt;

&lt;p&gt;We&amp;#39;ll get there.&lt;/p&gt;

&lt;h2&gt;Beyond the mobile phone&lt;/h2&gt;

&lt;p&gt;What excites me most about Firefox OS has nothing to do with the mobile device that we&amp;#39;re launching next year but is instead about what the future holds. I touched on this earlier when talking about Firefox OS being a hackable dream, how others could take it and extend it beyond Mozilla&amp;#39;s vision.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;&lt;iframe width="820" height="461" src="http://www.youtube.com/embed/rk1oTO6cYH0?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;The great news is that this is already happening today. We already have a &lt;a href="http://www.youtube.com/watch?v=rk1oTO6cYH0"&gt;port of Firefox OS for the Raspberry Pi&lt;/a&gt;, as well as &lt;a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard"&gt;one for the Pandaboard&lt;/a&gt;. They aren&amp;#39;t perfect, but what&amp;#39;s awesome (I&amp;#39;ve tried so hard to avoid that word) is that this has all happened before Firefox OS has even reached it&amp;#39;s first release.&lt;/p&gt;

&lt;p&gt;You also have the ability to &lt;a href="https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client"&gt;run Firefox OS via a desktop client&lt;/a&gt; on Mac, Windows, and Linux. While not giving you the same hardware access as you get on a device, the desktop client allows you to benefit from the other features of the OS (like apps running in separate processes) and is fairly easy to set up.&lt;/p&gt;

&lt;p&gt;I can just imagine a day in the not-to-distant future where the Gamepad API has landed in Gecko and can be accessed via the Firefox OS desktop client. What&amp;#39;s so cool about that? Well it&amp;#39;s not a giant stretch of the imagination to see that desktop client being run on a device connected to a TV, with the OS customised to use gamepad input instead of mouse and touch (it&amp;#39;s all JavaScript, remember).&lt;/p&gt;

&lt;p&gt;What you&amp;#39;d have there is the beginnings of a HTML5 games console, and it&amp;#39;s actually something I&amp;#39;m keen to explore in my &amp;#39;free&amp;#39; time outside of Mozilla.&lt;/p&gt;

&lt;p&gt;My point here is that we&amp;#39;re coming to a point in time where devices can now be powered by the same technologies that we would normally use to build websites. What could we do with a world full of devices powered by those technologies, that can all access and communicate with the same APIs?&lt;/p&gt;

&lt;p&gt;I&amp;#39;m desperate to see what that world looks like!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=U5qGKcB7UM0:jitNjBEv4Kg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=U5qGKcB7UM0:jitNjBEv4Kg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=U5qGKcB7UM0:jitNjBEv4Kg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=U5qGKcB7UM0:jitNjBEv4Kg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=U5qGKcB7UM0:jitNjBEv4Kg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rawkes?a=U5qGKcB7UM0:jitNjBEv4Kg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rawkes?i=U5qGKcB7UM0:jitNjBEv4Kg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rawkes/~4/U5qGKcB7UM0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://rawkes.com/articles/there-is-something-magical-about-firefox-os</feedburner:origLink></entry>
    
</feed>
