You presume that software is available and accurate to screen. This is not actually the case. Reading of imaging/screening is an incredibly time consuming, inexact and high risk endeavor.
And who reads the results? How accurate are the readings?
That would be true if there was a well functioning market. A market of essentially two companies armed with contracts does not make for a well functioning market. It would be better to say:
They extract monopoly profits because they can.
Really? Facetime a flop? Do you have kids? Do you live apart from Family? My family loves Facetime. I can follow my kids around with a phone much more easily than a computer so that Grandma and Granpa can watch them play. I wouldn't expect people to make video calls all the time, but it sure makes family seem closer.
I don't know that I agree with this. I've worked building software for more than 15 years and I can tell you that the likelihood of somebody accurately capturing something like this in a requirements document is very close to zero. After all, this isn't a feature we're talking about, it's an implementation detail of a performance optimization. The requirement would likely be something like
"Must be able to detect a location within 0.2s if wifi is active or can locate at least 3 cell tower ids"
the rest is how the programmer chose to make it work. If you are creating requirements to the level of detail needed to fully specify purge behavior of a cache database, you're never going to finish your requirements document.
Almost all bugs would be caught by a single testcase if you thought about writing it. Most often the problem is that nobody concerned the scenario and though to write a testcase. While it could be mailicious, it could also be just an accident.
They actually mean restaurant websites. For me, that's the only useful flash content I've used on an android phone/tablet.
And where do you buy apps on Android?
In the "Android Market"
Can you find a use of App Store prior to the launch of Apple's?
If you don't continuously test, you're not doing it right. Maybe I'm biased because I practice TDD.
Let's say you're right and that it takes me 5 iterations to test and get the result right. Now I have at least 6 different resolutions to test on for android, and at least 3 different skins for the device maker. That's about 18 different devices I need to test. Each one requires launching a new emulator. If I need to make a change for any emulator (for example, the red button on Motoblur doesn't look right or the strok handling on HTC sense is different) I get to do it again.
Now let's talk data. What does the UI look like with a lot of data, with little data, with pathologic data? Each of those requires testing on each version.
Suddenly, we have a combinatorial explosion. This where I see the big problem with android fragmentation.
It's not 20 minutes more, it's an hour of installation. At first, the mac instructions had you download the windows version of VMWare Fusion. To even be able to try out the sdk costs $80 on a mac. Note that you can get started developing for iOS at no cost with a single download.
As a developer, little time sinks can make a big difference. For example, building and running my app on the iPad simulator takes about 5 seconds. It's easy to test iterations and small tweaks to the UI. On Android with the honeycomb emulator, it takes more than a minute (assuming the emulator is running, it takes about 3 minutes for the emulator to start on a dual quad core box with 16G of ram) I never found out on the Playbook, since I don't want to spend money buying an emulator for a currently vapor product.
(accidentally posted as AC the first time)
True, but the OS versions don't tell the whole story. Here's an example:
On stock android, creating a polygon with the paint style FILL_AND_STROKE will both fill the polygon and stoke the outside. On motoblur, it just strokes the polygon. On stock android, using FILL will render nothing if a polygon is rendered on a clipping boundary. On motoblur, it is displayed. Unless you actively test on different carrier roms, you will have lots of these little issues. For motoblur it isn't a huge deal since they make an emulator, but not all customizations are available as emulators.
I do both Android and iPhone development. There are some really nice things about Android, but the huge amount of fragmentation makes developing a polished UI very difficult.