Next article: Late Night Cocoa
Previous article: WWDC 08 Followup
Tags: iphone rant
Note: this post is a long non-technical rant. Please skip it if you don't want to read that kind of thing. I promise that this will be a rare event.
My employer got me an iPod Touch shortly after Apple announced the official iPhone SDK, but it ended up not doing much for a while. Due to various things beyond the scope of this post, I didn't do any SDK work with it. And since I rarely listen to music outside of my office and my car (which has no iPod hookup), it didn't get used very much for anything.
But as they say, familiarity breeds contempt, and after using it more these past few weeks, I've come to realize that the iPhone platform is really pretty crappy in a lot of ways. And these ways are mostly not due to hardware limitations, but rather artificial limitations put in place by Apple. And mostly these are limitations which have been put in place For Our Own Protection, and which have been, shockingly, praised from many quarters.
So this is annoying, but usable. It works for a little while. And then Mobile Safari, in a delightful fit of absentmindedness, decides that it no longer wishes to remember my Meebo page. It clears it from memory, reloading it the next time I switch to it, signing me off, and probably losing whatever pending messages I hadn't read yet.
Alright, so I'll switch to AIM. This makes the process significantly more cumbersome when switching back and forth, but due to AIM's server-side support, at least I can be away from AIM for longer without getting any errors or actually signing off. But now, of course, Safari decides to have another fit of amnesia, and forgets the contents of the page I'm viewing, reloading it. Helpfully, this makes gmail forget my place and take me back to the inbox. Great.
So much for chatting and viewing the web. Never mind that I could do this just fine on my Quadra 610 over a decade ago, with vastly less computational power and only a slightly larger screen.
Let's try something else, like listening to music while I chat. So I hit Music, choose a track, then go off to chat. Works fine! Of course I don't bother loading much music onto this thing since it's a pain to do, so I'd rather listen to internet radio. Let's fire up AOL Radio instead. Pick a good station, then go chat. Whoops, music stopped.
Suddenly I notice my App Store icon has a badge. I have some updates! Ah, maybe an AIM update will make it suck less. A Twinkle update too. And a few others, no doubt all good. I click update. Enter my password. Again. For a bunch of free updates. They begin to download and install. Ah yes, this takes a while. To pass the time, I'll go read the latest updates on Twinkle.
Hmm, my Twinkle icon is gone. Oh, it's moved to the next page. Oh, I can't run it, because it's downloading and installing. Crap. I'll just stare at the progress bar until it's done. Waiting... it's done! It's still on the next page! Now let's pass the time by manually moving AIM, Twinkle, and the three other apps that got updated back to where they started.
Oh yeah, and not only did they all forget where I had placed their icons, but half of them just forgot everything they knew about me.
And then to top it all off, I get a receipt in my e-mail for the half-dozen free updates I just downloaded. Total charges: zero dollars.
I can't expect too much from Apple. After all, 2.0 is really a 1.0 of all the fancy new stuff, and it's only been a year since the very first release. And Apple doesn't need to do everything perfectly, just provide the framework so third parties can fill in the gaps.
Oh yeah, about that.
How about a third-party app that would let me run AOL Radio in the background? Hmm, violates Apple's terms, nuts. Maybe a third-party application launcher to replace the default one. Nope. Maybe just a Safari plugin to make it less strict about purging certain pages from memory. Ah, crap.
Wait, I have the perfect solution. Let's just write our own browser, and music player, and Twitter client, and chat client, and mail client, and app updater, all in the same application. And then we can stick a launcher front-end on it. And then, since it's all the same application, we can multitask and switch and run in the background as much as we want. After all, who needs an operating system with process management. AppleWorks showed us just how well the highly integrated application can work. Single-tasking is how it was done on the Apple II, it was how it was done on the original Mac, and by god, it's good enough for the iPhone.
Well, unless you're Apple, of course. After all, you wouldn't want "Music" to quit just because you launched Safari. Never mind that the third-party music players that I actually want to listen to can't do it.
After spending a month or so really using this thing, I feel like I've gone back to the dark ages. This is GS/OS 4.0. Mac System 1. But unlike those, Apple isn't letting us developers patch over their holes. There will be no MultiGS, no Switcher. No plugins, no launchers, no daemons, no services, no improvements.
Unless Apple makes them, of course.
But do you think they will?
I'm going to keep using this thing. Despite all the flaws, it's still a useful device to have, especially when I didn't have to pay for it myself. But right now, I'm only getting maybe 10% of the hardware's potential, and this is all Apple's fault.
I suppose I could jailbreak and get some of these fixes, but I don't like hacking at closed hardware, always afraid Apple will shut it down, searching for hours for the right program to crack open the device and expose the juicy goodies inside, afraid to hit the wrong button and turn it into an expensive brick.
I wish they would just let up on the thumbscrews already, let us lowly users install what we wish, and let the platform evolve naturally.
But my big fear, what prompts me to write this article, is that this is just a preview of bigger things to come. Specifically, I think that Apple is going to start pushing Mac OS X in the same direction as the iPhone. Maybe not today, maybe not tomorrow, but over the next few years.
There's no smoking gun that makes me say this, but there are some worrying indicators:
First, some miscellaneous things like Apple's long time pointless usage of the
ptrace() call in an attempt to protect iTunes, DVD Player, and any other program that uses Apple's DVDPlayback.framework from being debugged. There are also encrypted binaries which showed up in 10.4 as part of the Intel switch.
Second, code signing. This is, after all, what Apple uses on the iPhone to deny access by "unapproved" applications. Code signing is something that can be used for good or for evil, and despite many assurances from Apple people that it's only intended for good, it appears to me that Apple has yet to make up their minds about it in Mac OS X. For example, code signing is used to avoid re-prompting the user for keychain access when updating a signed application. This is good. It's also used to give Apple applications special privileges to bypass the firewall even when the firewall is set to "do not allow anything through under any circumstances at any time ever, period" mode. This is very bad. Code signing is used pretty much only for evil on the iPhone, and it could easily shift that way in Mac OS X as well. For all we know, Snow Leopard will come with a switch that says "only allow Apple-approved applications", and it will default to On. Guess what that will do to us third-party developers.
Last, Apple's focus and attention seems to be on the iPhone, and the sentiment coming out of Cupertino is one that the iPhone is good, all of the stupid, crippling restrictions on how it works are good, and Apple always knows best. After all, what platform got basically 100% of the attention at this year's WWDC keynote, and what platform got 0% of the attention? Hint: the desktop Mac you are probably reading this post on is not in the 100% category. This is the same keynote, let's remember, where high-up Apple people ridiculed the idea that anyone would ever have a legitimate reason to run applications in the background. Unless that application is made by Apple, of course. And then they came up with their brilliant idea of push notifications, which totally replace the need for background processes, unless you're writing a music player, or a web browser, or GPS logger, or a terminal emulator, or file downloader, or....
The iPhone is not just a crappy platform. It's a crappy platform which may very well turn our beloved Mac OS X into a crappy platform too. Right now Apple has two platforms. One of them is powerful, rich with history, open to any development, and hacker friendly. One of them is deliberately crippled, difficult to use for any kind of advanced tasks, will not accept code without the Apple Official Seal of Approval, and is extremely hacker unfriendly. The latter platform also has all of Apple's love and attention right now. How long can it be until these Apple higher-ups, who talk down to us about background processes and told us that web apps were an awesome way to develop, decide that the desktop Mac OS X could use some of this closed system code signing restricted seal of approval sauce too?
Now, before you post a comment, or write about this, or even criticize this post in your head, there are some points I would like you to keep in mind:
- No, I haven't forgotten how resource constrained the device is. I am concerned that a lot of people have forgotten how resource constrained their once-powerful desktop systems of yesteryear were. 128MB of RAM and a 600MHz ARM is more than enough to run a modern mobile operating system, a music player, a chat client, and a web browser.
- Hunting down a runaway process that's destroying your battery life sucks, to be sure. But you know what sucks more? Not being able to listen to music while I chat. You want to know why Apple doesn't have a switch in the settings that says "enable background applications"? Because everybody would turn it on as soon as they found it. Apple doesn't feel like putting in the effort to do it right. They're taking the cop-out of simply disabling it (except for their own apps, because don't forget, they know better than you), and then telling us what a great favor they're doing to all of us by destroying the functionality of our devices.
- Don't even think about mentioning viruses, worms, trojans, or other forms of malware. Mac OS X is an open system which will run any code you hand it, and somehow it has not been overrun with malware. The iPhone installed base is currently about one tenth the size of the Mac OS X installed base, and as such represents an even smaller target.
- Likewise, no talk of how rich people are going to get off the App Store. First of all, I'm doubtful that anyone will get rich. With only a few million iPhones in the world, you'd have to get an extremely large percentage of them to buy your stuff to get rich. Secondly, even if a few select developers do get rich, this has no bearing on how much Apple is destroying my user experience.
- And last, none of this stuff about it not being a miniature laptop. I know it's not a miniature laptop. But when a device is advertised as being able to play music and browse the web, is it too much to ask that it can do both at the same time?
- Yeah, I'm angry. I'm tired of being fed crap and being told that it's caviar. I'm a very long-time Apple user, and I don't think that they are going in the right direction with any of this stuff. And no, the fact that several million people are willing to plunk down hundreds of dollars for an iPhone 3G of their very own is not going to convince me otherwise.
Interestingly, being unable to listen to music and browsing at the same time summarizes very well the duality of Apple's position here. There are 2 interpretations:
* Apple wants to limit the amount of resources used at any one time, to provide the best user experience. Hence limited number of processes, auto quitting,...
* Apple wants to establish a monopoly on music listening on the iPhone. And in general, wants to control who can develop for the iPhone so that they can abuse 3rd party developers at their will.
While your points are valid, I think you emphasize too much the 2nd explanantion, and dimiss the first explanantion as just an excuse from Apple. The example of Safari shows that Apple really does what it is asking other developers to do: limit resource usage as much as possible, and if necessary, quit entirely. Of course, Safari still has an adavantage over other potential 3rd party developer, since it will not *always* quit, but they go still pretty far at the risk of annoying the user. Thus, even with their own app, they do make some compromises.
Finally, about resource limitation: is it not fair to compare the Quadra 610 hardware/software and the iPhone hardware/software, or whatever older machine. Yes, the iPhone would run dozens of processes at high speed with a 5 year old OS. But OS development is traditionally done by incrementing on existing stuff, and the engineers working on it can assume the hardware will be faster and more powerful by the time they are done. For the iPhone, they started with a for-desktop system, added more stuff, and then still wanted high responsiveness. They made the decision to start with Leopard, and not with Cheetah. And then, they had engineers working on it like crazy. You can always say they did a bad job, or made the wrong design decisions (just stick to Cheetah, guys!), and that this reflects in some of the crapiness you mention, but I don't think this is what you really mean.
That doesn't mean I disagree, though. I agree.
However, I think you've weakened the post a little by ranting on both minor bugs in the user experience and fundamental design decisions that affect everything.
Minor (if frustrating) bug: Icons moving between pages when you update. Sure, it's frustrating. Really frustrating. But it'll probably be fixed at some point.
Fundamental design choice: A deliberate inability to ever multitask. Assuming this isn't changed, this rules out entire categories of applications from ever appearing on the iPhone.
I'm pretty sure 10.5 already implements some of these, but they're not required. And I really hope they never are.
I also disagree strongly with your comment about resource restrictions. Mac OS X has been getting faster, not slower. If you ported Cheetah to the iPhone it would be an absolute dog, completely unusable. Modern Mac OS X is much faster than old Mac OS X. I also think it's totally fair because the iPhone is demonstrably capable of doing this stuff with the software it's running now, Apple just doesn't let it happen.
People really need to get away from this meme that the iPhone is a fragile resource constrained flower that must be protected at all costs. The thing has a 600MHz CPU, 128MB of memory, and plenty of storage. It's more than powerful enough for serious multitasking, even with a modern mobile OS.
Steven Fisher: I understand the reason why Safari trashes my pages, although I have a tough time understanding why it can't even keep two of them open.
As for minor bugs and fundamental design decisions, I think they're both appropriate because ultimately they both go together. On the Mac, when Apple screws up minor things the response is for third parties to create a competing product which doesn't screw up. On the iPhone this is impossible. Either Apple gets it right, or we suffer, because we have no choices, because Apple doesn't allow any choices. Look at something like Path Finder, Quicksilver, or even my own App Switcher. All exist to offer something better than what Apple ships, and nothing like that could be created for the iPhone. The minor bugs can't be patched over because of these fundamental design choices.
On the other hand, if their intentions is to push some monopolistic goals, this is a problem. And to some extent, it is very possible that they still have that in the back of their mind.
And sorry about Cheetah, which I agree is a dog, maybe I should have picked 10.1 (mmm). I realize the whole discussion about resources is a bit pointless (too much 'what if'-s). All I want to say is if I had 128 MB on my MacBook, and had the choice between 10.1 and 10.5, I would pick 10.1, personally. Apple picked 10.5. What would you pick?
But for developers, this system really stinks. I'm not talking about the NDA. I'm talking abou it's one thing to get Karelia-ed, it's quite another to never get published in the first place. If Apple tries to push these sort of feudalistic "market" dynamics onto the desktop, they're going to have to bring the water to a boil really slowly or the Web will have to open up a refugee camp for all us displaced indies jumping out of that pot.
Just hit the forums to see people complaining about the iPod app being killed while they're browsing in Safari to see proof that the device is *very* resource constrained and even Apple's apps have trouble under that environment. Then look at the quality of apps on the store and tell me you trust each and one of them to play nicely as a background process, both in terms of CPU and memory usage.
I think Apple really is trying to do the best thing here.
n[ate]vw: Your comparison to Jobs's little DRM memo is great. It's highly ironic for Jobs to talk about how bad DRM is for music, then hand us a completely locked down system just a short while later.
Adam: I could dispute what you're saying in various ways, but I think the simplest one is this: the iPhone is already capable of playing music while you browse the web. But only if you use the Official Apple Approved Music Player. If you want to use a third-party music player, tough luck.
Furthermore, there is no need to trust apps to play nicely in the background. Give me a way to kill them, and let me push them off my device, and the problem takes care of itself. I've already deleted apps that crashed, froze, or were just plain useless. This would be no different.
You say, "I think Apple really is trying to do the best thing here." So do I! But the road to Hell is paved with good intentions. Just because they think they're doing what's best doesn't make it right in any way. So far the end result has been a pretty bad user experience.
And if you want real and challenging hardware constraints, try doing navigation on a 2MHz integer-only CPU with 32kB of built-in RAM. Even there I had preemptive multithreading, and it could have easily run multiple apps at once if there had been any point to it. 128MB is luxury, and if Apple is having trouble playing music while running a web browser in that much space, they're doing something really wrong.
After all, it wasn't so long ago that we were being told from on high that webapps were all we'd need, and this was a great solution for developers. Lots of blog posts grousing about it, and six months later an SDK is on the way.
I'm half-sure background apps will go the same way.
What's so tough to understand? It's not like it's making arbitrary decisions. It's purging in response to memory pressure, period.
Are you saying you have a tough time understanding how a Leopard-based core OS and a WebKit-based app showing a single web page can end up pressing against a 128MB memory ceiling?
John: Yes, I have a tough time understanding how an optimized mobile OS and an optimized mobile browser can require over 128MB of RAM to hold on to two web pages at once. If you can find enough time in between being snide, maybe you can explain just why it takes such an enormous amount of memory.
Why the control issues? All I can guess is a fear that some app will autodial 1-900 numbers, but that was never a real fear for Treo or Windows Mobile phones. That can't be it.
It's got to be about that 30% slice Apple takes. Because there's no other rational reason for it.
iPhone doesn't even have copy and paste yet, it's way too soon to take the limitations of the first-born SDK as set in stone. Yes, I strongly suspect code signing is here to stay, but they've just put a *tethering* app on the store, so I'm ready to be surprised.
Ultimately I'm not complaining about features, but about policies. Those policies are the ultimate reason why the features have problems.
When I first started using Mac OS X and discovered a glaring omission in the system-wide UI, I wrote App Switcher to fix that omission. It was my first OS X app, my first real released app of any utility. It got my name out there, and it eventually led to getting the great job I hold today. The opportunity to do things like this simply does not exist on the iPhone. Not because Apple hasn't done it yet, not because they're taking their time. Because Apple has decided, as a matter of policy, that we don't get to do things like that.
As for that tethering app, you see how long that actually lasted. The fact that it got through at all was clearly a mistake.
I mean, there's obviously a chunk of work that would have to go into less restrictive access for apps -- including at the very least a user-side process manager of some shape, and better protections to guard apps from each other.
I guess only time is going to tell whether they keep it locked up tight or slowly loosen the kimono. But since launch it has only got more open, so I'm hopeful. Ish. :)
(The netshare app is back up on the stores, btw)
Re: the netshare app, I sure don't see it.
The current situation is a tradeoff to be sure, and a huge one, but I think it's right for the platform in the end. Keep in mind that the average iPhone user is NOT going to understand how or why they should download a Switcher-like hack, nor why such an app might be screwing up their once-smooth operation.
I understand how you might appreciate Apple's OS or something, but appreciating the lockdown because you don't trust third-party apps is like appreciating prison because you don't like sunburn.
You wouldn't want a phone with the phone app coming up with a 6 second delay when someone is calling you ? So Apple has to put some limitations somewhere, until they can, maybe, authorize large apps with a better memory management system !
Because reading your prose I realized it's the first thing you want on the iPhone, the phone app, and that you didn't mention it. It's more important than losing a background tab's content in Safari. It's critical.
(Maybe I didn't make a lot of sense, excuse my writing skills in English, I hope you got the idea)
Instead, you have to physically hook the phone up to a computer and sync it to iTunes. Oh, wait, both my Mac and iPhone has bluetooth don't they? Nah, no luck there either.
To Jobs, the phone is an appliance and only he gets to decide how you're going to use it. I'm praying for Google's Android to work one day, I'll ditch my iPhone in a heartbeat.
First you say you want this stuff to work, then you get mad when Apple locks it down. When the iPhone is 8 (1992 - 1984 = 8) it's a safe bet it will allow similar abilities to your Quadra. You will have copy, paste, multifinder, etc. You will also have a fuel cell that can run it all.
Rome wasn't built in a day, Apple is getting stuff down at the speed of business. Its faster than government and slower than you might like.
If you picked one thing to do, Meebo, Pandora whatever, and then did it I would guess it would work perfectly as Apple has tried to ensure. If it was advertised to run both at the same time it would. Its an unrealistic expectation on your part, not malfeasance on Apples. Everything mention you will come over time. Tivo started out the same way, it is not an all or none proposition. Be patient, and enjoy what you have rather being bitter at what you don't.
You started out talking about the iPod Touch, but we all ended up discussing the iPhone. I think this is not a mistake!
I would bet folding money that the engineering focus for the entire platform has been "never, ever interfere with the ability of this thing to work as a phone." That is, the platform itself might have been closed off because the platform is a mobile phone platform. This is a much more challenging platform that a general purpose computing device.
I can see why putting a fence around anything that might interfere with telephony might be a deliberate choice to keep apps from bricking the primary use of the platform.
But when it comes to the limitations of the platform everyone seems to be talking CPU and memory. I think another big reason, probably close to the biggest, is battery life. The ability for Apple to allow certain of their apps to run in the background is a "Do what I say not what I do" thing though. But the do seem to have limited it so, being charitable, they figure if they control which apps can potentially drain the battery they determine what the expected use will be.<br><BR>
I'm fully on board with having the ability for certain applications to run in the background, music and chat apps are the big no brainers here. I do think that there needs to be some kind of explicit authorization and warning to the user that doing this will potentially cause the battery to run dry. Probably with a "Don't show me this again option." Will Apple ever do this? No idea.<br><BR>
I do think your extrapolation for future Mac OS X versions is a bit premature. It is good to look out for that kind of thing, it just seems a pretty big stretch from a 1.0 API on a 2.0 hardware platform.
Not that I yearn for the day when Jobs leaves, but there are certainly upsides to consider.
How can you not see the logic of quarantining apps from fucks like aol?
There are currently about a thousand apps on the app store. Probably more than half of those are pure rubbish. Can you really blame Apple for not letting their new, shiny platform become a pipeline for errors and crashes?
The iPhone is Apple's baby. They have put a lot of effort into it. And they came out with the smoothest, fastest cellphone in history. And for Apple, as for the majority of iPhone owners, that means everything. Believe it or not, some don't crave for a Switcher or get pissed because Meebo doesn't like them anymore.
And it shows. That's why the only pummels the device gets are not about crashes(I guess 2.0 is still a little shaky) or slowdowns, but for the sort of shit you're complaining about.
You really can't expect Apple to care about it when 10 million iPhone users don't.
The flash memory in the phone, unlike a conventional hard disk, does have a limited lifespan in terms of number of times it can be written to. That number is high, and we can assume the OS is doing clever things to spread writes out, but it means that the system cannot gratuitously swap data out to disk when memory is overloaded without shortening the hardware's lifespan considerably. On a desktop system, when you're out of memory, things just slow down. Without swap space, when you're out of memory, you're out of memory, period.
If Apple allowed non-Apple background apps to hold on to memory, then it would be completely impossible for any foreground app to guarantee it could run at any given time. What do you do? Allow foreground apps to terminate background apps? You called that exact behavior as a bug in this very post. Prevent foreground apps from running? So I just spent $10 on a game and it doesn't even launch because you have something else running in the background. I have yet to hear anyone propose any practical solution to this problem. Apple lets their own music player run in the background because they can control how much memory that function uses. How would they do that with third party music players?
This is a side point and I don't mean to disagree with your article or your point in anyway. I'm glad people are speaking up about this issue.
Also, iTunes and the DVD player? Simple, they don't want 3rd parties harassing them because they didn't take steps to prevent people from reverse engineering their DRM. If it came down to a lawsuit, Apple can point to the encrypted binaries and say it's not their fault that the DRM was broken. They *are* dealing with the RIAA, here. It's not as if those programs were open source to start with, anyway.
Sidenote, you need to make sure your blogging platform closes tags after individual posts. The next post after this will be in italics, unless the poster closes the tag. ;-)
This is a Phone. Apple is doing the right thing in regards to that, making the phone easy to use, and as simple as possible for the maximum number of people to use and understand. No courses in the minutiae of application controlling, just pick up and use.
I can only think of a few apps off the top of my head that 'run' in the background. The iPod app, Safari (keeps the pages there as long as the system doesn't need the memory but it's not really doing anything with them as you pointed out so I'd hardly call this backgrounding the app) and Mail. To my mind these are acceptable. Yes I know what they say about background apps for us, but these are key features to selling the iPhone / iTouch. If I typed a mail, hit send and then 'quit' to the desktop to carry on doing something else and mail stopped sending, I'd be super pissed later on in the day when I realised my mail was still sitting there. These things are needed to sell the devices, third party stuff isn't.
And you can see on various discussion boards, that the iPod app dies while surfing at times. If even apples apps have this issue, and are probably programed so much better than most of the 3rd party apps, I can see why running third party apps in the background not a feature at the moment.
Having said all that, these features you complain about may come down the pipe. It's much much easier to limit features in a release than add too many and have to retract one. You know as well as I the complaints that would spring up over that one feature that is suddenly so important to some that they can no longer use the iphone / itouch anymore. The wailing would never end. Or at least generate way more bad publicity than not having the feature in the first place.
BTW, your quadra example is flawed, it had many advantages that the iphone does not yet, the biggest one, no freeking battery life to worry about. No fantastic graphics to worry about. No real multitasking / accelerometers / GPS / Phone radios etc. Just running one or two apps at a time.
Apple has one priority in reality, to make the best experience for as many people as possible. This requires cutting some features that smaller groups would like. This is what they are doing. It keeps them in business.
Your piece would have been better served as a rational opinion, not a rant.
The biggest constrained resource is the battery. Kill the battery and you kill the whole phone, so everything has to be optimized for maximum battery life. That's why (along with limited RAM) that background processes aren't allowed.
Code signing has been suggested by security experts for years. Just think, if Windows required some sort of code signing, viruses and adware and spyware wouldn't even exist. Adding OS support and even mandating code signing is a good thing, not a bad thing. Why not think about the future? having your head in the sand about security is not a good thing.
Blame the movie studios for Apple disabling debugging in the DVD frameworks. They require all sorts of contortions to get a playback license for the already-broken CSS. And you think Apple is bad, read up on what Microsoft did in Vista to satisfy Hollywood. I suspect that DRM is the main reason that Apple is not selling Blu-Ray drives yet.
There are definite issues with the iPhone- some are bad decisions or bad implementation by Apple, some are forced by AT&T, and some are just a new platform that hasn't really designed itself yet. Remember that Quadra was running a 9-year-old platform when Apple released it. Give Apple 9 years and i suspect the iPhone will be a whole lot better.
And another thing for DF readers: play nice. So far nearly everyone has been very good, but I have fears of the unwashed masses. Think before you post.
Now, specific replies:
Moitah: I didn't talk about it because it's irrelevant. It's not Apple's phone, it's my phone. If I want a phone that is laggy and crashes due to third-party apps, I should be able to have it. However, the phone app is not the first thing I want on the iPhone, because I don't want an iPhone. If I had an iPhone, then you can bet that I would uninstall any third-party application that interferes with the phone functionality. And thus the problem solves itself. If you're afraid of third-party apps, don't install them. This is not a good reason to force me to not have them.
Anonymous Sofa: Better than smelling like one. You have no real idea of what you're talking about, I think. Whether the ARM has an FPU has absolutely nothing to do with whether it can do multitasking or virtual memory. An FPU is for making floating-point calculations go faster, nothing else. And the iPhone is running an OS that is older than I am. If it needs to mature before it can provide capabilities that UNIX could provide in the seventies, then we're all doomed.
clvrmnky: We all started talking about iPhones because that's what most people have, and that's what gets the press. They're essentially interchangeable, because they run the same software. As for interfering with the phone functionality, there's no real reason that couldn't be off running as another user in such a way that you couldn't break it. This has nothing to do with preventing multitasking, or preventing me from loading any code I want.
Drumbo: Thanks so much. I couldn't agree more with what you say. In my opinion, the Apple community is getting far too intolerant of contrary opinions. It's like you're not allowed to think that Apple is doing anything bad anymore. This is partly why I wrote the article (rant) above.
Phuul: And once again, your need for a long battery life should not obstruct my desire to install any code I want. If people want a nice, reliable telephone then they can avoid "mystery meat" applications. Nobody forces them to install any. And for the record, I agree that my extrapolation is premature. But I'd rather warn about it and have it not happen, than warn about it after it's already too late. In fact I'd rather be wrong about the whole thing altogether.
Dave: I can listen to music while browsing, if I use Apple's Official Music Player. But I don't want to, because I don't have content for it. I want to use a music player with stuff I want to listen to. Apple won't let me.
As far as "quarantining apps from fucks like aol", what makes you think this is what's happening? Once an app gets on the phone it's pretty much unfettered. Apple's approval process is obviously not all that stringent, and if you can sneak bad code past it then you can go nuts. No, all they do is quarantine my own iPod against "fucks" like me.
As far as it being a great phone and lots of people loving it, I really just don't care. My points are not diminished by this in any way. There are a lot of crappy pieces of user experience in the thing, and Apple appears unwilling or unable to fix them or allow others to fix them.
In fact, I want everybody to stop talking about what the great unwashed masses want, right now. I don't care. It doesn't matter. I'm talking about the things I don't like, and the long-term consequences of Apple's decisions on the matter. The popularity of the device and the desires of the general population matter not one whit. This is point #6 in my list of things to read before replying. As such, this will be my last reply on that subject.
Hamilton Lovecraft: I know all about flash memory, like how it takes years at full blast before you begin to wear out a modern flash drive. There is no problem with doing swap to any decent flash drive. There are various reasons the iPhone doesn't swap, some of them are even good, but the "it wears out the flash" reason is bogus.
As for not being able to guarantee having enough memory, why does it matter whether the background app is made by Apple or not? If Apple's music player can safely run in the background, then any music player can.
As for a practical solution to the problem, easy: set aside a 512MB swap partition.
Kevin: This is nonsense. Running a music player in the background doesn't require different hardware. As proof, run the official music player in the background. Hey, it works! Now, tell me why Apple won't let me do that with a music player I actually care about.
Damien Sorresso and GianCarlo Pitocco: I'm glad somebody finally noticed!
James: How did Apple make things difficult for 3rd party developers prior to OS X? I understand why they lock down iTunes and DVD Player. That is irrelevant to my point, however. And I fixed the comment software to close tags at the end of each person's post, so they can't destroy the next ones.
rand: I'm not forgetting anything. I am complaining about deficiencies. What other people want out of the device is irrelevant.
Dave: What exactly prevents virus writers and adware writers from getting a code signing certificate?
julian: It's not in my imagination at all. Apple is already shipping one computing platform that only allows Apple-approved applications, and it's not even a switch you can turn off. Having them expand that to their other computing platform is a bit of a leap, but it's hardly "in my imagination".
The comments are coming way too fast now. (Several more appeared just while I was writing this!) So I'll only be replying to select ones after this.
Oh, yea, I can run apps in the background because I was smart enough to jailbreak my phone. I'm sure you are too. If you're smart enough to monitor system resources and kill apps, you're probably smart enough to jailbreak your phone. Or maybe not.
The iPhone isn't perfect, but it's a damn sight better than the current "competition".
Mike: The usability of other cell phones has absolutely no relevance whatsoever to deficiencies with my iPod Touch. Please try again.
Well, not to put too fine a point on it, its really all that matters.
Its easy when spending a lot of time on forums such as this to delude ones self that this is still a day when the niche cravings of ubergeeks matter at all.
The iPhone/touch is a consumer device. I'm sure you'll enjoy the Google vaporware when it appears, hobbled by its need to run on lowest common denominator hardware.
As both an ADSk holder and touch/iPhone user, I applaud Apple's approach to this.
As for why you think I'd enjoy Google's offerings, I have no idea. I made no such indications in my post. This is just another example of the fundamental sickness of the current Apple fan community: if you dislike something that Apple made, it must be because you're in the pocket of some other manufacturer.
Warning to future commenters: any further comment which hinges on how bad other phones are or how deluded I am for thinking my opinion matters will be deleted, not replied to.
Except, none of the apps being complained about were written or, obviously, priced, by Apple.
People who find their iPhone experience poor will likely think of that when they are choosing their next phone. Some of them will be so clueless as to not realize who wrote an app, some of them won't understand that choosing an app that communicates a lot will, in fact, reduce battery life. But most of them will remember that they were unhappy with their iPhones - and very few of them will blame _themselves_ for this. People often find ways to blame others.
That being said, the argument that "It's not meant to be a computer" is a ridiculous argument to support the *intentional* disabling of a feature. It's an OK argument for not putting effort into something, but it fails to justify the active denial of anything.
I find Safari on 2.0 to be a very frustrating experience compared to 1.1.4. Safari sucks way more memory, it seems, and blows away web pages much more quickly. Using Google News, half the time it purges Google's page before I finish reading the linked article.
Doing a quick test, Google news is under 100kB of data. When I click on the "more stories" link twice, it's still only 230kB. My device has 128MB of DRAM. Why are we hurting my experience so much to save so little memory?
I'm speculating, but my guess is that MobileSafari doesn't have any code in their to optimally reduce memory usage while keeping enough data to allow the page to be re-rendered. They didn't include the ability to just purge the rendered display elements and processed bitmaps, but keep the small amount of actual text around. That would, I think, fix the problem. Also, preserving not just your current link but your browser history would also be nice...
There's a simple way around apps using too many resources and it's already built in to most modern Unices - I assume its either in or would be simple to add to OSX - process quotas. Simply give a process a hard or soft limit on memory usage. Guarantee the phone interface's memory and renice it to hell and gone and you have no more problems with runaway apps. If that was the problem they were trying to solve this would have been sorted years ago. The key driver of battery use is the radio so why is the iTouch constrained in the same way as the iPhone? Why doesn't Apple simply block access to the radio API for background apps? Or give them a radio quota?
Because that's not the problem they're trying to solve. I don't know what problem they are trying to solve, but it doesn't feel like one that benefits me.
Thanks for this, I appreciate the real user experience being blogged about.
On the Safari front: I don't know if you've profiled WebKit (or, indeed, any modern browser's rendering engine) running a scripting-heavy page for a while. I have, at least on a superficial level. They all suck, especially memory-wise. 128MB of RAM is a pittance, especially when only a fraction of that is actually available to the browser. It's a marvel it can render what it can, let alone keep track of what you were doing in more than one page at once.
I'd love to see, say, Firefox 3 or Safari 4 backported to run on your old Quadra. I guarantee that it'd make MobileSafari seem like an absolute dream in comparison.
You were given an iPod touch: that's a bit of an exception to the rule. Generally, people have gone out and bought them on its merits. Yes, iPhone OS 2.0 buggy and disappointing in places, but it's all fixable given sufficient time, and most people aren't disappointed because they weren't expecting anything more than they got (indeed, OS 1.x customers weren't even expecting what we've ended up with).
PS: This form doesn't handle non-ASCII characters. Very very odd. MySQL has a rather ungraceful hissy fit at me.
Finally, I would like to respond to your comment @John (w/o being snide):
"John: Yes, I have a tough time understanding how an optimized mobile OS and an optimized mobile browser can require over 128MB of RAM to hold on to two web pages at once. If you can find enough time in between being snide, maybe you can explain just why it takes such an enormous amount of memory."
gopi: Apple has only themselves to blame if people are complaining to them about App Store prices. It's only natural, given that the only place to get apps is through an Apple-branded official store. I agree with you about Safari not gradually reducing memory usage. I also get the impression that it's all-or-nothing with these pages, and the "all" is considerably more hefty than it would have to be.
Mo: Other applications are able to access the hardware decoders. There's an API for it and everything.
As for a special testing/approval process in the App Store, replace "iPhone" with "Mac" in your sentence and suddenly it becomes ridiculous. Why is that, exactly? I maintain that it's ridiculous all the time. Why should Apple need to do special testing and approval for an app that I want to use? It's stupid.
I'll freely admit that overall it's a pretty nifty device. I'm just not one of these people who feels a need to put up a wall of political correctness around any criticism. This post is about what I don't like, not about what I do like. I doubt that I would buy one on my own, but that's mainly because I have little opportunity to really use an iPod beyond it being an amusing toy around the house.
As for the non-ASCII characters, I went out to fix it. And... I couldn't. Nope! Won't go. Python plus MySQL plus Unicode whatever configuration my web host uses appears to be an intractable problem. The best I could do was to get it to replace all non-ASCII chars with question marks, or to cut off the post at the first non-ASCII char, depending on what bits of magic I used. Since these are less than ideal, I decided to go back to how it was and show the evil error. If anyone has good advice on this subject, I'd love to hear it.
ixpah: I don't think my comparison is hypocritical. It may be unfounded or wrong, but I'm hardly professing beliefs that I do not hold.
As for the ridiculous RAM requirements, I guess that would explain it. I would have thought that they would have put more effort into optimizing RAM usage on the iPhone. And just a nitpick, I don't think you mean "wired" memory here, as wired memory is memory that is forced into physical RAM at all times and cannot be moved out. It's mainly used in the kernel for things that must be present in physical RAM at all times, such as tables relating to the management of regular memory. It's occasionally used out in userland for things like buffers for realtime audio playback, but there's no reason to use it for web pages. If you're looking at the RSIZE or RPRVT, that's just resident memory.
Anyway, it could all be solved with a little swap! It would work fine, and would be much faster than constantly reloading purged pages. Oh well....
Even then, with only ONE application open at a time, those applications ran sloooowly. No surprise that Apple wants to discourage multitasking. Users would be furious if iPhone apps ran any slower than they currently do.
For example, here is a screenshot I just happen to have lying around of my workspace, circa 2000:
That's an original iBook, which shipped with 32MB of RAM. I most likely expanded it, probably to either 64MB or possibly 96MB, but here my memory really does fail. I'm quite sure I didn't expand it above 128MB at this point, as I didn't really have a huge amount of money then.
As you can see, I was running seven applications when that screenshot was taken, not counting the Finder. This was typical at the time. Much of the work was offloaded to other computers (see the telnet and X11 windows), but much was local too. And I can assure you that this old iBook performed just fine doing all of this, although surely not quite as well as my 7GB Mac Pro handles things today.
My first introduction to multitasking was on my Apple IIGS which had a grand total of 3.125MB of RAM. It had lots of problems as you might expect but it was possible.
Later on I got that Quadra, and multitasking got a lot better. RAM Doubler helped a lot. Yeah, it was slow, but everything was slow anyway. I could certainly do something like run Netscape and NewsWatcher simultaneously with no trouble.
Next was a PowerCenter Pro. I think this one shipped with 16MB, probably later upgraded to something a bit bigger. It had no trouble with doing plenty of multitasking, which I did constantly.
So no, I don't think my memory is failing at all. It just doesn't happen to agree with yours, because you seem to think that your experience must have been everybody's. Certainly my current computer does a better job of it than the ones I owned in years past, but that's just because it does a better job of everything.
If you don't want to multitask, don't. But please don't think that I should be prevented from doing it because you don't like it.
In the meantime, limiting applications that run at the same time has some value. I think the real problem is that Apple didn't solve the problem with the elegance that it might have. Apple didn't create a funnel for the audio and let you pick which music app would get it, then let that app do non-GUI work in the background. Apple made its own app the music app and told everyone else to bugger off -- unless they wanted to run a music app as a single-tasking application in the foreground. u-u-u--gly
Picking some tasks the phone should be able to handle and allowing users to pick things that can go in those slots might be a way to handle the problem, and keep too many apps from trying to do the same thing. (How many apps need background access to the speakers at the same time, other than for notifications?)
Ironically, there are posts urging that Apple should have vetted App Store submissions more thoroughly, and should be called to task for apps that "sucked" for various reasons. Folks are bound to disagree on all kinds of things. I think Apple's desire not to be on the list of security alerts for Trojans and the like makes it choose -- at least initially -- to use single-source applications and code signing to prevent unintended code launch. Yes, Apple goes overboard. On the other hand, is this surprising? Apple didn't want third parties developing for the phone at all ...
The eventual system we'll have on the iPhone will no doubt be different than at launch. Apple's seen other developers suffer black eyes over the difficulty to find apps and the prevalence of malware, and it's unsurprising to see Apple get hamfisted in the effort to solve this. Why iTunes can't access internet radio like iTunes can on the desktop is a total mystery. Why third parties can't be trusted to run music players is also a mystery, although third-party players presumably can't access the iTMS DRM.
With 265bps MP3s, Amazon's music store is fairly attractive, particularly for tracks Apple doesn't offer DRM-free. Does Apple fear this kind of competition on iPhones? Does Apple care about anything other than multitasking of its few preinstalled apps?
Apple hasn't been very good at preventing quality issues in a number of recent launches. I'm unsurprised about this kind of issue. On the other hand, given the performance I've seen on software 1.x and 2.0, I'm also unsurprised to see Apple convinced fully that this kind of performance protection is critical to ensure folks don't think the phone is just too weak for use. The result is, of course, a phone that is crippled to the point of infuriating developers who would care about fixing the problems properly.
It'll take time to sort out -- and maybe more than just time. Does AIM maintain connections while in the background? Is this solved with push notifications?
As far as I'm concerned Apple can place as many restrictions as they want as long as I can turn them off. If they think multitasking is bad for my health, fine, just let me bypass it. All I want is to be able to hack the device.
I also think that Apple should have vetted App Store submissions more thoroughly. Who needs five flashlight apps? But the problem is that the App Store is the only way to get software for the thing. If the App Store was just one way, and it was possible to download and install apps through other venues, then I'd have no problem with that. But since they've set themselves up as the sole source for software, they've deliberately put themselves in a tough position.
AIM does not maintain connections in the background (it is killed like any other third-party app) and it does not use push notifications (which aren't available yet). AIM uses a clever solution of simply telling the server to pretend like you're logged on for a few minutes after you quit. If you relaunch AIM in that time, it reconnects to the server and downloads all of the pending messages you were sent in that time. So it functions as though it stayed open in the background, as long as you check it every few minutes, except that it can't notify you of new messages when it's not open.
I also use Instintiv Shuffle, *and* play music *and* do VNC stuff via TouchPad Pro.
So, in the midst of all these claims of 'limited resources' I just roll my eyes.
Here's a pic of my touch:
If Apple is going to behave in a monopolistic fashion then the only thing users will be able to do is tie software to hardware, as in 'optimized for firmware 1.1x'..
Which is what I've already started do. You wouldn't know the plist or settings for iTunes to:
defaults write stop.bugging.me.about.buggy.firmware.2.Apple true
As for your rant, your right its certainly your opinion. I've been seeing this trend from hardcore techies in regards to Apple lately. I'll even coin it the "Bonfire of the Geeks". Your right Apple is locking things down. I even speculate that it won't be long till there's an AppStore on the Mac itself.
Do your opinions matter? To you they certainly do.
From Apple's perspective though the developer isn't the most important person in the equation, the customer is. The non-geek customer seeing as how Apple's entire business philosophy is to build machines for "the rest of us". Other platforms that cater to developers or even bend over backwards to them suffer in the UI realm for the users. Linux for example is free and open and completely accessible. So why does Ubuntu make me cry as a user? Windows Mobile while not free software is a lot more accessible than the iPhone OS is yet there's no contest as to which one I'd rather use as a user. It would be awesome if both sides could be completely happy but if you have to pick a side as a company Apple is going to pick the users every time.
Your rant just told us how you and many other developers hate what Apple is doing. Let me tell you how I as a user feel about it.
I love it.
I don't know why something like the AppStore wasn't thought of sooner. I used to be a Palm OS smartphone user for 5 years. Three Treos and two Kyocera smartphones. I can remember what hunting for apps was like back then and the 6-7 steps it took to install an app. The end result is most smartphone users don't install third party software on their own unless their IT department or their geeky friends/neighbors do it for them. I convinced nearly my entire office to get a Treo and only like 3 ever installed 3rd party software on their own. Why? Because you had to
1. Google for the app.
2. Go to the website.
3. Purchase the app.
4. Download the app.
5. Put the app in your hotsync manager.
6. Sync your phone
7. Pray it worked.
With the iPhone and AppStore you just have to
1. Open the AppStore
2. Find your App
Based on this incredible simplicity the iPhone will in about 2.5 years have more users using third party apps then Symbian, Windows Mobile, Palm OS and Blackberry COMBINED. Now I'm not a math whiz but that sounds like a huge potential market for developers. More than worth it to put up with some code signing and walled garden tactics from Apple.
Since the AppStore is taking off so well this will encourage Apple even more to bring it to the desktop. Once they do its only a matter of time before they (say 5 years from now) start to prevent non-AppStore application installs. I don't have a problem with it.
As for alternatives, I can totally see Microsoft adopting a similar scheme as they've been trying to head this way for the longest time anyways. So if MS adopts it and Apple is already there what does that leave you with as a developer who likes to tinker and hack just for the fun of it? Linux? Sure Linux will always be open. But whats a developer without users/customers?
This isn't a mindless fanboy defense of Apple. I totally acknowledge they're fucking over a certain class of developers. That can't really surprise anyone though, Apple's never afraid to piss anyone off if they see a bigger return from it down the road. Take a look at their retail operations, when they started with the Apple Stores 3rd party Mac retailers were pissed. Some sued. None of it matters. The Apple Stores were a smashing success and are helping to grow the company marketshare. Apple was right then and they're right now.
As for your reply to GDB you totally misread his suggestion in regards to Android. He wasn't accusing you of being in Google's pocket. He was saying you'd be happier with Android since you like to tinker and since Apple doesn't care about tinkerers in the least on the iPhone.
I also find it rather bizarre that you feel a need to lecture me on how Apple works or what they do. I've been an Apple user for two decades now. This is, I would wager, considerably longer than 90% of the people replying to me. I am intimately familiar with how Apple does business.
And then you go and talk about how gread the App Store is, and somehow decide that this necessitates locking down the system. And the best part is, you don't even address that part. You don't even mention it. You just gloss right over it, as if the distinction didn't even exist.
You know what would be really great? If I had the option to either download from the App Store or install apps manually. I simply don't grasp why so many people have a problem with this idea. If you love the simplicity and the perceived security of the App Store, nobody forces you to step outside of it. But for people like me, who prefer not to have Big Brother decide what I can and cannot use, we'll be able to make our own decisions. Everybody wins!
To put it another way: I feel like this whole situation is extremely unequal, and that people on your side are being extremely unfair. I just want everybody to be able to do what they wish. I want people like you to have an App Store where they can get vetted applications. I want people like me to be able to install software with no controls. You, on the other hand, want everybody to be like you. You want software to only be available through vetted channels. People like me can, apparently, just go hang. Why is this considered to be even remotely acceptable? How is requiring it a good thing for users in any way? I've never heard an answer to that.
Once again, from my perspective as a user, if and when Apple decides that they will allow only vetted applications on the Mac, I will jump ship. I enjoy far too many third-party applications to be tied to such a platform. I hope that this will never happen, and I hope that my prediction in the post is wrong. But if it does, I'm gone.
And as a developer, nothing could be worse than to have to pass my products through Apple before being "allowed" to sell them. I can't tell you what I'll do for that end; I may hold my nose and soldier on, I may not. I have no plans to do any really serious iPhone development. If Apple ever releases an iPod Touch with GPS support that may change; I have a particular application in mind that I would love to make for that. But for the most part, no real desire.
About GQB, you're wrong. Read the entire sentence:
"I'm sure you'll enjoy the Google vaporware when it appears, hobbled by its need to run on lowest common denominator hardware."
This is sarcasm. He's pointing out that, in his mind, Andriod must be worse than the iPhone because it has to accommodate lots of different hardware, and simultaneously ridiculing my perceived love for it. He's most certainly not saying I'd be happier with it: nowhere did anything like that ever get said.
As to glossing over why it has to be the AppSore and no other way to load apps I'll go into details on that.
There are other platforms out there that do allow people to install whatever apps they want as you are well aware. Windows Mobile, Symbian, Palm OS. The problem with allowing it, even the choice of using either the AppStore or free range apps as I'll call em is that the free range apps end up representing your device. The vast majority of those third party programs for those other platforms are crap. Apple doesn't want the same legacy for the iPhone that those other platforms have. So Apple is locking down the platform to try to establish a floor for quality. This is why we can't have it both ways.
As for things being "unequal". This is a software platform, not a civil rights issue. If I have to pick sides I want a platform that's user centric not developer centric. It would be great if we could both be happy but at the same time even if you are not happy you are are just you. There are other developers who are just fine with the AppStore and they'll happily take the place of those who decide to not 'play ball'
And in reply to 'n8' geeks aren't irreleavnt to popular culture. Its just if you cater to geeks you usually do so at the expense of the much larger non-geek market. I dispute the notion that technophiles are driving the iPhone frenzy. Regular people are. Thats why the iPhone is such a big deal. Its a smartphone for "the rest of us".
I do think that the geek crowd punches above their weight, though. Simply because geeks have lots of non-geek friends and family, and their expertise is sought for recommendations when purchasing. Apple's recent success is largely due to good design and intelligent marketing, but a significant part of it is also due to moving their OS to a solid UNIX foundation and attracting the geek segment.
NDPTAL85: Your argument for an exclusive App Store falls flat with me for two reasons:
1. On open platforms such as desktop Macs, the crappy free software never represent the device. When I think of what software represents the Mac, I think of Safari, iTunes (which is crappy and free, but hardly the sort of thing you mean), iPhoto, NetNewsWire, Adium, and all the top-flight software that people actually use. There's no reason to think that this would suddenly change just because the screen shrank to the size of a credit card.
2. Even with the exclusive App Store, Apple clearly has no real desire to limit the supply of crappy free apps. Just go look through the dregs of the App Store for a bit. There is no quality floor. If Apple were really trying to establish some sort of quality control there wouldn't be five different flashlight apps, hundreds of individual Project Gutenberg apps, or a thousand-dollar app whose stated purpose is only to show off how rich the owner is.
As for fairness, I don't think it matters what kind of issue it is. As far as I can tell, my desire (to be allowed to load code onto my own device) does not harm you in any way. But your desire harms me with no benefit to yourself. Unfair, mean-spirited, whatever you want to call it, I just don't understand it.
I just want to be able to load programs onto this thing without going through Apple. How does preventing me from doing this help you in any way?
I didn't mean to apply anything you personally, but to the general nonsense that technical people are too technical to have any influence on this technical revolution of culture.
You can add to your list. 10.5 breaks the rules for many UNIX programs. Simple things users have been demanding for years are not added; instead we get half-baked Time Machines that apparently can never be completely shut off from the user interface. I'm wondering when we'll lose Terminal.
I think the interesting thing here is that the IPod touch/ IPhone is being considered in this piece more as a portable computing platform rather than a consumer elctronics device. Certainly, the progression of such devices has been blurring these lines for a couple of years now, but with the IPod 'worlds are colliding' and an honest discussion on the pros and cons of convergence can really take place. Computers are an open platform, but necessarily complicated and relatively unreliable as a result. Consumer electronics tend to be more straightforward and reliable, but inflexible. It seems to me that you can trace people's reactions to this article back to which side of the fence they want this particular device to be.
Gaming consoles, cars, phones, etc are now starting to incorporate a more computer-like infrastructure in order to increase their flexibility but along with it many consumers have begun feeling that they are occasionnaly beta-testers for hardware (in the way that they frequently were with software in previous years on computers). Sure, the potential improvements in features are real, but it becomes tedious for most people to deal with installing firmware patches for formerly simple devices like cameras, receivers, etc. I'm not sure that all users feel this is a step in the right direction.
So, to get back to your article, I understand why you say that (for example) allowing the aquisition of software outside of the app store doesn`t preclude the majority of users from using the app store. Allowing bad software doesn`t make users install it. etc, etc. Problem is, once you open the pandora`s box of a full fledged computing platform, you inherit all the good and bad that comes along with it. You are probably comfortable with those trade-offs, but that doesn't necessarily make them appropriate for every device. I don't think that it's unreasonable to expect that most people aren't willing to face the problems that are associated with computers with everything from their remote controls to their cameras and cars. Apple wants this to be perceived as THE MOST AWESOME CONSUMER ELECTRONIC DEVICE EVER, the IPod(please note that Apple's definition of what an IPod is grows with time. Currently, it's a portable Itunes player, a phone, a movie player, a photobrowser, an internet browser, a contactbook, and calendar, and a platform for a number of internet utilities). It is NOT marketed as is a computer,a nd I doubt that's an accident. It's an appliance for a seemingly interminable amount of things that could previously only be done on a computer. The difference is subtle but important.
If they open the door, many of the characteristic problems will make their way into the device, wanted or not. An important software company will release their app solely outside of the app store, and users who really like that environment will be forced to use the other route. Users who just want a phone, or an IPod, will install an app which will drag down the device and they will have to learn about uninstalling apps, killing background processes, etc. The idea of such an appliance is admirable (in my mind), but Apple is having a certain amount of difficulty succeeding with this vision despite the limitations they've imposed. I'd rather they tightened up the restrictions, not loosen them.
You mention that the user experience, for you, is worse than it should be. You cite certain good examples of this. However, implicit in your argument is that you feel Apple released a device that can be anything, and that it should be allowed to be anything. According to what I've read from Apple, they released an Ipod, and it can do other stuff, too. Your main criticisms have little to do with the device as an IPod, but rather as a platform for your choice of music player, chatting, etc. Those programs are hobbled by the device's focus as an Apple IPod.
As an aside: You cite that in the past, developers would simply patch this kind of hole. That's true in the world of computers, but not for any other category of device. For a consumer electronics device, users would purchase a device that did most or all of what they wanted(if it existed) or live with the limitations until a better device came out. Not that I'm saying I want to go back to those days, but at the same time I don't blame Apple for making some decisions that attempt to preserve some of the stability and predictability of those devices. It's an IPod (or IPhone) first. It needs to do what Apple has promised this device can do. Their not selling it as a computer, and regardless of the fact that there are not necessarily any software or hardware limitations to prevent it from being one, the expectations are different. Additional apps will come about to make it do different things, but it needs to be reliable in it's original function. For every other device you name which has the abilities to swap music programs or have background processes, I bet you could find concessions that have been made, or a negative repercussion, that has been brought upon the device due to that flexibility (a more complicated interface, worse battery life, whatever). In other words, there are trade-offs inherent in deciding what type of device you are trying to make... adding something often means making something else worse.
If you know of another device which is both an open computing platform AND a great consumer electronics devices AND does all the things you want exactly the way you want them AND works well then I would suggest you ditch the Ipod touch and buy that device. I doubt that such a perfect device exists, however, and imaginging that making these decisions to allow the things you want will not have negative repercussions on the device is not realistic. I wouldn't normally be so harsh, but in your responses you've frequenly made allusions to the fact that adding what you want would not negatively impact the device in any way. I don't beleive that is true. With the increasing trend of most devices being simply front-ends for internet enabled computers, I hope manufacturers DO make decisions that continue to make sure their devices do what they are supposed to do first, despite the fact that the underlying technology could allow them to do otherwise.
It's nice to know that I was correct.
I can't figure out why any developers are excited about this platform, since it is one of the most restrictive platforms I have ever seen. Palm, Blackberry, Windows Mobile, etc. are all infinitely more open than the iPhone. Not as sexy maybe, but more exciting platforms to develop for because the options are so much higher.
Ultimately, I'm waiting for Android (http://code.google.com/android/). The HTC Dream seems to have all the sex appeal of the iPhone (and then some, possibly), and Android is so much more exciting of a platform than the iPhone is.
The MCP (Master Control Program) is reincarnated in Apples use of iTunes to control distribution. Just as the corporate view of personal computers (or government) has reined in the use of applications which were most useful to the employee. Back in 1983, I got my hands on the first IBM PC in the office. We ran numerous BASIC and other small applications to improve employee productivity.
But today, corporate MCP's control the applications most employees can run. Some, like my last full-time employer, finally realized even the Seattle-based OS word processing system could cause harm and turned off macros. Apple is trying to be careful, but given the effort apparently put into the 2.0 release, not too careful. Too many bugs.
Write Apple the "old fashioned way" via snail mail. It works!
PS: Look how Apple handles the iPhone or Touch on its own web sites. Not a pretty sight.
But I also don't think it's terribly relevant to the discussion at hand. My complaints about the iPod Touch are valid whether the limits are reasonable or not. There are things I want to be able to do, that any normal person might want to be able to do, that the hardware can do, that the software can do, that Apple won't allow. This isn't related to making it a consumer electronics device in my eyes because the capabilities are already beyond that point. The fact that simply opening the platform would solve many of the problems just makes it all the more painful.
To put it another way: I have no expectation of being able to install my own software on my car stereo because it's simply not built for it. But an iPod Touch is built for it, it just has artificial limitations added after the fact to force me to do so under Big Brother's watchful eyes.
As far as Apple's reasons, motivations, and justifications: I don't want to be mean about it, but I just don't care. It doesn't matter to me if Apple is doing this because they're evil or because they think that it's the best way to save the world and make everyone happy. Actions matter, not intentions. It makes no difference to me whether the iPhone is locked down because Steve Jobs sits in his office cackling every day or because Steve Jobs sincerely believes that he's going to make the best possible device that way.
You say that developers don't patch holes in consumer electronics devices. This simply isn't true. There is a thriving community of third-party firmware for Canon digital cameras, for example, not to mention the more obvious stuff like all the open source firmwares available for various wifi routers. It seems that all a company needs to do is to release a decent product and not bend over backwards to prevent external development, and third parties spring up to fill in the gaps, even when the product is absolutely not designed for it.
Lastly, your comment about the perfect device not existing strikes me as completely irrelevant. The whole reason I wrote this article is because I want such a device, and don't have it, and can't get it. The best way for me to get it is to agitate for change for the closest thing that exists right now.
The iPhone is a brand new platform. Its not established yet. The Macintosh is established and people are already used to the current way we install software on it. That doesn't mean it can't change but the fact that people are used to the desktop way does not mean its not justified on the iPhone.
As I have stated before the benefit is a less hectic system in regards to apps. Yes there's some crappy apps on the AppStore but Apple can and actually has removed the really ridiculous ones like the $999 "I AM RICH" app. How would Microsoft or Nokia prevent similar idiocy from taking place on their respective platforms?
Preventing you from loading your own programs outside of iTunes protects all iPhone users, while pissing off a small minority. Its an acceptable loss for an incredible gain.
n8: I've been a Mac user since I was in the 6th grade. Started out with Mac IIcs running system 6.0.7. I know how dedicated the Mac faithful are. Apple is smart enough to realize however that they need more people than just the Mac faithful. 50% of the people who walk into Apple Stores were never Mac users. Thats tremendous growth and Apple gets that growth by keeping things simple.
It is comical that you accuse ME of complacency and decline when you are advocating bringing that very same sentiment to the iPhone. The freedom to install any application you want is one of the main reasons why Windows Mobile and Symbian and Palm OS suck so badly. There's no standards for the apps. Some are great, most are horrible. The reputations of the platforms have suffered because of this.
Jeff Craig: The reason why so many developers are excited about the iPhone is because thanks to the AppStore they'll be able to make money. Like real genuine cash money. That stuff that developers of Windows Mobile and Palm OS apps would like to get in return for all their hard work. Are there some limitations? You betcha. What do you think the iPhone developers are going to do, return the money because the OS isn't free enough?
Android is a great platform for developers. It remains to be seen how great it will be for users. Users are the customers for developers, the lifeblood. Without them developers are just writing apps for themselves, which is ... cool and all but it doesn't pay the rent.
I really do see a schism developing, one I don't have a problem with where the more libertarian, freedom on the brain, mountain men/militia type users and developers abandon the iPhone for more open platforms. Have at it. Good luck and I hope you enjoy the new platform. Meanwhile the money making developers and the USERS will be using the iPhone.
Again I'll re-iterate that due to the ease of installing apps from the AppStore that within two years there will be more third party program users on the iPhone than on Blackberry, Windows Mobile, Symbian and Palm OS combined. How do you make a logical argument for ignoring an eventual iPhone user base of that size from a developer point of view. Because you can't install software outside of the AppStore?
I'm not a developer, I'm a user, and I do love the iPhone WHEN IT WORKS (grrrr I've performed about 10 Restores on this thing because it keeps rebooting and getting stuck at the Apple logo).
I can't help but think if Apple just allowed people like yourself who have a passion for developing/hacking/making the device better access to the whole OS, then my iPhone would work a lot better than it does now.
I'm considering returning my iPhone because it is so buggy. At least with another phone from, say, Sony Ericsson, I can actually make calls on it - at the moment I'm in my 3rd hour of 'Backing Up' my iPhone. Let's hope it finishes the backup before it decides to crash again.
Actually, I think the "I am rich" app was probably meant more as a statement, as in -- what application can you possibly imagine for the iphone that would be worth that much? So, why is that the upper limit on the price of an app? Why not make the maximum 50$? Or even 100$ (although I still can't imagine paying that much).
Besides, if Apple had better customer service they would have a way for that one idiot who bought that app to get his money refunded quickly. Instead he has to make a blog post begging for his money back.
If Apple doesn't want their phone app to be laggy and crash, they can give it realtime priority. That's what it's there for.
I think the apologists need to face facts: none of the limitations that Apple is imposing are technically necessary. And even assuming that there is some technical basis for them, I'm still hearing a lot of complaints that an iphone with apps installed crashes and reboots constantly. So even with all these restrictions, the damn thing isn't stable. "Oh but it could be so much worse!" Uh huh, ok.
I hear what you are saying. It may very well be true that there is no technical limitation for the restrictions. I'm just saying that pretty soon there won't be technical limitations for anything to run on anything, so the responsibility for making a product that does what is advertised is with the manufacturer. Obviously, if the limitations imposed aren't to your tastes, things will get frustrating for you and you might want to look elsewhere. That's a lost sale to the manufacturer, and they have to weigh that against gained sales made by those same decisions. Because of the current state of consumer electronics, Apple seems to feel that a semi-closed system will attract the most consumers... probably because it makes it easier to tell people what the device is for, and why they should buy it.
I know that for you, that's not relevant. Because you are aware of the fact that Itunes is just another music app and that it should be replaceable, you want to be able to do that. I'm not sure why you feel differently about your Ipod shuffle, though. Done a little differently, you probably could load a different software on it that might allow the shuffle to not pause when the earphones where taken out, for example.
Anyway, I think the Iphone will eventually have the capabilities you want it to (though maybe not with any more freedom to play around with the innards than it currently has). It will just take time for Apple to feel that the consumer is ready for such a uber-flexible consumer electronics device, and that they can market it effectively. I also don't know whether their intentions are good or evil, but with the product at the stage it is, I'm happy with the decisions that have been made because I think it's a fantastic device (I just wish it was more stable).
I have not bought, nor ever will, an iPhone because of the restrictions Apple has placed on it. I think the people whom I know who've bought it have wasted their money, but that was their choice, and I certainly don't hassle them over their decision.
I understand why the iPhone is such an attractive gadget, particularly now with the App Store. I don't think it's going to stay that way, and Google has already indicated that they're thinking about something like the app store for Android, but unlike the iPhone that will never be my only option to put apps on my own damn phone.
When you say 'users are going to follow the platform with the best capabilities' I'm not quite sure what you mean there. If you look at the iPhone in a straight up feature comparison it actually comes up lacking. No MMS, no cut and paste, no BT tethering...etc yet folks are still buying it in droves. So if you are alluding to folks stampeding over to Android or any other device because it has a few features the iPhone lacks then I think you miss the point of the iPhone's success, after all Windows Mobile, Palm OS and Symbian already exist and already have those features that the iPhone lacks.
The reasons for that success would be Apple's insistence on a great user interface and a solid encircling ecosystem that is centered around iTunes and the AppStore.
As for Android, things aren't all rosy on the other side of the fence. Google's been jerking around the smaller developers by not giving them access to the updated SDK that they've been giving out to "special" people. Seems the carriers don't want Android to be as open as Google had intended and its causing a lot of frustration. As it stands its easier to get cracking with Apple's iPhone SDK than with Google's Android SDK. Whether it will remain that way is unknown but I wouldn't get my hopes up.
And I agree that Google has been mismanaging the Android program since the Developer's challenge top 50 were announced in May. I think the Ars article goes a bit far, but I've publically agreed with it's overall sentiment. (http://blog.foxxtrot.net/2008/07/all-quiet-on-the-android-front.html)
And I'm not necessarily saying that Android will definitely be the Phone Platform of the Future, but I do think that it's better positioned for that than the iPhone is, due to the advanced capabilities, and the ability of software vendors to wholesale replace applications on the phone.
The iPhone UI is impressive, I'm not arguing against that. However, just about every user I know has some major issues with some part of the iPhone UI. Whether it's the tendency of the keyboard to weight keypresses based on predictive text making spelling things like proper names more difficult, the difficulty of answering calls without actually looking at the device (that unlock slider is nearly impossible to use without seeing it), among other things. The UI is good, but the lack of tactile feedback can make the overall user experience negative. But that's more of a design issue with the phone not the platform, though the two are indistinguishable on the iPhone, that is not the subject of Mike's post, so I'm not going to dwell on it here.
The real reason for the iPhone's success, particularly when compared to Windows Mobile, Palm OS and Sybmian isn't features, it's marketing. WiMo, Palm, and Symbian were all originally targeted at the Business market, and due to that these platforms have never really been suitable for the average consumer's use. The stock applications aren't what they need, and since they were never marketed at consumers, there was never any demand for consumer-grade applications.
The iPhone is the opposite story. The iPhone was not intended for business use. Certainly, 2.0 implemented Exchange integration, but that was only because those business users wanted iPhones, not because Apple specifically targeted those Business Users.
Android took the stance of initially targeting the developers. The stock UI Google provided is pretty slick overall, though admittedly not as good in some respects as that on the iPhone, but the difference is that the UI can be completely replaced, if I so choose. If the iPhone interface doesn't work for me, then I can do nothing.
The iPhone is an impressive gadget, but the choices that Apple has made to artificially cripple it's capabilities are going to be the downfall of the platform.
I don't think that it makes sense to discuss removing "I Am Rich" as if it were a good thing. If people want to spend that kind of money on a program they should be allowed to. Apple may not want to carry it, but they shouldn't prevent it from being sold in other venues.
How does preventing this kind of external loading "protect all iPhone users"? How does it protect me, for example? (Assuming you're including iPod Touch users in that statement.)
Lastly, your smugness that the iPhone will make lots of money for developers but developers for all other platforms are and will remain poor is quite annoying. Please cut it out. Developers are quite capable of making money with a wide variety of platforms, including completely open ones like the Mac OS X platform which pays my salary.
As for ignoring the iPhone user base, it's really easy. I can ignore it the same way I ignore the Windows userbase, which is approximately one hundred times larger. If people can ignore Windows (and believe me, many do, and successfully so) then ignoring an upstart smartphone with a few million users is no problem.
Owen Williams: Little known fact about the App Store. Apple takes their 30% when the user buys the app. When the user gets a refund, by whatever mechanism, Apple keeps their 30% and takes all 100% of the refunded amount from the developer. So once this clueless customer realizes that all he needs to do for a refund is call his card company and dispute the charge, the I Am Rich developer will be out a cool three hundred bucks on that transaction.
You talk about the limitations not being technically necessary. This makes me realize something. Obviously, a lot of people have been arguing that the limitations are technically necessary, thus the debate. But, as far as I can recall, I have not heard one single such argument from an expert in the field. There are lots of people who are saying that the restrictions are necessary and helpful and so forth, but those people are universally "merely" technically literate. The actual top-flight developers I've seen discuss the issue universally say that there is no technical need.
Easy: There is an enormous difference between designing a device to do something, and restricting a device to only do something. The former is normal, the latter is asinine.
Devices have been hacked and repurposed since the dawn of time. It's hardly new with computers, or even electronics. Many light aircraft, for example, fly with repurposed automobile engines. The only thing that's new with computers is that the manufacturer is capable of adding explicit restrictions against such repurposing, and they're doing this more and more. If you want to design a phone to just be a phone, fine. But you shouldn't put in time and effort to prevent me from hacking it any more than an engine manufacturer should add additional parts to make the engine explicitly unsuitable for aircraft use.
More and more, an object's identity is defined by its original purpose. I think that this notion is dangerous and wrong and should be resisted when companies try to enforce it.
I agree with you that there isn't much to gain by preventing grey market modifications. However, I wouldn't want to confuse that with offering legitimate secondary ways of doing things. To me, the fact that the Iphone is getting hacked to be jailbroken means this is already happening, but I see that you want more. You want the operating system functions and priorities to be hackable. That would be fine with me, and I suspect that it's only a matter of time before it happens, if it hasn't already (though I'm not a programmer, or interested in jailbreaking the Iphone, so I really have no idea). Good luck on your search.
What you call smugness to me sounds like denial. With developing for Mac OS X over Windows there's an "underdog" feel and a gain in usability. With developing for WinMo/PalmOS/Symbian/Blackberry over iPhone OS where's the gain? Whats the incentive other than pigheadedness? Maybe being counter-culture for counter-culture's sake? Thats why www.anythingbutipod.com exists afterall.
NDPTAL85: I wish people would quit talking about Symbian and Palm and RAZRs and such. I just don't see the relevance of them to the discussion, I never brought them up, and I've never developed for them. Why would you compare developing for the iPhone to developing for Palm? I'm a Mac developer. iPhone development, to me, gets compared to Mac development, not one of the legions of other cell phones. How hard or easy it is to develop for Symbian, how much or how little of a market Android will create, how restricted or unrestricted Windows Mobile is, all of these questions I really could not possibly care less about. If I ignore iPhone development then it will be to concentrate on Mac development (until Apple locks it down and kicks us out, which I really hope will never happen).
When I was talking about other platforms I wasn't talking about any desktop platforms. I, and most other folks compare the iPhone to other phones not to the Mac itself. I can't put my Mac Mini in my pocket and my MacBook doesn't take calls. I wasn't saying Mac developers wouldn't be able to make money, I was saying other phone platform developers would find it easier to make money on the iPhone then those other platforms. Any other reasonable person would have gotten the comparison correct. I think you are just going out of your way to be obtuse/different/counter-culture just to set up strawman conflicts that wouldn't ordinarily exist if you weren't comparing unorthodox things like iPhone to the Mac instead of iPhone to 'insert other cell phone platform here'.
Of course, as I understand it, iPhone development is very similar to Mac developer as you know a fair number of the APIs already, so certainly Apple is using the iPhone as a 'gateway' platform to bring developers to the Mac, and the Mac as a 'launching' platform for Mac developers to go iPhone.
It is unclear if the kind of code-signing requirements, limited distribution model, and remote kill switches would ever migrate to Mac OS X. It's not outside the realm of possibility however, there has been discussion for several years about this possibility, largely centered around DRM and Windows, but even discussing hardware that contained such locks.
The iPhone sets dangerous precedents, and these are precedents that simply don't exist on other platforms (save for gaming consoles). In the long run, such restrictions always hurt the consumer, unfortunately most consumers are so ignorant of the path that they're starting down that it's very, very hard to say if things will change.
As a user, for me, the iPhone is not an alternative to any of those other platforms, simply because it costs too much (and most of them do too). I make calls on my RAZR. I do most of my mobile computing on my PowerBook. If I hadn't been given a Touch then it would be all, rather than most.
As a developer, the iPhone is not really an alternative to anything. It's a potential addition to the other platforms I work with. Whether it's worth my time will depend a lot on just how possible it is to do the things I want to do with it.
For the developer community as a whole, all of these other platforms which allow third-party apps, both desktop and phone, have communities of developers who make a profit in that space. The size of the market may vary, the size of the profits may vary, the capabilites, diversity, restrictions, and many other things may all vary, but the iPhone brings absolutely nothing fundamentally new to the table. The App Store is not some amazing revolution in software distribution that magically enables developers to make money in this area where nobody ever could before. In this respect the iPhone isn't doing anything new at all, it's just doing it to new people.
Nor is the AppStore the first central repository of mobile software. Take http://www.handango.com/ for instance. Its been around for years and also has a split with developers for revenue. I think its a 60/40 split instead of Apple's 70/30 split.
What makes the AppStore different though is that already more people have probably used the AppStore than all the folks who have ever used Handango over all the years of its entire existence. How many people even know Handango even exists? Handango itself has to do advertising. The AppStore comes pre-installed on every iPhone and iPod Touch sold and as a software update to all pre-existing iPhones and iPod Touches. It also is on every person's iTunes software. So this means in addition to a developer not having to deal with hosting their own website or maintaining their own billing system and customer data base (services they get from Handango as well) they get FREE advertising. I'd call that revolutionary. Then there's the fact that using the AppStore is a lot more easy than using Handango. Ease of use = more frequent and lasting use.
Its funny in a way. Lots of people like to point out that X company or Y company wasn't the first to do feature Z whenever such companies hit it big with whatever it is they're doing. Doing it first is cool, in a limited way. But if you are unable to capitalize on being there first its as bad as not doing it at all. Apple itself learned this lesson when it created the PDA market with the Newton and then killed it leaving the market entirely to Palm for a few years till MS and Symbian got on the scene. Apple went back to the drawing board and perfected it and came back to the market with the iPhone. The rest is history.
Disclaimers: I'm not a programmer, and I haven't read the entire comment thread above.
I believe Apple to be capable of doing the wrong thing by its users - intentionally - when driven by the bottom line. I wish they'd take a longer-term "do no evil" -ish approach to making boku bucks... but that's another comment for some other day. I can't imagine the next Mac OS eliminating background tasks, as some here fear (who the hell would buy a computer that can only do one thing at a time??), but I do perceive an alarming lock-it-down trend.
I was upset when I shelled out twice as much for an AirPort Express as I would've for any other basic small home office wireless router, because of Airtunes' ability to stream music to external speakers -- only to discover it ONLY streams output from iTunes. No other audio output whatsoever, so if I want to watch a DVD, or listen to audio content from the web, I'm either stuck with my MacBook's built-in speakers or I must schlep my external speaker set away from its place near the AirportExpress and plug in all the cables all over again... My built-in speakers are fine for their intended purpose, and happily my speakers are fairly portable, but this isn't at all what you'd expect from an expensive router given the promise of AirTunes, or wireless networking more generally.
Thing is, the technology is built in to the software, so it would be possible to extend AirTunes' functionality. (Rather than build the interface into iTunes, build it into System Prefs, perhaps with a spiffy shortcut in the menubar next to the AirPort network menu, instead of building it into iTunes...)
But no. There's another Apple product that does nearly what I'm describing called AppleTV. The only conceivable reason, to me, that AirTunes doesn't output any audio its users want is that it would reduce the need to purchase this other Apple hardware package. In this instance, hardware is clearly not the limitation (I can run photoshop + three browsers + stream music wirelessly without taxing the system too much). So here's a less ambiguous instance of Apple's music business betraying monopolistic motivations.
But again, I don't really care about all that very much. Fact is that the iPod Touch user experience sucks. This, in turn, is a direct consequence of the fact that the iPod Touch developer experience sucks. And this, in turn, is because Apple wants it to suck.
Mateo: I'm intimately familiar with Apple's AirPort Express, having done significant work on Airfoil 2 and the majority of the work (including the full protocol reworking) on Airfoil 3.
First, let me say that not making AirTunes system-wide is actually a very reasonable move on Apple's part. Low-latency network audio is incredibly difficult to achieve. AirTunes has a two-second delay. This makes it worthless for games, difficult for video (you need a special video player) and in general bad for audio in general.
However, I also don't think that AirTunes should be closed the way it is. Airfoil only works because the protocol was reverse engineered. Maybe it shouldn't appear as a standard audio device, but neither should it be closed and available only to iTunes. I have to admit that this restriction did open up a nice market, though.
But again, there's this difference in intentions. AirTunes is really only closed because Apple didn't do the work to open it. They created a protocol, they created some software to work with it, and that was the end of the story. This is very different from something like the iPhone where they built the system, did the work to open it up, and then added restrictions after the fact.
In any case, I see your point about this being different than opening up and then adding restrictions, as in the case of the iPhone.
The big take-away for me is the fact that Airfoil exists. Fantastic! Wondering why it's never come up in my searches for Airport Express hacks before today...
::goes to get piggy bank to buy Airfoil::
So, there is no technical reason to not let iPod/iPhone do the same.
Of course, because the point of this rant is not that the device can't do something, but that "someone" doesn't want to let the device do it.
Denilson: Thank you, that's my point exactly. Music playback just is not that intensive, especially when you have a hardware decoder like the iPhone does. The CPU cost is essentially negligible, as is the memory cost. A 5 second buffer (for streaming audio) of CD-quality sound costs less than one megabyte. If you buffer the compressed data instead then it's 10-20 times less than that. Even the poor embattled iPhone ought to be able to spare a couple percent CPU and 80kB of RAM in the background.
* Jailbreak it to firmware 1.14,
* Move the /swap/ off that dorky 300 meg /var/private/ partition to /var/
* Install a messenger app from Installer.app or Cydia.app.
You would be *amazed* how much your ipod screams once you do this. If I didn't know better I'd think that the Apple Devs know VERY LITTLE of *nix internals. Given what you've written I can't believe we own the same device. My is quite snappy.
And, for the record, I have no desire to cripple my rig with firmware 2.x. Also, FWIW, I cite your article--
--in my own diatribe.
I agree with your comments wholeheartedly.
I own a Palm Treo 755p, and while this OS is a bit dated, and doesn't have the grace of the iPhone, I enjoy the fact that I can develop and install anything I want, and can use background processes. The Treo has memory limits, and I find that if I try to run streaming audio (through pTunes) and my Garmin MobileXT software at the same time, it can just barely do it... but receiving a phone call at the same time will cause the phone to completely reboot.
Probably not the user experience Apple wants their customers to have, but they should leave it up to the customer to decide. :)
second, the point I'm about to make isn't about how great "Option B" is- we can all agree that the iPhone is a wonderful device, at least conceptually. That being said...
I was able to do just about everything that you wanted to do on your iPhone (simultaneously surf the web, listen to music, check email, and use IM) over five years ago on my smartphone.
If it was possible then, there's no excuse for it to be impossible now.
You don't want a phone from Apple (and you dont want to discuss phones), fine. So you have an iPod. A device meant first and foremost to consume media content on, preferably and by design in conjunction with iTunes. You don't like iTunes either, OK fine, and prefer something else (never heard of that thing before, but the letters AOL in its name do not exactly inspire confidence in my book). You basically try to use the device like a desktop computer and it wimps out on (as I understand it) technically demanding websites that emulate functions not covered by built-in or 3rd-party apps.
What exactly did you expect? What did that iPod fail to do that Apple promised it could? Did they advertize a pocket computer that runs circles around G3 iBooks? No, they sell a media player (or, of late, a gaming platform). Your talk of "crappy platform", "thumbscrews" etc seems totally out of line to me. Would you try the same stunts on a Zune?
Just because Mobile OS X is related to/derived from the desktop OS doesn't mean Apple are under any obligation to make it accessible to any nerdy hacker out there (no offense intended). Apple's art has always been to design for simplicity and ease of use, and if lagging in sheer performance is a price for that they are willing to accept that. To forfeit that proven approach with the software for their probably most important strategic product still in its infancy might prove disastrous in the end. So they clamp down on it and they have every right to do so (at times poor communication notwithstanding). More so as the product is already quite unique.
You say the thing is "mine" to do with it as you like. Of course it is - if you hack and modify it yourself. If you want a ferrari with six seats and a forklift, don't expect it from the manufacturer.
The other thing ("My big fear - what makes me write this article") is certainly food for thought and I gained quite som insight from the discussion, but it would have fared better as a separate post.
This is the essence of my complaint: Apple put in extra effort to cripple this device beyond what it would otherwise be capable of. If Apple had done less then I would be able to do more. If it were just a music player then I wouldn't care. But they went through the trouble of giving it a fully capable operating system, and then took the time to put in specific prohibitions so I can't do what I want with it.
All the stuff I complain about could be fixed by third parties if Apple would let them. Since Apple won't let them, the responsibility shifts to Apple.
Also I have to say that I think it's hilarious that wanting to chat while reading e-mail and listening to music qualifies as using it "like a desktop computer". Maybe you use your desktop computer in such a trivial manner, but my desktop typically has 30+ applications performing all kinds of tasks. Doing three things at once hasn't been "like a desktop computer" to me for at least a decade.
By specifically restricting third-party apps to run in the background, Apple is inherently stating that their application suite provides all the background functionality users would want; this is clearly false.
I would never switch to a 'smart phone' platform that denied me functionality that it was technically capable of having simply because the manufacturer decided to say 'No, you can't do that, because I am smarter than you, and doing that will be bad for your phone.'.
This is how the process goes:
1. Google for application (on Treo).
2. Go to website.
3. Click on "prc" file to download.
4. Accept into Applications (at which point it is ready-to-use).
Now that might not be as slick and integrated as the App Store (since we have to look for the software first), but it doesn't seem that terrible.
I'll also add my favorite other feature: Free (custom) ringtones since 2005 (I just needed to email myself the music clip in the right format and open it in VersaMail).
For all that the iPhone is slicker and prettier (and has a few features I like - like integrated Wifi) I can't help but feel it is a significant step backwards.
Ask 100 iPhone users if they miss the ability of their apps to run in a background process and 99 of them aren't likely to know wtf you are talking about. They don't worry that they are, for the most part, limited to doing one thing at a time. For them, that's just the way it is. Look at the way iPod crushed all competition to become the market leading media player, even while there were many other devices that had better feature sets (FM radio, recording) and were not tied to a monopolistic music store/desktop app. The success of a consumer product is driven more by the emotional connection to the brand than by the the technical features of the device. And it doesn't hurt when the media acts as if Apple just invented the thing.
Of the subject, but Mike... I'll trade you a ride off the Washington coast in my sailboat for a ridgerun in your sailplane!
Unfortunately I have a 3Gs and I can't say it has really changed any.
Still the same
Comments RSS feed for this page
Add your thoughts, post a comment:
Spam and off-topic posts will be deleted without notice. Culprits may be publicly humiliated at my sole discretion.