Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts in Apple

Whew. It’s over. This year’s WWDC was certainly one of the most intense – and one of the most promising – that I can remember.

It started on a somewhat sad note: Steve Jobs was clearly unwell, moving slowly and his voice was unusually weak. He was onstage for only a few minutes before turning things over to his VPs. Then, towards the end, when he talked about iCloud (which is obviously something he put a lot of energy into) he got better. Still, I have a feeling that this might have been Jobs’ last keynote; he’s clearly not going to be around for many more years. However, the general impression I had was that everybody feels that Apple is now synchronized enough with his mindset to go on indefinitely without him.

This WWDC was clearly about pointing out future directions. And it was all about software. Many commenters are pointing out this or that added feature in (say) Mail, or in the Finder, or in iOS 5. Others are bemoaning the lack of hardware announcements. Of course there have been the usual comments about Apple copying this or that from Windows. Still others are gleefully pointing out how the iPhone 5 (for instance) has been delayed – this when it hasn’t even been announced, but they apparently believe in each other’s rumors!

Let’s put the hardware issue away first. As I’ve been saying for a couple of years now, Apple’s heavy investment into Clang, LLVM and connected technologies like LLDB is now paying off. This trio will very soon be Apple’s main developer tools backend. They’ll be free from overweight, ancient, license-encumbered stuff like gcc and gdb and the results are very encouraging. Without going into details (NDA ahem), suffice it to say that fellow developers have seriously agreed with me that the new tools are better – this or that detail notwithstanding – than anything else on the mobile or desktop market today.

Also Apple is now free to make hardware details irrelevant. When Apple switched to Intel six years ago, I wrote:

Winners:

  • Apple, of course. As I commented below, they’re free (or will be, in a year) of the CPU-architecture-as-a-religion meme. They get a literally cool CPU/chipset for their PowerBooks; although I suppose they won’t use that name in the future; how about IBook icon_wink.gif? They get dual-core CPUs right now, and a 64-bit version in the future.

And this is still true. At that time, too, some people saw Apple “imitating” the Wintel machines by adopting Intel CPUs as a negative thing (or even as positive, depending on their bias). Now with Clang/LLVM becoming Apple’s mainstream tools, they could switch CPUs anytime without users noticing; the new Intel-based Macs were still normal Macs, and normal users didn’t care which architecture the ran on. And indeed, lately rumors have abounded about ARM-based MacBooks. But, as I wrote at WWDC 2005:

…it’s a new type of freedom. Freedom of architecture. IBM underperformed, they’re out; at least for now. Intel works better now, they’re in; at least for now. Next year, some other chip may be hot, Mac OS X will be on it, and recompiling will be even easier. We’re free!

For the normal user, hardware specs aren’t that important anymore beyond a certain threshold – if they’re sufficient for the job, the details are unimportant. As the old joke goes:

A lady stands in front of an enclosure in the London zoo and gestures towards one of the hippopotami, asking a passing zookeeper:

“Please, can you tell me if that hippopotamus is male or female”?

“I’m sorry to say that this information would be of interest only to another hippopotamus…”

As Jobs said in the keynote, now it’s all about “devices”. Desktops, laptops, iPads, iPhones – all are equal devices in the iCloud. Few people think of their iPad/iPhone as a computer; the innards are of interest only to those of us who have to develop software or hardware to (ahem) “mate” with those devices. Will the next iPhone or laptop use Apple’s A5 chip, or will there be an A6? My mom doesn’t care, and yours shouldn’t – unless she’s a fellow developer. Not even if she’s a stock analyst!

Next: software directions.

Re: WWDC2011

No comments

My flight to San Francisco and WWDC 2011 leaves tomorrow night and I should arrive early in the afternoon on June 2nd.

Friday and Saturday are mostly reserved for taking care of some private business, but if anybody wishes to meet with me before WWDC, please drop me an email (rainerbrockerhoff.net), Twitter direct message (I’m @rbrockerhoff) or AIM:rainerbrockerhoffmac.com.

Early Sunday I’ll switch hotels and soon after lunch I’ll be at Moscone to get my badge. There was supposed to be a meet-up of Brazilian developers in the early afternoon, but apparently not everybody will be able to show up; at any rate, I’ll hang out at registration for a couple of hours. Later on, and all week, things will be quite hectic and I’ve no idea yet which parties I’ll be able to attend.

After the conference I’ll have a couple of days for resting and reading, and I should be back home on June 15th.

Things are looking up development-wise. I’m well along implementing my ideas of transitioning most of my products to the Mac Apple Store. While this means that all the new stuff will only run on Mac OS X 10.6.6 and up, the old versions will continue to be available, though mostly unsupported. No time to post details yet, and some of those are bound to change depending on information gathered at WWDC – but I’m optimistic that everything will work out.

More as it happens!

WWDC2011

No comments

By a happy coincidence, I was notified in time that tickets for WWDC 2011 had become available, and booked one – they were sold out in less than 9 hours! Even though Brazil now has an online Apple Store, as well as Mac and iOS App Stores, developers still must send a (gasp!) Fax to Apple in California – no paying over the Internet, as we used to do before the stores came online. I’ve complained to Apple Developer Relations, hopefully this will be updated to current technology the next time around.

My air tickets should be confirmed in a few days, so far it looks like I’ll arrive in SFO on June 2nd in the afternoon. WWDC will start on with the keynote on Monday morning, June 6th (my birthday!) and end on Friday afternoon, June 9th. I’ll leave town on the morning of June 14th. As usual, the actual conference days and nights will be extremely busy, but I’ll probably have time for a meeting on other days.

On Sunday, June 5th, I’ll be getting my badge at Moscone betewen 14:00 and 15:00 (that’s 2 to 3 PM local time ;-)) and there’ll be a meet-up for Brazilian developers afterwards. Keep an eye on the blog for any changes and updates.

I’ve also found an interesting place to practice some table tennis: the San Francisco TTC at 953 DeHaro Street. Should be fun… I’ll take my trusty old racket and the new one I got courtesy of the nice folks at CocoaHeads Beijing two years ago.

The Mac App Store

2 comments

Yesterday, Steve Jobs announced that in a few months, Apple will open an App Store for Mac OS X, following much the same model as the previous – and hugely successful – App Store for iOS.

Two things are immediately obvious: first, the Mac OS X App Store won’t be the only way for users to purchase, download and install applications on their Macs; the previous, time-tested ways will continue to be allowed. Second, the App Store (as the name states), is for applications only – and only for applications of a certain kind.

The long list of prohibitions and cautions exclude, often by definition, system preference panels (like my own Quay), kernel extensions or apps that use them, complex application suites that install background processes, and in fact, anything but a plain old-fashioned self-contained application would be hard-pressed to observe all the guidelines. In fact, as others have observed, most of Apple’s own applications are non-compliant.

The huge difference from the iOS App Store is that developers are perfectly free to write software outside the guidelines, and users are perfectly free to install them. What the new App Store is promising to be is, in effect, a fenced-in garden where a certain type of user can download and install a certain kind of application while getting the warm fuzzy feeling they know from the iOS app store.

In fact, my hunch is that Mac OS 10.7 (Lion) will have an interesting change to the “Accounts” panel in System Preferences. Today, you have four types of user accounts: Administrator, Standard, Managed with Parental Controls, and Sharing Only (aka Guest). I think that all but “Administrator” accounts will allow the user to install applications only via the App Store, and that the Managed and Guest accounts will have an option restricting that user to only run applications from the App Store.

Which may not be such a bad idea after all.

For the developer, it seems that it won’t be allowed to have the same application sold over the App Store and outside it; perhaps not even different versions of the same app. That also makes sense to me. In other respects, the same old arguments apply to both the old and new App Stores: price erosion must be avoided, marketing your app in the long term can’t be left in Apple’s hands, and so forth.

As for myself, I still haven’t had an idea for an iOS app compelling enough that hasn’t been done already, and so far that same argument applies to Mac OS X apps that would fit into the guidelines; my interests lie, still, in doing utilities that enhance the system – not allowed on iOS, still very interesting on Mac OS X.

Looking back over my WWDC predictions here, I was struck by how boring they were. The same sort of expectations every year, only everything was twice as fast, or large, or whatnot, than the year before. And this year, coming into a conference which is almost completely not about my main platform – the Mac – I noticed I didn’t even have enough information or interest to do the obligatory prediction post.

I was told that over 60% of the developers this year were newbies both to WWDC and to developing for Apple. This seemed, even, a low estimate; I did meet friends from years past, some of them real old-timers, but there weren’t as many as I’d expected – and almost none of the people I didn’t know, that I talked with, were doing anything on the Mac, although some said they’d try to do so sometime in the future.

Indeed, the Mac OS was conspicuous by its almost total absence in the session list, and it was mentioned only offhandedly by Steve Jobs during the keynote – only once, I think. Another, more unexpected, absence from the keynote was the iPad: this, too, was mentioned mainly regarding sales figures, and the rest of the keynote was all about the iPhone 4 and the newly christened iOS 4.

On consideration, however, it makes sense not to talk about the iPad in the keynote: Jobs is notorious for presenting exactly what he wants the press to publish, and distracting them with too many topics is counterproductive. The iPad has had its presentation a few months ago and is selling so well that they’re probably scared that more people will want one; the factories are at max, and cases and other accessories are back-ordered for days or weeks.

Also, an upgrade for the iPad might be a little premature at this point. Any new version would raise protests from those zillions of people that just bought one; the Flash RAM industry is barely keeping up; a faster CPU would need to be dual-core. Regarding the new fancy Retina screen technology, an iPad screen at about 300 dpi would be 2400 by 1800 pixels! I don’t think any mobile video chip can handle that today. iOS 4 is about the only upgrade that’s reasonable to expect to come out quickly.

The iPhone 4 looks good indeed. I don’t need a cellphone myself but the dual cameras and other goodies are tempting; I find myself wishing that Apple would go into digital cameras again. Still, to me, the real star of this WWDC is Xcode 4, the existence of which was also released to the public today; it’s a major step forward, and – as I said several times in the past – many of its features seem to have been enabled by LLVM and its various side projects. One of them, the lldb debugger, is the one I’m particularly interested in; I never liked gdb much.

Many people asked me if I, too, am afraid that Apple will drop the Mac and Mac OS X entirely in the future. Well, I certainly am not! After all, what else would you use to develop for iOS? Xcode 4, for one, seems positively need a 27″ screen for best use – I’m glad I bought a 27″ iMac not too long ago. While the iOS devices might eventually be the tool of choice for consumers to do most of what they on laptops today, laptops will still be useful, and powerful desktops will always be necessary for anything that needs more CPU or graphics power. That said, I can see the laptop line compressing to, say, two models next year, and the Mac Pro going away entirely, or at least replaced by a model seriously more powerful than the high-end iMac.

To close for today, it is safe to say that – without violating any NDA in the process – is that, at least during the next 4 days, whenever any demo hits a glitch, the presenter will ask the audience to turn off its WiFi devices. I saw it happen already, in fact. 🙂

WWDC2010: tips

No comments

Just got an email from Apple that my iPad reservation was fulfilled, and as soon as the store opens, I’ll be there to see if it’s true; I was resigned to waiting for at least 5, possibly 7 days! At least I already a good man-bag for it; not the one Matt‘s wearing in that picture, but this one:

It’s got lots of pockets and zippers, and the main pocket is almost big enough for a MacBook Air. That said, it’s not specific for the iPad, and I’ve already thought about putting in some extra padding in the bottom. But the upscale larger bags are all on back-order.

OK, now for the WWDC tips for newbies. I recommend also (or first) reading the tips from John Martellaro, Brent SimmonsMarco Arment and Peter Hosey – not necessarily in that order. There’s also Apple’s official FAQ.

  1. Come in a day early, two or three if you’re from outside the US. It’ll give you some time to get over the jetlag, explore the area around Moscone Center, and meet some people early.
  2. Pick up your badge on Sunday in the afternoon. Don’t come in on Sunday morning; although registration opens at 9:00AM, that’s when I will be registering, and I don’t want to stand in line… 😉
  3. Take care of your badge. That’s important; if you lose it, there’s no replacement unless you pay again for the entire conference. You may be able to wheedle some Apple employee to give you his badge if your name is Steve Jobs, but otherwise, it’s a huge hassle. What I always do is to bring some small cable ties. Cole Hardware on 4th Street carry them, just a block from Moscone. The trick is to fasten two ties to the badge in a way that locks it to the neckstrap, and I leave the two tails sticking out, one to a side, which keeps the !@#$% thing from flipping over (which it otherwise will do constantly).
  4. Unless you’re a legend in your own time, you’ll notice people constantly sidling up to you and stoop to squint at your badge – that’s why it’s important to keep it from flipping over. Even if you go up to someone you’ve talked to a dozen times before, they’ll do that, so don’t be offended; many geeks look alike, and geeks aren’t good at face recognition, anyway. So my tip is to make a special T-shirt for the conference. As long as it’s not too blatantly commercial and/or mentions some direct competitor, they’ll allow it – I recall one of the last WWDCs held in San José, where someone onstage at the keynote mentioned “Brand X” and the next day, all Microsoft employees showed up in “Brand X” T-shirts. Anyway, I have my shirts done at Zazzle, and I use their microfiber shirt; it’s not cheap, but it’s light enough for tropical climates, washes easily on trips, and the colors keep vivid for over a year, even if you use them almost daily.
  5. Network. Don’t be shy – almost everybody at WWDC is. Well, you’ll notice the exceptions immediately, anyway. If you’re in a boring session, either walk out and find a better one, or sit down at one of the corridor tables and talk to people there.
  6. The WWDC lunch wasn’t too bad in the San José days but has gone downhill steadily since then. Even so, the lunch is also an excellent networking opportunity; don’t waste it. Find some marginally acceptable liquids and solids and sit down at a table, and talk to people. Unless you really need to have that particular meeting right there, avoid going with your old clique.
  7. Parties. Well, you should go to at least one – I’m going to sfMacIndie on Sunday (which falls on my birthday, ahem 😉 ). However, YMMV, as they say here; most parties are too loud and crowded, unless you enjoy that sort of thing. If you go, keep your badge on and/or wear that T-shirt. There are partial lists of more parties; just google for wwdc 2010 party list. The same goes for the beer bash on Thursday evening; last year the food there was actually good, but the lines were long, and the music was loud and not to my taste.
  8. Bring a laptop and the extension cord for the charger; there are lots of outlets, but not always within reach. Bring a travel surge protector or at least an outlet splitter, so you can ask someone to share an outlet if none is free. Pack a long ethernet cable just in case.
  9. Many fellow developers will be glad to talk to you, but won’t take kindly to in-person bug reports; more efficient to send an email. If you have a bug report for any of my products, please do email. However, if you have questions about my source code, we can set up a meeting.

That’s about what occurs to me now; be sure to read the other tip pages, though.

WWDC2010

No comments

I just arrived in San Francisco a few days before WWDC, which starts next Monday, June 7. By a coincidence, June 6 is my birthday – will turn 0x3B. 😉

Let’s hope Uncle Steve has a nice present for me; I just came from the local Apple Store, where they don’t have any iPads in stock.

Re: iPad time

1 comment

Interesting piece by Sean Heber aka BigZaphod.  Remember my post about the significance of Clang/LLVM on the iPad?

I think there’s a chance that Apple is slowly building Objective-C into a managed environment similar to Java/.NET. At some point in the future they could define an Objective-C HD (or whatever :P) that no longer maintains total compatibility with C. Since they use LLVM a lot now, they can even use that to analyze your code to make sure that pointer accesses are safe and controlled. Anything that isn’t safely confined to your own app would be an error. Access to the Objective-C runtime functions could possibly even be revoked. After which point, Objective-C HD no longer compiles to machine code but instead to an intermediate representation.

By doing something like this, they can abstract the actual underlying CPU hardware and architecture out of the applications themselves as well as maintain a truly safe sandbox where private and undocumented APIs simply will not be allowed to work. Apps on the App Store would be submitted in this intermediate format which they can translate into the machine code that’s native to whatever CPU happens to be in the device you’re downloading the app for or they could simply put a JIT in iPhoneOS (although there’s no reason to waste the CPU cycles on the device if they can translate them once on the backend – at least for mobile stuff).

Pretty much complementary to my reasoning.

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