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
Our app gallery is growing fast, and with every new addition it’s clear that combining CloudMade’s tools and services with great ideas and skills from developers results in some extremely powerful, compelling products. Take a look at some of the latest updates to our gallery below:
Galileo Offline Maps is a mobile app that can be used on a daily basis or while traveling. This app allows users to import maps from a computer to an iPhone or iPad and then view them in offline mode. Being able to choose from five attractive CloudMade map styles makes the use of the app a real pleasure. CloudMade tools used to create this app include Geocoding, Routing and Style Editor.
“CloudMade provides plenty of stylish and good-looking map styles which please even the most fastidious users.” – Evgen Bodunov, galileo-app.com
Travelers who own Macs should be really excited about Knapsack 2 app. This new version of Outer Level‘s personal travel planner, built with our Geocoding and Web Maps Studio, adds interactive maps with street level detail and world-wide search. Knapsack allows you to lay out your travel plans, destinations, activities, and can be even used as a trip journal.
“Our customers wanted a searchable world map with street level detail and CloudMade was the perfect solution.” – Jon Trainer, Knapsack
iGMap proves that products created with CloudMade tools are not only really cool, but can also meet the most diverse needs. iGMap iPhone app is a virtual GPS designed for use with the desktop flight simulators. It provides a wireless hand-held moving map display to aid navigation, especially useful on VFR flights, while saving valuable screen real-estate on the desktop, and uses iOS devices to display the current position of the aircraft. The app was built with CloudMade’s StyleEditor and Web Maps API.
“CloudMade services allow a small company to deliver cutting edge mapping solutions while targeting a niche market – without the prohibitive cost.” – Fermin Fernandez, FSWidgets
Thanks to developers of Map My Tracks, outdoor sports and fitness enthusiasts have their own social network now. With this website they can easily track, review & share outdoor activities with friends & family. Map My Tracks provides a comprehensive range of tools to help better understand how your training session went and keep a central log of all your outdoor activities.
“The flexibility of CloudMade’s API mean that we can always deliver the maps we want.” – Nick Tatt, Map My Tracks
If you like Map My Tracks and plan to use it, you should really consider complementing it with this OutFront app. Not only will this app allow you to measure speed, pace, calories burned, duration, elevation gain/loss and much more for each activity you do, but it will also give you an an easy way to share information about your outdoor activities live on Map My Tracks, Facebook or Twitter. CloudMade Map Tiles, Static Maps and iPhone SDK were used to create this app.
“Using CloudMade’s iPhone SDK made it super easy to add maps to our iPhone app. That, and reliability make CloudMade our first choice map provider.” - Nick Tatt, Map My Tracks
Cycling fans will enjoy using Bike Hub, also called a ‘satnav for cyclists’. It displays clever short-cuts and bicycle-friendly routes on OpenCycleMap, cutting journey times for many users. The feature I really like is ‘bike shop finder – a simple button that can call up UK bike shops within a six mile radius of an iPhone. Map Tiles and iPhone SDK are CloudMade tools used in this app.
“Cloudmade API provides the slippy maps within the app and helps to fast-track the development of all the map interactions that users have.” – Carlton Reid, BikeHub.co.uk
Want to see more CloudMade-powered apps? Check out our Application Gallery.
Inspired by these cool examples and feel that you could create something great yourself? Sign up to our developer zone and try out our free tools and services.
This fall is packed with industry events and CloudMade is making sure not to miss the most exciting ones. Here are some events we will be speaking and exhibiting at, sponsoring or just attending.
MobileAppsWorld – October 19-20, London
This two-day conference led by speakers from all parts of the mobile ecosystem will probe the latest thinking in app creation and promotion to achieve real business benefits from apps. Nick Black will be sharing his valuable insight into the future of mobile apps in a panel discussion on Day 2 – don’t miss it!
October Geomob Event – October 21, London
If you are a London-based geo or mobile developer and prefer more informal gatherings, you should definitely participate in the October Geomob in London next week. The event promises to be both informative and fun and we’ll be sponsoring it, so come talk to us.
Ad Tech New York – November 3, New York
Brands, agencies, publishers and service providers will come together at Ad Tech New York to network, learn and do business in the area of digital marketing. We will also be there to hear great speeches and check out Innovation Alley, Mobile Marketing Zone and App Exchange exhibition zones. Send us an email if you want to meet up an learn more about our Location Based Advertising for developers, advertisers and ad agencies.
MeeGo Conference – Nov 15-17, Dublin
Another interesting event we will be attending, the MeeGo Conference, targets a technical audience of MeeGo developers, operating system vendors, original equipment manufacturers and other MeeGo project contributors. The first two days of the event will have scheduled sessions, and the third will be unconference day, with great lightning talks and wonderful networking opportunities.
ME Awards 2010 – November 18, London
ME Awards evening rewards companies doing outstanding things in the mobile content space. The organizers have introduced a new nomination category for the Best Location Company this year and announced CloudMade as one of the finalists. This promises to be an exciting evening and we’ll be in great company amongst other innovative location companies such as Foursquare, Layar, Rummble, Skyhook, and Booyah.
Apps World – November 30-Dec 1, London
For those willing to become educated and inspired by the latest developments within the multi-platform apps industry, Apps World is the right event for you. There will be workshop sessions available within three different zones – focused on Marketing, Developers and TV, Handset and Operators. One of the sessions will be led by our co-founder Nick Black and will cover the different aspects location-based applications development. Also, CloudMade will have an exhibition stand, so you are welcome to stop by and take a closer look at our products offerings.
You can also pre-arrange a meeting with us at Apps World by visiting http://www.apps-world.net/exhibitions/exhibitors/290-cloudmade and submitting your details – look forward to seeing you at the event!
Last week, our Chairman and CEO, Juha Christensen took to the stage at Mobilize 2010, in San Francisco. He was there to kick-off a discussion from mobile industry leaders on what the the future trends are for Cloud Computing and the mobile industry.
Juha presented specifically on what the location landscape looks like in 2013, how location will make it into every type of app available and why companies and developers in the mobile value chain are acting now to be a part of this money train. He emphasized how over 300,000 people are crowdsourcing an incredibly detailed, rich map of the world and how this is an invaluable resource for creating the most contextually relevant content and location services possible. Here’s his presentation:
We’ve recently posted a whole host of awesome new mobile and web apps in the CloudMade App Gallery, if you haven’t seen them yet, then here they are. All these apps have been created with our innovative CloudMade tools and APIs. Check them out below and then why not take our tools and APIs for test drive yourself here.
Fans of various outdoor activities will find Scout, a very useful navigation app for the iPhone. With Scout you can make use of topographic maps for hiking adventures or check out your training data with the integrated speedometer, or use it for cycling and other activities to record your route for subsequent analysis. CloudMade services used to create the app include: Geocoding, Map Tiles, Static Maps, and Style Editor to ensure the best quality user experience.
“CloudMade is the best supplier of data for OpenStreetMap. We like their tools and services a lot. They comply with our high standards.” – Joerg Nestele, MagicMaps
Finding a place a place to live is not an easy decision. If this is you and you live in London in the UK, then another CloudMade-powered app, Where Can I Live is just what you need. This web service is for people looking for an affordable home with an acceptable commuting distance to work. You can specify criteria such as maximum travel time, number of bedrooms and maximum price and you’ll get suggestions for properties that suit your needs displayed on a beautifully styled and convenient to use map, created with the help of CloudMade’s Style Editor.
“The Style Editor allowed us to match the map color scheme to our brand, disable unimportant map features, while highlighting others.” – M. Metten, Lokku Ltd
Small businesses, entrepreneurs and marketers who cannot afford the money and time associated with traditional market research, should really get acquainted with Ask Your Target Market (AYTM)– an online, self-service market research web application with a built-in U.S. consumer panel. AYTM uses CloudMade Web Maps API and Style Editor to integrate maps into its service.
“We are thrilled with the elegance of the CloudMade maps platform. It allowed us to customize the maps to blend right in with the overall experience of our app.” - Lev Mazin, AskYourTargetMarket.com
“CloudMade is the natural choice for integrating OpenStreetMap, thanks to flexible styling, realtime provisioning and friendly licensing.” – Michael Bostock, Stanford University
Living in the UK and looking for a good school to send your child to? Look no further than Schoolscope, an honest, independent, straightforward guide to how your local schools are getting on. The web site takes official Government-backed information about state schools in England and try to tease out something interesting from the dry tables of statistics – how well kids perform at school, how happy they are there. Schoolscope takes all that information and presents it in clear English, and understandable smiling faces. Its maps our powered by CloudMade’s Style Editor and Web Maps API.
“Maps are a key part of Schooloscope’s identity. CloudMade Custom Map Styles gave us the flexibility and integration options we needed.” - Tom Armitage, BERG
These are just a few examples of how CloudMade is helping developers around the world create really outstanding products. We’ll be bringing your more next month so stay tuned. In the meantime, check out our App Gallery for more cool apps powered by CloudMade.
All our services and tools are free so why not get coding and see what cool apps you can come up with. Simply sign up for a developer account here, and start building the next best-selling location app today.
With just 60 lines of code you can now tap into the largest social network on the planet and add an exciting social media element to your web app. You could implement this code in a number of different ways: for example, in a bar or restaurant finder web site to immediately see which of your friends have been where and when. Other possible examples might include, web sites where you want to include a travel diary element to promote interesting places to visit.
The CloudMade Developer Team
September 3rd, 2010 - Posted by Nick Black in products