Things started life as desktop software for Mac OS X. When Cultured Code started developing the iPhone version, they considered how the two versions should relate to each other. The team began with the assumption that the iPhone version of Things would be a light version of the desktop app, but they surprised themselves.
Jürgen: The first thing we thought about was how would people use Things differently on a mobile device instead of the desktop application. It turns out that for a to-do list app, people didn't just want a satellite companion to the desktop app that would offer only a subset of features, like maybe only capturing new to-dos or showing some simplified version of your to-do lists. We found that we needed to build the full functionality of the desktop version into the iPhone app. It was the only way to give people everything they needed, and we couldn't go with half measures. This surprised us at first, and it's not true for all applications. The Photos app is very different from iPhoto on the desktop, for example. But for a to-do list app, we learned that we really did have to build all these features—users expected it. We were challenged with trying to figure out a way to put everything on the iPhone.
One place where we said no, however, was using the location sensor. At first, we dreamt that Things would figure out where you are and then be smart enough to tell you all the tasks you have to do at a certain location. It would just give you a fresh to-do list, like magic. But as we started thinking about it, it turned out that it's not so obvious or easy to get that magic into the app. People would have to do a lot of setup just to associate tasks with places to teach the iPhone how to manage these location-based tasks. And then, after all that work, it wouldn't be clear exactly how the app should suggest the tasks to do at the location. You have to be careful how much you impose the app's logic on what people want to do at any given time. At best you can give small hints about available tasks, but then are small hints really worth all the work users would have to invest? In the end, we decided that we couldn't really solve it in a way that resulted in a satisfying experience.
For developers it's not easy to not do things. Apple gives you this great technology, and they want you to use it, and your users want you to use it. But unless you can really make it work in a satisfying way, you have to resist that temptation. It's hard to say no, but it's important.