It’s the Data, Stupid
Or, maybe it’s the stupid data
A few months ago, Yahoo! released a weather app for iOS that received near universal acclaim. The app presents weather information in a clear, unadorned fashion, with simple text and light wireframe icons. It is easy to use and easy to read, with intuitive gestures and a solid combination of features. It also leverages Flickr to provide beautiful background images that add a local touch, representing the location currently selected.
At the time of launch, the app looked like almost nothing else on iOS. It turns out that it was a sign of the future - the Yahoo! Weather app is one of the few available today that will look at home in iOS 7 without modification. It was one of eleven apps to win a design award from Apple. It is a triumph of app design and a clear sign of where things are headed in the space.
It is also fatally flawed.
A weather app really only has three jobs: show me what the weather looks like right now, tell me what the weather will probably be like later today and give me some insight into the weather for the next few days. Unfortunately, the Yahoo! Weather app fails at these across the board. It doesn’t have to be that way.
Consider this screenshot from the app, taken last weekend as I visited my brother in New York:
This is the home screen for the app, displaying the current weather for my current location.
Unfortunately, it is missing one crucial piece of data. The weather at this time was far from fair; it was pouring rain.
Nothing on this initial view indicated that this was the case. If I scrolled down, I would see that there was a chance of rain in the evening, but nothing about rain right now. Scroll down even further and things got a bit better: a radar map that showed it raining right over my head.
The app knows where I am and it also has a radar image that could be used to determine the level of precipitation in my exact location. The data is there, it is just waiting for software to connect the dots. Alas, the software falls far short.
There is one other problem with that screenshot. The app says I was in New York, which is technically true. To be more precise, I was in Brooklyn. To be even more precise, I was in Park Slope. New York City is a rather large place, and the weather of the moment is often different depending on where you are. Why doesn’t the app take that into consideration?
The problem is even more pronounced in my home city of San Francisco. Here’s another screenshot from the app, taken right now as I write this.
The app reports partly cloudy skies with a current temperature of 66°, and you can see the range of temperatures predicted for the rest of the week. As I look out the window, there is nary a cloud in the sky, and it is several degrees warmer outside than reported on the screen.
Looking at the forecast for both tonight and the rest of the week, it will likely be warmer across the board than what is predicted here.
So, what happened? The app did not take into account my location. San Francisco is known for its micro-climates, with the general rule being that the closer you get to the ocean, the colder and foggier it will be. This weather forecast attempts to split the difference, but I live in a zone that is warmer than average for the city.
To be fair, most weather services get this wrong - they report one value for San Francisco even though that value is probably incorrect for 90% of the city. The app could be much better - it knows my precise location and could certainly attempt to show me something more correct based on a simple model.
“Design is not just what it looks like and feels like. Design is how it works.” - Steve Jobs
For all of the advanced thought put into the user interface of the Yahoo! Weather app, it appears that little thought was put into the actual data the app displays. Unfortunately, this causes the app to fail at its essential purpose, rendering it akin to a fancy watch that can’t tell time.
As user-interface design improves, it won’t be enough to write a beautiful piece of software. If the data that drives your software is bad, it brings the whole application down. Considering the famous Steve Jobs quote above, it is essential to understand that “how it works” now includes the quality of the data presented. When the quality of the data falls short, it is up to the app writer to find ways to improve it. I’d love to see a version of the Yahoo! Weather app that attempts to do this.