Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts in Software

Wow, 15 days without a post. It’s been a slow couple of weeks, news-wise, and I’ve been distracted by off-line problems; sorry about that.

Of course the TV has finally shipped, there’s been tons of reports about it, and Apple’s stock price even got a good boost from that. Still, it’s a device I find it hard to comment upon, either positively or negatively. I rarely watch TV or even DVDs, our TV is an old model that has none of these new-fangled inputs or features (I think), and even if the device were available here I’m not in the target market. What does seem slightly interesting is that it apparently runs Mac OS X (not the “lite” OS X many expected), and therefore some people have already twiddled it to install additional video codecs.

Other than that, I’ve just read an excellent piece by former Apple manager John Martellaro, essentially arguing that Apple has first-class engineers and designers and doesn’t (at least not nowadays) do anything dumb, although it may look like it from the outside standpoint:

What I’ve noticed is that there is hardly a single writer, including myself, who has complete insight into Apple’s reasoning and design decision for a product.

…when you get a lot of smart people together in an Apple conference room, and let them fight it out, good things happen. One person will invariably have insight and hindsight that’s lacking in the others. By the time the dust clears, and a lot of scribbling has been done on the white board, a pretty good solution will have been worked out. Gotchas will be discovered and diagnosed. Experience with the customer, intimate knowledge of Mac OS X internals, and next generation technologies coming down the road will lead to sound engineering judgment from the group.

…Just remember, no matter how experienced any one writer is, they can seldom out-think a corporation as good as Apple.

Indeed. There are many young pundits, journalists and developers out there that are way too eager to jump on the “Apple is obviously brain-dead” bandwagon – of course “young”, nowadays, describes almost everyone from my viewpoint icon_biggrin.gif. In contrast, I think that, today, most questionable decisions from Apple can be blamed on limited human resources. Doing insanely great stuff takes time and needs first-class people.

Another never-ending discussion is the Leopard shipping date. I stiil agree with Ars Technica’s Jacqui Cheng that Leopard should ship at WWDC. However, people have been picking up a rumor that Apple is delaying Leopard by several months to (supposedly) get Macs to boot Vista. Huh? This completely illogical reasoning is aptly skewered by Daniel Eran at RoughlyDrafted:

Apple didn’t exactly scramble to get iTunes working on Vista, and iTunes is an important part of Apple’s business. That being the case, will Apple hold up the release of Leopard for months in order to support Vista in Boot Camp, a product that Apple makes no money in providing?

The story is so absurd on so many levels that it’s hard to find a place to start pointing out why it’s so stupid.

It really is very strange. Apple says they will ship in spring (these local seasonal references are really obsolete in a global context, but that’s another rant). Spring in Cupertino goes until a week or so after WWDC, people tell me. Even so, people who have not seen anything of Leopard beyond some leaked screenshots wrote excitedly about a MacWorld release, then about a March release, then when their wild predictions aren’t confirmed start to moan that “Apple’s been having trouble getting Leopard out” and now, even, that “Leopard had reportedly been delayed until October”. I really hope that Apple will show more details before WWDC, but I won’t be too surprised if they don’t.

Musings on Apple

No comments

Now that the waves around the iPhone have mostly died down, and we’re in a “silent period” between announcements, some further musings.

My earlier ideas about OS X in other products and a second-generation “tablet” device have percolated into the punditosphere. The trigger seems to have been the recent surge in larger or faster solid-state memory devices, as well as shipment of the first hybrid flash/disk drive. See, for instance, Jason D. O’Grady commenting about another analyst’s write-up:

There are numerous reasons why a diskless MacBook (or nanoBook) is the next logical progression of the notebook computer…

What’s interesting about the Reuters piece is that [it] claims that the nanoBook would run the stripped down, multi-touch version of Mac OS X that will ship with iPhone as opposed to the full-blown version…

In an included poll, however, 76% of voters said they’d want such a sub-notebook to run the full version of Mac OS X, and only 10% claim to accept with OS X (Lite). Others are skeptical of wider use of flash memory, even for larger iPods:

There is one brutally limiting factor to flash, though: cost. Flash is almost ten times more expensive than hard-disk memory. Although significant adoption of flash over the last 12 months has seen prices drop enormously, it’s still too costly to buy in the quantity needed for video iPods. Apple has a good relationship with its flash manufacturers though, and may secure a helpful price reduction it can pass on to consumers. But will that be enough to justify vanquishing the hard disk completely?

Still, I agree that prices are falling fast and that such a device may well be pre-announced at WWDC in June for shipment before the end of 2007. On the other hand, when so many financial analysts agree that such a device is in the works, it makes me suspect that they must be wrong… icon_smile.gif

Speaking of WWDC, only some radical holdouts (and a few financial analysts) still believe in an end-of-March launch of Leopard. I can’t say much about it because of NDAs; but to put Leopard on the market by the end of this month – meaning that, because of manufacturing and shipping times, it would be have to be ready about today – is impossible. Yes, some of the aforementioned radicals say that Apple has secret advanced builds in their labs and all the seed versions they sent out since last were just a cover. Hah. I’ll believe that when I see it; maybe not even then.

Cocoa quickie

No comments

Borkware Quickies is a highly recommended collection of small, useful code snippets. Mark Dalrymple has been so kind to post one of my own there: “Making naked memory autoreleased”. Here’s a shorter and even more useful, though sometimes slower, version:

static void* tempCopyOf(void* data,UInt32 size) {
   void* buffer = calloc(1,size);
   if (buffer) {
      if (data) bcopy(data,buffer,size);
      [NSData dataWithBytesNoCopy:buffer length:size freeWhenDone:YES];
   }
   return buffer;
}

So, you can call this as:

void* thing = tempCopyOf(&myStructure,sizeof(myStructure));

which will give you a temporary copy of myStructure, or as

void* thing = tempCopyOf(NULL,someSize);

which will return a zero-filled buffer of someSize for you to fill in as you want.

Recently, Colin “Hairy Eyeball” Brayton (also known as the Gringo Sambista) pointed me at a post by Marcelo Tas called “The First Networked Brazilian”. Unfortunately there are no permalinks on that blog, so here’s a link to the story with translations.

(in 1988…) Look here, Dr. Big-Shot, I say, the Internet is a giant network that’s going to link up all the computers in the world. Computers at home, computers in big companies … Everybody’s going to be able to swap messages instantaneously from any place in the world without leaving home or getting up from their desk! A long silence indicates that the businessman is not much taken by my fancy tale. Lunch ends, the desert arrives, followed by the coffee … As we’re leaving, I slink off without another word. As soon as he’s alone with his subordinate, the boss turns to my friend and says: The next time you waste my time on one of your dope-smoking artist pals, you’re fired!

The idea of a world-wide network really took some time to be understood, especially here in Brazil. Around the same time (1988), my ex-colleagues at UFMG (the Federal University of Minas Gerais) kindly offered me an Internet access account. At that time, the Internet was intended solely for academic and military purposes; Brazil had only two connections to the rest of the world – one at 9600 bps (bits per second!!) in Rio de Janeiro and a double-9600 bps connection in São Paulo. A year after that, the RNP (Rede Nacional de Pesquisa – National Research Network) was formed, with a 64 Kbps link.

I logged in over a single external phoneline that traversed the university’s archaic PBX system and entered a 2400 bps modem. A Unix prompt came up and I could access e-mail, FTP servers, Gopher and WAIS. As the line rarely remained stable for a long time, I would copy everything to a local file and read it later. On my side, I ran a terminal emulator called ZTerm on My Mac SE, together with a Supra modem. In 1990 I actually donated a 14400 modem to the university, but they gave it back a few weeks later, saying it was incompatible with the 1200/75 baud modems used by some other users…

Remember that all this was before the Web was invented. In the early nineties, in the USA, everything was somewhat fragmented. Even academic and research institutions were divided between Bitnet and the Internet. There were lots of BBSes, which were organizing themselves into networks like Fidonet, there were Usenet newsgroups, Apple already had its AppleLink network, and there even were some commercial networks like Byte Magazine‘s BIX, The Well, Compuserve and MCI. For me, the most rewarding were the e-mail lists. The two I found most interesting were the Computer Underground Digest and UNITE (User Interface to Everything). The latter list discussed what would be the preferred user interface for the Internet in the near future; one of the participants was Tim Berners-Lee, the inventor of the Web.

I actually tried to sign up to be a Web beta-tester, as a version of the Mosaic browser had just come out for the Mac, but unfortunately my 2400 bps link was deemed insufficient. I started investigating options such as leasing a commercial Internet connection, or even set up my own Internet provider. Here are some tidbits from those years:

Me: “I want to set up a commercial Internet provider.”

University employee: “That’s absurd! The Internet is reserved for research institutions, we’ll never let companies use our infrastructure!”

(Embratel was the government’s telecomm monopoly)

Me: “I want to set up a commercial Internet provider.”

Embratel VP: “What’s an Internet?”

Me: “The world-wide computer network, it interconnects all other networks!”

Embratel VP: “Never heard of it, but I’ll investigate and have one of our people call you.”

(Some months later…)

Me: “I want an Internet connection.”

American ISP: “OK, that’ll be US$15000 for the installation of the parabolic antenna infrastructure and US$6500 per month for a 128 Kbps connection.”

Me: “Gulp!”

American ISP: “But, for Brazil, I hear a company called Embratel has a monopoly on that sort of thing!”

(Some more months later…)

Me: “I want an Internet connection.”

Embratel Salesman: “OK. I suggest a 2400 or 9600 link, the price will be X cents per packet. That’s 20% of what it costs to send a TELEX. Isn’t that revolutionary?”

Me: “A packet means how many Kbytes?”

Embratel Salesman: “What? It’s 64 bytes per packet!”

Me: “And if a user decides to download a larger file, say, 500 Kbytes? It’ll cost hundreds of dollars!”

Embratel Salesman: “Don’t worry, that will never happen!”

Around the end of 1993, RNP officially opened up the way for commercial providers in Brazil. Here I go again:

Me: “I want an Internet connection!”

Embratel Salesman: “OK. I suggest a 2400 or 9600 link, the price will be X cents per packet…”

Me: “Hey, let’s not repeat that again, I want a fixed-price 64 Kbps link!”

Embratel Salesman (after several phone calls): “OK, it seems to be a new service, that’ll be US$4000 per month. Next month we’ll install it for you.”

Me: “Gulp! OK. Where do I sign?”

Me: “I want 12 phone lines!”

Phone Company Salesman: “What model is your PABX?”

Me: “There’s no PABX, it’s for Internet access!”

Phone Company Salesman: “Never heard of it!”

It took some time, but I finally succeeded in establishing MetaLink, first as a BBS in 1993, then as an Internet access provider in 1994. We bought a dozen 14400 baud modems, a Cisco 2511 router and a Mac Quadra 900 as server. After N+1 problems with the phone lines, with the router connections (I had to import a connector and solder an adapter for the “Embratel Standard” modem), with overheating equipment and so forth, we were on the air. We started closing deals with companies in other states to export our provider model as a franchise. End of all problems? Did I become a dot-com-millionaire? Far from it. Hear this:

Me (on the phone): “Hello! Would you like to install the Internet at your company?”

Company Owner: “No. What’s that?”

Me: “You’ll be able to communicate with your clients, publish your catalog…”

Company Owner: “The clients should come to us, and our catalog is confidential! Bye!”

Me (on the phone): “Hello! Would you like to install the Internet at your company?”

Company Owner: “Hmm… well… maybe. How much does it cost?

Me: “X per month for a basic account. This doesn’t include your phone costs, of course.”

Company Owner: “What, that expensive and I still have to pay for a phone??? No way! Bye!”

Me (at a company): “Hello! I’m here to install your Internet connection.”

Company Owner: “OK. Install it in this computer here.” (takes me to a computer in the middle of the room.)

Me (looking around)”: “Hmm, I can’t see any phone around here…”

Company Owner“Phone? Whatever for? My employees have more important things to do!”

Me (looking at the computer): “To connect to the modem, of course… but this computer doesn’t even have one!”

Company Owner“And it won’t have either! I don’t want this Internet thing anymore! Bye!”

Me (on the phone): “Hello! Would you like to install the Internet at your company?”

Company Owner: “Yes!”

Me (wary): “You’ll need a phone line, a computer with a modem, and the phone line charges are not included. Do you still want it?”

Company Owner: “Of course, I’ve got all that. You can come and install it.”

At the company, I see an old-time Parks 1200/75 modem, the size of a VCR.

Me: “Look, this modem is obsolete. You’ll need at least a 14400 bps modem!”

Company Owner: “You’re nuts, I’ve been using this modem to communicate with my bank for 5 years, it works very well and I won’t change it! Bye!”

Client (on the phone): “Your Internet isn’t worth anything! The connection drops all the time and often doesn’t even start!”

Me: “Under what circumstances, for example?”

Client: “You want to see? Just look!!” (noises of a dialing modem)

Me: “Ah, but while someone’s on the phone the modem can’t communicate, that’s normal!”

Client: “That’s absurd! You want me to buy another phone line, is that it? You can cancel my subscription to this @#$%^!! Bye!”

Client (on the phone): “I deleted your software because it was taking up too much space, and now I can’t get onto the Internet anymore! That’s absurd!”

And so it goes… for some years it worked reasonably well, but user support started using up more and more resources and the operating costs weren’t falling as fast as I had thought they would. Finally, when large companies such as banks and newspapers started to build access providers with hundreds of lines, I redid my spreadsheets and deduced that there was no more money to be made with dial-up access providers. I sold my stake. MetaLink still went on for some years until it was absorbed into a larger company. But it was fun while it lasted…

(clique aqui para ler este artigo em português)

Greg Joswiak answers some questions about OS X. In particular, it’s “optimized but full” and uses “considerably less” than half a gigabyte of the built-in flash memory – not incompatible with my previous guess of between 64 and 256MB.

“Optimized but full” probably means that most of what makes Mac OS X be, uhm, “OS X” is present – like the keynote slide, it means Cocoa, multitasking graphic GUI, animation, etc. Since most of Cocoa runs atop Carbon and BSD APIs these must be present also. However, Darwin/XNU and the whole IOKit are a little hefty for an embedded environment and no doubt a new, much smaller kernel and driver model were slid underneath. Direct Mach calls are certainly still used in some places but no doubt were recoded or faked out with a compatibility shim. And the BSD subsystem/command line tools will certainly be absent.

The Apple-hating crowd seems to be out in full array. I don’t think I’ve ever seen so much people calling “liar” or “bullshit” on almost every sentence of the keynote, or of often barely literate commenters saying such-and-such decision or feature are “brain-dead”; at least not since the iPod launch. It’s certainly easy to tell in retrospect where Apple or Jobs have been wrong – sometimes even egregiously so – in past years, but calling this in advance is a little foolhardy. Especially in light of the ROI for recent investors.

I just found an interesting post over at the ever-interesting Language Log:

…But it’s important to note that these people are not lying, exactly. They simply don’t care one way or another about what the facts are, and this shifts their work out of the category of lies and into the category for which Harry Frankfurt has suggested the technical term bullshit:

What bullshit essentially misrepresents is neither the state of affairs to which it refers nor the beliefs of the speaker concerning that state of affairs. Those are what lies misrepresent, by virtue of being false. Since bullshit need not be false, it differs from lies in its misrepresentational intent. The bullshitter may not deceive us, or even intend to do so, either about the facts or about what he takes the facts to be. What he does necessarily attempt to deceive us about is his enterprise. His only indispensably distinctive characteristic is that in a certain way he misrepresents what he is up to.

So, while I don’t think Steve Jobs is lying about anything regarding the new products or Apple’s plans, he certainly is “deceiving about… his enterprise” in several places. And rightly so, as the competition’s watching and analyzing every word too. While as a developer I’m certainly miffed about all the secrecy, as a stockholder I approve.

Speaking of stock, here’s a nice quote from Jerry Pournelle:

If ever there were an indication that America has gone greedily insane and needs ways to curb the rapacious Trial Lawyers, the story of minority stockholder suits against Apple charging that in 1997 Steve Jobs manipulated options dates in order to keep key executives from bailing out has got to be it. The minority stockholders cleaned up because Jobs pretty well single-handedly saved the company; had he not done so, the stock would have become worthless. So in return for this, the stockholders let some contingency fee lawyers talk them into fronting for these suits. Any sane judge would throw all those out on the grounds of standing: “You weren’t damaged, so how can you sue for damages?”

I’ve finally had time to look up Apple’s patent on embedding a camera inside a screen. Here’s the brief at New Scientist and here’s the original patent. Looks very interesting. For the current iPhone and screen technology it’s of course still in the labs; as you would usually have one camera sensor pixel for every screen pixel, or some submultiple even, to get iSight resolution (640×480; VGA) the screen would have to be double the size (or double the pixel density). But I don’t doubt this is coming in some future version of the device, and certainly it may make its debut in one of the laptops, where there would be only one sensor for every 4 or 6 screen pixels.

VGA is good enough for videoconferencing, but it’s barely 0.3MP when used as a camera. So it would still make sense to have the camera/screen facing the user and a higher-resolution camera on the back of the device. Two hi-res cameras, one on each side? Expensive. Moving cameras, twistable prism/mirror, zoom lens? Expensive and it would need moving parts… the iPhone is certainly a further design move towards having no moving parts at all, not even buttons if possible.

Speaking of moving parts, I’ve been told that practically everywhere it’s mandated that a phone’s SIM card be user-removable. I’ve checked the keynote and at the 39:20 mark Steve Jobs, discussing the top of the iPhone, says that there’s a “tray for the SIM card”. However, no opening, slot or door is visible. Sure, that might have been left out of the few prototypes – some reports say there are only a handful in existence. And the seam on the back of the device, between the black part and the metal, looks unusually wide; perhaps the phone slides apart there. If so, having a removable battery there would incur little extra cost, incidentally removing one of the objections that have been voiced.

In any event, much may change in the 5 months before the final model is in the stores, so I’d say both the doomsayers and the fanatics need to take a step back and relax for now.

Personally, I’m much more interested in the implications of “OS X” and the iPhone UI for Leopard. The zoom in/out gestures can now be seen as an evolution of the recently introduced control/scroll wheel zooming feature in Tiger. Couple that with higher pixel densitie, a fully resolution-independent interface and a larger trackpad on laptops (and perhaps a trackpad-like area on desktop keyboards or desktop mice?), and you’ll have easy zooming built into all versions of OS X/Leopard.

Still on the OS X topic, several people are swearing that the TV also runs OS X. While I’ve been unable to find any mention of this in either the keynote or Apple’s site, it would make sense. Unfortunately at the Apple booth at Macworld, people weren’t allowed to look at the configuration screen.

Your Subject Here!

No comments

MacWorld predictions (and the parallel tracking of the options “scandal”) are growing ever more frenzied, and even starting to overlap, with a pronounced “Chinese whispers” effect, even stronger than usual. I’m not a lawyer or stock/options expert, but my bogometer just about pegged. Frankly I can’t see how Steve Jobs resigning (or even taking some time off for “health reasons”) would help Apple stockholders in any way. FWIW, I think nothing serious will come of this… and I’m not selling off my AAPL stock before the keynote.

Looking over the spate of recent rumors, it struck me that it’s very likely that a future small Apple device would feature an “embedded” Mac OS X. After all, embedded CPUs are constantly becoming more powerful, and RAM and flash memory capacities on embedded devices are also growing – and Unix-like OSes are known for being well-suited to embedding.

At first glance, Mac OS X is a huge beast. You need several gigabytes drive space for a normal install, and half a gigabyte of RAM is now standard on Macs – meaning, double that is the minimum for serious use. However, most of that stuff is necessary for general use. If you look inside the system folders you’ll see tons of drivers for all currently supported hardware configurations, tons of frameworks for all sorts of applications, and lots of extra apps and utilities.

In contrast, any embedded device running Mac OS X would have a stripped-down version of the kernel (most probably supporting only one CPU), the exact selection of drivers and frameworks needed for that device, and one single application controlling the user interface. Supporting additional applications would be relatively easy once their focus is defined. Looking at it in another way, this describes the original Mac very well… and it had 64K of ROM, 128K of RAM and 400K of disk space. That’s much less than the iPod has, of course.

So how small could Mac OS X be squeezed in order to fit into the iTV, or into any rumored handheld Apple thingy/paradigm smasher? That’s hard to say. Offhand I’d estimate 64 to 256MB of flash memory, anything from half to double that of RAM, and that without raising the price too much, given the volume discount Apple could get.

Re: What, already?

No comments

Scott Stevenson just posted “The Year in Mac Development“, an excellent summary. Two comments on specific points…

Re: interface guidelines:

If you need one rule to follow, make it this: don’t introduce new behaviors for existing controls. Don’t make a checkbox act like a push button or a slider act like a scroll bar. That will confuse users. If you need new behavior, make a new control. And when in doubt about UI standards, just do as Apple does.

I’d just sent a build of XRay II for a developer friend to look at – a very early pre-alpha, I hasten to add – and he called my attention to a detail on the UI. While replying to this, it occurred to me that almost all of my UI was custom controls; the only exception were scrollers and text fields. However, my friend hadn’t caught on to this at all, as the custom controls looked and behaved for the most part like Apple’s controls – or at least, like users think Apple’s controls should behave. A good example for this is of course RBSplitView; you can twiddle it to look just like any variation of Apple’s split views look, while underneath it’s all new code.

So, I’d amend Scott’s comment here to “don’t introduce new behaviors to existing controls unless they’re expected. Make a checkbox act as a better checkbox, not like a pushbutton.” Flashy visuals may well be nice or even appropriate in specific situations, but they’re liable to get in the way of the “just works” experience.

Re: marketing shareware controversies:

Perhaps most importantly, these events took the idea of buying independent Mac software out of the shadows and brought it into the community’s consciouness. A lot of the stigma of supporting smaller developers has been lifted, hopefully improving things for everyone involved.

For various reasons, I’ve stayed away from (or wasn’t invited, which was just as well) these new marketing events, tempting though they looked at first sight. They seem directed at a more general public than what is intended for my main application. Still, it’s interesting to note that my downloads and sales have picked up noticeably in the last 6 months. No idea if this is due to the effect Scott comments on, though…

Coming back to MacWorld, here are some more expectations I saw on various sites:

– iApps. Well, of course they’ll be improved as usual, and the Leopard versions will use stuff from the new frameworks. I still can’t understand why so many people turn this concept completely around and mention small app changes when they talk about the OS releases, though.

– iPods. Another area where incremental improvements go without saying. Apple might have a reply to the Zune ready, perhaps with a larger screen for video, perhaps with the patented touchscreen/body. Still, I’m not excited about this.

– Some people are – maybe only half in jest – suggesting that Steve Jobs will announce a career change. Perhaps a Bill Gates-like lateral promotion to “Chief Technologist”? There might something to that. The recent options flap showed that Wall Street’s expectations of a CEO’s functions are increasingly dissociated from what Jobs really does (or should be doing, anyway) at Apple. Of course you and me know that Tim Cook, the COO, already does the dull back-end operations stuff, but do the analysts understand that? I don’t think so.

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.