Up until recently we’ve had a todo list much longer than any human arms I’ve ever seen. Every week would see us complete one item only to add two more. Todo lists you see, often follow a very accelerated version of Moore’s Law. But we’ve got a secret weapon now: the time to do things (having gone out on our own almost a month ago) and the motivation to (in a very small way) set the world on fire.
So today we’d like to show off something that’s been on our todo list since we first released Pocket Weather AU HD for the iPad. Version 1.2 to be precise.
Yes indeedy, you can get your tides, state warnings, detailed forecasts, icons in landscape view and so much more in this new version.
At this point we’re providing an intermission for those who don’t care how this stuff is built. Don’t feel bad, the lights are on, we’ll clean up all the popcorn you’ve managed to spill everywhere. Last chance!
Now let’s talk about just why this release took so long. We promised that when we went into this full time we’d no longer accept compromise, and we meant it. This version was ‘ready to go to Apple’ 3 weeks ago. In the past it would have been myself, at 1am on my couch looking at things and going ‘close enough’ and pressing the submit to iTunes button. When you’re tired anything that’s working starts to look good. Since then we’ve rewritten the warnings feature twice, the tides three times and played with two different ways of showing you detailed forecasts.
After each re-write I’d hand the iPad over to Phil and ask him for feedback. Phil was brutal about everything he didn’t like, which initially made me very defensive, but I’d go and do it because I knew he was right. It was jarring, I wasn’t used to reworking features that worked, and were bug free, with the sole justification being ‘we can do better’. It was also hard to break out of the “we don’t have time for that” mould from our former lives as out of hours developers. After each iteration though we both knew we’d created a better product. Things you’ll never see like that the initial tides screen having left and right buttons (instead of swipe). Then there was the original detailed forecast design that had the day panels sliding left and right to show more or less content. Don’t even get us started the original warnings screen which had resizable panels of all things. In some cases we re-wrote it because we knew we’d taken shortcuts, other times (like with the slidey detailed forecast panels) we realised we’d gone too far the other way and made something a lot fancier and less intuitive than it could have been. In the end we finally had a version that Phil & I approved of, and one which was much better for the process we’d gone through.
There’s three obvious lessons from all of the above:
- Getting things right often means getting things wrong, but being willing to change them.
- When people look at a final product and estimate the effort required, they’ve left out the biggest component, all the rework and tweaking that led to that final version (common example from stack overflow).
- Pocket Weather AU HD is awesome…have you bought it yet?!
Some people have commented that we’ve been quiet for a while now, and want to know what we’ve been up to. Well today we’d like to start filling you in. First cab off the rank is a brand new product:
Our latest submission to the app store is a thing of pure beauty. For a while now we’ve wanted something we could have running on our desks at work, that would show us weather information, as well as the time. We call it Time BOM and it’s going off! I think it speaks for itself:
It updates with the latest weather automatically, and also transitions between showing you the 6 day forecast and current conditions. It comes in two very unique and classy skins.
Another thing that we’re really proud is that there are no in app settings for anything you’d want to do day to day. Want to turn the seconds off? Simply tap on them to make them go away. Want to change between the current conditions and the forecast? Simply tap that area of the screen. Want to control the brightness? Simply tap and hold any area of the screen to get a brightness control. Want to change skins? Simply swipe left or right.
Of course for the obsessive, there are still settings inside the iPhones ‘Settings’ application, but they are for things you’ll only set once (like how often you want the application to update it’s weather).
One last thing to note: this application is not another skin for Pocket Weather AU. It’s an entirely new product that’s more of a desktop appliance than a weather application. We don’t intend to cram every single feature of Pocket Weather into this application, but rather to keep it light, elegant and useful. We intend to add an alarm clock feature, as well as new skins with some really funky ways of visualising the weather. As with Pocket Weather we intend to keep updating this application for many years to come.
So what are you waiting for, go and buy it!
p.s. Don’t worry Pocket Weather fans, we haven’t forgotten you, tomorrow we’ll discuss what’s new in Pocket Weather AU 2.1, followed by what’s new in Pocket Weather World 1.1. In the meantime, why not show us some lovin’ by buying Time BOM?
In our previous post we talked about Nathan, the sole designer in our trio of iPhone monkeys. We figured that we may as well complete the picture, and release part two of this three part trilogy, this time looking at Philip Simpson.
Philip and I both work at Groundhog Software during the day, a company that develops custom applications and web sites for many different clients (be sure to check them out, they’re one of the few companies I’ve ever come across that really value quality and innovation rather than just talking about them). They are also highly supportive of our iPhone efforts, and trust us to maintain a separation between our work and personal developments, a trust I think we’ve always done the right thing by. That’s where I first came across Philip, when he started there as a Software Developer about 2 years ago. It quickly became obvious that Philip was smart, and highly motivated and also that he did a lot of development in his spare time (at the time mainly for charity). In his day job Philip mainly works with Java and large J2EE applications for our clients.
It came as no surprise then that when Ruby on Rails started gaining traction Philip fell in love with it. It was the anti-java in a lot of ways, fast, flexible, highly extendable and very light weight. While Java servers generally need at least 512MB of RAM to run, Rails runs quite happily on a tenth of that. Meaning that you could set up a ten server Rails cluster in the same space you could put one Java server. Rails is also a lot cheaper to host than Java. It was a fairly logical step then that it was the language of choice for the back end of Pocket Weather, and even more logical that Philip should be the man to do it.
The back end of Pocket Weather is what I call the ‘invisible’ side. Most of you probably don’t even know it’s there or what it does. Coded exclusively by Philip the back end polls the various FTP and HTTP sites from the BOM at various intervals during the day, and parses out all the data that Pocket Weather needs. This is no small feat, and is why we refer to Philip as our ‘Ruby Magician’ because all I see of it is a nice clean API that the iPhone App talks to. When you open Pocket Weather it contacts our server, and asks it for the weather for all the locations you have set up. This data is all sent back in one tiny chunk. This is good from a speed and data point of view on your iPhone, and also very good for the BOM, because it’s only our server talking to it, not tens of thousands of individual iPhones.
The running joke in the early days of Pocket Weather development between myself and Philip was always ‘Yes, but can it scale?’. You see Rails has an (undeserved) reputation for not being able to scale when it comes to handling large amounts of traffic. We were able to test that first hand when, in the early days of Pocket Weather, 800 new people a day were downloading our application. There were some nervous times when Philip had to keep a daily eye on things as our shared hosting groaned under the strain. Philip was always on the case though, and has been tweaking the code and architecture since day one. This has meant that Pocket Weather has experienced no downtime due to our code, though we have had some minor outages thanks to the double-edged sword that is shared hosting.
Philip is also a great friend and a very handy developer to have in our trio. I find that working solo it’s hard to get motivated and produce quality work, but when you have someone else you can draw immense motivation from each other, and you end up with a much better end product. Just like all of us, Philip is in the development for the fun, not the money, so much so that I often have to force him to accept payments and end up arguing with him because I think he needs a higher share of the profits, while he’s always pushing for a smaller one. I can think of many employers who would kill to have that problem 🙂
So what is Philip currently working on at the moment? Well he’s bringing the extended forecasts we promised for version 1.4 (so you can stop emailing us residents of Cape Byron, Wollongong, etc), as well as moving all of our code to a private server, so that we will never have to suffer the indignity of the downtime and problems you get on a shared host. He’s also working on two other projects that are very close to being released, but that we are maintaining Apple(TM) levels of secrecy about.