Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts in Hardware

More tradeoffs

No comments

Apple’s new MacBooks (and MacBook Pros) are out, and there’s the usual breathless enthusiasm from some people and angry disdain from some others. As always, it’s about design tradeoffs – what I called the snowball effect in my discussion of the MacBook Air, several months ago.

Sidenote: it’s been over six months since I bought my Air; I took it on our 70-day trip and I’m mostly well satisfied with it. The 80GB hard drive is a little tight, mostly because I insisted on carrying my full iPhoto library around; otherwise it wouldn’t be an issue. One positive surprise was the glossy screen, which didn’t bother me at all, even under wildly varying lighting conditions. Having only a single USB port (which I used mostly with the Ethernet adapter or an SD card reader) was no problem either; I’m glad circumstances conspired to not let me buy an extra USB hub, it wouldn’t have seen any use.

Apple’s new laptops embody significant trends. The styling and keyboard are based on the first MacBook Air, combined with the April ’08 iMac’s glass screen. While the “unibody” construction is also derived from the Air’s, it’s an evolution. Being a little thicker at the borders, the new laptops are in themselves very rigid, not depending at all on the battery for bracing, as the Air does. It will be interesting to see if the third version of the Air gets a removable battery – though that probably will imply incorporating the battery into the bottom cover, instead of having a panel over it.

Structurally the new laptops are great. Access to the hard drive is very convenient – this mitigates, in the MacBook’s case, the unavailability of Firewire target mode, at least for a technician. The major components are also easier to access; previous laptops were a nightmare of special adhesives, tricky assemblies, and easy-to-break snaps. That said, some things are now much more expensive to replace, being either single parts (the enclosure) or considered as such (display or keyboard).

There’s a surprising overlap of structural design and marketing. The fossil remains of the previous lines are the low-end white MacBook, the 17″ MacBook Pro, and to an extent the MacBook Air; all of which have received superficial updates but are structurally unchanged, and hit the same markets. No doubt all three will, in their next incarnation, be adapted to the new marketing distinctions… but which distinctions are these, then?

As always, differentiating the “Pro” from the “consumer” line is tricky both for Apple and for users. With the new unibody, for the first time, both lines use the same materials and design. This means that Apple must distinguish the lines by feature sets alone. In this case, it seems that the major distinction is screen size: the normal MacBook has a 13″ screen, while the MacBook Pros have larger screens. Of course there are the usual somewhat faster CPUs and larger hard drives, but these are more of an expected consequence of the size difference. All this also makes for a natural spread in prices among the lines.

Now, of course, there’s a sizable contingent of users who want Pro features at consumer prices, and want Apple’s designers to produce such a miracle every time. These “prosumers” are also prone to think that the “real” Macs are the high-end ones, but that Apple then maliciously cuts features from them to produce the low-end machines; call it the conspiracy theory of hardware design.

While I can’t say with certainty that this never happened in the past (remember the Performa days?), it’s very unlikely in this specific case; the MacBook is not a crippled MacBook Pro. Indeed, indications are that, surprise, the MacBook Pro is really an expanded MacBook. Let’s look at design considerations for the new MacBook.

First of all, Apple is usually limited to standard sizes built by its suppliers, at least for such a high-volume item, and of course to the width of a standard keyboard; reusing parts from other successful product lines is also a win. This means a 13.3″ screen; sharing the display with the MacBook Air pretty much fixes the front/top dimensions and makes the keyboard also shareable. So, we have our width/depth dimensions; the LED backlight and display determine most of the lid thickness; the body thickness is determined by the thickest connector and internal peripheral.

A full-size Ethernet plug needs at least 10mm, not counting any PC board it rests on, while current DVD drives are 9.5mm thick. (Notice the MacBook Air excluded both items.) From pictures, I estimate that the MacBook display measures 8mm, the body is about 16mm thick, the side where the port connectors are measures barely 11mm; and indeed the Ethernet connector opening uses up nearly all of the latter. The extra 5mm of the rounded bottom were probably necessary to ensure a minimum battery volume.

Turning the MacBook over, the decision to make the hard drive accessible under the battery cover (and the need of using 2.5″ drives which are both inexpensive and of reasonable capacity) makes the rest of the layout fall into place. At this point, you may want to refer to one of the many disassembly photos available on the web; I liked the ones from ifixit. Check out the photo in step 11; notice how there’s no component overlap (except, unavoidably, for the keyboard). The left top rectangle is the optical drive and the black rectangle north of it is the speaker/subwoofer. The right part is the motherboard with a cutout for the fan and another one for the RAM modules. On the bottom, the hard drive uses the left portion, so the battery has to use up the remaining rectangle on the right.

Again, I want to emphasize that this very rational layout is a serious design win. It’s made possible by the unibody’s rigidity and space-saving, but once you take those into account, it’s almost forced; you can’t have a smaller laptop using those particular components.

But there are consequences. In older models, the motherboard either spanned the entire width of the machine to accomodate ports on both sides, or there was a secondary module on the opposite side, with fragile/expensive ribbon cables connecting that to the main board; not a good solution. Remember that making a unibody is an expensive process and that cost must be shaved off elsewhere; even so, the MacBook is $100 more expensive than its predecessor.

So we pretty much have to accomodate all ports on one side of the MacBook. Check out this page, especially the logic board photo in step 17. This is where some more tradeoffs come in. Apple has decided to adopt the new DisplayPort standard, apparently in all Macs from here on. While at first glance HDMI might have been a better choice, DisplayPort is license- and royalty-free. Remember Jobs giving licensing issues as a reason to avoid Blu-ray for now. Without going into further details, note that Apple has taken a dislike to the standard DisplayPort connector; I couldn’t find the standard dimensions, but it seems to be at least 17mm wide. Of course this means yet another proprietary mini-version of the connector; hopefully Apple is coming into the market early enough, so that other manufacturers may adopt it.

Even with the mini-display connector, space is limited. Audio in and out are necessary, so there’s space for only 3 normal-sized ports. Apple has decided in favor of Ethernet and two USB ports. I’ve seen arguments favoring 3 USB ports (meaning the Air’s USB/Ethernet dongle would be necessary); 1 Ethernet, 1 USB and 1 Firewire port; 1 USB port and 2 Firewire ports; eSATA in the mix; and so on. Stacking USB ports, while not unknown in laptops, tend to go over the allowed 10mm height; mini-USB ports are fragile and would need special dongles or cables. No doubt an argument could be made for some sort of combined port expansion box, or a combination hub, or…

Omission of a Firewire port has raised the most objections; this happened too when the Air came out, remember? No Firewire also means no target disk mode. Target mode for migration, while convenient, is not really necessary if you have gigabit Ethernet. With the hard drive so easily accessible, a technician no longer needs target mode for debugging; it’s easy to yank the drive out and plug it into a SATA-USB converter.

Now, there’s a crowd of prosumers using Firewire for audio and video, and complaining. I’ve no idea how large this crowd is; apparently Apple thinks that it’s insignificant compared to the number of people needing two USB ports. Whatever the rationale, I’ll repeat here what I said in a previous post about the missing Firewire in the MacBook Air:

To put in a FireWire connector means reserving resources for a 7W additional power drain…

while an additional USB port uses only 0.5W; only the first USB port on recent Macs seems to get the full 2.5W allotment.

I don’t think that this means the end of Firewire as such. The FW800 connector will also support the upcoming FW1600 and FW3200 standards, and works with FW400 peripherals if you have a converter cable or inexpensive adapter. It’s just being squeezed into larger (which now means higher-end) equipment.

This post is already too long, and it’s late, so I’ll talk about the MacBook Pro design tomorrow.

Re: More tradeoffs

No comments

Having looked at the new MacBooks it’s time to examine the new MacBook Pros.To recap, my main point is that the MacBooks have been designed from the 13.3″ form factor inwards, and that the MacBook Pro, having a 15″ display and more internal space, is really an expanded MacBook.

(The contrast is, of course, to the usual view of the Pro version as being the “real” machine, and the consumer version as a maliciously crippled of that.)

Looking at the internal space is, again, instructive. Refer to step 9 on the ifixit site. Now compare this to step 11 for the MacBook. Notice that the depth of the battery/drive compartment is the same (the hard drive being a standard 2.5″ model), so the Pro’s battery is only a little over an inch wider than the MacBook’s.

The optical drive is in the same position and is the same size. To its right from this angle, the motherboard is an inch wider and deeper than the MacBook’s it also has another cutout for a second fan, necessary no doubt because of the Pro’s extra power requirements. These, in turn, are a consequence of the larger display, added video processor, higher CPU speeds, and the extra drivers for the ExpressCard slot and the Firewire interface. Of course, all that needs a larger battery, as we’ve seen, and a beefed-up power supply/charging circuitry.

Look at the motherboard in step 20. The ports are the same, except for the inserted FW800 connector.The empty space to the lower left corresponds to the ExpressCard slot, which is actually below the board (check it out in step 24). As in the MacBook, there’s no wasted space, and changing anything will involve some tradeoff where something else would have to be removed.

To recap, the added space made possible the added features. When the updated MacBook Pro 17″ comes out, it will have even more space, and I can only speculate what this space will contain. As before, the larger display will need more power, so we’ll have a wider battery – maybe 1.5″ wider than this one. If they maintain the same depth, there’ll be some empty space – good for conserving weight. On the other hand, they could sacrifice this space, either to get longer battery life, or to feed more circuitry – quadcore, anyone? And/or 8-16GB RAM?

By the same token, there’d be leeway to have either a second FW800 connector, or eSATA; perhaps both and/or a third USB port. I don’t think that an SD slot (or other media slot) is in the cards, as Apple probably doesn’t want to get locked-in to a particular format, and USB adapters are so cheap. I can’t see Apple using any of the extra space for a full-size DisplayPort as they seem to be trying to pull the industry into using the mini size for that everywhere.

In a few weeks we’ll see how the new MacBook Air looks inside; I suspect we’ll see fewer screws and a similar motherboard layout.

Re: More tradeoffs

No comments

A correction regarding Apple’s mini-DisplayPort connector. The DisplayPort organization’s page is none too clear, and the actual standards aren’t available for free, but it now appears that Apple has been instrumental in working with them to define the new mini connector; unlike past “minis” adopted by Apple, this seems to be a bona-fide standard. So there’s real hope of it being more widely adopted by other manufacturers.

I don’t see any major advantage in the full-size DisplayPort connector, except perhaps for the optional locking mechanism on the plug. Don’t expect it to appear in any Apple products; in any event, mini-to-full cables will probably be sold by third parties.

There’s an interesting picture on the interoperability page: it shows what appears to be a previous-generation MacBook, with USB, FW400, FW800, S-VHS and the full-size DisplayPort connector. Looks like a Photoshop job to me… icon_smile.gif

On the Air

No comments

It’s now almost a week since I’ve ordered a MacBook Air, and it arrived two days later. As usual, the packaging is superb and everything worked out of the box. I spent a couple of days upgrading and installing software, getting a faster WiFi network up at home, and generally testing things. I was unable to get a USB-Ethernet adapter though; neither Apple’s nor third-party models can be found in local stores so far.

The Air is everything I expected; excellent design, very light, runs somewhat hot under heavy CPU loads, takes longer than it should when recharging – I measured 4 hours to recharge from empty to full with the machine sleeping.

What I didn’t quite expect, with all the whining about it being slow, was the speed. Building Quay on it is at least twice as fast as on my not-quite-2-years-old iMac G5 (2GHz, single CPU). I suppose that hard drive-dependent operations will prove slower, but then it’s a puny 1.8″ drive.

All in all, I’m planning to use the Air as my main development machine away from home, and it should be fully set up in time for our upcoming Europe trip in May.

Two interesting developments came up while I’m studying for my next post about code signing.

Firstly, every developer who has signed up for the $99/year program has gotten a letter which says, in part:

We have received your enrollment request. At this time, the iPhone Developer Program is available to a limited number of developers and we plan to expand during the beta period. We will contact you again regarding your enrollment status at the appropriate time.

The message for non-US developers also mentions that the program will be implemented in the US first. At this point, some developers went off in a huff, interpreting it as a rejection, and numerous complaints and conspiracy theories have been aired. So far (as I know) nobody who applied to the $99 program has been formally accepted – the ones who said they were are apparently newbies interpreting their ability to download the SDK as “acceptance”. On the other hand, a handful of companies have stated they’ve been accepted into the $299 enterprise program.

Well, my understanding of English may be faulty (it’s only my fourth language, after all) but let’s look at the 3 sentences I quoted above:

We have received your enrollment request.

Nice of them to reply.

At this time, the iPhone Developer Program is available to a limited number of developers and we plan to expand during the beta period.

This is just repeating what Steve Jobs said during the iPhone event… nobody would expect Apple to accept all applicants immediately and at the same time. There certainly are several thousands at the very least.

We will contact you again regarding your enrollment status at the appropriate time.

Meaning, as soon as we dig out from under, we’ll check your application. I see no problem there either.

Apparently, some people are indeed interpreting this as a poorly worded rejection, or at best as an ambiguous directive that you have to go to the end of the line or try again. Now, I’m the type of person who has difficulty in understanding the logic of “I’m afraid I’ll have to tell you that your credit card has been declined” – the first time I heard that in person I couldn’t follow at all (heh! he’s afraid of what? will he have to say what in some unspecified future? Why doesn’t he then say whatever he will have to say, then?) But I can’t see anything like that buried in that last line either.

Second item is that the SDK’s restriction on background process has been much-commented on, among others by John Gruber and Mike Ash. Along the way, there have been complaints about this and other restrictions imposed on third-party applications. Some have even pointed out (I can’t confirm or deny) that the APIs published in the SDK are just a small subset of the APIs ferreted out by people examining the previous iPhone firmware. Some commenters even seem to believe that Apple not publishing certain APIs is illegal in some way… witness the comments about unpublished APIs called by WebKit/Safari some weeks ago.

Well, Apple can certainly opt to tell people not to use certain APIs. In fact, on the Mac in the past, some large software publishers went ahead and used some of those “hidden” APIs anyway, with the result that Mac OS X still has to support lots of legacy calls that are broken, but can’t even be properly fixed without breaking those applications!

So, on the iPhone, they’re certainly making sure to avoid the legacy/unsupported/hidden API problem at all costs. Apparently the SDK license says that applications may not use any unpublished API, period. Note that this does NOT mean that Apple will have to examine your precious source code line-by-line; no, they’ll just run a tool that looks at your executable, sees what symbols in which frameworks are referenced, and produce a listing of whatever non-documented stuff you’re calling.

So, there are no documented APIs that let you run an application in the background, or start a background process. I’m sure we all agree that having any GUI application continue in the background after another GUI application starts will be too resource-hogging – after all, if you allow one, you have to allow any. From what I’ve read, no Apple application does that either; a few seem to have a background process or daemon running to take care of communications, but that’s of course much more lightweight.

I agree with Mike that obviously the iPhone OS does support multitasking in a generic way. I also agree that the relatively limited RAM (I heard that 64M are available to a third-party application) and CPU speed are no obstacles. To mention an even older example than he gives, I managed to write an embedded system running on a 4MHz Z80A CPU, with 32K of RAM, that handled a GUI, a foreground thread, and two background threads tracing several realtime signals on a screen.

But make no mistake, embedded systems are hard to keep responsive, even if you have no arbitrary code running at all. Apple apparently elected not to have full virtual memory swapping in the iPhone OS; here again, it’s not a limitation of the hardware (Flash memory can support swapping) or of the OS (it’s Unix-based after all) or of the CPU (it does have page tables etc.).

No, I think Apple simply is trying to keep “teh snappy” always happening, keep battery duration as high as possible, and avoid Flash RAM filling up by swapping. Also, swapping pages takes time and burns battery power. A wait of 2 or 3 seconds may be shrugged off if you sit at a desktop computer but may be unacceptable if you’re trying to answer a call on the iPhone.

Consider the MacBook Air with SSD. It has 64GB of flash and 2GB of RAM, with full swapping virtual memory of course. I’ve seen people leaving 20 or 30 applications running on a Mac and not noticing that their swap files grew to 12 or 20GB… but even that may already become a problem on the Air. I suppose Apple didn’t want to face telling people that they should leave 2 or 3GB free on their 8GB iPhone… and risk crashing or hanging when it suddenly fills up.

Still, I feel that if you do have a compelling application that absolutely depends on having a background process running, you’ll probably be able to ask Apple for an exemption… if you can prove that your process won’t hog the system. Also, Leopard (for one) has facilities to start processes on-demand – using launchd, you can have the system watch a certain port or socket and start up your process when data arrives there. No doubt we’ll see more such facilities being deployed.

Re: Design snowball

No comments

uliwitness wrote:

Oh, BTW, also found your review of the FireWire power specs interesting. I was hoping someone with better electrical skills than me would eventually post the fundamental maths involved to prove/disprove the “No FireWire cuz it needs too much juice” theory that’s been bandied about.

The post was already too long, so I didn’t mention the possibility of using the Sony 4-pin FireWire connector, which doesn’t supply any power; it’s also much smaller, getting around some of the space argument too.

Still, it’d be a hassle needing an external power supply for those small portable FW drives; most of them don’t come with one. Also I’m not sure whether Apple would have to pay Sony for that.

As I also said previously, each extra USB connector would also need more space and power, though less (2.5W) than FireWire.

Re: Design snowball

No comments

Posted by uliwitness:

“When it comes to Japanese PC manufacturers, their manufacturing plants will complain or add their own technical efforts to lower cost, if a proposed structural design was insufficient,” one of the engineers said. “The MacBook Air gives me an impression that its manufacturing plant packaged the computer exactly as ordered by Apple.”

Rainer,

thanks for posting this — it mirrors exactly the thoughts I had when I read this news bit, and now I don’t have to coherently blog about it anymore.

FWIW, from what I heard, this is a common thing with Asian manufacturers. They like to improve products, but since they usually don’t have the whole list of why something should be done this way and not another, the customer of these manufacturing plants isn’t always happy with that.

Some western companies have “solved” this by putting QA guys in place that will babysit the manufacturers and make sure stuff gets produced the way they requested it, for exactly that reason.

I guess this is a cultural issue that will have to be resolved by understanding each other…

Oh, BTW, also found your review of the FireWire power specs interesting. I was hoping someone with better electrical skills than me would eventually post the fundamental maths involved to prove/disprove the “No FireWire cuz it needs too much juice” theory that’s been bandied about.

Re: Design snowball

No comments

The snowball effect I was writing about is also very evident in the design of the MacBook Air. I’ve posted before about some aspects of this (I was wrong about it having fewer internal screws, though).

Just saw this: Japanese engineers trash MacBook Air. Here’s the original article in somewhat clumsy English. Some choice quotes:

“Can we say that the MacBook Air has a perfect, sophisticated external appearance, but its insides are full of waste?”

What astonished all those engineers was the fact that the computer had a very costly structure. For example, it used an extremely large number of screws to attach components. About 30 screws were used to attach the keyboard alone.

“When it comes to Japanese PC manufacturers, their manufacturing plants will complain or add their own technical efforts to lower cost, if a proposed structural design was insufficient,” one of the engineers said. “The MacBook Air gives me an impression that its manufacturing plant packaged the computer exactly as ordered by Apple.”

Based on the results of our teardown project, we guess Apple is not paying much attention to both workmanship of the hardware design and comprehensive cost reduction…The MacBook Air’s mysterious internal design might be a violent antithesis against Japanese manufacturing, which allows no compromise even in detailed parts of the hardware.

This is a very interesting insight into manufacturing. Can you imagine Steve Jobs’ reaction to somebody at the Air factory deciding to take out 25 of the 30 screws that hold the keyboard? Heads would roll!

No doubt all those screws (and the other things they considered “waste”) contribute to the Air’s extremely solid feel that’s remarked upon by everybody who has handled one. Contrast this to all the “this thing must be soo fragile” comments, just after the launch, by people who had not handled one. Obviously people are used to small electronic devices following the (apparent) Japanese practice of shaving off internal “waste” to save a little space and money and ignore the consequence of a flimsy feel… something that would be especially accentuated in such a thin device as the Air.

So, this article betrays a fundamental misunderstanding of Apple’s design strengths and intentions. Their definition of “workmanship and… cost reduction” is very different. From what I can tell, the Air was designed from the outset to be extremely thin and rugged, while maintaining adequate battery life and performance. These considerations snowball to the extent that the battery uses up 2/3 of the space, and seems to be (along with the keyboard) itself a structural element.

Everything else flows logically from that. To put in a FireWire connector means reserving resources for a 7W additional power drain – that’s 1A extra current at the 7.2V battery. It also means an extra power supply to jack this up to the 9 to 12V required at the connector, extra PCB traces, and so forth. The battery has a capacity of 37 watt-hours, meaning that at the rated duration of 5 hours, the average power draw is slightly over 7W; this would double when a FireWire drive is connected, meaning battery life would be only half, 2.5 hours. Also, the extra connector would mean widening the flip-down door and shaving off maybe 2cm off the battery on that side… more capacity reduction. The 45W external power supply would also have to be beefed up, and the internal charging circuitry as well… this means more heat dissipation. It would probably have been necessary to make the battery itself thicker, maybe 5mm or more.

Now look at a typical Ethernet connector; it’s thicker than the Air’s door, so some millimeters would have had to be added to the Air’s thickness, too; as well as taking the extra chunk out of the battery as well.

Same applies to an internal DVD drive. If it doesn’t work as a burner too, they’d have complained – but imagine the power requirements, or read the Lenovo x300 review; Lenovo engineers are very capable too, but they decided on different trade-offs. I have handled some other brands of small laptops from Toshiba and I must say I was unimpressed by the feel and finish.

Finally, imagine the Air with a removable battery. This means extra connectors, a case opening, of course with either a full-width extra wall (meaning at least 4mm extra thickness) or some heavy-duty latches (considering the battery is 2/3 of the size and a similar proportion of the weight of the Air). Consider the loss of rigidity that would imply, and the extra size and weight that would have to be “wasted” to counteract that.

So that’s my point. Any change in the Air’s design immediately snowballs into a larger, heavier, hotter and (probably) less solid-feeling machine. Jobs obviously thought it was worthwhile to concentrate on those aspects, and it’s rather shortsighted to conclude that “Apple is not paying much attention to … workmanship”.

Photos licensed by Creative Commons license. Unless otherwise noted, content © 2002-2024 by Rainer Brockerhoff. Iravan child theme by Rainer Brockerhoff, based on Arjuna-X, a WordPress Theme by SRS Solutions. jQuery UI based on Aristo.