Archive for January 2010

Friday, January 29, 2010 [Tweets] [Favorites]

iPad Thoughts

I have a MacBook Pro and an iPhone. Both are great, but—for me—I don’t feel as though there’s a gaping hole in the middle. It would probably be useful, though not essential, to have a digital reading device for light Web browsing, PDFs, and perhaps FogBugz. I’m less sure that the screen will tempt me from paper books.

I don’t want to speculate too much, since I haven’t used an iPad and it’s harder to judge something when you’re not really the target market. Nevertheless, I think the iPad is going to be a success and a big deal. For some people, devices like the iPad will make computing more accessible and traditional-style computers unnecessary. For techies, it signals that the “wild west” era of open, tinkerable computers for the masses may be on its way out.

Alex Payne:

The iPad was pitched by Steve Jobs yesterday as a response to netbooks. It is not a mobile device, per se. Rather, the iPad is competing with full-fledged (if small and ugly) computers capable of running arbitrary programs and operating systems. Play all the category games you want, but the iPad is a personal computer. Apple has decided that openness is not a quality that’s necessary in a personal computer. That’s disturbing.

John Gruber:

A car with an automatic transmission still shifts gears; the driver just doesn’t need to know about it. A computer running iPhone OS still has a hierarchical file system; the user just never sees it.


What I found interesting is that I’m very familiar with this resolution — for years I used PowerBooks and iBooks with 1024 × 768 displays running Mac OS 9 or Mac OS X. 1024 × 768 somehow seems very different on the iPad than on Mac OS — physically smaller but conceptually bigger. The full-screen concept, without Mac-style overlapping draggable windows, leaves the iPad free to use as many pixels as possible for display content rather than UI chrome.

Kevin Hoctor:

I’m a geek. I love this stuff. I even know all the keyboard shortcuts for switching apps and spaces and windows. I am a software developer with an engineer’s brain. I am not the person Apple was thinking about when they built the iPad.

William Van Hecke:

It’s easy to miss what the big deal is, especially if you’re the sort of person who already has an iPhone and a Mac and you are perfectly happy with the way they fit into your life. @benaar said that they should have just called it iPod Big, and on the face of it, he’s right. It is just a fricken huge iPod touch. But something subtly momentous happens when an iPod touch gets fricken huge.

Steven Frank:

Apple is calling the iPad a “third category” between phones and laptops. I am increasingly convinced that this is just to make it palatable to you while everything shifts to New World ideology over the next 10-20 years.

Fraser Speirs:

The people whose backs have been broken under the weight of technological complexity and failure immediately understand what’s happening here. Those of us who patiently, day after day, explain to a child or colleague that the reason there’s no Print item in the File menu is because, although the Pages document is filling the screen, Finder is actually the frontmost application and it doesn’t have any windows open, understand what’s happening here.

Right now, various constraints have kept software for the iPhone OS simple. There’s less to get in the way because it does less. It will be interesting to see what happens as devices like the iPad become more powerful, developers have more time to iterate their products, and users expect them to do more. Will things stay simple? Or will we slowly reinvent most of the features and problems that we currently see on the desktop?

Tuesday, January 26, 2010 [Tweets] [Favorites]

Solving the Photoshop Elements Color Shift Problem

Joe Kissell:

In principle, the solution is simple. Your photo editing software should remove the profile, but then modify the raw pixel data to give the colors the same boost that they would have received if the profile had been present and used. If this process were carried out, and it worked correctly, then the result would be that the image would look the same in any program. The image wouldn’t have a profile, but it also wouldn’t need one, because all the information provided by the profile would be merged into the original image. That way it would be irrelevant whether a browser ignored the profile.

Monday, January 25, 2010 [Tweets] [Favorites]

In Praise of git’s Index

Aristotle Pagaltzis:

Today, I use it and rely on it so much that I can’t imagine moving to any other VCS that doesn’t have this concept. (And none of the contemporary contenders do.) Because of this, I keep responding to such criticism, repeating myself. I figured I should put my explanation down somewhere where I can point people to.

Saturday, January 23, 2010 [Tweets] [Favorites]

Build Automation

Allan Odgaard:

Of the many build systems I have looked at, I don’t see anything which has this simple axiomatic definition nor is actually very versatile. A lot of build systems have been created because make files are ugly/complex/arcane/etc., and I agree with that sentiment, but it seems like many of the replacements are systems hardcoded for specific purposes which simplify the boilerplate but make them inflexibile, or they are actual programming languages, which makes the build script only marginally better than a custom script…

Thursday, January 21, 2010 [Tweets] [Favorites]

Realism in UI Design

Lukas Mathis:

The thing on the left is a house. The thing on the right means «home». Somewhere between the two, the meaning switches from «a specific house» to «home as a concept». The more realistic something is, the harder it is to figure out the meaning. Again, if the image is simplified too much, it’s not clearly and immediately recognizable anymore.

Pen vs. Keyboard vs. Newton vs. Graffiti vs. Treo vs. iPhone

Phil Gyford (via John Gruber):

For some time I’ve been meaning to test my small collection of PDA/smartphone gadgets to see which of their methods of input was quickest. The iPhone’s software keyboard? The Newton’s handwriting recognition? Palm’s Graffiti? With the possible imminent arrival of a tablet from Apple that will save the world, it seemed a good time to get round to the test.

It’s definitely my recollection that Graffiti was at least twice as slow as pen and paper. Typing on the iPhone feels slow compared to a real keyboard, but it passes the good enough threshold.

Tuesday, January 19, 2010 [Tweets] [Favorites]

Mac and iPhone Applications With Unit Tests, Refactored

Dave Dribin refactors and improves Matt Gallagher’s sample test-driven Cocoa application:

The problem is that Matt’s code is testing the string formatting by asserting the web view’s HTML and text field’s strings. Separating the responsibility of formatting the strings from updating the UI not only improves the design, but makes testing much simpler.

Sunday, January 17, 2010 [Tweets] [Favorites]

Tickets 1.0

Tickets is a Mac application for creating FogBugz cases (via Justin Williams). You can set a quick-entry hotkey and include screenshots.

Saturday, January 16, 2010 [Tweets] [Favorites]

Email init

Brent Simmons wants Mac developers to build an open-source Cocoa IMAP client.

Tuesday, January 12, 2010 [Tweets] [Favorites]

A Decade of Mac OS X Reviews

John Siracusa:

This ten-year marker presents an opportunity to do something technology writers usually avoid. I’m going to look back at some of my hopes and fears from the early days of Mac OS X’s development and compare them to the reality of today. Was I right on the money, shrewdly warning of future disasters that did, in fact, come to pass? Or do my predictions now read more like the ravings of a gray-bearded lunatic? It’s judgment day.

I no longer hate the Dock, but it’s still too easy for novices to accidentally “delete” Safari. Perhaps removal should only be via the contextual menu.

Wednesday, January 6, 2010 [Tweets] [Favorites]


Nat! doesn’t like that some Foundation functions have been deprecated in favor of dyld functions and constructs a graph showing how many symbols each version of Mac OS X deprecated.

Why TextMate 2.0 Is Not Developed in the Open

Allan Odgaard:

To realize this I felt it was necessary to start from scratch, and it has involved a lot of experimentation, rewriting, and it is why I didn’t feel like discussing progress in the open because I had no idea about how many of my ambitions would pan out. The program itself has been in a constant state of flux with essential stuff missing because my focus has initially been on all the stuff I didn’t know how to do, as I could always do the “easy” stuff later (and doing the easy stuff first just leads to rewriting it when new insights are gained).

Unison 2 Color & Contrast

William Van Hecke examines the interface of Panic’s newly released Unison 2.

Sunday, January 3, 2010 [Tweets] [Favorites]

ATPM 16.01

The January issue of ATPM is out:

Apple’s Technical Feats of the Decade

Fraser Speirs:

It’s Apple-retrospective time all over the internet, and everyone’s talking about Mac OS X, the iPod and iPhone. I wanted to take a minute and reflect on ten lower-level technical innovations that Apple produced in the past decade which are probably unremarkable to any marketing-oriented discussion but which moved the state of the art on in some way.

A good list, though I’d probably put WebKit at the top.

Friday, January 1, 2010 [Tweets] [Favorites]

NSRunLoop Internals

Mike Ash:

It’s also helpful just to demystify a class. It’s easy to get into magical thinking, where you see a class as being incomprehensible and elevated above the mortal plane. The fact is, while the particular implementations of some of these classes can be pretty sophisticated (the CFRunLoop source will make your eyes bleed), the basics of what they do and how they do it are usually very straightforward. For 99.9% of the APIs in Cocoa, they aren’t there because they’re doing something amazing that you could never achieve, but rather they simply exist to save you the time and trouble of having to write it all yourself.