Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts in Apple

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.

Re: iPad time

No comments

richardl wrote:

Rainer, it is interesting to note that Adobe built their ActionScript/Flash compiler for iPhone on top of LLVM.

http://cs.illinois.edu/news/2009/Oct8-2

http://www.adobe.com/devnet/logged_in/abansod_iphone.html

Thanks, I wasn’t aware of that. However, I don’t think that this invalidates my original argument, which is more based on Clang than on LLVM. Christopher Lloyd also remarked on this:

…Yet Adobe uses llvm for the compiled Flash, so they don’t like Adobe’s parser? silly. http://bit.ly/MQtRZ

Also thanks to Daveed Vandevoorde, who remarked that the LLVM bytecode isn’t as platform-independent as I thought – things like sizes of variables and ABIs (Application Binary Interfaces) stand in the way. Still, it’s not impossible to see Apple defining a generic target platform, in terms of sizes of pointers, integers and so forth, and a specific endianness and runtime ABI, and then staying within the bytecode for that.

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.