Citymapper has this bizarre flaw (in London at least) where it relies on average times to give you journey times.
So, for example, if your train takes 10 minutes to reach your destination, leaves your local station every 30 minutes and you've just missed one, CityMapper will show an estimated journey time as 25 minutes (avg wait 15 minutes + 10 min journey), instead of the actual 39.
On multi-train journeys like many Londoners have, that error compounds quickly, and it can make choosing the fastest route near-impossible. And I don't know why they do it, because they have all the timetable data (including live timetables).
They also have harder problems to solve when it comes to buses. During the tube strikes, it was incredibly frustrating to have all the route suggestions involve getting the 29 in Camden. Anyone who's attempted to get the 29 from Camden late at night will know what I'm talking about.
Essentially they need to start including knowledge not just about how frequent transport is supposed to be, but the typical number you'll have to miss before you can get on. For the 29 in Camden this number is around 5.
But, as Citymapper becomes more ubiquitous within each city, this becomes a solvable problem. They can use the real-time usage of Citymapper to model congestion, and offer better route suggestions. I'm quite happy to use a journey that's 15 minutes longer if it means I'm warm, rather than standing in the cold for 30 waiting for the 'faster' option.
A huge furnace powering a black box labelled
"Citymapper Development." There's a ramp up to an
opening in the front of the furnace. There are two
grunts with full-body jumpsuits that say "Citymapper
Employee" on them. They are heaving humans into the
furnace.
I'm sure you are a great team, but that was the silly mental image "we need more humans" gave me. ;-)
To be clear for non-Londoners, route 29 has one of the highest crime rates amongst all London bus routes, especially late at night. I'm not sure if it's particularly bad around Camden, although there is probably a higher than average rate of drunken idiots.
Most nightbus experiences start off feeling like fun (yey everyone is in party mood!), become somewhat riddle with a threat of general menace (think A Clockwork Orange) and end up, if you are going far enough, being suicidally depressing because you've sobered up. If you end up falling asleep you will end up in essex, alone and abandoned
Agreed on trains. Train data hasn't been good historically so we only recently have the ability to improve this. Internal debate, but not sure we agree on more frequent options like tubes and buses. We're experimenting with real-time ETA, but its pretty whack, things could jump around, which may be ok for nerds but not normal people. Stay tuned, we're not in any way finished. This is what we work on.
Thank you for your work on CityMapper. However may I respectfully suggest you stop developing for a bit, and go out and actually use it for real, 'in the field'?
Head out the office, pick a spot to get to (say a meeting in another part of town) and see if you can figure out which route is actually quickest. It's seldom the one suggested. Trying to figure out the real trip length for upcoming departures for a number of travel options is a head-wrecker.
I use CityMapper frequently, and I love it. But this 'feature' is infuriating!
> see if you can figure out which route is actually quickest
On this question, there's a balance between possible maximum speed, and reliability. If I want to go to point B, the quickest possible route will often be made by stringing together a serious of improbable connections. For instance, the route could rely on taking three infrequent buses, with little leeway for transfer between one and another, on the assumption that they won't be slowed down by traffic (or just slow customers, stopping more than normal, etc). But if an app sends me along this route, and one of the buses is behind schedule, and I miss the connection, that then becomes a big problem. So there definitely is good sense in prioritizing frequent bus routes to some degree.
But this just means that you should include a margin of error in arrival times when calculating which changes are possible. Doesn't excuse them from using the average time of arrival instead of the actual time of arrival each leg of the journey.
When dealing with (London) tubes and train lines, most of the time it should be possible to indeed work out which route is actually quickest. I agree that buses do complicate things.
I can't even comprehend why you're doing it like that. Do you expect users to write the routes down on a piece of paper?
Even when I know the route, I still (always) check it on my phone the very moment I leave the house, because I expect to get up-to-date information. If I can go to two different bus stops, I don't want to get an average! I just expect you to tell me which bus is coming first — right now.
The only situation when I'm checking a route ahead of time is when I need to know when to leave the house. For this I use Google Maps' "Arrive by" option, so even when I don't take the route immediately, I still expect to see exact times.
You realise that there is some lag in the system, right?
A small lag in data collection and transmission, a small lag in publishing the data via the feed (this is stated as 30s) and TfL cache the data points for 30s. Then you have the ingestion and processing lag that Citymapper introduce before they get it to you and display it on your screen.
You can estimate a lag of greater than 1 minute, pushing 2 minutes if you were unlucky that another CityMapper user nearby potentially requested the same data just before you and you're now seeing TfL's cache.
If you have a bus frequency of 7 minutes we're actually talking a lag of around 28% of the worst case wait time for that bus.
This experience would vary so greatly in different parts of the city (density of CityMapper users), that it would corrode your trust of the info.
Until that lag can be almost eliminated I think they're doing the right thing by choosing values based on average frequency and average wait time. The consistency means that almost everyone is treated to a similar experience, and though it is not highly accurate it is highly consistent. People can, and do, trust a highly consistent experience.
And yes, I live in London and use CityMapper a lot, and I've also played with those TfL feeds and experienced the real world lag in the data for bus/train arrivals, and bike hire data. Those data streams, when you walk out onto the street... they are only an approximation of what you really see outside.
You can cache times as ETA, and even in the worst case when an unexpected change in the schedule needs 2 minutes to propagate, it's still an improvement for all wait times longer than 4 minutes (i.e. all wait times that matter).
I don't see any reason that this lag couldn't be predicted in advance (similarly how NTP is able to synchronize computers' clocks even though there is latency on the network). Or use the last known "most accurate bus arrival time".
As others have said, I would at least like an option for when I do want to take a route immediately. Sometimes I look up routes for later, but usually if I'm using Citymapper it's because I want to go somewhere right now (and am often quite tight for time).
I guess the problem with doing this automatically for queries for journeys starting 'now', is that people will often just look up general journey times with the default options (eg the current time).
Really? Almost everyone I know checks a journey planner app just before setting off. Most of us have a choice of station or stop to set off from, and that's when you need the app most. Also your default search is set to "leaving now".
The thing that's so infuriating is that Tube Deluxe gets this perfectly correct. So I need to keep two apps.
Hey, great job with the app. I use it all the time, but I do have one complaint.
I live, literally, next to the Langdon Park DLR station. Any time I use CM to get directions to the center, it will either send me to the Jubilee line, or to the Central line, which is fine. But, it always sends me to Stratford first, which is in zone 3. Why? I know, it's faster (and cheaper) to either go to Canarry Wharf, and to a 2 minute walk from the DLR station to the tube for the Jubilee line. Or go to Bow Church DLR and walk to Bow Road tube, and then transfer at mile end to central line.
Basically it seems, CM tries to avoid walking as much as possible, even if that means taking a longer&more expensive journey. Can you guys do something about that? If nothing else, an option that let's me specify that I don't mind a bit of walking.
I gave up on Citymapper a while ago. Now I remember why.
Here's how I use Google Maps:
As I am putting on my shoes to go out the door, I look at the event I'm going to in Google Calendar. I click through to the location in Maps, and click directions on the pop-up bubble.
I walk out the door. Five seconds later I'm at the road, and need to know whether to turn left (to the station on the line to Victoria) or right (to the one on the line to London Bridge / Canada Water). I need to know my actual arrival time (barring unexpected problems) for each route, departing NOW.
If I'm doing advance research (when do I need to leave?) I almost always do so using Google Maps on my laptop, not an app on my phone.
If I don't use Google Maps, it's only because I'm using JourneyPlanner.org / PubTran, to deal with those annoying occasions that Google Maps doesn't know about engineering works (e.g., this week: no trains to London Bridge!)
Maybe that's the case but I literally never look at maps except when I'm actually trying to go somewhere. Google maps have the arrive / leave by input that helps with your situation though.
I've also experienced issues where the data provided by Citymapper for a desired journey in London is just plain inefficient when compared with common sense. Often the app will suggest a route which takes an extremely long way round (such as suggesting only one journey at something ridiculous like 85 minutes), seemingly optimising for some unintuitive variable (possibly number of changes or as-the-crow-flies distance? I'm not sure) which makes it unfortunately unusable for me. I was excited to try it out since I find the app well-made and seemingly a more focused version of Google Maps.
However, Google Maps, given the same destination, provides several routes (and allows for explicit choice by the user for their own weighting) where 99% of the time the quickest route is the one that I had thought of beforehand. And this is when selecting Train + Underground in order to compare directly to the equivalent set of results in CM. A shame.
If you represent every edge on the transport graph with a single fixed traversal cost, you can calculate the lowest cost route between two nodes with well known algorithms like (simple) Dijkstra's algorithm or (high performance) Contraction Hierarchies.
When the cost of a route varies with time of day, and the best route changes with time of day, things get quite a bit more complicated.
Not as complicated as you might think. You essentially add time as an extra dimension to your graph, true, but because you're dealing with discrete vehicles instead of a continuously varying function, you can take shortcuts that make that portion of it pretty simple. It's the walk to and from the transit stops, in my experience, that's a PITA to deal with when you're trying to do transit routing.
If you're doing simple Dijkstra and you only want to return a result for a single departure time, you're right that it's not too complicated as you still only have one cost per edge.
If you want to do computations in advance, as you need to for fast algorithms like Contraction Hierarchies, you have a cost-vs-time profile for each edge. Things can get complicated quickly.
I've had really mixed experiences with the time estimates in London. Sometimes it will specifically say that a train/bus will arrive at 17:00, 17:10, 17:20 etc, but sometimes it will just say "every 10 minutes". I haven't worked out the reason for it, I've seen both versions on exactly the same services before.
That's pretty much my only complaint about an otherwise perfect app though, but you're right that those little errors can add up to be quite inconvenient over a long or rushed journey.
Gfycat is just a service that provides h.264 video versions of gifs. Yes, h.264 videos are embeddable. So is WebM, but native support for it is worse than h.264.
That said, embedded videos will limit your browser compatibility unless there is a fallback. On the other hand, older browsers are also likely to have problems with 150MB webpages heavy on javascript.
When I loaded it the page was 60mb and took over 1 minute to fully load.
But I didn't know that.
I started trying to read the article. All I saw were static images that didn't show the author's point at all, until some of them finished loading and started to flash and cause re-layouts.
Now the page is incredibly hard to read because all the images are on auto repeat.
This is a UI disaster, especially for a post about good UI. h264 works and would have shrunken the page dramatically. It gives me controls that let me play, stop, or rewind video. It can play partially loaded videos (which is hit and miss with GIFs depending on browsers).
At the very minimum you could use JS to stop the GIFs from playing when the user isn't mousing over (something I've noticed at Polygon). It keeps them from being insanely distracting.
It's a small text article with animated screenshots. It doesn't load well, it doesn't scroll well, it isn't easy to read. The only reason I stuck on the page was to see just how much time it took to fully load. If it wasn't for the fact I had decided to come here and point out how unusable it is I would have bounced off the page and never come back.
Here's the thing: animated GIF are not the solution. To almost anything. They're designed for small animations, not long high resolution screen captures or real video. If it's over ~150kb or so you should probably start rethinking your format choice. If it's 3 MB, you made a mistake. If it's in double digits like some of the versions before they were updated you've made a HUGE mistake.
Some people only get 200mb a month of data on their cell plans. This one page would use up 75% of that. For animated screenshots.
Some of us consider that a feature. If you go inline then either your video is distracting and hard to scroll past or tiny and hard to see. Neither of those is a good experience.
On top of that, A 150mb page kept locking up Firefox. I have multiple tabs open, so maybe that didn't help but I had to back out of the page for fear that it'll crash.
I hope we get multi-process Firefox soon. Or that Mozilla ships a lightweight browser using their new "Servo" web render engine (Rust based).
It's so annoying that a single tab can crash the whole browser, and it's also a security risk on Windows. The common "sandbox" model there is to spawn child processes with very limited user rights (like IE 8+, Chrome, Safari+Webkit2).
And I hope we won't have it (although I know they are working on it and it's on the roadmap, so I have no illusion).
Given the number of tabs I have constantly open, I know that Chrome cannot handle it (I guess IE is the same here) and a multiprocess firefox won't either.
To be honest, I did not experience it first hand myself, because I've read this behaviour from many other people.
What I know is that I have more than 300 tabs in Firefox currently, both on my home machine and my work machine, and I don't have any problems with it.
Edit: And I would add that my task manager is also not polluted with hundreds of chrome processes.
There are extensions or settings in most browsers that will lazy-load tabs for you. No transfer or rendering occurs until you open the tab.
That aside, what could possibly require opening 300 tabs? That must be an absolute productivity killer... Why not use a bookmark manager or "read later" service or something?
I don't know what would need 300, but if I'm in the middle of working on a project, I might [open link in new tab] dozens of tutorials, docs and other resources as I gradually become more familiar with the domain and the gaps in my knowledge.
Sure, they should get pruned to bookmarks, but you can't argue if a person's method of staying in the "zone" works for them, I suppose.
Lets do the math. 150MB/visit @ 0.12/GB using Amazon CloudFront[1] costs $0.018/visit. This post was pretty popular here and I'm sure on other sites. It's probably safe to assume they got over 50,000 hits. For that much traffic it'll cost them roughly $900 in bandwidth.
However, I bet all the lost traffic due to people leaving the page was probably worse than having to pay $900.
CityMapper is for multi-transportation within a few metropolis.
The UX of Google maps for routing when driving is incredible and beats everyone: Apple, TomTom, Garmin... everyone. Down to showing labels on side streets "3 minutes slower" allowing you to evaluate every decision you could make when faced with traffic.
But... for public transport, or mixed transport solutions like crossing a city when so many external factors are at play... CityMapper wins.
It's not an either/or, and it's not that Google Maps don't understand UX. Google Maps just has a different focus... the car.
Came here to say this. Saying someone doesn't understand UX, when in fact they just have a different user context, suggests the one pointing fingers doesn't understand UX.
Now if only I could easily set up waypoints on my navigation, so that I can plan a trip. (Leave in the AM, stop at X in 150 miles, stop at Y or Z in 2 hours, stop at Q for lunch, arrive at destination)
Oh yes it please. I ride a motorbike and I usually don't want to go on any of the suggested routes. I have to pick a waypoint, go to that, stop, take my gloves off, get the phone out of my jacket, pick another waypoint, put my phone away, put my gloves on, repeat.
The other annoying thing is it uses street names as in "turn right on to Main Street" but often the streets don't have name boards and there could be two close together.
Probably depends where you live. Google isn't as popular as in the US everywhere so in countries where they lack this user provided traffic data the differences aren't as big.
> Very rudimentary lane/intercharge information, no waypoints, no POIs along the route.
The quality of the lane/interchange information is kind of subjective, so I will give you that, but Google Maps fully support waypoints, and POIs are available from roughly a billion overlays available. On mobile, I'd argue the Google Now based POI feedback from Field Guide presents a much nicer UX than anything Garmin offers.
Lets stay focused on Navigation within Google Maps, not some other Google products. When I am driving on freeway at 70 mph I am not interested on billions POIs. I want restaurants within 5 miles _along_my_route_. On the navigation screen like [1] what should I click to get this information?
Can I add a waypoint by clicking anywhere on the map? My car had these features 9 years ago.
Also look at the "lanes support" on the same screenshot. Compare it to [2]
POI on google maps is terrible. However the fullscreen lane guidance takes away a usable map for a generic artist's rendering. Guidance can get in your way or just be wrong if you're driving through an area with multiple interchanges or the highway numbers/names don't match the numbers/names that the signs happen to be using or your GPS sensor is being glitchy, or there is construction.
> Lets stay focused on Navigation within Google Maps, not some other Google products.
That's kind of an arbitrary division, right? Doing POI through Google Now actually makes for a much better user experience than anything I've ever seen with a GPS. It's pretty great really.
> Can I add a waypoint by clicking anywhere on the map?
Yes.
Oh wait, you meant on _Mobile_ Google Maps! But that is a different product. Let's stay focused on Navigation within Google Maps. ;-)
Honestly, the biggest fault of Google Maps is that I can't find something "along the way" to something, just nearby. I'd be much happier if I could specify "TGIF's on the way to Alice's house" or "Gas stations along the way to Las Vegas near the halfway point."
I can't get too mad at it, since I can just zoom out and it'll search from the center of the map - but it's not very effective if the distances are long or if I'm using the text interface.
TomTom will actually do this. You can specify that you want to go to a gas station along your route and it will list all of them and the detour distance required. Unfortunately TomTom makes you pay for live traffic data.
You can add extra location to directions by clicking the + to the bottom left of the existing ones (in browser at least). Although I'm not sure if that works with generic locations (like gas stations etc)
It's fantastic that they understand user experience, but they don't seem to understand that 95%+ of the world doesn't live in 8 specific cities. Google Maps might be an obnoxious app (it is!) but at least I can use it.
Unfortunately most city transport is covered by a different transit authority in every city, which will each offer vastly different levels of data access (or none at all). In London we have TfL which have only recently opened up a public API which covers all the transport options in the city, but it's very complex, and implementing that API alone into an app would be quite a task.
If you start looking at all of the UK, there are different APIs for trains and buses, and then various local services which have no API at all, so you'd have to manually input timetables.
Google probably have transit authorities begging them to include data on their transport into Maps, but for an independent app it's not that easy, and takes a lot of work.
> If you start looking at all of the UK, there are different APIs for trains and buses, and then various local services which have no API at all, so you'd have to manually input timetables.
I was wondering... could it be possible to not rely on any API, and deduct bus routes and timetables from crowdsourcing the locations of travelers? You'd need to sample the location quite often, but I think it should be possible to detect when someone is walking, and when someone is riding a bus. If a lot of people come from different locations, wait in the same spot, and they all start moving simultaneously much faster than walking, they are probably in a bus. It could also map out all the stops, although it might take some time for stops where people rarely get on or off. Should work for above-ground transportation, but perhaps metros block the GPS signal.
Scaling a useful real-time transit app across cities isn't simple. Google Maps, after 10 years, now has GTFS for pretty much anywhere, but real-time data hasn't converged to a standard yet. Not to mention many systems that do publish GTFS don't have or don't publish real-time.
And I totally understand all of that. But if your mapping data comes from Google Maps (which it seems to), and your normal map interaction design is superior (which it seems to be), then why not let everyone use the map features, and roll out things like real-time transit data to cities as you can?
"Our map works best in these cities and the experience isn't the same outside of them" is answered by "1 star, sucks, needs bus data in Ohio".
Mobile apps nowadays need a lot of good will to drive usage, so if any part of the experience is even slightly substandard your users will rake you over the coals.
So, completely reject any user for whom the experience isn't great - it's the rational move. Sadly, supporting your edge cases is harmful to your own health.
You could probably spin something about cheapening the brand with insufficiently awesome experience. Of course the actual reason is probably that they don't want the hosting or support overhead.
Cynically, if the app supported SF no one on HN would care about the rest of the world ;)
The reality is that 95% of the world can use the same generic car/road mapping tool, and Google Maps has that sewn up. A smart company would aim for the 5% of the world that Google Maps doesn't do a great job at.
Elaborate about which part—Google Maps app being obnoxious? The linked article makes a strong case for that—common actions are a number of slow steps, the information that people are actually looking for is missing or difficult to discern, etc. Or that I can use it? That's because I don't live in one of the 8 cities that Citymapper supports, whereas Google Maps works on, I dunno what % of the world, but I'm guessing it's pretty high.
Except it's really not designed for that. It's designed for people who know where they're going and how they're going to get there. I don't know, I get in my car, punch in an address, and GMaps does a pretty darn good job of finding a route. That's what 95% of us want.
The app supports 400 cities and adding a new one every other day. Our focus has been 1) crowd sourcing transit data 2) making real time arrivals available to users wherever a feed exists.
The startup that is working on the app you want, covering every city with any public transportation, is going to release sometime in 2036. Coming soon!
Living in a city with crappy public transportation, I really don't care about that—I'd just prefer a mapping application with a better user experience.
OpenStreetMaps has begun to add routing information, and it's becoming very good lately. It would be nice to see Citymapper work with them, as both sides could benefit - OpenStreetMap quality in citymapper's supported cities would improve (though OSM is already quite good in those cities), and citymapper could gain support for more cities. This is the route MapQuest has gone with MapQuest Open.
Still, I'm glad to see Google Maps competitors alive and kicking. Google Maps is one of the main lock-in apps that keeps people inside the closed Google Play Services ecosystem.
CityMapper does use OSM data, for walking and cycling in particular. (Cycling directions come via the OSM-based CycleStreets, I believe.)
This really validates OSM's approach. Every single time there's a thread about OSM on HN or Reddit or whatever, someone pops up and says "Google rocks, OSM sucks, because your maps are dog-ugly and there's no routing/clickable Starbucks/whatever".
Explaining to them that "no, OSM is just a dataset, osm.org is merely a minimal browser for map contributors" is hard. But having apps like CityMapper, which are actually _better_ than Google, really makes the point.
Personally I'd choose a certain other OSM-based router over CityMapper/Cyclestreets for bike routing, but I may, ahem, be biased.
"Google Maps is one of the main lock-in apps that keeps people inside the closed Google Play Services ecosystem."
I can't speak for others. But as someone that tried the Apple "ecosystem" after being on google, I have a big appreciation for it. A lot of websites/apps these days use google for single sign-on, pretty much meaning that I don't have to type my damn login every time I install a new app, etc.
But, on the Ipad, I had to type my password in so many times. And my password is 25+ characters long, with mixed upper and lower case. Easy on a keyboard, but on a touch-screen keyboard it is a PAIN.
I think a lot of people on this website always try to avoid such logins. Google already has enough of my data and I don't want to lock myself into a system if I don't have to.
And do you really need a 25+ char password for every blog you comment on?
OSM has had routing information for years. There are loads of train lines and train stations. Bus routes have been there for a while, but they are a little harder to map. You can't do them from aerial imagery, or by walking around. Timetables are much harder, and aren't in OSM (I think)
Great, but the fact that Citymapper is only available in eight cities makes it completely useless to those outside of those cities. From this post, however, it does seem like a very well put together experience.
When I use Google Maps all I really want is for it to take me from point A to point B in my car.
I type the name of a place and It loads directions, time, traffic, and guides me there using the best route possible. One click. Quite literally the best UX I could imagine.
For most of Google Maps users (the ones who don't live in those 8 cities), Google Maps is almost perfect. It's not that Google Maps doesn't have a good UX, it just wasn't built for you.
I love Citimapper! I live in NYC and it's the only app I use for navigation now. Highlights for me:
1. Get me Home/Get Me To Work quick links. It takes your current location as starting point and tells you your options for going home/work.
2. You can configure it to monitor your subway line during commute time (7AM to 10AM and 4pm to 6pm) and it will notify you if the subway is delayed for any reason. I use line 6 which breaks down more often than I want and thanks to the App, I can take N/Q/R if Line 6 is down.
3. The way 'Get Me Somewhere' works. In addition to being able to type an address, you can move the map around to point the destination pin to a particular point in map. It's hard for me to explain but it works amazingly well especially in NYC where people often go by cross streets and don't have the actual street address.
I completely agree with author that Citiymapper has an exceptional UI/UX.
Your #3 is funny, since that's precisely the one thing that stops me from being able to use Citymapper on a daily basis. The way I use Google Maps in NYC is by typing in, say, "23rd and 3rd", and Google figures out what I mean. Because Citymapper is dependent on Foursquare for reverse geocoding, I can't really do that; it either has to be enter an exact address or moving the map around.
Really funny—I was considering using that as one of the other scenarios in the post. Citymapper actually does it as well, but is more reliable on named streets (e.g. "Mercer and Broome"). What Google Maps does well is realizing that 13th and 2nd can't mean 13th avenue (since that doesn't exist) so it will show directions to 13th street and 2nd avenue.
Is their MTA data more reliable than Google's? Terribly often, and especially on week-ends, Google Maps will tell me a subway is coming even when the line is closed, rerouted, etc. I understand taking all temporary changes into account is a hard problem, yet I can't help finding it ironic that in the city which hosts their second largest engineering center, Google can't get that right.
Can't speak for MTA but in London the Citymapper service updates are pretty great. It tells you what's closed, notes disruptions when showing trip suggestions, and you can preview upcoming weekend's disruptions. About the only problem is it shows the disruption icon on trips that use the non-disrupted part of a line.
Nobody knows what Google Now is. It's hidden away in the Google Search app in iOS (who uses the Google Search app? Nobody I know. You search in a browser.), accessible only if you happen to know to swipe up from the bottom of the screen. Because that's a really obvious place for a mapping app to be.
I agree that the UX of Google Maps isn't great, but one thing that might not be quite fair in the critique is the point about having to enter the origin destination. On mobile, I'd venture to guess that most of the time you simply want to get somewhere from where you are right now. So I personally don't see the origin destination as something that I need quickly accessible. I enter address, click when it auto-populates, and click to navigate. It's usually 2-3 steps for me on Android and I'm ready to go in 5 or so seconds.
It's nice to see a thoughtful critique/comparison (dev on iOS gmaps here). Interestingly I don't think anyone who works on iOS maps lives in a citymapper-enabled city.
Couple of points that might be helpful if the writer reads this:
- you can switch off the shake-to-send feedback (it even prompts you to do so if you dismiss it a few times without leaving feedback).
- I'm not sure how the Citymapper UI in scenario 2 (getting directions from a->b) differs from using the directions search screen in googlemaps (reached via the little button with arrows next to the profile button). It presents the directions search screen immediately and would cut down the time in that scenario drastically. (But I guess if the person writing the article doesn't know about that button that's rather a UI smell. I wonder how many people don't know that our things that don't look like buttons are buttons?)
- Scenario 5 is also fixed by using the directions non-button, your previous searches show up in the zero type suggestions there.
I am however going to try and convince the powers that be that Citibike integration is a must, so I can have a holiday to new york.
I don't think adding the integration would be hard. For example, the Montreal bike system (and other Bixi deployments) has all the information you'd need to add the integration, including the lat/lon of all stations and their current bike count[1]. Citibike has a different endpoint[2] and data format, due to the contractual dispute between Bixi and 8D, so they had a different system deployed than other Bixi rollouts.
A simple implementation would simply walk between the endpoints of the route and the closest bike stations. A better integration would also consider more complicated multimodal routes (walk, bike, metro, bike, walk) and historical usage patterns to predict empty/full stations.
If it helps convince the PTB that public bike system integration is a must, I use it as my sole means of transportation during the summer months, relying exclusively on bike navigation (it's great!), then awkwardly fumbling with another app to find a bike station near my destination.
I'm glad there's (eventually) an obvious way to disable shake-to-send-feedback, but I agree wholeheartedly with the article. Who thought that was a useful feature to have in an app that you use while moving?
That's not really a comparable experience in a city where you have multiple modes of transport, many different options for a single journey, and so on.
But I'd wager that the vast majority of Americans don't live in cities like that. It sounds like Citymapper is nailing its niche, so for people that fit that profile it's a much better experience.
But I live in Austin, TX. No one is taking a bus or train or bike anywhere. Especially not in a hurry. Virtually everyone drives everywhere; with Google maps on Android I can often do that in a single voice command and zero clicks.
Citymappers founder, Azmat Yusuf, gave a talk at the Hacker News London meetup earlier this year and it was categorically one of our most popular talks in a long time. Unfortunately Azmat (very politely) requested that we not record his talk for our vimeo page (vimeo.com/hnlondon) which is a shame because it was incredibly insightful.
If you get the opportunity to attend a talk by Azmat or any of the team, take it. They are an exceptionally clever and humble bunch and I'm thoroughly enjoying being a witness to their growth and success.
I use Citymapper to use Citibike, and it has the following big flaws:
- Reloading the app, it never remembers I was on the biking screen, and always goes to the main screen. Minor detail, but annoying, and so easy for them to fix!
- Every time I move the map even slightly, it removes all bike stations from the map and queries the API again for a new set of stations, even if the last request was only five seconds ago. If there's any wireless interference, it complete destroys the functionality. I mean, cache the station locations at the very least! And don't hide the old data while waiting for the new data, if it's less than a couple minutes old.
- The screen real estate devoted to the map is only ~50%! The bottom third is taken up by a totally unnecessary textual list of stations, which can't be hidden
- And you can't even rotate the map!
Granted, it's a million times better than the default Citibike app. But it's still got a ways to go to achieve "ideal" UX.
Citymapper is okay, it sometimes screws up with its notifications feature though. I live in London and have it set to notify me if my "favourited" tube lines are suffering problems.
A signal failure happened earlier this week on my line and I received no notification of it, only finding out when I got to the station.
It's probably an issues to do with Androids background notification system or something, but I dunno
I'm not sure they'd be such a useful aquisition to the big players, as their strong point is the usability of their app itself, rather than the underlying technology so much. Citymapper already use Google Maps for walking directions and actual mapping, and Google Maps already have the same transit data that Citymapper gets from public APIs.
Citymapper takes a very different approach to UX to Google Maps so I can't see them going together well. Perhaps it could be used to improve Apple Maps, but again I think it would clash with Apple's usual way of designing apps in house.
. . . and is interesting as it's almost completely orthogonal to this.
Google's existing offerings fail most spectacularly for knowledgeable people in urban environments (I cannot overstate how much GM's handling of subways drives me insane), which is the niche this lot have successfully found. Apple seem to have a lot of customers in that bracket so they are the better fit.
Feature Request / Suggestion - So I tried the "Share Destination / Meet me sonewhete" feature the other day and thought this was going to do something completely different.
How it worked: sent a link to the end location to a friend.
Expected / Hoped for usage: Citymapper would separate who clicked the link (allow you to add a name perhaps), then show where everyone else was on the map, and their ETA.
So I can say, let's meet at this place, send the link, and know everyone's ETA. A bit like latitude, but smarter. Once there, or on my way, I can track progress.
Sure, people might shout about privacy, but it would be insanely useful and save constantly being punished for being on time!
Any Citymapper devs out there fancy championing this one?
Citymapper's UX is really awesome, and I always use it as my example of the degree to which attention to detail is so absolutely vital in this sort of app. Like, first-class, best-app-I've-ever-used level of UX.
I'm still not totally sold on their routing algorithm in London, but I'm not sure exactly what's wrong with it - all I know is it often suggests routes that no same person would take. It definitely seemed to get a little worse maybe 6 months or so ago; it's possible it's just been tuned in a way that doesn't get on with my usage pattern.
I find that it's become a bit worse as I've become more familiar with London. For someone who doesn't know the city at all it's perfect, but once you know the tube map and various local details, some of the options do seem a little odd.
One of the devs posted in this thread that they favour routes with more frequent services, as people often don't want to travel immediately. I'm not entirely sure I agree with this thinking in a mobile app, but it could explain some of the less optimal routes.
Yeah, it doesn't really get all the tiny things that you have to know the system to know. For example, on trips where multiple lines travel on the same tracks, the average wait calculation looks to use only one line's frequency (Liv St to Edgware Rd, "5 min avg"). Time to change between lines at interchange stations also feels unrealistic (1 minute Northern-Bank to Victoria at Euston and 2 minutes Victoria to Piccadilly at Green Park?).
This looks great. It needs more coverage and I don't think the silly options are a good selling feature for a real map app. It's just more visual clutter.
One of the reasons Im guessing it doesnt have this is because the Google Maps API prohibits building turn-by-turn applications quite directly. If only they trusted OSM, they could have this up and running pretty quickly.
I don't understand why they can't use Google Maps or OpenStreetMaps or some other API to grab city data for other cities. It only covers NYC, London, Barcelona and a few other cities. Nearly useless for anyone else in the world!
If I hit "snap to location", Google decides it needs to auto-zoom to a default zoom-level. It's annoying to have to re-zoom to whatever zoom level I'm actually interested in.
Meh! I find these features just incremental improvements. Most apps these days quickly catchup on UI/UX features. Even OSes are mostly the same these days.
The ability to just drop a widget on the home screen that instantly brings up directions home or to work (or any other destination you want) in the preferred mode of transportation would blow this guy's mind. 10 seconds? How about 1 second. That's been around since 2009.
Now, Google Now automatically shows directions to these places together with expected travel time on preferred mode of transport without any configuration at all. 10 seconds? How about 0 seconds?
So, for example, if your train takes 10 minutes to reach your destination, leaves your local station every 30 minutes and you've just missed one, CityMapper will show an estimated journey time as 25 minutes (avg wait 15 minutes + 10 min journey), instead of the actual 39.
On multi-train journeys like many Londoners have, that error compounds quickly, and it can make choosing the fastest route near-impossible. And I don't know why they do it, because they have all the timetable data (including live timetables).