Wednesday, February 3, 2010
Eoghan McCabe:
Given the crappy copy and links in the message, after a quick scan, it’s not difficult to miss a key line or two and be left thinking you can hit reply and continue the conversation. After all, they originally asked me to e-mail them, they just replied to my mail, they ask me to “write back”, speak in the first person and they sign with a staff member’s name. I typed “Hi Scott, there must be some confusion. There is no another e-mail add—” before I noticed the “cannot accept incoming e-mail” line.
Tuesday, February 2, 2010
Victoria Wang:
At this time, I suspect the closed nature of the App Store is not as worrying as it should be because it only concerns our smart phones. We can still develop anything we want for Macs, the “real” machines. However, what if the iPad starts to replace the Mac to such a degree that it no longer becomes profitable to write apps for the Mac? It seems that to be a Cocoa developer will eventually mean to have one’s business chained to the App Store. To be chained to the App Store means Apple makes the final decision on whether your apps can be sold the way you like them, or at all.
Webdesigner Depot (via Cathy Shive):
On February 10th, 2010, Photoshop turns twenty. To mark this anniversary, we’ve come up with an article that takes you through the evolution of Photoshop from its modest beginnings as a bundled program sold with scanners to its current version.
For each version and major feature listed, we couldn’t help but think “did Photoshop ever exist without that feature?”.
Monday, February 1, 2010
Friday, January 29, 2010
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
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
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
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
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.
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
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
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
Brent Simmons wants Mac developers to build an open-source Cocoa IMAP client.
Tuesday, January 12, 2010
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
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).
William Van Hecke examines the interface of Panic’s newly released Unison 2.
Sunday, January 3, 2010
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
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.
Thursday, December 24, 2009
Philippe Casgrain has an interesting localization workflow that puts only the localized .strings files under version control. He updates the English .strings and generates the localized nibs at build time. The layout is controlled by the English nib files, which have a little extra padding. Compared to runtime localization, this makes it easier to spot layout problems. Compared to the traditional approach, there’s less work maintaining and updating localized nib files. The downside is that the layout isn’t tuned for each language.
Matt Robinson draws some typefaces using a ballpoint pen (via Geoff Tsai). The last image shows how much ink each used.
Tuesday, December 22, 2009
John Gruber:
Basically, he’s spewed 4,000 words to say that “open” is always good and always wins, Google is always open, therefore Google is always good and will always win. And please don’t worry your pretty little minds about things like Google’s search or ad algorithms or the specific details of how its data centers work, all of which things Google could not possibly be more secretive about.
Yup.
LaunchCodes (via Matt Deatherage) is a clever utility that tries to restore the creator code functionality that Apple removed in Snow Leopard. It sort of does for files what Choosy does for URLs, acting as a trampoline to receive opened files and redirect them to the proper application. The basic functionality seems to work, but I ran into a few problems:
- It doesn’t pass along Apple events. For example, if you find a PDF file using Spotlight or EagleFiler and open it, the query should be passed along to the PDF viewer so that it can search within the file. This stops working when you enable LaunchCodes.
- Some of my creatorless files now display in the Finder with generic white document icons.
- Applications can no longer tell which application would be used to open a file. For example, when you select an HTML file in EagleFiler, one of the menu commands will say “Open With Safari” and show the Safari icon, and if you select a PDF file it will say “Open With Preview.” Once you enable LaunchCodes, you’ll see “Open With LaunchCodes” and the LaunchCodes icon, which is not very informative.
- It doesn’t handle extensionless files. For example, if TextEdit is your default text application and you double-click a Makefile with creator code
'R*ch', it will open in TextEdit rather than BBEdit.
(1) seems like a bug that could be fixed. I’m not sure what’s going on with (2); it may be unavoidable since LaunchCodes doesn’t declare any icons for the file types that it handles. Unfortunately, (3) and (4) are probably not fixable given the way LaunchCodes works.
Matt Gallagher demonstrates using OCMock to develop a Cocoa application test-first. I’m skeptical about relying so much on mocks, but it’s good to see a complete example project.
Wired tells the story of Duke Nukem Forever:
It’s a dilemma all artists confront, of course. When do you stop creating and send your work out to face the public? Plenty of Hollywood directors have delayed for months, dithering in the editing room. But in videogames, the problem is particularly acute, because the longer you delay, the more genuinely antiquated your product begins to look—and the more likely it is that you’ll need to rip things down and start again. All game designers know this, so they pick a point to stop improving—to “lock the game down”—and then spend a frantic year polishing. But Broussard never seemed willing to do that.
John Gruber:
A big part of the appeal of the <video> and <audio> elements is that they should be easier to use. As it stands today, though, these elements are unusable in popular contexts without resorting to JavaScript DOM manipulation to effectively turn auto-buffering off.
Sunday, December 20, 2009
Jesse Grosjean:
The iPhone standard UI provides an “actions” icon (middle above), but to most people it looks like a reply icon. I use it in WriteRoom for iPhone, but I keep hearing from users who never found the actions (delete, send email, rename, word count), because they thought it was only for sending email.
The iPhone action icon looks like a “share” icon.
Saturday, December 19, 2009
Chris Clark:
It’s a simple and elegant solution, but not at all discoverable; I needed documentation to help me find the setting, which is unusual and troubling for a UI nerd. I might’ve been understanding if they’d just nixed the feature, as Mail is bundled with OS X and one could argue that it’s not supposed to be for Power Users. But Apple’s designers and engineers took a different route. They added the feature and obviously put a lot of work into it, considering new aliases show up in the menu automagically, but they opted for zero interface. No fifteen pixels of fame.
Friday, December 18, 2009
Bill Bumgarner has written three good posts describing how objc_msgSend() works.
Thursday, December 17, 2009
Paul Kedrosky (via John Gruber):
Pages and pages of Google results that are just, for practical purposes, advertisements in the loose guise of articles, original or re-purposed. It hearkens back to the dark days of 1999, before Google arrived, when search had become largely useless, with results completely overwhelmed by spam and info-clutter.
It’s interesting how Google is dynamite in many areas but almost useless in others. Search is a hard problem.
Wednesday, December 16, 2009
Jonathan Rentzsch has written a script that makes it easier to view tab-delimited files in BBEdit. I’ve been doing this manually for a dozen years or so.
Wednesday, December 9, 2009
Tim Wood has some interesting suggestions for resolving some longstanding problems with Cocoa’s responder chain.
Update: Marcel Weiher adds his thoughts.
Monday, December 7, 2009
Joel Levin:
If you move the networks you actually use to be the top items, you will see a drastic decrease in the connection time as airport no longer has to spend a bunch of time connecting to networks that aren’t currently around.
Mark the Spot is an iPhone app for reporting problems with AT&T’s coverage (via Rich Siegel). It remains to be see how much effect apps like this and Citizens Connect (for reporting potholes in Boston) will have, but if the process is frictionless enough it seems worth a try.
Sunday, December 6, 2009
Google:
What we’re doing today is expanding Personalized Search so that we can provide it to signed-out users as well. This addition enables us to customize search results for you based upon 180 days of search activity linked to an anonymous cookie in your browser.
I suppose this makes sense, and even without cookies Google could figure out the history, but it still creeps me out. You can turn it off by clicking on “Web History.” SEO just became a lot more unpredictable.
Jeff Bezos (via Marco Arment):
For every 100 copies of a physical book we sell, where we have the Kindle edition, we will sell 48 copies of the Kindle edition.
That’s incredible, but I’m not sure that I believe it. Are the numbers skewed by averaging in the free Kindle books or something?
Thursday, December 3, 2009
Jonathan Rentzsch shows how to disable the quarantine and how to remove the quarantine xattrs from existing files.
Wednesday, December 2, 2009
Sunday, November 29, 2009
Pie Guy is a Pac-Man-style iPhone game from Neven Mrgan. It’s amazing what he can do with a local Web app (using JavaScript and WebKit HTML extensions), although because it’s a little slow to respond it might not fool you into thinking it’s a native app.