Sunday, January 28, 2007

A Modest Proposal: The Retro iPhone

To many of us the news that Apple's new phone is going to run OSX, the same operating system as the Macintosh computer, sounded like a dream come true, a cell phone/pocket computer that would run the same software as our desktops. Further details made it clear that it was only a dream. The operating system will be only a limited version of OSX and the phone itself will be sold as a closed system, with additional programs available only through Apple. The inability of the iPhone to run the same programs as the current Macintosh is hardly surprising; it will, after all, have much less processing power, working memory and storage.

Suppose, however, that we compare the iPhone not to the current Mac but to the Mac of ten years ago‚ say the PowerMac G3 266, introduced in November of 1997. The iPhone has four to eight gigabytes of flash memory, apparently serving for both storage and RAM. The PowerMac had a maximum RAM of 192 Megabytes, a minimum hard drive of 4 gigabytes. The iPhone's processor has not yet been announced, but speculation suggests something in the 500+ MHz range, so probably more than twice the speed of the PowerMac's G3. Add an external keyboard connected via bluetooth and the only serious limitation to the retro iPhone would be the screen size—480x320. That's considerably smaller than the two page display I was using in 1997, but only a little smaller than the original Mac's 512x384 and, unlike the original Mac, it's in color.

A retro iPhone would have one enormous advantage over any likely competitor: Software. The 1997 software base included a wide range of business programs, games, utilities, everything one could reasonably want on a pocket sized computer. Unlike programs for a new machine, these ones are already written and thoroughly debugged; there are some advantages to being on the trailing edge of technology. Being Mac programs, most of them are designed to run on whatever screen size is convenient. Many of us—everyone who was a Mac user ten years ago—already own the programs; we can transfer them from our or our friends' backup disks while staying entirely within the relevant copyright law and licensing terms. Some of us may even prefer the older programs; I finally switched from by beloved WriteNow to MSWord only when the former had been orphaned for so long that it no longer ran reliably under the current operating system.

All of this assumes that it will be possible to run OS 9 or an early version of OS X, complete and uncrippled, on the iPhone. Apple's ability to get programs written for the G3, G4 and their predecessors to run under OSX on Intel machines provides at least some grounds to believe that they could, if they wished, adquately emulate the G3 with whatever CPU the iPhone uses, but at this point that is only speculation.

Will Apple do it? I doubt it. Can some clever hardware/software hacker do it? Maybe.

But I want it.


Anonymous said...

Let me note that interesting alternatives to the iPhone are popping up right now. For example, might I direct you to the OpenMoko project, which is combining a touch screen phone (without buttons) and an open source project that is creating the software for the phone.

Anonymous said...

Bear in mind that processor "speed" is a pretty difficult thing to compare between different architectures.

Due to power consumption requirements, my guess is that the "500+ MHz" processor used in the iPhone will be a RISC processor. They use much less power, so they're tailored to mobile and handheld applications, and won't burn the crap out of your leg if you put it in your pocket. But they are not comparable to X86 processors in speed terms, and may also not be comparable to PowerPC processors. 500 MHz doesn't mean it will benchmark faster than the 266 MHz PowerPC.

RISC, which is "reduced-instruction-set-computer", saves power by limiting the number of instructions they need to implement in silicon. Simply put, that's less transistors on the chip, which means less power consumption, and longer battery life. That also means, though, that to implement one CISC ("complex-instruction-set-computer") instruction that takes one clock cycle on an X86 processor might take several, or even tens to hundreds of clock cycles. For example, many X86 processors do floating-point instructions in silicon (i.e. fast, only a few clock cycles), while RISC processors will take hundreds to thousands of clock cycles to do the same instruction in software. Higher clock speed doesn't indicate faster performance at the same task.

OSX is also a linux-based OS, which is usually easier to port to different architectures (and to RISC processors) than Windows, and possibly than Apple's old proprietary systems. I don't know if it would require them to completely rewrite their entire OS and software for the new processor, but it's pretty likely. If they're rewriting everything, it makes more sense to use a more portable OS like the linux-based OSX.

In short, if the stars are properly aligned, Apple could do this. But my guess is that it would be far more trouble and far more work than you're assuming.

(Caveat: I work with X86, Windows, linux, and RISC every day. What I said there should be correct. However, I know very little about Macs, so I may have misspoke on some of the Mac-central info.)

Anonymous said...

Brad Warbiany's post is materially inaccurate.

First, power consumption and CISC/RISC are nearly orthogonal. The Motorola 68k architecture is CISC and is used in things like TI's high-end graphing calculators. The PowerPC architecture is RISC, and is used in both low power and high power applications (like desktop Power Macs and some servers from IBM).

RISC is of course far more prevalent in embedded systems. I'd argue that is because RISC is superior in general, and consequently more popular for new architectures, whereas CISC is limited to legacy architectures like x86 and 68k. Because backward compatibility is less of a concern for embedded systems, they weren't stuck with the x86 architecture.

Second, it's ludicrous to claim that CISC is faster because complex instructions execute in one clock cycle on the x86. The x86 is fast because of many billions of dollars of R&D. Fast PowerPC processors are available. Most people think that x86 is a horrible architecture, but considerable ingenuity has been spent making good processors for it.

Third, many RISC processors with and without floating-point are available. Floating-point is not an example of what people mean by "complex" in CISC. An example of what people mean by a complex instruction is one that adds two registers together to get an address, loads the value at that address, increments the value, and stores it back at that address.

Fourth, OS X is based on BSD.

As to the feasability of running retro Mac software as David suggests, there is a significant issue.

If Apple used a PowerPC processor in the iPhone, it would be quite feasible to run old Mac software on it. However, ARM is very common in cell phones, it offers lower power consumption, and I've read it's what they've gone with.

Apple has dealt with switches to new processor architectures twice. It switched from the 68k to the PowerPC and then to the x86. Both times, it supported old software via emulation. Doing so is slow, but this was not too much of a problem because it was switching to more powerful processors, which could run old software at decent speeds compared to the old processors despite the use of emulation.

My guess, which you should take with big a grain of salt compared to the rest of my post, is that software from the early to mid 1990s would run ok on the iPhone under emulation, but 1997 might be pushing it.

Anonymous said...

David, I spent so much time rambling about RISC/CISC issues, that, as you can see, I forgot that you were already aware that emulation would be required. Sorry.

Anonymous said...

Brad Warbiany and anonymous spent a surprising amount of time discussing the difference between CISC and RISC considering that David's suggested processor, the G3 PowerPC, is one of the most widely known examples of RISC architecture.

I think the more important issue is that old, unsupported, software running on an old, unsupported OS on new hardware will not be reliable. This is exactly why David abandoned his "beloved" WriteNow. For much less money than the cost of a new G5 or Intel-based Mac, he could simply have picked up an older PPC G4 and kept using it, but there were other incentives to switch to a newer platform, and he succumbed to them.

Tim G said...

It would have been great if the iphone did run the same OS as the computers, but i would have though that it may not be able to hand with it, as it would obviosly need quite a bit of processing power/memory, and as the iphone is such a small device, it may suffer.