iPhone 4 News Roundup
We have a slew of iPhone 4-related stories this morning, so I'm lumping them together for easier consumption/ignoring, depending on your personal feelings on the subject.
Here is a blog entry proclaiming that iOS 4 multitasking sucks and why. Here is a sketchy summary of privacy violations by Apple and AT&T — apparently they are reporting back jailbroken phones. Skunkpost has a story about the lines and sales of the new phone. But the big news of the morning is the reception problems that apparently only affect people who hold the phone in their left hands.
Goatse.
But seriously folks...the new iPhone hardware and many of the additions they are making to the OS are really great...but I'm sorry, I still can't get past the walled garden. Again, I know the app store would have everything I would likely need, but I just can't accept being told that an application would be inappropriate for me to use. And yes, I know I could just jailbreak it...but that's not the point. I don't care that I can get around it, I care that the walled garden exists in the first place. As a consumer, the best I can do is vote with my wallet.
This is only my opinion, I don't speak for others, YMMV, etc applies.
Living With a Nerd
Apple prefers if you use your phone with both hands, in particular while visiting certain web sites; it keeps you out of trouble and prevents the moisture sensor from triggering.
The screens have yellow spots. Apparently these "retina" displays have cataracts.
Steve Jobs doesn't care about left handed people. - Kanye
They couldn't justify cutting my Apps out of the market place. I had left-handed solitaire, left-handed minesweeper. I was starting a smorgasbord of left handed products. With no justifiable reason to keep me out, and with all the bad press lately about them selectively choosing their App store, they've decided to lock me out at the hardware level.
Those dastardly fiends!
Perhaps Apple (and others) need to shift emphasis back towards the actual calling features of their phones. Who wants a phone that drops calls if you hold it wrong ? It's great that it has new software, etcetc, but any phone I would consider buying needs to include basic features like better than average reception, a decent sounding speaker/mic, and most importantly, does not drop calls if you touch it in it's no-no spot.
The multitasking complaint seems kind of off to me - he complains about the tray being "cluttered" after you go through a few apps because they are automatically added to the tray. But the tray is just four apps wide - how can you have clutter in only four items? And he complains he needs to press and hold to quit an app - but also complains most apps are just suspended. So then why quit an app? It's not doing anything and will be removed if you are low on memory.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Apparently Apple's testers discovered some new way of using phones that does not include holding it in your hand.
Also;
You mean you have to use your hands?
That's like a baby's toy!
Seriously, is anyone else getting tired of the daily Apple story on the iPhone?
I get it, it's tech that people like, but do we really need daily updates on it? This site tends to be a heavy linux advocate and there is a nice writeup of the EVO 4G on Ars today. Not a peep of that though, MORE APPLE!
I would be curious about the conductivity of certain coatings. I personally hate covers for phones, as they add bulk. As a person with nickel allergies, I have to coat belt buckles and the like with acrylic. I wonder if the same would help this antenna. If so, then they could do something similar in the manufacturing process. They do similar coatings for fishing rods that weather well.
iPhone has preemptive multitasking, too, it's just not fully exposed to applications.
However, a misbehaving application cannot prevent others from running, which was the case with true cooperative multitasking OSes, such as Win3.x.
The new iPhone actually does address a lot of the calling complaints.
If you read the engadget review, the metal external antenna really do improve signal and ( for them) eliminated dropped calls.
The speakers are supposed to be improved for hearing people, and the phone had two microphones now so it can do noise cancelation.
Basically, they did a lot of things to improve call quality.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Comment removed based on user account deletion
Apparently the author who wrote about multitasking hasn't actually tried it out yet, because he's off-base. While the app tray does quickly get cluttered, as he mentions, the lack of true multitasking is exactly why this doesn't matter - you can have as many apps down there as you want but they're not actively consuming resources. Where he's really off is in his implication that it now becomes difficult to find your apps to switch back to them. Look, if I'm playing Peggle and then use 4, or worst case 8, apps after switching out of Peggle - mentally I just won't even think to look in the task tray for it anymore. I just can't keep track of every app I've used in my brain. The tray will quickly let me switch back to my most recently used apps, which is really handy - but when I want to switch back to the middle of my Peggle game a week and 20 other app uses later I... and this will sound crazy... click the Peggle icon wherever it's located on my main screens. The author seems to think that the only way to resume an app is from the task tray, and that's simply not true.
Granted, I had some uncertainty about how this would work, too. But I grabbed a new iPhone and tried it out to see exactly how it works, rather than hopping on the interwebs and writing up an article with uninformed assumptions which then ended up on the front page of /.
Additionally, he goes on to say that developers have to explicitly add multitasking. While that's true for using the background services, my understanding (and correct me if I'm wrong folks, as I have this on good authority but haven't actually tried it) is that for the base level of background freezing, which for a majority of apps is all that's really needed, all you have to do is recompile the app against iOS 4. It's not automagic, but it's really not so bad as the author implies. The worst bit about it is submitting to the app store, but it should be pretty painless to get to that point.
Granted, it's not true multitasking. Everyone knows that by now. But frankly, I'd rather the phone always be responsive and maintain its battery life than have true multitasking for the vast majority of the things that I do and have no desire to have to actively manage my apps (which contrary to the author's claims, I don't have to do). Maybe some day I'll change my mind on that. Maybe right now this level of multitasking isn't good enough for many people out there. And that's cool, we have options now - get one of the many excellent Android phones. But please don't write a blog post of inaccuracies.
From other platforms, we know that is not a major battery drain
The people who make those platforms would beg to differ, Larry Page himself said that poor battery life in android is usually down to multitasking.
From other platforms, we know that is not a major battery drain, and it's perfectly possible for a scheduler to do automatically whatever Apple's special APIs are trying to achieve.
Um, even Google acknowledges that multitasking hurts battery life. As a geek, that's an acceptable tradeoff because you know about it. For the average consumer that can barely distinguish the difference between Li-Poly and Lipitor, all they'll know is that the battery life on their iPhone sucks and Apple is totally to blame.
With multitasking, you could run local file servers and local web servers. You could create new applications delivery platforms, local music servers, and a local file system and file manager.
With the iPhone, Apple succeeded in selling a smartphone to consumers by hiding all the complexities of a smartphone like the filesystem and a file manager. And you want to undo all of that? Maybe perhaps Apple didn't design the iPhone for geeks like you.
Well, there's spam egg sausage and spam, that's not got much spam in it.
From the TechWorld iOS4 multitasking article in the summary:
Waiting for a YouTube video to buffer over a 3G connection? It won't go anywhere unless you're staring at the loading screen.
Honestly, doesn't this also happen by default with applications on other mobile OS'es like Android, unless the developer specifies otherwise in the app's code?
From what I understand about the Android application life cycle under normal circumstances, once an Activity (the app's presentation layer, what you interact with) is completely obscured, the application's host process becomes a "background" process. Meaning, the app's Activities aren't visible and there are no Services running, thereby making the app's host process one of the first processes to be killed off so to allocate resources. (Service example: a media player running in the background while you're actively using another app). For an app's host process to remain in an active state, the app must have a running Activity, Service or Broadcast Receiver. In my following the Android dev tutorials, I've seen that only the Activity is absolutely required - Services and Broadcast Receivers are added only when you need them for your app to fulfill it's intended purpose.
So, in the case of buffering the YouTube video, if I were writing an Android app to do just that, I'd have to have explicitly created a Service to keep buffering the video while I used another app. If I didn't create a Service to keep buffering when the app's Activity exited the active state, then my app would do just what the article says - the app does nothing until I explicitly return to the app.
Am I missing something?
This is a completely nonsensical argument. Apple already have complete control over applications that are available through the app store
That's an obvious but wrong response. Apple also wouldn't have to declare any explicit prohibitions on scripting languages, they could just turn down applications, but the resulting uncertainty would be bad for developers. Therefore, when Apple doesn't want unrestricted multitasking, they need to communicate and implement that somehow in a way that doesn't create hazards for their developers.
By defining a specific set of APIs and laying down the rule "no multitasking except through these APIs", Apple gets the restrictions they want, developers get clear rules to follow, and users still get the amount of multitasking Apple is willing to give them. In different words, the existence of these extra APIs codifies business strategy.
If you have another explanation, let's hear it, but Apple's explanation is nonsense. Whatever technical goals Apple says they want to achieve, they could simply achieve through small modifications to their scheduler, if need be, on a per-application basis, with much less work for themselves and their developers.
MuscleNerd, one of the, if not THE foremost Apple device hacker out there has implied he has done code inspection and just through common sense says its all BS.
Oh. Well that settles it then. If "MuscleNerd" tweeted it, then that's enough for me.
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
I think you are confused. Pre-emptive multitasking means that the kernel (technically, the scheduler) decides when a process runs and when it yields; the process has no control. In cooperative multitasking, there is a system call which the applications must use to yield control, and the scheduler simply decides which task gets control next (but not when it will yield). The iPhone has full pre-emptive multitasking (it, too, is built on UNIX, BSD in this case), it just limits the applications' ability to use it if you are publishing through the app store.
-- Two men say they're Jesus. One of them must be wrong. - Dire Straits
I posted this as a comment on the multi-tasking article, but I'll restate it here with a little more verbosity.
Ever since I've had an iPhone, I've wondered what the obsession is with multitasking. I couldn't really think of any two *productive* things to do simultaneously on a phone. On a PC (by that I mean a desktop, laptop, netbook), I can appreciate the need to go do some other design work while you render a huge video, or burn a DVD, or OCR a huge document. On a phone, I can't, off-hand, think of much CPU-intensive stuff that can run for an extended time without needing to stop for user input. Because of that, productivity is lost because you're having to stop and switch apps all the time. The meaning of "EMACS" is true. Editors Make All Computers Slow. If the device is waiting for user input, then its speed (or multitasking ability) is moot.
Wanting to Pandora to keep streaming while you tweet is *not* a productivity enhancer; it's merely letting you be a little more streamlined about wasting your time (kinda like texting while you watch TV). Now, I know I'm sounding like an old "all work, no play" curmudgeon about this (and get off my lawn, too!). Don't get me wrong. I agree that being able to keep Pandora going while I do other stuff is a nicety, but I don't think that something like that is such a "must have" thing that it warrants all of the articles and posts we've seen demanding that Apple make significant changes to the OS and its API in order to make it possible. I'd never once make the argument that the iPhone OS has some glaring hole in its functionality because I can't listen to music while I'm sending a text.
Yet, Apple caved and gave it to us anyway. So now, the dude who wrote the article is mad because he can't go do something else while a YouTube video loads. Breaking story: If you're visiting YouTube, you've already decided that your time isn't valuable. I read another article where a guy was mad because he couldn't go switch to something else in the 5-6 seconds while a page loads in Safari (probably while he's driving, too).
My position on full background-execution multitasking remains unchanged from the first time I tried a Windows Mobile phone after being a Palm user for years. With a small device like a phone, it's just too easy for a user to rack up this huge array of crap running in the background without realizing it. And that, potentially, has a greater impact on your productivity since it will gobble up the power in your battery. With a PC, you've got a task bar or a dock to see what you've got running. In addition, there's a one-click way of shutting off the app. Whenever a Windows Mobile user would have me look at their phone to fix it, I'd find that they had a half-dozen things still running: control panel, mail, notepad, contacts... all of these things were things where they had finished their work with those apps, but they either didn't realize that they had to close the apps or they were too lazy to press "Menu->File->Quit". Instead, they just went back to the home screen and started the next app they wanted.
Personally, I think that Apple's compromise is a good one. If your app doesn't have a compelling reason to keep executing (like streaming audio, getting GPS updates for navigation, etc.), then the most your app really needs is just to have its state saved for quick re-launch.
iPhone 4, can NOT Upload 720p Videos to youtube direct from phone! What a Shame see http://forums.macrumors.com/showthread.php?p=10309456
Your face is wrong :p
But seriously though.
If you think of the iPhone as an appliance and not a computer, then it makes perfect sense.
I often hear this argument, and my response is always the same: it doesn't matter how you spin it, it doesn't matter what you call it, it doesn't matter what you "think of it as"...the fact is, Apple offers a restricted product while others offer an unrestricted product. I have a choice as a consumer, and I've made one.
Living With a Nerd
From a developer's perspective, iOS is the platform to beat.
Median iOS developer income per app: $682 per year.
Da Blog
Try again. iPhone apps can't call the equivalent even of Windows 3.1 yield(); - they either run in the foreground, or they're suspended - like the DOS 5.0 task swapper.
Don't be disingenuous. The parent was correct; iOS has a kernel with a preemptive task scheduler, and there are any number of API calls which explicitly yield or do the moral equivalent (any blocking I/O API call). Even while an app runs in the foreground it is always being multitasked with other parts of the system.
Also, by definition tasks in a preemptive multitasking OS either run or are suspended, at the operating system's whim. The difference between that and a system like DOS 5 is left as an exercise for the reader.
The few exceptions need to take advantage of a special api call for music, of all things.
And other 'special' APIs for other things. Apple has tried to come up with a comprehensive list of tasks which can usefully be backgrounded on a smartphone, such as messaging, downloads, and yes, audio playback. You simply register a thread (process? dunno the exact details) as providing such a service, and the OS allows it to continue to receive timeslices (assuming it's not blocked on I/O) while your main application is held suspended because it's not in the foreground. There are significant limits on what you can do in that context, but they all make sense in terms of limiting power consumption.
If you want a real multi-tasking OS on your phone, you won't get it from Apple. Not this year, and not next year. They're already starting to fall behind in the features race.
Oh please. You're smart enough to know that iOS is built on the Darwin kernel, and what that implies about its multitasking capabilities. All the limitations are deliberate and carefully thought out. It's undeniable that they're there because Apple thinks they will provide a better overall user experience, because the path of least effort for Apple would have let users multitask anything on day 1 of the app store going live. Instead they went to the trouble of doing extra work to restrict it.
Argue against the design of iOS 4's carefully limited multitasking if you like (oh no! That would require you to actually inform yourself! Can't have that), but pretending it's not "real" and that they're falling years behind is just trollish.