Four years ago in February 2009 we launched CloudMade’s developer program. Fast forward to February 2013 and we’re launching the platform that kickstarts the next four years for CloudMade and our customers. What’s happened in the last four years and what do the next four have in store for CloudMade and the thousands of developers, OEMs and enterprises that build on our platform?
The First Four Years
Four years ago we set out to build a platform that would let developers of all types all around the world build exciting location aware apps, websites and experiences. We focused on three areas to make a difference in:
1. Create Something Different
We created the Style Editor – the first tool of its kind to let developers create beautiful custom map styles. We innovated ontop of, and improved, open source tools like Mapnik to create a unique tool chain. For the first time, developers and designers could come to a website and use a point and click interface to create a custom map style. When they were done, the style they had created was instantly available through an HTTP API that could be accessed from any platform. Since we launched the Style Editor over 15,000 map styles have been created and we’ve served up billions of custom map tiles. Developers like Red Robot Labs have created experiences in which the map seamlessly blends with the game design. Transport Agencies like Transport for London have created finessed styles that help their users navigate with ease. Map visualization pioneers like Movity (since acquired by Trulia) created styles that let their data take prominence. Whatever the use case, the Style Editor provided a way for thousands of developers to express themselves through their websites and apps.
2. Build for Developers
Most of you reading this are developers. You’re one of the most sought after players in the mobile ecosystem today. Google, Apple, Facebook court you and spend millions of dollars to get you to build apps on their platforms. Over the years we’ve invested in CloudMade’s developer program and now over 25,000 developers on web and mobile build projects and businesses on our platform. That investment is set to continue.
3. The Best Maps
In 2009 OpenStreetMap was the source of map data for CloudMade. OSM and the incredible community of volunteers around the world who spend their free time building a free map of the world has become the inevitable de-facto choice for mapping. Apple, Twitter, Foursquare and countless other business rely on OSM to deliver the best maps in the world.
Over the last four years there’s been an explosion of accessible, exciting geo-data and a large focus of the new CloudMade platform we’re launching today is accessing, organizing and making sense of the huge amount of map data out there today.
This post talks about how we’re building out the original CloudMade APIs for Map Tiles, Routing, Geocoding – making them faster, keeping them rock solid stable, making them cheaper and passing on the savings to you.
Starting The Next Four Years
As we listened to our customers and looked at the market over the years after we launched CloudMade, we noticed some key trends that shaped the platform we’re launching today:
1. An explosion of geo content and the tools to create it
The kind of crowd sourcing that OpenStreetMap pioneered combined with the explosion of smartphones and cheap data plans has lead to an explosion of geo content. From Yelp to Foursquare to Facebook Places to Food Spotting to real time traffic to weather to movie times and restaurant reservations. Where 4 years ago there was only OpenStreetMap and a smattering of other pioneers, now we’re flooded with content. Now the problems aren’t “where do I find a map” they’re “how do I make sense of it all?”, “how do know this place is the same across all of these different sources?”, “how do I manage this much data?”, “how do I analyze this much data?”, “how do I route across this much data?”, “how do I manage to access so many different APIs?”, “how do I give my user the results they’re looking for”. We are certain that there is going to be more and more geodata being created over the next few years. We have little idea what kind of new geo content is going to emerge over the next 4 years. The platform we’re building on is designed for this.
2. Pervasive location. Intermittent internet.
To add to the complication, our customers from large OEMs to independent developers told us that whilst geo-location (the raw latitude and longitude of the device) was pervasive, available through all major mobile OSs, increasingly available to web apps and available to OEMs through low cost GPS or WiFi positioning, access to the internet was far from pervasive. App developers told us about the inevitable network lags whilst accessing services over mobile networks. OEMs told us about new categories of devices they planned that would be intermittently connected to the internet through WiFi or Bluetooth. Tablets, on-dash GPS navigators, in-dash automotive systems, watches and other wearables all share this dilemma – pervasive location but intermittent internet.
3. Apps, Apps, Apps
The app phenomena has deeply impacted us and our customers. For developers it created a market place and a business model that let their businesses grow and thrive. For OEMs, apps have not only driven the smartphone explosion, they’ve elevated consumers’ expectations when it comes to the quality and content of the user experience. GPS navigators that used to be about getting from A-B find it hard to compete with Google Maps. Your TV is not just a screen for the cable companies, its an interface through which you interact with the world. Consumers are demanding the kind of slick experiences that iOS and Android developers craft across all of their devices and screens – from their car to their home and their office.
4. More Devices. Not Less.
Convergence is all very well. Sure, I don’t have a camera in my pocket any more. Now I have a Nike Fuel Band on my wrist, a Kindle Fire in my jacket, an iPad Mini in my bag. There are more connected devices distributed more evenly throughout the the world than ever before. This poses a problem for developers and experience creators who must now master the art of creating apps that span multiple devices with many different use cases, use modes, screen sizes and platforms. Cisco estimates that there will be more connected devices than people in the world by 2017. How is your app, your business going to capitalize on this reality?
Three New Products from CloudMade
To address these major trends in our industry, today we’re launching a new range of products: the “Mapsafe” family and the “Hybrid Data” family and a new range of CloudMade SDKs, starting with Android. Each of these new products has been built from the ground up over the last 18 months to address the trends we and our customers have seen. Each of them use a cloud-device architecture that distributes computation between the cloud and the device, making the most of the abilities of both. Let’s take a brief look at what they can do.
Hybrid: Always Up To Data Geo Content
“Hybrid” made it possible for GPS OEM Magellan to create “SmartGPS” – the world’s first WiFi enabled personal navigation device (PND). CloudMade’s Hybrid technology does a number of things for SmartGPS:
- Enables the uniquely colorful, information rich user interface that is SmartGPS’ design signature
- Facilitates lightening fast search through a vast database of location content from a single interface
- Provides a single server-side database and API for content from a vast number of data providers including Yelp, Foursquare, OPIS (gas prices), PhantomALERT (speed cams), weather, Factual, OpenStreetMap, TomTom and more.
- Keeps an up-to-date copy of this data available on the SmartGPS device at all times, trickle syncing the local database via WiFi, a Bluetooth tether or a USB connection whenever available.
- Minimizes the use of local disk space on the device by profiling the user and selectively syncing only the content that the user requires
- Provides a singe on-device search API that delivers a single entity across multiple data providers. So when you search for a your favorite coffee shop on SmartGPS, you get a result that can include data from Yelp, Foursquare, Factual, OpenStreetMap and other sources
-Facilities on-device commerce, letting users upgrade to premium versions of datasets like PhantomALERT’s road safety dataset.
The Hybrid technology opens up a vast world of geo content that exists today, making it available to OEMs and developers building cross device experiences. But most importantly Hybrid is future proof. We cannot even imagine the type of geo data that’s going to be created over the next four years – no-one knows what will follow Foursquare, Yelp, Food Spotting. Whatever does follow, Hybrid will access, store, curate and make it available to your apps, devices and services.
Mapsafe: A Personal Location Cloud
“Mapsafe” is to your places what Evernote is to your notes. Use the Mapsafe API to save a favorite place, route, appointment, geo-tagged photo or any other location content on one device and it is automatically synced across all of the user’s devices. Using an intermittently connected device? No problem! Mapsafe’s intelligent synchronization let’s your users create, read, update and delete in offline mode and have the changes made next time the device is online. Want to share a location with friends? Mapsafe makes it easy. Want to capture user feedback and edits? We have that base covered too. Mapsafe uses the Hybrid layer to keep all of the changes in sync across a multitude of devices, screens and apps.
SmartGPS sports a number of very cool features that are enabled by Mapsafe:
SmartGPS is part of an ecosystem of apps, websites and devices that all interact with each other. A Magellan user planning a trip can research the best hotels on their tablet from the comfort of their sofa and quickly save the places they find to their Wishlist on the Magellan “Via” web portal. Powered by Mapsafe, their Wishlist is automatically synced with their SmartGPS. Throw away the pen and paper!
The Magellan Active group have taken their product even further with the help of Mapsafe. The Magellan Active website and developer API, let users store their runs, walks, cycles and associated GPS trace, heart rate, cadence and other fitness data in a Mapsafe powered cloud from where they can grant access to third party apps and services to access the data. For example, you could let a snowboarding website access your snowboarding data, let a marathon coaching services access your runs and let your personal trainer have access to the whole lot.
Cross Platform SDKs: A Developer’s Best Friend
The third new product we’re announcing today is a completely reworked cross platform SDK that provides a comprehensive set of tools for developers building location aware applications. To scratch the surface, here are a few of the features:
- Bitmap map tile handling
- Vector map rendering
- Hybrid and Mapsafe integration
- Sophisticated map matching
- Fast on device search
- Fast on device routing
- Turn by Turn Navigation with spoken route guidance
We built all of this in a portable C/C++ core and have native APIs for iOS (Objective-C), Android (Java and NDK) and Windows (C++) devices. Where you need to access data directly from a web service, we have HTTP APIs that are all accessible from the popular Leaflet HTML5 maps API.
From Here On
Whether you are a large OEM or new startup building On-Dash or In-Dash navigation, Fitness and Outdoors devices, a website planning your new maps portal, a logistics company planning your new truck and fleet solution, or an app developer building the next Foursquare, the kind of innovation you’ve seen from us over the last 4 years is only a taste of things to come. We’re can’t wait to build the future with you. If you share our excitement, get in touch. Leave a comment, drop us an email. We’d love to talk and we’d love even more to do business with you.
Many people have been asking me lately, about what is happening at CloudMade and where our business is going.
So, as I always love talking about CloudMade, here is the high level view.
We have a lot of extremely exciting activity going on with products in particular (both launched and launching soon) that use our core technologies on the device and inside the application. These are backed by the Hybrid Data and Mapsafe stacks which connect the cloud and the device together. These range from launched devices with major OEMs in Europe (i.e. Medion and others) to products we expect to hit the shelves soon (i.e. SmartGPS from Magellan). You will be able to buy and use the products in the USA and globally over the next six months. At CloudMade, we are very focused on the On-Dash, In-Dash, Fitness & Outdoor and Truck&Fleet markets with activities and projects in each of these areas. Our passion is about location enabled user experiences in these areas and we see a stream of very cool stuff coming.
Our internal development teams in Stuttgart and Kyiv are totally engaged in projects with our partners, and through these projects bringing these new products to life.
In the application space, we see continued innovation around the Leaflet open source project and in the use of both OSM and commercial data sets with our web services to create new and compelling consumer experiences. This ranges from small research projects to significant games to major transport agencies using our cloud to power their solutions.
As for where this is all going, I expect that, with our partners, we will continue to innovate and produce new user experiences in the embedded and application space that will combine the cloud and the real world in compelling ways. And along the way we will build a smarter Cloud and infrastructure that supports, enables and connects these solutions.
I look forward to sharing more with you in the coming weeks and months.
Today we’re releasing a new CloudMade platform. As well as building out new products, we’ve been busy making the CloudMade APIs that you depend on better, faster, cheaper and more stable. I’d like to share some highlights with you:
- >99.9% uptime on Map Tiles, Geocoding, Routing in 2012.
- Uninterrupted service delivery through 3 Amazon AWS outages.
- We continued pushing the envelope of AWS’ capabilities to reduce costs, improve speed and stability.
- Leaflet has hit its 0.5 release to become the leading HTML5 map library on the web. More big Leaflet news to come over the next few weeks.
- The global OpenStreetMap community now numbers over 1,000,000 contributors who are curating and creating the world’s biggest and best map.
In 2013 we’re passing the benefits directly to you. We have simplified our pricing and from the 1 March we’re rolling out new, lower priced services:
- Map Tiles: $25 per million tile transactions. First 500,000 free each month
- Geocodes: $15 per 100,000 geocoding transactions. First 10,000 free each month
- Routes: $15 per 100,000. First 100,000 free each month
All users – paid or not – get the great service you expect from CloudMade:
- 99.9% uptime SLA or 2x your money back
- 24 hour guaranteed email response times
- SSL for just $2 extra per million map tiles
Its been a great ride over the last 4 years at CloudMade. The developer community has built some stunning apps, websites and services. The CloudMade team are here to make the next 4 years even bigger and better.
Transport for London is one of the largest public transportation agencies in the world. Each day their bus network alone carries more than 6 million passengers. For those passengers, finding bus information just got a lot easier with the new “Countdown”website, powered by CloudMade. Try it out here.
The Transport for London portal uses CloudMade’s Map Tiles and Geocoding with a custom SLA and server installation inside our Amazon based cloud. The map style was created using the Style Editor and our Cartography Design services. If you like what you see, get in touch.
CloudMade has found a way to add value for people playing mobile games, generate additional revenue for game developers and create a very compelling way for brands to drive retail traffic and revenue.
Mobile games are a huge marketing opportunity
Millions of users are having fun playing mobile games every day. This creates a huge marketing opportunity for consumer brands.
Banners are not the perfect solution
The only way brands and game developers are really taking advantage of this huge marketing opportunity is through banner ads adopted from the web. The banners do add revenue for game developers, but most gamers don’t like seeing banners in the middle of their game. In addition, the banners are rarely the right tool for consumer brands and retailers to achieve positive branding, retail traffic and an increase in revenue.
We need to find a tool that ensures that game developers make money and that brands get a great marketing tool in a way that people playing mobile games love.
CloudMade has solved this challenge by talking to leading brands and top game developers and building a service that meets their specific needs. The solution we have come up with is Sponsored Locations.
We look forward to talking to you too
If you are a game developer or a consumer brand that we have not yet talked to about tailoring Sponsored Locations to YOUR needs, we look forward to connecting with you soon. In the meantime, you can learn more about Sponsored Locations here.
There’s one more thing to consider: CloudMade developer community has a lot of talented people in it that could help with the development of the library, but so far Web Maps API was not a part of our open source efforts.
Leaflet is built from the ground up to work efficiently and smoothly on both platforms. It’s very fast, lightweight while still having a strong browser support, and really easy to use. It also has a clean, simple and readable OOP-based code, and it’s hosted on the world’s best open source collaboration platform — GitHub, so contributing is a snap.
It’s still in the beta stage of development, so it lacks a couple of features and has some rough edges, but it’s moving fast — try it and give us some feedback, either by tweeting to @LeafletJS or reporting bugs and discussing features on the issues page.
Find out more on the Leaflet official website.
This is a repost from my personal blog.
I’m starting a series on explaining how and why CloudMade uses Python. The following one explains why we ditched OSM’s stack in favour of in-house solution.
It’s been almost 2 years as CloudMade has ditched mod_tile and renderd as main rendering solution in favour of in-house solution. As the principle designer of the said alternative, I must say that this decision led to higher development pace. This article will try to cover the general architecture approach, reasons of decisions made and short comparison to other rendering alternatives.
Before The Switch
As some of you might know, CloudMade has its roots in OpenStreetMap and it was quite natural to adopt OSM’s software stack to have something to start with. But as CloudMade grew, the needs and requirements changed rapidly and the task of supporting and developing mod_tile became more of a burden, the decision to switch to more high-level language as the main was made. The language of choice was Python, due to its generous set of already existing spatial libraries (e.g. Shapely, GeoAlchemy, Mapnik bindings, etc), ease of deployment and its simpler support for cross-platform development. And, well, I knew it better than Scala, Ruby or Perl at that moment. Here goes a list of our tasks with mod_tile and renderd that we found easier to implement with Python:
- Variable priorities
- mod_tile has the notion of “dirty” and “general” requests, with dirty requests having lower priority and thus having the property of being rendered when there’s little-to-none on-demand rendering required. While this seems enough for most applications, it does has its warts, as it makes the priority system overall less general. What this means in practice, is that every time we need to add some special priority (i.e. in case we need to health-check system by forcing rendering) we get into adding quite a lot of code, rather than changing the “priority” property of the request. It might seem silly, but off the top of my head I can remember that we have at least 6 different priorities now
- Replicating cache
- When it comes to scaling rendering and serving of tiles, the simplest solution that comes to mind is adding more servers. It’s as simple, as pushing several links in web interface or even using automated process and Amazon Web Services API. But when you add new server with rendering stack installed you lose all the cache that has been on other servers and furthermore all the instances don’t share cache, which makes the cacheto use system less effective. There’re several solutions to this issue, each of them making use networking or database libraries, programming against which is tedious task in C (and C++).
- Being tied to Apache
- mod_tile is an Apache module, which makes it less interesting if you look at it from “commodity server” perspective. Having to program against a monster that is Apache, using its APR library is one giant leap into full-blown programmer depression. The autogenerated documentation make the matters even worse. And two last things about Apache are its comparatively slow serving of static files and complicated configuration scheme. One might say that Apache might be winning in other parts of comparison, but the things that have been mentioned were essential to our rendering services.
These were the main reasons to switch, as mod_tile and renderd didn’t seem like the right thing for CloudMade. Of course, there were a lot of others, more and less subjective reasons, but having even before mentioned ones, it was enough to seriously consider a switch.
With all the warts of the existing system and requirements for the future in mind, we decided to move on with the new approach. There were several things to consider in our system:
- This was our main goal — thoroughly decoupled system, where every part does one thing and does it good. This makes scaling much easier, but also incurs additional penalty on the amount of code, because of the need to write communication utilities. This also makes the system as a whole seem much more stable, as every other part of the system can work as a replacement in case of failure. Of course, the price is having network overhead and supervising system parts.
- Handling styles
- One of the main CloudMade web-services is the style editor, which gives ability to edit map styles using WYSIWYG technique. Handling thousands of Mapnik styles wasn’t something any existing system was prepared for, so unique way of doing exactly this had to be devised. Of course, this meant that style state in every part of the system had to be consistent at any given moment of time, making this even harder to accomplish.
- Cache expiry
- To minimize load on the system, as much cache as possible has to be available. But for rapidly changing OpenStreetMap data, having all tiles cached for month wouldn’t work and at the same time rendering all images on the fly would be an enormously heavy goal to accomplish. Whatever cache update approach is taken, unless there’s a hardware possibility to render maps on the fly, someone will be unhappy about cache expiry scheme.
- Health monitoring and high availability
- In order to meet requirement of having usable web services, one of the most important things to consider is having as high service uptime as possible. Without having health monitoring which knows about state of every part of the system the said objective is almost unreachable. Of course, the ideal can not achieved, but having a setup that covers at least 80% of the nodes would satisfy our needs.
The system that’s currently in use at CloudMade has been developed with exactly these goals in mind, with minor additions and subtractions along the way. To summarize, the goal was the system where every part has a maximum level of independency from every other while succumbing to the general goal of having fast and easily-deployed rendering stack.
To Be Continued
I’ll continue the talk about moving from mod_tile to our in-house system in follow-ups, where I’ll try to get into technical details, explain our shortcomings and issues that arised while developing.
Last week at Apps World Conference and Exhibition industry experts and newbies gathered together to discuss the current state and future of mobile applications development. Even the heavy London snow didn’t prevent 2,400 people from attending the show, and it turned out as two excellent days of networking.
With three simultaneous streams (Developer, Marketing and TV, Handset and OEM) the Apps World event aimed to address the entire app ecosystem, and the challenge of development, design and delivery of apps across multiple platforms. Nick Black, CloudMade Co-Founder and Head of Products, spoke at the conference on how location is helping to create and monetize outstanding apps.
CloudMade also exhibited in Developers Zone where we were busy meeting with new and existing developers.
We are always looking for new ways to meet with developers and understand how we can help you build better user experiences and increase your revenue. You can help us by sending information about any interesting events you plan to attend to email@example.com
Another update of our App Gallery brings some new examples of impressive CloudMade-powered apps and shows how location continues to enhance user experiences for web and mobile services. The range of applications presented in our app gallery is becoming really wide, and it now includes such categories as Navigation, Travel, Business, Reference, Healthcare and Fitness, Utilities, Entertainment and Productivity. Here you can see some newly added apps that we’ve found especially interesting.
Fahrtenbuch is a must-have app for anyone who needs to track mileage for tax deduction or reimbursement. This app is the #1 choice “driver’s log” in Germany, and it is the first one to have full iCal integration. CloudMade Geocoding and Routing services have been used in it.
Choosing a restaurant or a bar for the evening? Drinktown will help you to make that choice by telling you about all the food and drink specials near you. The website is updated daily by tens of thousands of members, and it is very easy to use since it allows you to sort data by day of the week, special type or just browse the beautifully styled map to find nearby deals.
With the Next Time iPhone app using reminders has become extremely efficient, since it now takes into account your location. You can create a list of locations and set reminders for those. Next Time will run in the background to alert you of your reminders the next time you’re at the location. The app is using CloudMade Geocoding and Map Tiles.
TrackMyJourney-Mobile is a multi-function recreational navigation and mapping application for Java/J2ME and BlackBerry phones. It receives its location coordinates by communicating via Bluetooth with a separate GPS receiver, or via the phones internal GPS if supported. The data is then sent to TrackMyJourney website where you can then share your location and recorded tracks with your friends. The app uses CloudMade Geocoding, Map Tiles, Routing, StyleEditor and Web Maps API.
French cycling fans might get interested in Geovelo – a cycling route planner that uses OpenStreetMap data and takes into account not only distance, but also safety. Geovelo maps created with CloudMade Style Editor perfectly complement the impressive design of the website.
You can see more location based apps that use CloudMade services in our App Gallery. If you are interested in trying out those free tools and APIs yourself, sign up to our Developer Zone. And maybe your outstanding app will be among thoses featured in our App Gallery soon!
MiniBar is looking for developers who will create innovative apps mashing, mixing, streaming, enriching music, pictures and video content from the likes of Universal.
There is a total of £7,000 ($11,000) up for grabs and the chance to connect with and impress major content providers with your work.
Through this contest ALL entrants will get the opportunity to become part of the IC tomorrow testbed environment that connects app developers and content providers such as the like of Sony, Universal and many others and get the chance to showcase their inventiveness and build valuable relationships for the future. The goal is to develop applications that make use of the content in an innovative, experimental or simply put, fun way, and to use IC tomorrow as the testing ground to evaluate its potential.
Don’t pass up this opportunity to get your talent recognized.
If you’d like to take part and learn more about the contest then join the contest briefing event this Thursday 4th November at Skills Matter in Holborn, London, UK from 4pm to 8pm where you will meet the team behind IC tomorrow.
Chris Jackson of Metabroadcast and former Head of Strategy at the BBC will also be there to offer his advice and tell us about his experience being the first member to develop an app for the platform. You can read an interview with him here.
It’s only early days for the platform so this is a cool time to join in with an app that remixes, or repackages creative content and get the attention of big content owners.
The event is free to attend and pizza and beers will be provided.
RSVP today via our Eventbrite page here.
Details of the event
Date: 4th November 2010, 4-8pm
Location: Skills Matter, 116-120 Goswell Road, London, EC1V 7DP