When the ability to simulate locations was added, I thought ‘wow, this is a perfect example of what‘s great about Apple: even though the simulator is fantastic and much better than their competition‘s, they are going to keep pushing to make it utterly comprehensive.‘ I‘m kind of obsessed with simulators. I have written one on more than one occasion. The first object oriented language was created to create a simulator. It‘s a very important concept: no matter how comprehensive the simulation you are constructing in your own app, it probably depends on a bunch of other things. Mocks are basically simulators on a very small scale.
Over the weekend, I was fiddling with an app I wrote that is on my phone and it showed my location as being elsewhere in the world. I thought ‘oh no, I‘ve been bitten again.‘ But I did not remember the exact sequence of performing the exorcism to remove the simulated location. I did a bunch of searches, including in the Apple bug database, which, btw, looks like its last update was when LBJ was in the White House, so I spent a bunch of time trying to eradicate: clean, delete app (losing all data), etc. Nothing worked. Then I got an email from someone on our team, basically in the familiar dear dumbass format, telling me that I had to leave simulate location on in the scheme editor, but set the location to null, run the app, then go back and turn location simulation off.
Seriously, the worst types of bogs in the world are ones like this, that are basically just little pits with knives dug into the bottom, covered with light thatch and leaves.
How many hours to fix this?
These are the kinds of things that open people used to wail about all the time: Microsoft had bugs that were super annoying that lived on for years.
Here are my recommendations in order:
- Mind-boggling search capabilities are not that hard to program, if you insist on leaving the horrendous interface on the bug reporter, have someone fairly junior write something for you in a week that uses Lucene, better yet one of its wrappers: Solr or ElasticSearch. Pisspoor search in 2013 is not an embarrassment, it‘s a capital offense.
- Please just fix this stupid bug.
- Try and figure out a way to test for things like this.
Kind of an interesting question: how do you test a simulator, especially its interface through a config mechanism like the scheme editor. Another reason to think some more about how config can be pulled more into the programmatic layer through some combination of convention and maybe language support.