How To Add Heading Numbers To A Table Of Contents In iWork's Pages
But Pages06 was not a good word processor. Fortunately no-one expected it to be because it was sort of a feature of a layout app. Now 08 has a word processor mode and imports Word docs well, and everyone expects the world of it. Or even some simple numbering and lists and table of contents functionality; like I did recently when I tackled 120 pages of dense legal docs.
A challenge was getting the table of contents (TOC) to look right. I needed to have the section numbers appear in the TOC as well as the page numbers. I wasn’t about to number everything by hand (that’s the workaround I found on-line), so I did what any self-respecting hacker type would do: I cheated.
Here is some text for cheating:

It uses tiered (legal) numbering. Getting that right is a task in itself, actually, but I did it. My final TOC looks like this:

See, it has tiered numbers just like in the document! A real boon when you want to direct someone to section 23.5.1.2.
My cheat was as follows. I created a TOC as normal with Insert > Table of Contents and checked that things were set up correctly in the Inspector:

That gave me this:

No numbers. Then I clicked on the lines in the TOC, opened the Text panel of the Inspector and added list formatting to the TOC styles: tiered for both the Heading and Sub-heading TOC styles (called TOC Heading 2 and TOC Heading 3 by default in my case). After jiggling the indents with the Inspector I got it to look the way I wanted:

It works because when the TOC is regenerated, it gets renumbered. However there is a hitch, the second and lower numbering levels of the TOC keep getting reset to 1 each time the regeneration takes place. When this happens, if I click on the second level in the TOC I get this:

And have to press TAB to get the second level numbers back.
There is still no way to get rid of the last period in the numbers though. That is a fix I would like to see.
Glossy or Matte?

There’s nothing like the glossy/matte screen argument to rile everyone up.
The new MacBooks and MacBook pros have glossy screens only and this makes them useless for photo work, so the argument goes. The reflections are horrid and you can’t work with that. There are people huffing and puffing and threatening to stomp off to Windows land.
Garbage.
If you’re relying on laptops to do precision color work you’re already in a world of hurt. They don’t display colors well because they have six bits per color, not eight, and rely on temporal dithering to get the extra two bits. Plus they have narrow viewing angles and you can’t control the brightness enough. And that screen is tiny.
I can and do edit photos on my MacBook (early 2008, glossy). It’s mobile and I can angle the screen any way I like to get rid of reflections. It does fine for what I want it to do. But I’m not doing precision anything. And if I were I’d be looking at the curves, correcting with gray cards, watching RGB values and other numbers and not worrying a hoot about what I see on the screen except for the composition of the image and what is happening on people’s faces.
If you expect perfect color you can actually see, then you’re living in fairy land. If your environment is well-controlled and you have an expensive, calibrated monitor, you can get somewhere close. And you can do that with a MacBook or any other Mac. Just plug the monitor in. You’ve always been able to do this, and you can still do this with the new MacBooks. You can even convert a glossy screen to a matte one by adding a film. If your environment is suitable for working with color then there will be no reflections and it won’t matter anyway.
But anyone else who views your images will see something different anyway. They are not using calibrated monitors, all the software is set up for different gammas, and/or ignores the embedded profiles. Even the people who look at prints won’t view them under the right light unless you control that as well. Shockingly, since many images will be views on laptops, they’ll be seen on small, imperfect, glossy screens!
The real complaint goes like this: I have to impress people who don’t understand color with screen images or else they won’t buy from me. With a matte screen I was able to get away with not controlling my viewing environment, but now it looks like I’ll have to deal with that. Curse you Apple for ignoring my cheapness even though I’m a tiny fraction of your customer base.
I do all my serious editing on my 24” iMac (Intel, matte screen) because the screen is large, bright, and really nice, and the computer fast. But it wouldn’t matter if it were glossy. I do all of that editing after sun-down with the room lights off. It’s not calibrated except by eye, and it works for me. If I change what I do and want to meet a fixed set of standards then I expect to have to change things accordingly.
Busy
Another reason for the lack of blogging is that I have been using Twitter more and more, as, it seems, many of the people who have blogs that I follow. Lost your favorite blogger? Look on Twitter. They are all there. Some, like Wil Shipley, take it to extremes. And do check out the many fake people, such as Fake Sarah Palin.
And suddenly my MacBook has developed a crack:

It started on the right and went leftwards until the sliver of plastic stuck up in the air and I had to remove it. A couple of calls to Apple, and they agree that it is covered by warranty, so I’ll get that fixed soon.
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 equipment like it is locked down just as tight as the manufacturers can make it. Not that it stops anyone. But it is not odd at all when you consider that Apple is in the hardware business. An open box sells more boxes, and that is all that matters. This is really the lowest-cost Mac on the market now.
Mac OS X 10.4.9 Update Improves Aperture
• Improved Spot & Patch results: The update contains changes to Core Image that improve the visual correctness of images using Spot & Patch adjustment.
• Reduces issues of temporary "black" Viewer: Mac OS X 10.4.9 addresses several issues that could cause the Viewer to temporarily turn black when displaying adjusted images.
• GPS metadata is preserved when image versions are exported.
• Incorporates all RAW file format compatibility and other imaging issues originally addressed in Digital Camera RAW Support Update 1.0.1. This update improved RAW file format compatibility for the Canon Digital Rebel XTi / 400D / Kiss X Digital, Nikon D80, and Pentax *ist DS. It also addressed the following issues: Handling of large Canon RAW files (.CRW); DNG compatibility on Intel-based Macs; Lines sometimes appearing in images exported from Aperture.
The full list of supported cameras is listed on Apple's site. I expect we will see an update to Aperture before very long. Joe Schorr has already posted such on Apple's Aperture forums recently.
Cocoa: I Will Be At Silicon Valley CocoaHeads Tonight

The second Thursday of each month sees a meeting of Silicon Valley CocoaHeads, usually on Apple's campus at 1 Infinite Loop. This month the topics are Core Animation and Related Leopard APIs (starter), and Cocoa Binding Tips And Tricks (main course). I will be there, trying to get my head around bindings one more time.
Apple's Aperture Download Page
WWDC 2006 IT State Of The Union
Aperture: Send Feedback To Apple

While I use Aperture, I often come across things that are not quite right, things that are plainly wrong, things that could be done better another way, and things that are missing. When this happens I go to the Aperture menu and select Provide Aperture Feedback. That takes me to Apple's Aperture Feedback page where I fill in all the details. When I say "when this happens" I mean literally right then while the thought is still fresh in my mind I go to the feedback page and start typing.
Actually I don't fill in all the details. I filled in every field the first time I visited, but thereafter just the important five:

The name, email address, and subject auto-fill using Safari, so that saves some typing. I select the feedback type in the pop-up and the fill in the subject and comments. For the subject I try to be terse but accurate:
I use the same structure for all of my feedback comments: summary, problem, solution/suggestion, value. Here is an example. I don't actually title the sections:
When the control bar is visible the available space is shared among the keywords section, the view buttons, and the navigation buttons. When using Aperture with a small window or on a small display, the only part of the control bar that I actually use - the keyword section -- gets compressed to an unusable size.
Allow me to remove the elements of the control bar that I don't need. I never use the available buttons because I either don't use the function provided or have memorized the key equivalent. This will give extra room to the keyword buttons, allow me to read their labels, and so allow me to know what they do without guessing. This will save me time key-wording as I will make fewer mistakes and be able to put more keywords on the control bar and will mean that I have to bring up the keyword HUD less frequently to access rarely-used keywords.
Another thing that I do is to try to use the correct terminology for the things I am referring to. The Window menu calls it the Control Bar, so that must be what it is called.
It can be useful to Apple if you let them know which version of the application you are using, especially if you are reporting a bug:
Apple does read these things and they do take note of them. I have seen several obscure bugs that I reported corrected in Aperture updates. Who knows, maybe they will incorporate some of my suggestions and ideas in later versions. Even if they don't, at least they will be able to pool my feedback with those of others and understand what the problems are.
If you click the Submit Feedback button at the bottom of the page and nothing happens, then don't give up. Scroll back up and look for the red text:
Who is going to be first to suggest that the feedback page could use some improvement? When you are done: you'll get a thank you:

Macworld 2007 Pictures

Many people sat to watch demonstrations of the features of Leopard, the iPhone, Apple TV, and others:

Here are some new Mail features:

Apple TV was on display:

Apple TV is much like Front Row but outputs to your TV instead of the computer screen. It can be synced like an iPod. So another way of thinking of it is as a high definition video iPod with wireless streaming added. The unit has a fat rubber base that does not slip and cannot scratch anything. It gets quite warm during use.

Aperture training was popular:

There were about thirty 24" iMacs set up for the attendees to play with and follow the demo. This is the same model that I use for Aperture. Lightroom was also popular.
The iPhone was displayed like the Hope diamond, with security and plexiglass:


Getting close up pictures was tricky, but possible:


It is smaller than you think it should be and very rounded:

The screen is extremely sharp and crisp. I could read the smallest text. At 160 pixels per inch it is about twice the linear resolution of a regular computer display.
Why The Living Room Is So Important To Apple
A few data points provide a snapshot of the opportunities. Market watcher iSuppli Corp. (El Segundo, Calif.) predicts shipments of products with integrated wired home networking will rise by more than a factor of 10 in the next four years, to hit 223.8 million units in 2010. Parks Associates estimates the number of North American homes with networked digital-video recorders more than tripled from 400,000 in 2005 to 1.7 million by the end of 2006.
They state the problem very clearly:
But there are no easy pickings in this gold rush. Engineers face historic levels of complexity building the digital home for several reasons. An unprecedented number of players are competing for a piece of the action. Coordination between these would-be architects is minimal.
and give the consequences:
"The glue that holds all this together is home networking, and it stinks," said Van Baker, a consumer analyst with Gartner Dataquest, in an early 2006 story. "If home networking stays like it is, it will stall at 30 percent penetration," he said.
The home network is wide open for any player that can simplify, market, and deliver. Whoever achieves significant penetration will either drag the other players along, or push them to the side. Clearly iTV is part of this, but I expect there to be more.
Apple will start with the TV, get a toehold, and place themselves in a position to enable other players to do business through them, so creating an ecosystem. Think low-price downloadable games, YouTube videos, iChat, networked security cameras, and things like that. Make it compatible and it will just work on any Apple home system.
Macworld 2007 Predictions -- All Wrong

I have two [Update: three] predictions for Macworld 2007: one hardware and one software [and one squishyware] . I haven't seen anything close to these, so I'm either uniquely right or just as wrong as everyone else. [Post-keynote update: I scored zero out of three. However I hope I may simply be premature rather than plain wrong. There are plenty more announcements still to come before June since the Keynote concentrated on only two products, and the Beatles' music was conspicuous. You can also see how I did on the iPhone here]
Storage That Works
The hardware surprise is that Apple will show a home storage and streaming appliance. Specifically it will:
• House up to six drives
• Take the exact same drive modules as the MacPro
• Have dual Gigabit Ethernet with Jumbo packet support and port trunking
• Have eSATA at 3Gbps, Firewire at 800 Mbps, and 802.11n wireless
• Support RAID and allow for incremental upgrades without downtime
• Have a built-in router
• Do back ups automatically in the background
Why? And who would want one?
The target market is the sub-SAN, sub-XServe content creation crowd, plus home power users. With six drives, the amount of storage is enormous and several RAID configurations are possible. It would be great with Aperture, Final Cut, or as a home streaming server for movies and music. The dual trunked Ethernet will allow direct connection to MacPros at maximum speed. With suitable switches it will work through a network as well. 802.11n wireless will let it stream to iTV with ease.
You can put it underneath the iTV and connect it with Ethernet, using the wireless to communicate with the rest of the world, or put it in a closet and use it wirelessly to the iTV, or put it next to a Mac and run it as a local storage box through Ethernet or eSATA or Firewire 800 and use it wirelessly at the same time. The built-in router allows you to wall off parts of the functionality among the network connections while still passing specific traffic.
Software That Sees
On the software side, the surprise will be Quicktime. Apple will show real-time facial recognition and object tracking and Steve Jobs will have even more fun showing it off than he did Photo Booth. It will let software treat scenes intelligently, allow iChat to know how many people are present, make games possible that use gestures, etc. You will have to wait for Leopard to get it though.
[Update: Final thoughts. I reckon that Paul McCartney and the remains of the Beatles will be there and will be providing some musical diversions]
What do you think? Any chance I am right?
Apple Promises Something Big

Apple's web site is promising something big. But what? My guess is nothing big. Instead we will get a lot of small somethings but they will add up significantly as the year goes by. Steve Jobs will promise "more to come", only giving part of the picture at a time. It will be a big year for Apple.
I will be at MWSF this year (on Thursday 11th) finding out what I can about all the new stuff.
Apple Modeling The User Interface Using 3D

Looking at this patent filing by Apple it appears that for Leopard 3D modeling will be used to generate interface elements. With all the talk of problems with huge bit maps and resolution-independence you would think there was a major crisis looming. I think otherwise. If you want an icon with a 3D look in Leopard, just give the OS a 3D model and a scene with lighting and it will build it for you when it is needed.
The problem with scaling 2D vector icons is that the vector data does not encode intent, just look. Fonts have the same problem: simply scaled vector fonts look awful because the scaling is applied without any knowledge of typography, visual cues, or alignment. Adobe and others solved this by adding hints to the vector data. For 3D icons, the shape encodes intent much better than for 2D, but hinting is almost certainly required for consistent quality. So I am predicting that Leopard will define a hinted 3D icon specification and provide tools that will give icon designers a clean resolution-independent environment.
Roughly Drafted

The creation of Daniel Eran, Roughly Drafted Magazine, is a rapidly-moving account of his analysis of Apple's product strategy. It's an excellent site for understanding what is happening right now and in the future with Mac OS X, iTV, the iPod, the iPhone, Microsoft, Vista, and all the other usually hype-ridden facets of the media/computer/mobile/DRM puzzle.
How Apple Will Get You To Try The iPhone

With all this talk of iPhones coming in January, it is interesting to speculate what Apple's overall strategy is. How will they get anyone to try it? What happens when someone decides to go Apple?
My wild guess is that from some point on (determined by the technology) every iPod will come with a phone built in. In just a few years there will be tens of millions of iPhones in circulation just waiting for their owner's contracts to expire.
And it will be very easy to try it out: just get an iTunes account and sync the iPod. Now you have a working phone and billing is automatic. Use the trail period of free calls to see how it works.
Apple Aquires Proximity

Announced late today was the news that Apple has acquired Proximity and all their products.
What is interesting here is that Proximity makes workgroup and enterprise media asset management solutions. They do what? These are tools that allow multiple people performing different functions to access centrally-stored media such as clips, images, footage, and audio. It's aimed at newsrooms, production studios, anyone who needs content on tap.
This is good news for Apple because they will be able to integrate this into Final Cut workflow and Aperture workflow. It is all part of Apple's strategy of becoming the digital hub of many traditionally analog or manual activities.
Solve The Right Problem, Win A Prize
There has been some interesting discussion online about the design of the Windows shutdown dialog -- or lack of it -- and that had led to more discussion about why Microsoft can't seem to fix things like this and get other things like the Zune anywhere near right. Much blame has been laid on the processes and systems Microsoft has in place to control the gargantuan thing that is Windows, and this comment came to its defense:
The people who designed the source control system for Windows were *not* idiots. They were trying to solve the following problem:
- thousands of developers,
- promiscuous dependency taking between parts of Windows without much analysis of the consequences
--> with a single codebase, if each developer broke the build once every two years there would never be a Longhorn build (or some such statistic - I forget the actual number)
And there you have it. Microsoft is trying to solve a problem that it should never have had in the first place: thousands of developers (ten thousand actually, costing $2B a year). Why? Promiscuous dependency? Why?
Let's look at what this does in real life. From this Slashdot discussion: Why Vista Took So Long
I'd also like to sketch out how actual coding -- what there is of it -- works on the Windows team.
In small programming projects, there's a central repository of code. Builds are produced, generally daily, from this central repository. Programmers add their changes to this central repository as they go, so the daily build is a pretty good snapshot of the current state of the product.
In Windows, this model breaks down simply because there are far too many developers to access one central repository -- among other problems, the infrastructure just won't support it. So Windows has a tree of repositories: developers check in to the nodes, and periodically the changes in the nodes are integrated up one level in the hierarchy. At a different periodicity, changes are integrated down the tree from the root to the nodes. In Windows, the node I was working on was 4 levels removed from the root. The periodicity of integration decayed exponentially and unpredictably as you approached the root so it ended up that it took between 1 and 3 months for my code to get to the root node, and some multiple of that for it to reach the other nodes. It should be noted too that the only common ancestor that my team, the shell team, and the kernel team shared was the root.
So in addition to the above problems with decision-making, each team had no idea what the other team was actually doing until it had been done for weeks.
The end result of all this is what finally shipped: the lowest common denominator, the simplest and least controversial option.
Now contrast this to what happens Apple:
I used to work at Apple, in the OS and frameworks groups.
There is a master "train" for a release; projects that don't change are "forwarded" to that train, meaning no source changes are required. When a project needs to be submitted for a change for the new release, a new "view" is created for its specific changes. Every few days, a build is produced, sometimes using previously compiled bits from the old "train", sometimes its a full world build (which can take several days) but otherwise building all the latest submissions.
Then there's a fairly labor intensive "integration" phase where the built bits are all put on a box and booted. If a "quicklook" QA process shows that the build is hoarked, the integrator goes and pesters the submitters of the latest project that was submitted and gets them to fix it. (Some percentage of the time, the new code has exposed a bug elsewhere, regardless, the project that is the proximal cause of the failure is rolled back to the previous revision, it anticipation that all the projects that need to rev be submitted at once.)
The whole thing is set up through symlinks via NFS, so if you want to see the latest version of any piece of code in the system (modulus those projects that are "locked down" for security issues) you can just get your release name, append the build number, and you've got the source code, symbol'd binaries and build log *for any release* at your fingertips.
When a new build comes out, you just do a clean install. It takes about two hours on the internal network, so typically you pull the disk image and slam it to a firewire drive, (usually, you can bum a disk with the image already grabbed from a teammate) and do a full install in 15 minutes. I can't imagine having to spend a day (as some other posted mentioned) setting up a machine...
Most projects have 3 or 4 contributors. In many cases, and entire framework is the responsibility of a single person (and he or she may actually own several small frameworks.) Lots of small projects produce cleaner interfaces that lead to fewer dependencies. (Of course there are dependencies, and circular ones, but these are kept to a minimum.) Projects are encouraged to use public API from other projects, rather than SPI or other project internals. If there's something useful enough for some other project to use, its first made into SPI for internal consumption, with the goal that developers will eventually be able to use it through a public API.
Most groups don't have dedicated QA by the way - the engineers are responsible for their code, and everyone is generally just very smart about what they're doing.
As to this start menu problem: the entire UI team is about 5 individuals, plus Steve Jobs and Scott Forstall - and they're likely to say "Thats fucking stupid, just do this" and boom(tm), the decision has been made the product ships, and life goes on.
It looks to me like Apple has solved Microsoft's problem by simply not having the problem: many fewer developers, many fewer dependencies. And of course Apple has its not-so-secret weapon: Objective C. What this means is that Apple has the capability to scale much further than where they are now without getting crippled by complexity and bloat. And because they are actually in control of their products (rather than by large customers or record companies), they can maintain this situation as they scale.
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.
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.
Aperture: Fishing for Apple Kbase Docs
DRM as a Market Advantage
The greatest trick Apple pulled was to build a market where lock-in is mandated, but convince the world that this was something they did reluctantly, at the behest of the villainous recording industry.
Apple gets to define the technology, the terms of interoperability, the delivery system, customer expectations, price points -- practically the entire customer experience for digital audio players -- patent it all, and cement it in place with trademarks.
But this is not all that they have done. Apple used its might and market position to ensure that no other competitor has a more customer-friendly DRM than they have, so ensuring their continued success spearheaded with ease of use. Look at it from the content provider's viewpoint: they created a tiny monkey five years ago and now it has grown up to be an enormous gorilla. No way are they going to fall for that one again. The 800 lb gorilla may be tough to deal with, but let's face it, anything over 200 lb will be be just as bad. So the record companies put all the other monkeys on a diet and ensure Apple's continued dominance.
Apple's iPhone is Just a Phone

Speculation about the "iPhone" has been rampant, with discussion, speculation, mock-ups, fakes, history, concepts, and jokes like the one above.
Here's my prediction about Apple's phone: it's just a phone. Yes, there will be a camera and a click wheel, and games, and it will play music, and it will make calls of course, but it will still just be a phone.
JUST A PHONE??? This is Apple and they always make this groundbreaking stuff, so how can it just be a phone? Actually I may be overstating things. It probably does not have a camera, and may well not have all sorts of other features that high-end phones have today. That's because Apple wants mass appeal and they want something that is basically a low-price, simple device. A very simple device. Because simple devices are easier to design, make, sell, support, market, and everything else. Apple wants to do one thing well with this phone, one thing so well that it is head and shoulders over the other phones that are out there. So what is there?
Integration. This phone will be so integrated with the iPod, the Mac, and the internet that it will be hard to tell where one ends and another starts. Many of the features that would normally be crammed onto a small display and keyboard will be missing entirely, transferred to your desktop. Syncing will be effortless and automatic. Your address book and calendar will be there. And your music and games. And the phone will have multiple identities, like fast user switching, to allow families and other groups to share one phone. You'll be able to listen to your voice mail on your iPod or in front of your TV (via iTV) because your Mac will automatically download voicemail for you, and you will be able to manage it in iTunes. You'll also be able to use the phone as a voice recorder and have it drop those files into iTunes. If you call someone else's phone (any phone) and get voicemail, you'll be able to press a button and have your phone leave a standard message.
Wonder why speech is going to be so much better in Leopard? You'll be able to have your Mac call you as long as it is connected to the internet to provide status information or to pass on voice mail it has received. There will be exclusive Apple ring tones that you buy on the iTunes store. You'll be able to use your iTunes account to pay for time used on the phone. And you'll be able to use your phone number as an identity for email, iChat, and other forms of communication through the Mac.
Your calling history will download to your Mac and display in nifty ways. If you pull up a contact in the address book you'll see when you last called that person. Reminders will be able to ring you phone when they occur. The phone will be able to take part in audio iChats too. You'll be able to start a chat on your Mac and then dial out to anyone you want to include. Chat invitations that come in will be routable to your phone. All phone functions like call forwarding will be done on your Mac.
You'll have a choice of bandwidth too: need it fast, pay for the call and deal with a slow transfer rate. If you can wait until you get in the office, sync through Bluetooth for a faster choice. Or for best speed (USB 2.0), use the cradle. The screen and keyboard will adapt to the environmental light level so it is never dim or glaring. It will have an audio input jack so you can hook up an iPod to it and play through one set of headphones attached to the phone.
But despite all that, it will still be just a phone.
Apple At Photokina

Macworld and others report that Apple is hosting a special event at Photokina September 25th. A new version of Aperture? I certainly hope so.
Apple's Charting Application
This makes much, much more sense than the idea that Apple will create a head-on competitor to Excel. Charting and information presentation is something that Apple can excel (pun intended) at, and will show how bland and dated the Microsoft tools have become. Apple can make full use of the great graphics capabilities its computers already have. Animations can be smooth and informative, transitions likewise. I expect the tool to build on the structured document regimen that Pages employs so that the chart presentation and the chart data are independent enough to each be changed at will with instant results. Think themes.
Charts, or whatever it is called, will fit very nicely into Keynote and Pages, and will be able to work alongside Excel and any other application that can export data.
Apple Is The New Good Enough
Good enough is how minicomputers felled mainframes. Minicomputers didn't have all the bells and whistles and support that mainframes did, but, hey, they were good enough to get the job done, and demand for the high-end fell. Then minicomputers were good enoughed out by microcomputers.
Familiarity with technology always lowers costs because it requires less training, reduces errors, and simplifies selling. But that is counter to the systems that the pioneers of the technology set up around it. The money-making systems cannot be allowed to die. At the same time that the pressure on prices occurs, the technology starts gathering cruft and its costs rise inexorably. Lower volumes complete the vicious circle.
As the technology ages, a new generation of people and businesses are familiar with the technology and know better what they want and don't want. They don't need the support systems that are built in to the cost of what has recently become the high end. They do need simplicity and ease of use.
Microsoft used to be the new good enough. That was one of the ways that they dominated the market and pushed out competition. Their software was not the best, or the fastest, or many other things. But it was good enough and it provided a way around the high-end, costly competition. Apple, offering perfection and features that the mass market did not need was left out. Niche markets held onto Apple with an iron grip, however, and Apple survived.
But now Apple is positioning itself as the new good enough. Just look at the I'm A Mac ads. Apple is not only positioning themselves as the only choice for a home computer, they are also actually rebranding PCs as what your dad uses at work and fixes at home. Spreadsheets. Pie charts. Viruses. Set up time. It's work vs. fun. The message is that whatever the business world thinks of it, the Mac is the new good enough for what you want to do at home.
Finally, why? Because Apple is going after the mass market in a big way.

