Archive for October 2008
At PDC today, Microsoft gave the first public demonstration of Windows 7. Until now, the company has been uncharacteristically secretive about its new OS; over the past few months, Microsoft has let on that the taskbar will undergo a number of changes, and that many bundled applications would be unbundled and shipped with Windows Live instead. There have also been occasional screenshots of some of the new applets like Calculator and Paint. Now that the covers are finally off, the scale of the new OS becomes clear. The user interface has undergone the most radical overhaul and update since the introduction of Windows 95 thirteen years ago.
The taskbar is now much more like the Mac OS X Dock, and Explorer’s sidebar is more like the Finder’s.
Back in August, we decided that we should have a Windows version of our FileMagnet Uploader, a Mac application which connects to the iPhone via Bonjour and moves files back and forth between the desktop and our FileMagnet iPhone app. If you’ve been in this situation before, you know how much fun a line-by-line Windows port can be. Not only do you have to spend weeks hunched over Visual Studio, re-writing your entire program in a different language, but when you’re done you now have two separate code bases to manage. When a friend recommended that we check out Cocotron as an alternative, we were quite skeptical but agreed to try it out.
The biggest update is that Fission now has built-in iPhone Ringtone saving, using the same method found in our MakeiPhoneRingtone application. With Fission, you can take any audio file in any format (not just AAC), and easily turn it into a ringtone/alarm sound for your iPhone! Just crop it down to 40 seconds or less, then choose “Save as iPhone Ringtone”, and Fission will handle the rest. Your file will be transcoding to AAC if needed, then passed off to iTunes and ready for syncing.
In OS X 10.5, you can build the same folder, but the aliases don’t work at all—if you hover over them with the mouse, you won’t see their contents. As shown above, in fact, a folder alias actually looks like a document, and there's no disclosure triangle as there is in 10.4.
When a method definition is decorated, we don’t know whether to automatically give it a ‘self’ parameter or not: the decorator could turn the function into a static method (which has no ‘self’), or a class method (which has a funny kind of self that refers to a class instead of an instance), or it could do something completely different (it’s trivial to write a decorator that implements ‘@classmethod’ or ‘@staticmethod’ in pure Python). There’s no way without knowing what the decorator does whether to endow the method being defined with an implicit ‘self’ argument or not.
I like explicit
It’s too bad that such a powerful tool is so broken. Especially since Apple is starting a trend of omitting traditional NSNotification and delegate callbacks in new APIs, instead simply supporting KVO. A perfect example of this is NSOperation: the only way to get notified when an NSOperation finishes is by using KVO to watch its
I hope those are mistakes and not part of a trend. In any case, Ash has done what I was planning to do the first time I couldn’t avoid using KVO: write an adapter that hides the madness behind a notification center interface. It’s simple and clean:
It takes advantage of one pointer that can be guaranteed to be unique: the ‘self’ pointer. Instead of registering the target object for a notification, it creates a unique helper object for each notification and registers that. The helper then receives the notification and bounces it back to the original observer.
The recent change to the iPhone App Store so that the listed release date of software is the date of initial submission—and not the date of the last update—seems to have had a very profound effect on our sales, and not in a good way. PCalc is now currently sitting on the 29th and last page of the Utilities section, since it was one of the very first apps submitted to the store, and that means it’s now effectively dead in the water.
Thomson is a longtime developer of great Mac software, and his recently updated PCalc is one of my favorite iPhone applications.
I think the App Store’s rigid interface is increasingly becoming a barrier for users. It’s hard to find which applications are new, to find the changes between versions, and to sift through the outdated and often inaccurate reviews. Amazon has become a convenient and reliable source of information, and it’s worth going to even if you plan to buy from another vendor. With the App Store, the situation is almost reversed, and I find that the less I rely it and iTunes, the better. I try to use a third-party feed, Twitter, and blogs to track changes to the store. When looking at an app, the first thing I do is go to its developer’s Web site. Then I search Google for reviews.
The bottom line is that, unless there’s a demo, it’s hard to know what you’re getting. There’s a lot of junk, some of it highly reviewed, so the odds are not in your favor. Since the prices are generally low, I haven’t been shy about buying apps that look promising. This looks to Apple like a success, but I wish I could return about 2/3 of my purchases. That said, I’ve not soured on the App Store because a bunch of the applications I’ve bought are fabulous.
Jason Snell has a great writeup about the new MacBook and MacBook Pro that includes some details that I haven’t seen mentioned elsewhere. In brief, I like:
- Easy access to the hard drive.
- Larger and faster hard drive options (though no 7,200 RPM drives in the MacBook).
- The new enclosure and display—having used various glossy Mac displays, I don’t miss matte.
- The compact DisplayPort that supports up to 30″ displays even on the low-end MacBook.
- Much-improved graphics performance.
- The multi-touch trackpad.
- Support for the iPhone headphones’ button and microphone.
I don’t like:
- Loss of the FireWire port (and, thus, speed and target disk mode) on the MacBook. The MacBook Pro has also lost a FireWire port, complicating and slowing down multi-device configurations.
- Lack of support for eSATA and Blu-ray.
- $99 adapter needed to attach a 30″ display.
- The small increase in CPU speed.
- The Trackpad pane in System Preferences, which uses the button/pop-up style that Apple recommends for use in scope bars.
- Uncertainty about whether the 17″ MacBook Pro is being phased out.
This morning I released EagleFiler 1.4, a big update with lots of new features including: user-created smart folders, stationery, a Tag Cloud window, more formats for archiving Web pages, and contextual menu commands for setting metadata based on the selected text.
This is why the standard initializer pattern is the only one that works. Cocoa classes can and do deallocate the original instance, then allocate a new instance of the same class (or a subclass) and return it from their initializers. This is admittedly rare, but it is legal and it does happen. And that, in a nutshell, is why the standard Apple initializer pattern is the only correct way.
Taken together, these three factors lead to The Fear, which is that developers cannot trust the App Store process. You can spend all of the time and effort it takes to build an app, follow every known rule, and still get rejected.
Python 2.6 is now available:
The major theme of Python 2.6 is preparing the migration path to Python 3.0, a major redesign of the language. Whenever possible, Python 2.6 incorporates new features and syntax from 3.0 while remaining compatible with existing code by not removing older features or syntax.
More from Jesse Noller.
The October issue of ATPM is out:
- MacMuser: Ding Dong Dell
- Next Actions: Master List for October
- Photoshop for the Curious: Don’t Reset—Preset!
- Desktop Pictures: South Korea and Guam
- Software Review: Democracy 2
- Software Review: Imprint Studio 1.0
- Software Reviews: iPhone App Roundup
- Accessory Review: Whoomp Earbud Enhancers
- FAQ: Frequently Asked Questions
I was just shocked that this magazine exists. I mean really. An entire print publication for people who raise chickens as a hobby? That’s what I call a niche. How does the publisher survive?
More to the point, how can this magazine be successful when Dr. Dobb’s looks like it might be pushing up daisies sometime before the World Series is over? Dr. Dobbs is arguably the most prestigious developer magazine in our industry, but it hasn’t been looking any too healthy over the last year or so.
On behalf of the Netflix API team, I’m very excited to announce the release of the Netflix API and to launch this site for our developer community. We have been impressed with the applications developers have managed to build using our RSS feeds or by screen-scraping the web site, so we can’t wait to see what you’ll do with a supported API!
At last! Perhaps this will make iFlix faster…