So I finally got an iPhone. It is almost everything I could want in a phone, but there are still some things that on principle I despise. It does make some improvements, but it still falls short in my book.
My ideal phone has a lot to contend with, namely the cell phone industry and network. There are two main things that most go against my principles. First, the cell phone network is tightly guarded and heavily restricted. Because of this, the carriers exhaust their advantage and significantly over-charge for conveniences that is vastly higher than their cost. It is a place where a 10 second clip of a song to set as a ringtone costs as much or more than the full song you can use anywhere. It is also a place where it is as much as 42 times more costly to send data via SMS (max 160 characters) to your neighbor than it is to send the same amount of data to the Hubble Space Telescope. And second, in an age where software is so openly and freely available on PCs, it couldn’t be more closed and costly on cell phones. The software libraries are generally very limited, crappy, and expensive (for how crappy they are). It is expensive and difficult for software developers to get their software on phones. And most of the ones I’ve seen are basically just advertisements packaged as games.
Based on this, I have the following requirements:
- I must not be wildly over-charged for conveniences (cheaper or free-if-you-own-the-song ringtones and cheaper or free-if-you-have-a-data-plan sms messages)
- I must be able to write and easily install my own software for free (barring hardware costs)
- I must be able to download and install software that came from anywhere
- I must be able to freely give my source code to anyone who wants it
- I must be able to download, modify, and install software from source code that came from anywhere, if the original developer chose to release their source code
These can be achieved by the following:
- Carriers and device manufacturers must practice ethical pricing
- There must be a freely available SDK and it must be easy and free to load software compiled by it
- It must be possible to load software that came from anyone or anywhere, and I am aware of the security implications
- There must not be restrictive licensing that restricts how source code is shared
- There must be a way to use source code from others and install it on my phone
If you’re familiar with the iPhone you’ll know that the iPhone has made little headway in this area compared to other phones. What it does have is a freely available SDK . You would think that should open up the door to everything else but Apple/AT&T have been able to plug any holes the SDK may have opened to my other requirements by doing the following:
- They imposed a license restriction that does not let anyone share or talk about source code. This is just wrong, for so many reasons, and is probably the thing I despise most about the iPhone since it is what prevents the iPhone from fulfilling my further software related requirements.
- All software that is publicly available must go through the (cr)App Store, which brings with it all the restrictions and wims Apple and AT&T impose upon it. See here and here.
- There is a way to get software that you haven’t written and that didn’t come through the (cr)App Store, but it is severly limited and does not allow publicy available software.
Also, Apple has done nothing to fulfil my requirement #1, the wildly over-charging for conveniences (re: ringontes and sms), when it could have done so much. I expect that most of this is because of forces outside of Apple, but they could have made more progress.
Apple did, however, get just about everything else right with the iPhone. It has the right hardware (camera, gps, accelerometer, etc), an amazing interface, and a lot of great software that is reasonably priced and really easy to get. While there is a lot of great software, the above restrictions leaves me with the following wish list of software:
- A real SIP phone, and it is ok if I have to be on wifi.
- Tethering software
Some may say that I can do all these things I’m talking about, but they require jailbreaking the iPhone. That is a hack, voids the warranty, and isn’t available for the iPhone 3G. Hacking is not a solution to these problems, but hacking does tend to motivate vendors to give the people what they want. If that’s what it takes, then, well, I know what to do, and you now do too.
(Note: I should mention there is hope for my requirements in Android and HTC Dream, but costs and contracts will prevent me from going there anytime soon. Grrr! Frustrating!)