The 3D urban visualisation platform ViziCities started nearly 2 years to the day. In this post I'm going to take you on a brief journey from the very beginning all the way up to the present day. We'll even take a glimpse at what lies ahead in the future.
I've tried to keep everything mostly in chronological order, although some events have been left out to keep things brief. By the end you'll have a much better idea about how ViziCities came to be and how it has progressed to the point that it's at today.
In the beginning
Rewind 2 years and ViziCities didn't exist. At the time I was very much enjoying playing SimCity 5, a city-building game where you act as mayor to create and manage a city from scratch.
What stood out for me was the way SimCity approached the visualisation of data about your city. Not only was it simple and comprehensible, it was also beautiful. The designers behind the game clearly spent a huge amount of time working out how to make complex data accessible.
It didn't take long for inspiration to strike. What if you used a similar approach to visualise data about real-world cities within a Web browser? And more importantly, does that data even exist? This was the seed that turned into ViziCities as you may know it today.
ViziCities is an ambitious project that uses the latest Web technologies to bring real-world cities to life.
We started with nothing, quite literally. No data, no technology, no practical knowledge of geographic data visualisation. We had to manually pull together data from various Google searches and once we had that we still had to work out what to do with it.
After a couple days with little sleep I had put together the first prototype, visualising 2D building outlines in a 3D world. It wasn't visually impressive but it was a big deal, it meant that the concept was possible.
Fast-forward a few more days and progress had accelerated dramatically, including experimentation into how a platform like this might look. Initial research looked into an effect known as screen-space ambient occlusion (SSAO), the same effect used in SimCity. SSAO gives the sense of shading through ambient lighting and it can look incredibly beautiful. We were sold!
Further experiments looked at how urban data could be visualised in a 3D environment like this. How might census data be visualised? What about transport data? Social data? We looked at it all.
One month into development and ViziCities was starting to resemble a functional geographic data visualisation platform. The next step was to refine the messy experiments down into a single coherent platform.
Refining the concept
The first month taught me a lot about what the problem areas were, specifically what worked and what didn't work. The original experiments suffered from performance issues and a lack of understanding of geographic data on my part.
Further work looked at different approaches to the visualisation of large areas of a city. Instead of trying to visualise every single building at once (millions of them), we tried restricting the view to a fixed 8x8km area to see how that might work.
It looked nice, though something about it didn't quite fit with the original vision of being able to cast an eye over an entire city. Restricting that ability seemed to work against that.
To solve that problem I had to improve the performance so more buildings could be visualised.
I implemented some common techniques such as level of detail (LoD) and frustum culling (removing things that you can't see). Together these dramatically increased performance, and when combined with other techniques the platform begun to take massive strides forward.
Visualising the London tube in 3D
At this point we had begun producing demos. One of the most memorable of the past 2 years has been visualising the London Underground network in realtime 3D.
To create it we had to manually combine data from all sorts of places around the Internet, mostly in Excel spreadsheets. It was horrible. But we did it and the result was even more incredible then we could have imagined — the London Underground was amazing in three dimensions!
We were the first in the world to build live visualisations of the London Underground and London bus network in 3D.
The demo went down a storm with the press, culminating in ViziCities being featured on the front-page of the Daily Mail for an entire day. With a daily readership of around 11.8 million people, that's a lot of eyes on ViziCities!
We even spent some time visiting Transport for London to show them the demo and to talk about how something like this could be used. It was at this point that we realised that perhaps there's a business in ViziCities.
Taking part in the Mozilla WebFWD programme
To pursue the business idea further we applied for and were accepted into the Mozilla WebFWD programme, an accelerator of sorts. This kicked off with a jam-packed week in San Francisco to meet everyone get things started.
WebFWD taught us a whole bunch about creating a business. The most important thing that we learnt was that we weren't anywhere near ready to make ViziCities a business. The platform wasn't quite there and we just weren't ready for the commitment personally.
Releasing ViziCities 0.1.0 as open-source
Shifting gears from focussing on the business to focussing on the platform allowed me to press ahead with the development of the first public ViziCities release. One thing that my time at Mozilla taught me was that open-source software is a powerful thing when wielded correctly. With that in mind we took a leap of faith and released everything under an open MIT license.
The numbers for the first week were jaw-dropping:
- Launch email sent to 4,528 people
- 874 developers watching on GitHub
- 8,985 unique visits to the ViziCities demo
- 10,042 unique visits to the ViziCities website
ViziCities was going down better than we could have expected. Within that first week people already wanted to use it in public projects, and the press coverage alone was keeping us insanely busy.
We've been constantly blown away by the response the project has received. We never imagined quite how much it would inspire people.
The 0.1.0 release reinforced the vision of ViziCities and provided the injection needed to make things happen.
Demos, demos, demos
After 0.1.0, I created countless demos in the drive to further refine ViziCities. Each demo aimed to further my knowledge about geographic data visualisation, or to explore relationships with other companies.
The logical extension to the London Underground demo was to visualise London buses in realtime 3D; so that's what I did. It required some significant time and effort to match up bus timing data from Transport for London with bus stop positions from an Excel spreadsheet and road networks from OpenStreetMap. It was a headache but it worked.
One of my favourite demos was a partnership with Plane Finder to explore how their air traffic data could be visualised in 3D within a Web browser. The results speak for themselves really — seeing planes taking off and landing at an airport in realtime 3D was incredible!
I also had the pleasure of working with the Environment Agency LIDAR data to see how 3D visualisation could be used to help educate the public on the dangers of flooding. In this specific example I looked at how to combine 3D terrain, flood outlines, buildings and more to provide an unmistakable picture of what's happening.
All of these demos showed just how powerful ViziCities is as a visualisation and communication platform. They fostered the progression of that platform into what would become something even better than what already existed.
Giving talks about ViziCities around the world
During everything else going on we spent some time travelling to speak about ViziCities at large events. This was a great experience in itself and allowed us to refine the message about ViziCities and why people should use it.
Updating the ViziCities website
Toward the end of 2014 the ViziCities website got a much-needed revamp, positioning ViziCities as a platform rather than an experiment. While a small change, this represented a big step in the progression of ViziCities into something serious.
Making huge improvements with ViziCities 0.2.0
What cemented ViziCities as a serious contender for 3D geographic data visualisation was the 0.2.0 release in late-2014. This release was the culmination of a complete rewrite of the platform based on the lessons learnt with 0.1.0.
The new approach made ViziCities infinitely more powerful. It now separated the way data goes into ViziCities and the way that visualisations come out the other end. This alone was a step-change in the way geograhic data visualisation is done in the browser today. In fact, it still hasn't been matched!
The 0.2.0 release also focussed on the original aim of ViziCities, to provide a data visualisation tool. Whether you want to visualise historic census data, live tweets, or realtime transport; you can do it with ViziCities.
Seeing ViziCities used by others
The latest release of ViziCities made it much easier to use, which in turn saw more and more people using it in their own projects. Here are a few of my favourites.
Belin's second-most popular newspaper, the Berliner Morgenpost was arguably the first company to publicly use ViziCities. They used it to communicate the redevelopment of an airfield near the city and to show what it might look like if it goes ahead. It was a perfect use of ViziCities as a tool for telling a story about an urban area.
Virtual Helsinki realises one of the original visions for ViziCities, to combine data from all over a city and visualise it all in one go. The result is an incredible interactive and engaging experience, all within a Web browser.
Virtual reality with PBS
ViziCities contributor Brian Chirls used the platform to create an amazing virtual reality experience within New York, combining an Oculus Rift with cutting-edge Web technology. The results are beautiful and allow you to get a unique insight into the data locked within Manhattan.
Working on ViziCities full-time
Back in November 2014 I took a giant step for both myself and the future of ViziCities. I left my day job to work on ViziCities full-time and give it the time and attention it deserves.
I'm no startup guru (I often feel like I'm making this up as I go), all I know is that I have a vision for ViziCities and I'm beyond confident that there's demand for what ViziCities offers.
It often surprises people that ViziCities was something that I worked on in my spare time up until this point. Fortunately, the move was the best decision I could have made and it has allowed me the freedom to carefully work through the issues that need to be solved for ViziCities to succeed.
One big event that occured as a result of working on ViziCities full time is its registration as a fully-fledged limited company within the UK. While nothing to broadcast from the rooftops, it's another of those key moments in the progression from an idea playing SimCity to a serious venture.
I'm always asked what the business plan is with ViziCities. How can I live off an open-source project? What's the business plan? Etc. The intention with the registration of ViziCities as a company is clear — the core platform will stay open-source and the company will build products and services around it. It's very much the WordPress or Mapbox model; it's nothing new.
It's been 2 years since ViziCities started, so what's next? Well, if the time has taught me anything it's that you never quite know what's coming around the corner. Saying that, 2015 will see massive improvements to the ViziCities platform (specifically the Blueprint API), as well as the release of tooling to ease the creation of geographic data visualisations.
Alongside that, I'm keen to continue growing the ViziCities community from the 8,100 people that are signed up today. My wish is that 2015 sees more contributions from other developers (2014 was already amazing for that) and that more people start using it in real-world projects.
If the past couple of years are anything to go by then the next 2 will be just as exciting. Watch this space!