Apple To Buy Tesla Motors

You heard it here first. Apple will buy Tesla Motors. Yes, it's a crazy idea, but actually not so far off as you might think.
Apple has the cash. They also have the design and operations know-how. God knows they have the marketing acumen. An electric car is a pile of electronics and they have many engineers. The car industry, at least in this country, is out of touch with its customers, so ripe for the Apple touch. It's high-profile, begging to be integrated with practically everything, and all very glossy. Start high-end, move down-market, and create a whole new class of vehicle.
Can Steve and Jonathon resist? It would certainly be an amazing third act for Steve Jobs.
Back From WWDC 2008

I'm back from WWDC 2008 and catching up with real life. It was fun, busy, tiring, informative, interesting, and packed with people engrossed in their laptops. I met a whole bunch of people who I knew online, as well as seeing many of the regulars from Cocoaheads. I've posted 94 photos at SmugMug, several of which are posted here.
Keynote
The keynote is of course very popular. I arrived two hours before the start and was about halfway back on the right. Here is the view I had of the procedings:
Seeing the real thing was great, but unless you have a good seat there is much real but not very much thing. Lots of excitement, but I was more interested in the state of the union talks that occurred later in the day.
Al Gore was at the keynote, and I snapped a photo of him in his way down on the escalator:

Room and Board
I kept the cost down by not staying in San Francisco and spending >$250 a night. Instead I commuted from the south bay, which, while inexpensive at $10.50 for a round-trip BART ticket, took out four hours from each day, much of which came at the expense of sleep. Finding parking at Fremont BART can be hard if you don't get there before 7am, so that pretty much controlled my timetable. By Thursday I was way too tired and went home early, so missing the bash.The food was pretty decent, especially considering that there were more than 5000 people there. Pre-packaged cold lunches were served at midday, and there were things to nibble on several evenings. Breakfast materials (doughnuts, bagels, etc) were there at 8am. The afternoons saw snacks and fruit arrive. Coffee and tea was available much of the time. I brought extra food and ate it all.
Sessions and Labs
The sessions themselves were very well done. The sound systems were excellent, so I could sit anywhere and hear perfectly well. Many of the seats had power strips attached to the legs so I could juice up my MacBook while I listened. The speakers, typically engineers and others working directly with the technologies, spoke and presented well. The product evangelists and other engineers were on hand for the Q and As that followed each session.I didn't get a great deal out of the labs, but that was mainly because I didn't have specific questions or problems, and had no app to show. The User Interface lab was completely sold out. The people in the labs rotate each day, so I only found out too late that I had missed the experts for a certain subject in the Graphics and Imaging lab and those that were there could not help me. So it pays to ask exactly what their schedule is day to day.
Cocoaheads
Tuesday night was Cocoaheads in the Apple store and it was packed:
There were a selection of indy Mac developers present talking about their companies and applications. Scott Stevenson has more information on his blog. Unfortunately there were no recordings made.

Infrastructure
Wireless networking was everywhere and hard ethernet ports were in several areas. On only a couple of occasions could I not get a signal. The infrastructure could sustain an awful lot of traffic: the only time I had to wait for anything was when I needed a 1.6GB installer and found that almost everybody at my table was downloading it at the same time.
Everything Else
There were non-Cocoa happenings too. Juggling took place on level two most days:
and there were many informal groups getting together and chatting.

The Apple Design Awards went quickly as they had a lot to cram in: Mac and iPhone this year. The little cubes light up when you touch the top, as you can see in this photo:

It was a pretty good place for photography, but only if you like taking photos of geeks with laptops and have the equipment to contend with low light and busy backgrounds.

Light levels and color vary enormously. I lugged a backpack with 20 lbs of computer and camera gear with me all week and got some pretty good photos. However I was constantly changing lenses. My favorite lens was the 85mm f/1.8 (about 135mm equivalent). I can see why people with full-frame cameras rave about the 135mm f/2L: it's a very useful length and aperture. The only lens I took but didn't use was the 50mm f/1.8. I used the 17-55 f/2.8 instead. A longer focal length would have been useful at times, but probably not worth the weight.
Next Year
Will I be back in 2009? Probably yes. It's expensive (especially since I'm self-employed) and a lot of work, but it's definitely part of being serious about development with Cocoa and Objective-C. I've come back with all sorts of ideas and a head full of knowledge that I would not have had otherwise.See You At WWDC
I'll be there with my camera gear, including two lenses that were loaned to me by a friend, so there should be plenty of photos that week. Check my WWDC 2008 gallery for updates.
Predictions? A tough call as always. I have an almost 100% record of being wrong, but here goes:
1. 3G not only in the new iPhone, but in all new laptops from here on
2. A switch to LLVM as a base for all code compilation
3. A paid software update service for developers -- just like Software Update, but with more bells and whistles
4. A new .Mac offering scalable back-end services to iPhone developers
Cocoaheads Video Now Available Via Torrent

Scott Stevenson (above) has posted videos from the May CocoaHeads. They're available via a torrent as well. The main topic was a rapid introduction to Cocoa.
CocoaHeads Silicon Valley continues to draw good attendance. I'm sure that the WWDC meeting will be packed just like it was last year.
The Ongoing Debate Over Apple's Developer Documentation
Today I threw my assessment into the ring with all the others. See below:
The documentation debate is actually several orthogonal debates that regularly get intermingled:
* What should the purpose of the documentation be?
* How should it achieve those goals?
* Who should be responsible for it?
The answers to these questions used to be easy because of the scale of the problem: small. As Apple grows, as its software base grows, as its customer base grows, and as its developer community grows, so does the diversity of all of those and difficulties and vocal minorities with those difficulties appear.
An area where Apple has proved itself to be a master in its *products* is that of managing expectations. Only by managing expectations is it possible to consistently satisfy and delight customers. But we're not debating products here, we're debating *developer documentation* and that's not a product. Or maybe it is? I argue that it is not because if it were then Apple would be managing it like one and is clearly not. If it were, then the three questions above would have answers and we would all know and understand them. It is notable that for the iPhone SDK announcement there was a live public demo of Apple's developer tools -- a milestone event -- so maybe the path to the productization of the documentation is coming.
To add fuel to the multiple fires here:
Erik Buck wrote:
Many of those with difficulties know and understand this. It's the best thing since sliced bread and they want to learn, badly. They quickly find that the Cocoa way is not the same as the Java or C way, and while there are a small number who will simply complain that it is unfamiliar and do nothing about it, the majority just see it as another thing they need to grok. Programmers have one thing in common: they want to be productive. Those learning ObjC/Cocoa are doing it because they want to be productive and they believe that mastery will make them greatly productive."Cocoa is the most consistent, elegant, and productive software development technology I have ever used, and I have used a lot. Cocoa uses key metaphors and design patterns ubiquitously. If the programmer is either unaware of the metaphors or does not see their utility, it will be difficult to use Cocoa. If a programmer fails to grasp a particular pattern, the whole framework may be incomprehensible because the pattern is most likely used throughout."
But the documentation actually *defines* them very well. What the documentation does not do is to justify the existence of these things, explain the problems that they solve, put them into context, relate them to the user's situation, reassure the reader how much they need to know right now to get to the next step, etc. It does all of these things *in places* and to different degrees, but not consistently and not enough. The environment is hostile to learning."The attributes of Cocoa that make it so consistent and elegant are exactly the same attributes that I think newbies are complaining about. The newbie complains that the reference documentation mentions delegates or tags or data sources or the responder chain or key value coding or bindings or targets or actions etc. without defining them".
And this is precisely why there used to be sections in computer manuals on mouse usage, hierarchical file systems, etc., all unfamiliar concepts to many of the users. But there are *no such sections* in Apple's docs. Should there be?"This is exactly like a newbie complaining that clicking and dragging and selecting and double clicking are used throughout a GUI but not explained in the documentation for every application. Once the GUI metaphors are internalized, it is unnecessary at best and annoying at worst to keep encountering mouse based selection explained in every user's guide. The consistent application of the metaphors makes the GUI easy to use. The consistent use of metaphors makes Cocoa easy to program. BUT YOU MUST UNDERSTAND THE METAPHORS FIRST in both cases."
No really, I can't find them. Here I am in Xcode's docs and I'm typing in Concepts, Conceptual into the search box, and any way I try it I don't find any conceptual docs except Core Foundation Design Concepts (now three years old). And if I go to the developer site and find my way to http://developer.apple.com/documentation/Cocoa/, there is nothing labeled "conceptual". Let's try the pop-up on that page: Jump To: No concepts.
But the idea of conceptual documents *really is* there. The document Introduction to Cocoa Bindings Programming Topics has the following path: http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaBindings/CocoaBindings.html. It's in the *Conceptual* folder so I know that conceptual documents exist here as a concept at least. Now show me all the conceptual docs in one place so I can learn the concepts!
Now *I* know that the Guides fill a conceptual role, and Getting Started With Cocoa tells me to go see the Guides for conceptual information. But when I actually go there practically salivating with anticipation, it's organized by *Topic*, not by Concept. Show me the concepts!
Let's try a global text search at the developer site: 8600 documents show up, and I meet Core Foundation documents before I meet Cocoa. "Cocoa Concepts" does somewhat better with 1500 documents, but still. Where do I start? How about Core Data, that shows up near the front and sounds pretty conceptual....
Am I looking in the wrong place? For the wrong thing? How would I ever know if I'm starting out?
Perception is everything. If the newbie perceives that it's all screwed up then it *really is*. It doesn't matter if *you* learned Cocoa from reading the backs of cereal boxes. *You* are not the typical Cocoa learner. And this is key and why the docs need fixing: Almost nobody here is a typical Cocoa learner, because at least 90% of the typical Cocoa learners have not yet even arrived in Cocoaland.
On May 18, 2008, at 4:33 AM, Julius Guzy wrote:
Here is an example of the difficulty. Go to the Cocoa section of the Core Reference Library. Click on Fundamentals (Essential information for developers using Objective-C) and select Memory Management Programming Guide. I'm playing the part of a good newbie here -- clicking on everything that claims it is fundamental, essential, and core to the whole thing. By being here I am told that memory management is fundamental, essential, and core, and the document reinforces that. The first thing it says is:"The very good , interesting and informative debate in this list concerning the accessibility of the programming environment to new users has it seems to me incresingly polarised between those who think the documentation more or less adequate and those like me who for whatever reason, have great difficulties making use of the facilities."
"Memory management, especially as it concerns Objective-C programs, is an important subject. Some of the more common problems encountered by novice application developers derive from poor memory management. Cocoa provides mechanisms and a policy to assist you in the proper creation, retention, and disposal of objects."
Wonderful! I am in the right place. The docs are doing their job. But in the second section I find that:
"Cocoa does not use garbage collection. You must do your own memory management through reference counting."
Really? I'm sure that garbage collection was in here somewhere, that was one of the reasons I wanted to learn Cocoa all of a sudden. And then later on, there is a whole section on Core Foundation memory management, talk of retain cycles, NIB files, data sources, weak references, and the like. Whaaaaaaa?? If this is the fundamental stuff, what do the tricky bits look like?
The individual developer documents are of very high quality, and this particular document is no exception. It is well-structured, complete, consistent, has many references to other documents, stresses the importance of important things, shows simple examples, describes common errors, has good readable English, etc. Some of the developer docs I have read are truly exceptional, describing very difficult material very precisely and very clearly, so it's not a lack of writing skill or the ability to explain complex things.
So what is wrong?
1. This document that I believe to be fundamental, essential, core, and important *does not stand on its own* and so robs me of understanding.
2. It is at least five times too long and contains material that while fundamental, is not fundamental to *my learning as a newbie*.
3. It has not been designed as a learning tool. If it had then it would be goal-oriented and as a learner I would be able to measure achievement by reaching that goal. I would then have confidence that my task was complete and would tackle the next fundamental item.
4. It has not met my expectations
The last point is the most important one. For whatever reason I expected to be able to learn from the documentation and it was only when I tried to do that and failed were my expectations dashed. *As a product* the documentation fails for this one fundamental reason. If I were here because I had somehow missed the huge Learn Cocoa Here banner on the developer site and clicked in the wrong place, then it would be my fault (or I had continued past the banner that told me not to learn here). But there is no such banner and no such material, and so I have every reason to believe that I can learn here.
While the documents themselves are very good, I believe that the architectural problem is that the *documentation* is not. That is, as a body of work, it is on the verge of no longer meeting the needs of developers. That's because the nature of developers themselves has changed, and the current documentation organization does not scale. Apple's own product success (iPhone!) and ease of use sets a very high expectation bar for new developers too.
It is also worth noting that many (most?) younger developers expect (demand?) an agile approach to learning new languages, environments, and concepts. Maybe Cocoa is not like that and can never be like that, but this is the expectation that Apple faces. A Google search for "agile cocoa" yields no Agile books (but at least does lead to Fraser Speirs).
"I think this debate relates to the same concerns and battles we had, and in many cases are still having about computer usability, namely the effective design of human-computer interfaces, aka HCI.
It's a scaling problem. That fundamental memory management document above covers a lot of ground out of necessity (in order to be complete in the face of scaling) but in doing so covers too much ground (in the face of scaling of readership and hence the diversity of reader backgrounds).It is ironic that we are having this debate within an Apple programmer's mailing list. Apple has been celebrated for the usability of its machines and long may it continue to be so. However, Apple has been less celebrated for the humanity of its programming interface having, in my experience of Macs from the Lisa onwards, seemingly taken the attitude that its programmers were hobbyists, geeks essentially, who because of their enthusiasm would successfully negociate their way into the machine's innards. That said, the 9 tomes of "Inside the Macintosh" documentation of the programmer's workshop were pretty good once you got into them but there was a lot less to get into then than there is today"
"This question of volume of documentation and system size and complexity is significant to our debate. It is pertinent to quote what one of the great programming pioneers, Dijkstra said about PL/1: That it " must be like flying a plane with 7,000 buttons, switches, and handles to manipulate in the cockpit. I absolutely fail to see how we can keep our growing programs firmly within our intellectual grip when by its sheer baroqueness the programming language - our basic tool, mind you! - already escapes our intellectual control". ("Humble Programmer", see Prgramming Methodology 1978).
It's not the programming interface that has difficulty. It really is extremely good and very well thought out. Every time I do something the "right" way I end up with less code and understand a little more of how smart the people were who created all this in the first place.Well I think that the sheer size and complexity of Cocoa et al comes close to being an aeroplane cockpit and one which we are largely expected to learn to use from engineering manuals essentially concerned with listing the identity, composition and location of components,(not to mention the various incarnations of Xcode and Interface Builder). I am not saying that tremendous pains have not been taken to create a robust coherent system nor to document it. There have. Also there are many who have succeeded in mastering the system. Some will have done so through having grown up with it from early days, others will have had the fortune to attend (expensive) traning courses, and others still will have done so through dint of talent, perspicacity and hours of hard work. So mastery is possible. But I am not stupid nor a shirker nor a complete novice and I expect that the same can be said for most people who have had and are continuing to have horrendous dificulties in getting to use the system. It is clear that the programing interface to the Mac has serious usability issues."
It just doesn't look so good to those who don't understand why it is like it is. There are some similar arguments to this one about the interface to Blender, the 3D modeling and animation application. It's hell to start with (three button mouse? you must be kidding...), but much later you realize why it all makes sense because the enormous complexity you would otherwise face at that later point is so much more manageable than with other apps. Experienced Blender users are amazingly productive *and* they can keep up with the rapid scaling of the platform because of its conceptual underpinnings. The Blender docs are another matter though...
Exactly. Conceptually, saving triggers the connection and makes the magic happen. But how is that concept learned? Where is the metaphor? Why is saving even needed?"I cannot help touting one recent example. To specify the outlets etc between a class definition and Interface Builder on Leopard we are told to type the name of the class into a field and that thereafter IB will make the appropriate links with Xcode. It took me ten minutes of doing it this way and that before I realised that IB would only make the connections AFTER one had typed in the class name AND saved IB! We know from HCI research that it is little things like this which most frequently cause users to give up and never touch the equipment again."
Perception is everything!"Now, of course, as programmers we are well used to wasting hours hacking through the underbrush to discover that to switch on the machine we need to hold down Alt-Escape with the right hand whilst depressing a button round the back of the machine with the left. (That was how in the 70s one turned on some of the PCs at Leicester Poly!). But what a waste of time and effort and how demoralising and off-putting to anyone but the most obstinate programmer. I deferred having a go at Cocoa for about three or four years because I knew it would be a struggle and these last five months or is it six have been horrorshow.Let me state two principal facts.
1. Designing good user interfaces is hard.
2. Designing good user interfaces is expensive.
It is hard because every human being is an individual,
because there is seemingly a lot to learn
and because there are limits to the complexity we can handle.
It is expensive because the design of good HCI is primarily an empirical activity centered on user testing"
We have right here the results of some user testing and yet those results are not being accepted as valid. Why is that?
Let's look at the issues again, partition them the way I think they should be, and throw in some answers:"The question is then whether we and possibly apple should do anything about it"
* What should the purpose of the documentation be?
To hook beginners, to teach learners, and to support experts. These three different goals require mutually exclusive techniques and tools, but currently there appears to only be one big classroom and one textbook at Cocoa School.
* How should it achieve those goals?
Reward beginners with their concrete understanding; reward learners with their concrete code; reward experts with their concrete profit.
* Who should be responsible for it?
Ultimately it must be Apple because they control the code. They don't have to write the material themselves, but they must find a way make it possible for the material to exist and be found. There is no "Apple Press". There is little to no investment in a writing community that could fill in the gaps. There is no structure into which additional material can fit in a rational fashion, although there is all sorts of material out there that we stumble across.
Jason Stephenson wrote:
"I also don't find any great difficulty in using Apple's documentation. The conceptual documents cover the concepts, and the reference documentation serves as a reference. No, I don't think you should learn to use Cocoa just from the conceptual documents, but I'm sure it is possible.
Agreed. So what about third party books? Surely everyone is expected to go buy a book and use that. Well, not everyone does these days, since the web has taken over much of the world's publishing. But let's give the developer docs a chance and see what is recommended. Go to Getting Started With Cocoa at http://developer.apple.com/referencelibrary/GettingStarted/GS_Cocoa/ and look at Start Here. There surely cannot possibly be a better place to start! There are two book links:The simple fact of the matter is that documentation, just like a GUI, cannot be all things to all people. Programmers and those interested in programming are a particularly eclectic bunch. We each come at Cocoa for the first time with different experience, different reference points, and different expectations. One set of documentation cannot be expected to handle all of the possible permutations of programmer knowledge and experience. For this reason, other books exist written by third parties to cover those gaps or target different audiences."
http://www.oreilly.com/catalog/9780596003012/ leads me to a book published five years ago.
http://www.oreilly.com/catalog/9780596002350/ leads me to another book published five years ago.
And the other books on the page are of the same vintage.
You see the disconnect -- we all know that this is not how the great Cocoa books are found, yet here it is in the docs. Apple's documentation is not integrating well with other resources, and worse, maintenance appears to be falling behind somewhat. This is not a tenable position. Just as a city gets run down area by area, not noticed or lived in by those who could foster change, documentation, especially documentation on this scale fails in the same way with the new users in the slums.
Why this situation?
Jason Stephenson also wrote:
But since Apple is the de facto owner of Objective-C and the actual owner of Cocoa, there is no alternative!"In summary, I think it is a problem of all programming documentation and programming interface regardless of the platform or language, and I don't really see a way for a single vendor to resolve the issue, not do I think they really should"
The allocated resources at Apple are just not sufficient for the current task. It's not that the problems are not known or fretted about, it's a matter of priority. We and everyone else can debate and complain as much as we like, but no lasting changes will occur until this particular user interface is viewed on a par with the consumer user interface and dealt the resources commensurate with its importance.
WWDC 2008

White Tree: 1/640s f/8.0 ISO200 70mm, -0.3ev, Canon 30D, Canon 70-200L IS f2.8
Since I'm now developing a real Mac application (known as PP for now), I've taken the plunge and signed up for WWDC. It will be my first year and it will be busy.
I'm in the SF Bay area, but far enough away that commuting to the show in San Francisco makes no sense; so I'll have to find accommodation for that week. Does anyone know of a good (and not oppressively expensive) hotel in the Moscone area?
I'm coding this app in my spare time, progress is slow. I'm learning a great deal about how the frameworks are put together and how they should be used. Typically I get something wrong when I add a feature and then figure out what the right way is as I work through the issues that uncovers. Invariably I end up with less code, and find my code shifting to more sensible places. At that point I know I'm done and can move on.
I'm tackling the application in a simple way. I know that the main purpose of the app needs a whole lot of supporting functionality, so I'm writing that support first. Once all those pieces are in place I will start on the main event. This has the advantage that by the time I get there I will have had a lot of time to think about how I want to do it. And by the magic of object-oriented design, much of that should be independent of other decisions, such as how I store documents on disk and how the windows and views work.
How To Report A Bug

Home For Some: 1/1000s f/4.5 ISO200 200mm, -0.3ev, Canon 30D, Canon 70-200L IS f2.8
Apple has a long and comprehensive guide for reporting bugs. It strikes me that this information should be built in to the bug reporter page. If I have a Mail bug and I state that in the drop-down menu, then the Mail-specific information should appear so I know what to provide. Similarly the template format should appear as just that: a template.
But I know exactly what to do: file a bug. See rdar://problem/5815223. (That link won't work for anyone outside Apple).
Aperture: Apple's World Tour

Apple is starting a world tour for Aperture on March 5th. I plan on being at the San Francisco event on March 26th.
Microsoft Will Eat Yahoo, But...

That's my take on the Yahoo/Microsoft takeover. The original image was stolen from The Fail Blog who claim to have stolen it from Fark.
Yes it will go through. Yes the Yahoos will hate it. Yes the results will not be pretty. It's a huge opportunity for all the other players in their respective spaces to welcome customers and their money with open arms and great products. Google still has the small issue of creating new products that generate income to deal with, but it will be good for them. Apple will keep focusing great products on the customer.
Fake Steve sums it up best.
Macworld 2008

This is a plastic missile launcher powered and controlled by USB. I was lucky enough to get the missile streaking out of the frame while the shutter was open.

Ever wanted to type with one hand? The FrogPad lets you do that. In the foreground are two pads, one for left-handed people and one for right-handed people. The common letters are on the keys and to get the less common letters you chord with another key. There is also a symbol and a shift lock key. It takes a little getting used to, but I was able to type a simple message without too much trouble.

These are relaxation pods. I didn't ask what went on inside them.

One use for an old iMac case: turn it into a trash can.

I got my hands on a MacBook Air after waiting in line for a while. It's very thin, very light, and it's a Mac. There's not much else to say about it. Performance seemed fine for the small amount of playing that I did with it. The case got warm, but definitely not hot. Since it is all aluminum and curved, it's much stiffer than you would think it would be. MacBook Pros look like huge ugly bricks next to this thing.
Apple was showing off very little this year. The only Macs apart from the MacBook Airs were Mac Pros with two big screens each. These were being used to show off some pro apps and also for general OS X demonstration to any interested parties. No sign of Aperture. No iMacs. No minis. There was a whole wall of Apple TVs and plenty of iPods and iPhones on display.

Eye-Fi was there with their orange wireless SD card. You plug it into your camera and it transmits your JPEG images via regular wifi to your computer. Their software then stores it or automatically uploads it to a photo sharing site.

I also saw people creating hideous creatures with Spore. The gaming area was small this year.

Need a cover for your laptop? I didn't think so.
MacBook Air: A Dramatic Departure For Apple

The MacBook Air is a dramatic departure for Apple: it's a narrowly-targeted hardware product. The geeks on the forums hate it because their rumor-fuelled dreams have been dashed and they will have to keep lugging their 12" PowerBooks around for a few more years. But then the geeks are not the target market for this product and they don't seem to understand that large, profitable markets for highly cost-controlled products exist outside of their domain.
Apple has plenty of narrowly-targeted software products (Final Cut Pro for instance) and these don't attract the same howls of derision. But then those products target markets by adding specialized features and charging appropriately. Taking features away, as Apple did with iMovie in iLife08, is bound to cause geek grief because the expectation exists that the monotonic march toward "better" is always along the "more" axis. Not so. So who will be buying the world's thinnest laptop?
A simple answer: anyone who values it highly enough.
That will include executives and sales people who travel, present, and are seen with their laptop in important business situations. They value low weight and looks above everything else. They already have a Mac at home, including maybe a MacBook of some sort, but they will still buy a MacBook Air because it gives them the things they cannot get otherwise. This is the Miata of the laptop world: a second or third purchase after the most critical needs have been fulfilled, only for those who have the juice to make what they want real.
MacBook Air is clearly a companion computer. Apple has stripped everything from it that is not necessary in order to save weight and space. What is left is an interesting set: wireless Ethernet, audio out, video out, and USB 2.0. Those cover what must be the four most numerous connections on the planet right now. And once you pair it with a companion Mac, you have everything you need for anything.
The breathtaking omission for many is that the battery is built-in. But why are batteries removable in the first place? Removable batteries represent a huge additional cost in every aspect of Apple's business: more design, more material, more safety concerns, more stock, more line items, more connectors, more testing; the list goes on and on. The overall product design gains enormously by building the battery in, as Apple has shown with the iPod and, more recently, the iPhone.
To me, the inclusion of a back-lit full-size keyboard cements the target market as that of highly mobile, highly responsible, highly visible individuals whose time and presence carries a high price. We'll be seeing lots of these in the real world, many of them in dim lighting and accompanied by the whirr of a projector fan.
Predictions For MacWorld 2008
The big surprise at Macworld last year was that the keynote was pretty much about about one product: the iPhone. This year there seem to be many things that are already known: a slim laptop, an update to the iPhone, a new Apple TV and movie rentals. So none of these is probably the big thing. And the banners saying "There's something in the air" have everyone talking about wireless technologies.
[Update: Less then 100% wrong this year. Home storage yes, but not attached. In fact very unattached: Time Capsule. Apple is moving the world slowly to computer appliances. We did get the rambling CEO again]
Last year my predictions were 100% wrong. Throwing caution to the wind, I present my probably all wrong predictions for Macworld 2008:
A Home Storage System
I keep putting this one up, and one day I will be right. Nobody does home storage right, particularly for Mac users, so there is a big market opportunity there. I think it will not be a networked box (NAS), but instead will be locally attached for performance. If you want to make the storage available on the network, plug it into an Airport or a Mac. Software does the bridging.
Wireless Data Service In Every Laptop
WiMax is a little new to the market, so if Apple has built it into anything, they have been doing an awful lot of work with chip vendors and software in secret. It's quite possible that Apple is putting WiMax into everything portable, but more likely is the addition of 3G or EDGE into the laptops.
No Shows
This is not the venue for for a new release of Aperture. PMA is much more likely. There will also be no new iLife of iWork: we already got those last year. The no-show I am hoping for is the "other CEO" who comes in at about minute 35 and rambles with notes until the audience winces. I really think that Steve puts these in so we can deal with the calls of nature.
A New Mac
I think a new desktop Mac is quite likely. Something that fits between the high-end of the Mac Pro and the low end of the iMac. It would be bigger than a mini, with at least two hard drive bays and at least one open slot for a PCI card. This would keep many people happy who need some expansion and flexibility but don't have the wallet for a full-blown Mac Pro. What makes it possible now is the low-power Intel chips and the subsequent option to package the electronics compactly.
Multi-User Mac Software
This is a long shot, but I think it will come one day. The Macs are already multi-user, but not with with multiple simultaneous screens. This software will allow a number of people to plug mice, keyboards, and screens into one mac and all use that one machine as though it were their own machine. That makes things much cheaper for schools and other high-density applications.
A Recording Device
Except for building it into Macs, Apple has avoided making audio and video recording equipment of any kind. Even the iPhone and iPod can't record video or sound. So there is a product gap for some sort of device that does one or both. You sync it with your Mac or PC just like an iPod and iTunes tracks it in its library. What Apple can better the market with are ease of use, recording quality, and capacity. With iTunes, Garageband, iMovie, YouTube, all the infrastructure is in place for personal event recording, editing, and publishing. We just need the gadget.
Aperture 1.5.6 Update may not succeed on Leopard
I almost never use Software Update to install updates. I use it to tell me what I need and then go and download and install the software manually. That also saves me from downloading multiple times to update all the machines in the house.
More Wild Guesses About Apple's Stock Price In 2008
In October 2007 I made another prediction: $225 by the end of 2008. That seemed pretty wild at the time, but soon after all the analysts moved their targets up and now they are mostly saying $225-$250 for the end of 2008. Some are toying with $300, and one has even said $600 in 18 months.
Just to confuse everyone Apple is notoriously conservative with their estimates, and so the analysts beef it up a little (and still come up short). Last quarter Apple was uncharacteristically bullish and everyone was surprised. But it seems that Apple was being conservative yet again, as all the indications are that this has been a blow-out season and the numbers will be very good again.
I got to $225 by taking $160 and adding 20% for growth and 20% for the "look out here they come" factor. Now the price is just shy of $200, I'm going to adjust my guess again. I'm increasing my annual growth estimate to 30% based on expectations for the Mac and iPhone, and adding 25% as the "look out here they come" factor. The latter is a wild guess based partly what I see in terms of realization that Apple really is taking over, and partly on the effect on the investing public of the products and stores. People go into the stores or buy the products for the first time and are so wowed that they (or their parents) go buy stock ASAP. For a high-flying stock AAPL has a remarkably small short ratio.
That puts my current wild guess at $310 for the end of 2008. It will be interesting to see what the quarter's results are like when they are announced January 22nd.
Waffle

Waffle is a blog that covers a multitude of geeky, webby, and Appley subjects. It's technical and meaty. But somehow never waffly.
One In A Hundred Mac Owners Use A Mobile Browser
The stats for this blog show an even bigger percentage of mobile Safari users, close to that of Linux.

The yellow sliver is iPhone, and the blue sliver below it is iPod. Here are my numbers:
| Macintosh | 80.12% |
| Windows | 17.97% |
| Linux | 0.96% |
| iPhone | 0.56% |
| iPod | 0.22% |
| (not set) | 0.12% |
Here's the Wild Guess. Comparing my stats to those in the article, it is interesting to note that the ratio of Macintosh page views to the sum of iPhone and iPod page views is about the same: 100:1. So I conclude that roughly one in a hundred Mac owners have a mobile browser now. But with unit sales of Apple's mobile devices running something like 50% of Macs, I'd expect the 100:1 ratio to change dramatically over the next year: maybe to as much as 10:1.
Cocoa Cheerleaders

Cocoa Cheerleaders is brought to you by the team at PyrusMalus. It's a large collection of links to blogs, articles, books, code, and other information about Cocoa.
My interest piqued by the name, I discovered that PyrusMalus is the Latin name for the Domestic Apple tree. And there is a mystery application in the works looking for alpha testers called Atlantic.
Available For Hire

In three weeks, my position as Program Manager with one of the world's largest corporations, along with all the others in my building in Silicon Valley will come to an end.
I've been with my current employer for twelve years and working continuously since even before university, so the idea that my services are no longer needed comes as a shock. But this is Silicon Valley, California, and it's continuously in flux. I can finally bury years of legacy knowledge and look only to the future. I'm very valuable to the right employer, but the tricky part is arranging the marriage.
I see three ways forward. The first is to keep doing what I have been doing in the real-time and embedded computer field: product management/program management/technical marketing kind of thing. These are all good, wholesome, stressful, and well-paying roles. I've been in this line of business for a very long time: I started with electronics when I was ten years old and was programming at thirteen, eventually turning both skills into full-time employment. Silicon Valley is packed with companies creating the next big thing in security, networking, storage, mobility, etc. and they all need this kind of help.
The second is to go work for Apple. This seems like a natural fit, but the company is notoriously difficult to get into. And what would I do there? Apple doesn't make any real-time embedded computer products, so that's hardly a good... Wait! Yes they do! iPhones and iPods and Airports are real-time embedded computers. And laptops and desktops better be as real-time as they can be or users will be pissed cough -- Vista -- cough. I've already talked to one group at Apple and they like me very much. But they don't have an open position and have been unable to create one for me. So I'm going to continue leveraging the contacts I have and running down leads.
The third way is to do the Indie thing. I'll sit in my home office and write. I'll write articles, code, books, applications, utilities, reviews, plug-ins, whatever pays the bills. I'll do training, sell my brain by the hour, bludgeon slow payers with caustic wit, maybe even have some time off now and again. And I'll take photos. It's an attractive option -- I ran my own consulting company for seven years, so I know how it's done -- but it's also a lonely and risky one. Success depends on building long-term relationships with clients and I have no long-term clients. Or even short-term ones. Do I really want to start from scratch again?
Whatever I do, it has to be interesting and I have to be working with other smart, successful people, preferably as part of a focused team. The best position would provide a creative outlet and involve understanding new complex material. My skills for analyzing, simplifying, communicating, and educating (see my Aperture articles for example) make me particularly valuable where problems are badly-defined and even the right questions are hard to come by. It's fun to be immersed in confusion if the resources are there to create something new from it.
I've added a Hire Me page that gives more information, so take a look and get in touch if you think you have a match. And my business card really does look like the one above.
Leopard: Speed Speed Speed
Update: I have seen one report that says Lightroom is very slow under Leopard. That could be because the machine was busy doing things in the background, or it could just be slow because of the way Adobe coded it.
More Than Just Leopard: New Applications Are Coming
Once Leopard finally gets into the hands of mere mortals on October 26th, the application marketing dam will break. Finally all the developers who spent an extra four months polishing and tuning their recent creations will be free of Apple's NDA shackles and be showing off the fruits of their toil. It should be very interesting, and I believe will cement my belief that Leopard demonstrates OS X nearing a mature state. There will be many apps that are Leopard only. Why? Because Leopard apps can be written so much faster than was possible on Tiger. Certainly anything I write from here on out will be for Leopard.
Scott Stevenson has a sneak peek at Delicious Library, but for a few more days, we cannot see any more.
Cocoaheads Meeting October

Cocoaheads this month is Thursday 11th, and the subject is Google APIs for Cocoa. Scott Stevenson has a page with more information. I'll be there.
Wild Guess Update
Earlier than I thought, AAPL has crossed 160. Today it closed at 167.91. Here is my currently absurd-sounding guess, made in August 2007:I'll make a wild prediction here: AAPL will be at 160 by the end of 2007. Ninety dollars a share seemed impossible less than a year ago, and yet the price today is 91.66, so it's not that crazy an idea. Why so high if only 20% growth? Because by the end of 2007 Apple will no longer be viewed as a niche player. Once their full potential is appreciated, there will be a huge rush to get on board the stock. Not a bad prize to win.
It will be interesting to see how I do. Of course Microsoft is playing a huge part in Apple's current success. The market for computers, phones, PDAs, music players, and stores that actually work for their customers is huge, and only Apple is filling the demand.I'll make another wild prediction, now we have the iPhone to play with: $225 by the end of 2008. Again that sounds like a lot, but I figure on continuing large gross margins and 20% growth, plus an extra 20% "look out here they come" factor. That will make AAPL seven tenths the size of MSFT, assuming MSFT stays static. And how could that assumption possibly be wrong?
Extending Aperture 1.5
Apple's Coming iTunes Switcheroo

In more than a few years, but in certainly less than a decade, Apple is going to pull a switcheroo on the record industry. Apple will force the record companies to pay hard cash to sell their catalog of music through iTunes. It's their worst nightmare come true.
That probably sounds far-fetched, but it's not. Back in the dark days of the internet everyone wanted to be a portal because that is all there was: fledgling companies able to provide access, growing out of BBSs and mom and pop ISPs. Get bigger and get more customers at any cost so you can keep replacing all your equipment twice a year to keep up with the growth.
One of those players was America Online and their way of keeping customers was to pay others for content. That's right: AOL would pay other companies to make what we would today call web pages that drove customers to use their portal. And it worked, so well in fact that one day AOL said no more. You pay us now. And they did, because at that time there was no better place to get traffic to your company than through AOL.
There is another example, closer to home: your local supermarket, game store, or practically any retail establishment. Any company that has a product and wants to sell it in that store has to pay for shelf space and has to live with the store's draconian return and payment policies. Or else they get no shelf space and have to build their own stores (like Apple did).
It's just a matter of time. I'll take a wild stab at a year that I think it will happen: 2013.
Apple -- Spreading FUD Like Nobody Else
As I write, Apple is a $78.3B company and Microsoft a $288B company. I reckon that Microsoft has topped out, so Apple has to grow to less than four times its current size (3.6 times) to have a market capitalization greater than Microsoft. At 20% per year growth, that's only seven years. And during that time, they will eat a huge piece of the PC business away from the current players.
Even though it has fallen recently and stands at 131.8 today, I still believe that 160 is possible by the end of the year. AAPL has gotten to within $11 of that goal already, and it's only a 21% rise. MSFT is at 28.96 today, with a market cap much the same as before, $271B, while AAPL has grown to $114B.I'll make a wild prediction here: AAPL will be at 160 by the end of 2007. Ninety dollars a share seemed impossible less than a year ago, and yet the price today is 91.66, so it's not that crazy an idea. Why so high if only 20% growth? Because by the end of 2007 Apple will no longer be viewed as a niche player. Once their full potential is appreciated, there will be a huge rush to get on board the stock. Not a bad prize to win.
How is Apple doing this? With FUD -- Fear, Uncertainty, and Doubt. But unlike Microsoft that spreads FUD to its customers, Apple is spreading FUD to its competitors, and doing it in spades. Over at ChangeWave, there is a nice graph that shows the effect:

These are bogus statistics of course, because all statistics are bogus. In this case the population is large, but very specific: early adopters. And that is the whole point. If Apple can rapidly and effectively swing early adopters away from your products, then your strategy is toast and you are faced with a great deal of FUD.
I'll make another wild prediction, now we have the iPhone to play with: $225 by the end of 2008. Again that sounds like a lot, but I figure on continuing large gross margins and 20% growth, plus an extra 20% "look out here they come" factor. That will make AAPL seven tenths the size of MSFT, assuming MSFT stays static. And how could that assumption possibly be wrong?
Silicon Distribution
A DVD, and particularly a DVD drive, is a huge thing compared to the size of everything else that goes into a computer or computerized device. If Apple wants to make its laptops much thinner and smaller it has to leave out the DVD drive -- but then how do customers load software, or even boot a new version of the OS?
I believe that all the computers that are supported by Leopard have USB 2.0, so that would be the preferred method. Shipping and storage are a large part of the costs associated with software distribution, and much of that could be saved if a USB key instead of a disk and box were used. So although the silicon solution may appear expensive in raw materials the hit may be much less than imagined once the whole picture is taken into account.
Silicon distribution also has some other advantages. USB sticks can be stocked empty and programmed locally -- in-store for instance. Unsold sticks can be reprogrammed. Customers can recycle the sticks as well or just use them for their own purposes. Take them back to the Apple store once they are out of date for a refund so they can be reused.
Third party software that's sold on a DVD is a problem. But that can be solved with another computer that does have a DVD and a network link.
Apple, Intel, And Customized CPUs

We know that the CPU inside the Apple TV is a slightly custom version of a standard Intel CPU, but why stop there? Why doesn't Intel make all manner of customizations to its processors for Apple? Or for other companies for that matter?
It would work like this. Apple analyses its code and identifies a small number of operations that, if they were faster, would have a significant effect on the speed (or the apparent speed) of their computers. Intel implements the changes, Apple used the chips, and everyone is happy. Nobody is unhappy because their code does not rely on that particular operation as much as Apple's does and there are no downsides to the change.
Or it could get more competitive. Apple has Intel add extra instructions that improve performance for selected, important code. If the CPU does not implement those instructions, then the Apple code just does it using generic code. In this way the new machines are faster, of course, but importantly, are faster than equivalent Windows machines because their software does not know about the new instructions. They could be fully documented and still not give anything away.
This would also mean that Apple code could know if it were running on a genuine Apple machine. It would deliver slower performance on clones than on Apple hardware because the Apple hardware would run the special CPUs.
There is no reason that this has not been done already. Apple makes iPods and iPhones too and they would benefit greatly from such a performance/battery efficiency boost. TenSilica does a nice business adding special instructions to CPUs for exactly this purpose.
Three Predictions for WWDC 2007

From my ignorant position as an outsider, I have three predictions for the super secret features that will be unveiled at WWDC 2007. Unfortunately one of them has just been stolen before I could make it. Sun's Jonathon Schwartz announced today that ZFS will be the default file system in Leopard. This is very good news. ZFS provides enormous advantages in flexibility, manageability and reliability over current file systems.
I better get the other two out before they get leaked as well:
OS-Level support for Windows NT applications
We already know that Apple is shying away from virtualization. But why is that? Because it still requires copies of Windows and all the problems that that entails. Much better is to run the applications directly, like WINE does. The implementation would include sandboxing so that Apple can provide a completely secure environment for running Windows apps. Apple could have been working secretly on this for many years and polishing it to perfection. It would provide the best upgrade path for companies who don't want Vista (almost all of them) and draw many more people from the Windows world.
A New Kernel
Mach has its problems and has needed a lot of work to make it granular enough to provide the performance needed by Mac OS X. So my third prediction is that Mach is out and something else is in. Be has shown us that a correctly-written kernel can provide excellent media, and real-time performance, so why would Apple not be doing this? It won't be Linux. My guess is that it will either be home-grown or something few people have heard of.
I am hoping that I will do better than my MacWorld 2007 predictions -- all wrong.
[Update: All wrong again. But then we've not seen the whole of Leopard, so I still could be right]
My Apple Menu: Quick and Easy Mac News

My Apple Menu is a simple site with a lot of timely Mac article links, many of which I don't see elsewhere. It is written by Heng-Cheong Leong in Singapore and has links to other news pages including Tomorrow, Reader, and Singapore.
Do You Recognize This Apple Mouse Pad?
The Apple Product Lifecycle

With the hype of the Apple iPhone in full swing and the stock reacting admirably, now is the time to recall the Apple Product Lifecycle. It all starts innocently enough:
Some hardware geek, the sort who actually reads press releases from obscure Pacific Rim component manufacturers, posts a link to the press release in a Mac Internet forum.
The Mac rumor sites spring into action. Liberally quoting “reliable” sources inside Cupertino, irrelevant “experts,” and each other, they quickly transform baseless speculation into widely accepted fact.
Eager Mac-heads fan the flames by flooding the Mac discussion forums with more groundless conjecture. Threads pop up around feature wish lists, favorite colors, and likely retail price points. In a matter of days, a third-hand, unsubstantiated rumor blossoms into a hand-held device that can do everything except find a girlfriend for a fat, smelly nerd...
A New Mac Printer

I actually have two of them. The first started to have printing problems and needed a good cleaning inside the optics to fix. But I found a secondhand one at Weird Stuff for $30 and it worked perfectly, only having ever printed 1200 pages. So I kept the first one for spares and carried on with the new one for another couple of years. Printer cartridges are available, but they are getting pricey, so recently when the toner started to run low I went searching for a replacement.
The result is that I now have a $100 laser printer that is a fraction of the weight, much, much faster, and takes cheap cartridges -- a Brother HL-2070N. It comes with a Mac driver and runs Ethernet or USB and has a print queue built in in case I ever need to talk to it with a PC.
It's not a Postscript printer like the Laserwriter, so the host does the RIPping. But that is OK. The host is much faster than the printer and the network is 100BaseT, so the result is that it beats the pants off the old one. The Mac driver installs and works just fine. The printer can be configured and monitored via a web browser. It isn't any good at printing photos. But again that's fine by me.
Any takers for two unwanted Apple Laserwriter Select 360s?
Pro Application Support 4.0
Why These Buttons?

That's the top-level screen (or so we believe) for the iPhone. But why those buttons? It's really not all that different from any smartphone or PDA and I wonder why. Everything else about the device is revolutionary.
I see icons denoting services and tools, but none relating to people. Communication starts with a person, then with a selection of the method. iChat works like this. With iChat the method is easy to select because I can see if and how the person is currently connected. With the iPhone interface I have to select how first, then who. Which means that I have to know who has SMS, who has voice, and who has email right at this instant.
And what of incoming information? If someone urgently contacts me three ways, I don't know that. All I see are three items in different media: one phone message, one SMS message, and one email. From the top level which do I check first? How do I know these are all the same person?
What would I change? At least half of the main screen should be dedicated to people, either icons of individuals or groups (such as colleagues). Those icons should show me how many voice messages, SMS messages, notes, and anything else associated with that person I have currently, and should also show their availability. Some icons should be fixed, reserved for family members and colleagues who I communicate with regularly. The others should vary according to what messages I have. Having a small number of people icons available on the screen would also add a social twist to the iPhone: being on someone else's iPhone would be a badge of honor, getting bumped an embarrassment.
The design reinforces my opinion that the iPhone is destined to be more of a machine communication device than a human communication device. In other words, its ability to communicate with people is secondary to its ability to communicate with other devices. This may seem like an odd idea, but it is exactly what the iPod achieves with the support of a desktop computer and the iTunes music store: seamless communication of music. The iPhone really is a hand-held computer, an extension of the desktop, and of anything else connected to the internet.
CocoaHeads May 10: Write An Aperture Plug-In

CocoaHeads on May 10th at the Apple campus in Cupertino features John Anon giving a presentation on writing Aperture Plug-Ins. More information on Scott Stevenson's site.
Aperture: 1.5.3 Now Available
About Aperture 1.5.3 Update
Aperture 1.5.3 addresses issues related to overall reliability and performance in a number of areas, including:
- Generation of thumbnails for adjusted images
- Entering and exiting Full Screen mode
- Working with large sets of keywords in the Keywords HUD
- Restoring from a vault
Among the specific issues that have been addressed:
- Previews now update properly when images are sent to an external editor.
- Leaf Aptus 22 and Aptus 75 images are now imported with the correct orientation.
- When folders are imported as projects, the folder structure is now correctly preserved when identically named subfolders are included in the hierarchy.
- Reconnecting referenced images that have been externally edited now works more reliably.
- Setting the ColorSync profile in the Aperture Print dialog now correctly suppresses color management settings in the Mac OS X Print dialog.
Robert Scoble Is Getting Interesting
#127: this is the problem. Microsoft is actually something like 100 companies lashed together. The Xbox team might be doing something cool while the Internet team is totally sucking wind.
In this context we’re talking about the Internet team.
Oh, and cool?
How about Photosynth? http://scobleizer.com/2006/11/10/demo-of-the-year-photosynth/
That’s cool. But it can’t be turned into a product.
Why? Cause it takes nine hours to stitch together a few hundred photos. Unusable.
So, very cool, but not a business.
Most of what we’re talking about above is about being BOTH cool and a great business ON THE INTERNET.
Microsoft is lacking on both areas.
And the comparison to the Beattles is NOT out of place here. Demonstrates that you take a Microsoft approach here.
Comment by Robert Scoble — March 17, 2007 @ 12:03 pm
Apple TV Is Very Hackable

The folks over at Something Awful are hacking Apple TV. Since the ATV runs Mac OS X, this is almost trivial: pop the cover, take out the hard drive, mount it on a Mac via a Firewire case, and modify. They have it playing Xvid movies, running SSH, and more. The hard drive can be replaced with a larger one too.
I notice that it contains a ForceFeedback framework too. That means games. Only games (simulators) use force feedback.
It may seem odd that the box is as open as this. After all, the XBox and other equipmen

