When Jobs introduced the spot at Apple’s annual sales meeting in Hawaii in October 1983, he cast IBM in the role of Big Brother. That was never our intention. The real villain was our collective fear of technology, not a corporation either real or imagined.
Ironically, Jobs had questioned the buy in the first place. He said, “I don’t know a single person who watches the Super Bowl.” Well, of course you don’t. You’re Steve Jobs.
Archive for January 2011
In normal markets, I would be strongly tempted to take my business to vibrant competitive offerings. Sadly, Google is pretty much the only game in town for viable CPC advertising: even if Microsoft/Yahoo exorcized the abominations haunting their UIs, they would not have enough inventory to matter for me in my niche (I’ve tried before).
I tried Yahoo a while ago and was appalled at how little inventory they had. I think it took almost a year for them to spend whatever the minimum payment was. On the other hand, Google’s system encourages you to overpay for keywords that no one else wants.
Cabel Sasser notes that Panic has been holding back Transmit 4.1.5 since January 6, because they wanted to release it simultaneously for their direct customers and in the Mac App Store. However, after three weeks in review (for a 0.0.1 update!) Transmit 4.1.5 is still not approved, so they’ve decided to half-release it. I hope that developers will, for once, not think “WWPD,” but instead ship updates right away, not to penalizing their customers for Apple’s delays. Though it’s perhaps reassuring that a top developer like Panic doesn’t seem to be getting special treatment (though some top-grossing apps have had multiple updates approved since the store opened), it’s cold comfort for those who worked through the holidays to submit before the December deadline and still haven’t heard anything from Apple.
Mike Ash’s excellent series of blog posts about Cocoa and Objective-C is now available for iBooks and Kindle.
Marco Arment (interviewed by Michael Lopp):
Most people assume that online readers primarily view a small number of big-name sites. Nearly everyone who guesses at Instapaper’s top-saved-domain list and its proportions is wrong.
The most-saved site is usually The New York Times, The Guardian, or another major traditional newspaper. But it’s only about 2% of all saved articles. The top 10 saved domains are only about 11% of saved articles.
If you give Dropbox to a user that is not technical at all, they will have lots of problem figuring it out. The reason for this is that Dropbox does not have a lot of user interface exposed on the desktop. The user needs to have a basic understanding of how their operating system works [to use Dropbox]. The fact that it is so invisible and behind the scenes is why they [non-technical users] don’t know how to use it.
Some interesting upcoming features are easier sharing and automatic file viewing and transcoding.
If you’ve only scrolled down a little bit and you happen to get a new email, you’ll be returned to the top (which is no big deal, because you knew you were only a little bit below the top, so it’s easy to get back to where you were), but if you are deeper in your inbox, getting a new email does nothing.
When you think you’ve figured it out, try this: close the test folder and reopen it so you can start fresh with no selections at all. Then, shift-click folder 6. That should select folders 0-6. Shift-clicking folder 4 selects folders 0-4. Shift clicking folder 8 selects folders 0-8.
Now, with folders 0-8 selected, command-click folder F on and off again. Then, shift-click folder A.
Shift- and Command-clicking in Mac OS X lists is probably more complicated than you thought.
What’s most atrocious to me about VP8 is that open-source has trumped clarity, implementability, and standardization. VP8 apparently only exists as a code-base, not as a technical standard that could, at least in theory, be re-implemented by a third party.
Cultured Code’s Jürgen Schweizer looks at various ways they could have implemented syncing for Things. To my knowledge, Apple has never said why Sync Services is not available to third-party developers on iOS (via either MobileMe or USB). Lots of developers are either reinventing the wheel or waiting to see what Apple does.
Regardless of whether or not you think the online advertising business is a bubble (which I do right now, but I’m a voice in the wilderness), we should face the fact that we are seriously exposed when we place our businesses and online lives in the hands of companies that make most of their money from advertising, and that aren’t diversifying into other businesses that aren’t based on guesswork.
Self-hosting is the future we’ll have after commercial hosting services like Flickr start to fail. Fortunately, self-hosting is what the Web was meant to support in the first place, and the architecture is still there. We’ll have our own Flickrs and Zoomrs and Picassas, either on servers at home (ISP restrictions permitting) or in a server rack at the likes of RackSpace. But somebody needs to develop the software
The problem is that Flickr is not WordPress, where you can just move your data to a different provider.
Alan Snyder describes a situation in which Time Machine doesn’t back up a new file (via Jonathan Rentzsch). Clever backup systems can be faster, but it’s also harder to verify that they’re doing the right thing. Time Machine is over three years old now, deployed on probably tens of millions of Macs, and from Apple. So you’d think it would be reliable, yet most knowledgable Mac users don’t seem to trust it, and my own experience bears this out.
This is a quirky idea so I’ll repeat it: since the device is not good enough it has to be integrated, including the processor, which being good enough, has to be conformable. The processor has to bend to the will of the device market not vice versa.
This then puts Dr. Hauser’s point in perspective: a modular business architecture for microprocessors is a necessary condition to being successful supplying devices. The corollary is that Intel’s integrated business model is obsolete in a device world. No amount of polishing of the Atom will help.
It’s not just review times, or e-mails that go into the void, unanswered for days or weeks or ever. It’s that Apple isn’t able to communicate about the fundamental issues that will make or break businesses.
No answers before the store opened, and now developers have even more questions and Apple is still in a communication blackout. The main value of Apple’s 30% cut is access to a larger market, but it still doesn’t look good that companies such as PayPal, eSellerate, and E-junkie charge much less and provide great service. I can e-mail or call those companies and get answers right away.
gccprovides two built-in functions which can be useful for building macros.
The first is
__builtin_types_compatible_p. You pass two types to this function (
__typeof__comes in handy here) and it produces
1if the two types are “compatible” (roughly, if they’re equal) and
0if they aren’t.
The second is
__builtin_choose_expr. This works like the C standard
?:operator, except that the predicate must be a compile-time constant, and the type of the entire
__builtin_choose_exprexpression is the type of whichever branch gets chosen; the two branches are not required to be similar types.
A good compilation of notes.
Turns out I should have picked a new, unique Bundle Identifier. Unique in the sense that it can’t be the same as the one from the previous version of the same app. Currently it’s com.felttip.SoundStudio. Something like com.felttip.SoundStudio.mas would have fixed it. But I never thought about doing that, because then it would mean that the preferences and document associations with the old app would not carry over to the Mac App Store version.
Being that my applications aren’t yet approved for sale, I’m trying to figure out whether I made the right choice in registering separate bundle IDs for my Mac App Store builds. I thought this made sense because, even with the same version numbers, the features will be different. However, there are certainly disadvantages to unique IDs as well, and now I’m leaning the other way. It’s unfortunate that Apple has been silent on this and so many other issues.
Update (2011-01-09): Apple advised Lucius Kwok to use the same bundle ID.
I had a remarkably different experience upon opening the app. Much like with the App Store itself, the head-scratching UI left me bewildered and confused more than once.
Twitter for iPhone follows this model to a tee: accounts, tweets, tweet details — arranged left to right, with animation as you move between them. In today’s new Twitter for Mac, though, the sliding animations when you switch between tabs add nothing contextually. They’re not merely harmless eye candy, either. As Morgan notes, these animations create a false sense of stacking where no stack exists. They’re technically excellent, but conceptually misleading.
I think Tweetie 2.0 (a.k.a. Twitter), though great in many respects, is a bit over the line in terms of custom user interface for the sake of looking cool. Custom UI makes sense when you have a problem that the standard controls and conventions don’t solve, but too often there doesn’t seem to be any design benefit from the deviations. I like having the title bar, toolbar, and search at the top of the window. I like being able to move the cursor without stuff fading in and out beneath it. It just seems very busy. I’d like to vote with my Dock and am tempted to use Hibari, but it doesn’t support multiple accounts yet.
Update (2011-01-26): Riccardo Mori’s thoughts on the new Twitter for Mac.
Anecdotally, my personal search results have also been noticeably worse lately. As part of Christmas shopping for my wife, I searched for “iPhone 4 case” in Google. I had to give up completely on the first two pages of search results as utterly useless, and searched Amazon instead.
People whose opinions I respect have all been echoing the same sentiment—Google, the once essential tool, is somehow losing its edge. The spammers, scrapers, and SEO’ed-to-the-hilt content farms are winning.
Google was designed to play the role of a passive observer of the internet: web content was created for people, not specific Google queries, and Google would look around, take inventory of what was available, and give it to people who asked. Google’s general, big-picture algorithms probably haven’t changed much since the days when this was relatively accurate.
But that’s no longer what web content looks like.
I’ve been noticing these problems, too. Very specific, phrased queries used to be gold, but now they often bring up perfectly tailored spam pages.
This design seems to allow one to have a minimalist Find & Replace panel within an editing window while still offering a usable and discoverable range of search options to the user.
Inline Find bars work great for quick searches, but for Find and Replace I want a resizable, moveable window with large fields, large buttons with keyboard shortcuts, etc. It seems like popover-style attached windows combine the disadvantages of both approaches.
Update (2011-01-09): Andy Lee comments.
If you take a program with structure A and want to transform it to structure B, how large are the steps you have to take to get there? In a low-level language you can make many small changes to get from A to B, but as the level of the language rises, it’s often easier to rewrite some bit of code than to refractor it into a different shape. […] To me, this is granularity. When you use lower level constructs, you have more waypoints. I don’t think this is good or bad necessarily, but it does make the work different. When the grain of a language is coarse, we may have fewer steps when refactoring, but we may also have a bit more work to do to see the next step. When the grain is fine, we can often have more confidence that we are going to get to the structure we’d like to arrive at and we’re tempted to take it a little slower, with many more intermediary steps.
The January issue of ATPM is out: