The iPad’s barely out the door, and Apple has already announced an upcoming iPhone OS 4.0 event – for April 8, which is coming Thursday – to be held at Apple’s Cupertino campus. Similarly, Microsoft sent out mystery invitations today for an event held in San Francisco April 12.
Apple
So, what can we expect from Apple’s iPhone OS 4.0 event? Well, obviously, I haven’t a darn clue, but I can say what I would want, as an iPhone user. First of all, and most importantly, I want a decent notification system. Currently, the iPhone employs archaic modal dialogs as notifications, which are extremely disruptive and annoying.
I’d also like something of a decent home screen. I dislike how on the iPhone there’s no central location where it displays upcoming appointments and other relevant information. This home screen can easily be placed as the left-most “desktop”; the Spotlight search field would be integrated into this home screen as well.
Everybody expects version 4.0 of the iPhone OS to include support for multitasking, one of the most often cited shortcomings of the device. I don’t think this feature is as simple to add as many seem to think – the entire iPhone and all of its software have been designed with single-tasking in mind, so Apple would need to make sure applications don’t misbehave (and there’s well over 130000 of those) as well as come up with a satisfying user interface. Rumours suggested an Exposé-like task switcher using icons (instead of windows), but that sounds cumbersome to me.
A bigger problem is most likely the fact that the iPhone has relatively little RAM; the original and 3G models have 128MB, and the 3GS has 256. Compare this to the Nexus One and Palm Pre Plus; 512MB, both of them. I think that if multitasking arrives, it will be restricted to a new iPhone model, with more RAM. It just doesn’t sound very Apple-ish to confront users with “out of memory” error messages.
Microsoft
Microsoft’s press event is shrouded in a lot more mystery. There’s no subject – just a cylinder with a rolled up message in it. All it says is “It’s time to share”, followed by the where and the when.
This invitation could mean one of several things. First of all, it most likely won’t be about Windows Phone 7 (they dropped the “Series”). This operating system has been announced and demonstrated often enough, we know when it’ll be here, and there’s little left to announce.
Another possibility – one that would amaze me – is Microsoft’s mysterious “Pink” project. This project is supposed to deliver the follow-up to the Sidekick phones, but nobody really knows what software it will run. It surely won’t be based on Windows Phone 7, so what else will it be? Does it really make sense for Microsoft to introduce a new mobile platform, just when they got everybody excited about Windows Phone 7?
The last remaining possibility is the one that has me the most excited: Courier. Could it be that Microsoft will unveil the Courier dual-screen tablet, concept videos of which have made some serious impressions on the web? It would be bold – so short after the iPad launch, and in San Francisco no less – but it remains to be seen if the Courier is ready for a big unveiling.
I really, really hope it’s the Courier.
I am guessing it is project pink, however I think the more exciting possibility is this new revolutionary zPad idea… a series of 9 zune’s glued to a cafeteria tray. Now you can play zune games, listen to music, browse the web, on this new multitasking platform and revolutionary new device….
Edited 2010-04-05 18:25 UTC
Strange graphic design in the Apple ad. I’ve not seen anything quite like that from Apple before. I really do wonder what they’ve got cooking. I, like Thom, believe that Apple didn’t care for multitasking right from the beginning so it’s going to be a job baking it in elegantly, if at all; and that’s if the majority of users even care. I believe that they will provide more background daemons to utilise in the public API so that the whole app doesn’t have to be kept around in RAM, but just some sub-functionality that the OS can manage itself.
Microsoft? No idea. Which is good. Maybe they will demonstrate something physical for once.
They’ll do it one of two ways:
An app can run in the background, but its RAM is allocated and, if the system runs low, it dynamically robs the bg apps until it has to kill them.
Alternatively, like virtually every other system out there, an app can suspend itself by writing its state to the flash memory and resume on launch, including state. It’s new-school swapping. And it’s not at all a new idea. It’s not true background processing, but it does keep apps “running” while other things are in the foreground.
Providing the two, background daemon capabilities and freeze state, would probably be the best. A good deal of apps already save their state in any case. The one other thing this would have to have is a way to see which apps’ background services are running and kill them, and a way to visually indicate if a particular app has background services running. They could do this via the icon badge I think, you could see if an app has background parts running and there’d be a gesture, or maybe an option when the icon is held, to close it.
enough, how about some i5 macbook pros please!
Can the Microsoft Invitation be for Slate (JooJoo,iPad competitor) ?
I really hope it’s the official unveiling of the courier. I could be wrong and I might be, but I really hope I’m not.
I hope for something like this to be announced as well, but the little voice inside my head is saying don’t get my hopes up on that yet. Since we’ve only seen concept videos, I’m not sure if they would reveal a product like that just yet. I’m thinking late 2010 or early 2011.
Well, considering that April 12th is the release date for Visual Studio 2010 I guess its related to that
I was thinking the same, but VS launch is in Vegas:
http://www.devconnections.com/shows/SP2010VS/default.asp?s=144
CNET’s Ina Fried is saying it’s confirmed as “Pink”.
http://news.cnet.com/8301-13860_3-20001772-56.html?tag=mncol;posts
Gizmodo had leaked photos of Pink’s OS last month:
http://gizmodo.com/5509818/microsofts-announcing-something-on-april…
Edited 2010-04-05 20:38 UTC
… I have a reason to renew my iPhone developer account 😉 iPhoneOS 4.0 BETA (assuming it still supports the 3G..)
If Thom is correct about Apple not providing multitasking for hardware beyond the next major version of the iPhone/iPod Touch and iPad: perhaps the machines with 128 MB RAM won’t be supported, I don’t know, but Thom has this idea that a huge amount of RAM is more important than it really is. Question: how many applications take up even a majority of a 128 MB RAM iPhone’s available RAM? Now, how many of those are applications you’d never run in the background anyway (say, FPS games)? If you can’t do music playback/streaming apps within a few megs or so of RAM, or an IRC client or something related to similar things, types of software that are typically left in the background, then you’re probably really hosing things up: the biggest issue for something like an IRC client isn’t the size of the code or the amount of data it needs to hold in RAM at one time, but all a matter of GUI resources for things like nice graphics and sound effects. Well, guess what: all those things are readily cached and executed from Flash or a disk of some type!
At the moment, I don’t currently have a system I can run BeOS or Haiku on to do this test, but I’m sure there’s someone that can do this test:
Run Vision, the IRC client, and note via top or ProcessController what the memory footprint is for resident private. Now, it’s useful to note: Vision has a rather simple GUI with very little in the way of graphics, and it isn’t nearly as fully-featured as other IRC clients, but it gets the job done, done well, and works easily enough. While not “perfect” it is rather well-written, really, and practical choices were made. Now, if you allow a few megs for the nice spiffy graphics any version of OSX (desktop, server or iPhoneOS mutation) would use, add that to it, you’ll find a very interesting thing: it doesn’t really require all that much memory. Another memory statistic will likely stand out: virtual reserved. Depending on the OS and memory allocation policies, this may be far larger than what’s actually being used by the app at any given time: an application calls to allocate a small chunk, but the OS reserves a chunk far larger than that in the virtual address space, and until an app requests more, say, to resize it, most of that is never touched at all: this is how most operating systems work these days: they allocate a much larger chunk of virtual address space for each OS call to allocate memory than is required, and that’s reserved, and, unless there’s explicit application memory management of heaps and so on, that’s often not returned to the pool until that app terminates, but very little of that is actually paged in. If an app is written correctly (and the OS allows it that sort of control) you can very tightly use available actual RAM and virtual address space and not overcommit: this is far more practical to develop applications when you have a known-good garbage collection system in use, and everyone uses it properly. Well, at least with the current Mac version of OSX, that all exists already throughout the system: things aren’t quite as complete on the iPhoneOS side of things as of yet.
There is currently another iPhoneOS policy/limitation that exists, and why, I don’t really know: allowing third party apps to use dynamic libraries. Why is this so valuable to have? If you structure an application correctly, you only need to have a small portion of the code (and data) in memory at any given time: you can swap out code and data as required, and maintain a fairly small working set. This is something that was incredibly common when MS-DOS was a common dinosaur that roamed the earth: a lot of the more complicated applications simply wouldn’t fit into RAM with full functionality without either using dynamically linked libraries, or overlays. Guess what: a heck of a lot of complex software (while not being bitmapped-GUI heavy) was made to run in the 640K limitation, and smaller! A properly written MVC application is actually well-suited to structuring in a way for this to work, at least for most applications. Combine this with garbage collection supported by the frameworks (where a huge portion of memory and resources is used and is dynamic) and perhaps more detailed heap management available to applications, combined with NSCoder serialization of state, and there’s no reason why most applications can’t have a major foreground application that’s using lots of resources, and smaller footprint background applications that don’t need to have all their code that deals with GUI stuff or many other foreground tasks in memory at the same time: it’s all feasible, and nothing that’s unknown by developers with sufficient experience on how to do it. Why Android and WebOS don’t do it, well, that can be debated, but if nothing else, setting up a whole system for properly supporting all that takes time, and time to market is golden: the decision was made to include more RAM at the start, rather than try to shoehorn so much into a smaller amount of RAM because the system hasn’t been optimized for size yet, and the optimization was for development time.
No application can come close to taking up all the 128 meg of ram in a 3G iPhone. They get no where near to being able to use that much.
Depending on what has been done previously with regards to reading email and browsing with Safari an app can have as little as 10 meg to play with, possibly even less but that is the lowest I have seen.
I just can’t see apple not including multitasking in this next update. There are issues to work out, but removing one of Android’s biggest selling points. And I do thing a expose-like graphical task manager would kick ass.
Well after hearing this news, really it seems to me as well that it could be the official release announcement for Visual Studio 2010
Well after hearing this news, really it seems to me as well that it could be the official release announcement for Visual Studio 2010.
For more information
http://www.cellhub.com