Archive for the ‘Cocoa’ Category

Remote Control Wrapper 2.0

Thursday, July 26th, 2007

More than a year ago I released the first version of a Objective-C class to interact with the Apple Remote Control. With Sofa Control 2.x this wrapper got some great new features. Today these changes are released to the public as a version 2.0.

I strongly recommend to upgrade to the new version of the wrapper. Hopefully the new features awake your interest.

New Features

  • Support for Leopard (9A466, 9A499)
  • Extension mechanism to support different remote controls. Beside the Apple Remote Control the wrapper comes with support for
  • Simulation of hold events and multi-click events
  • Cooperation mode to share the remote control devices among applications
  • Bug fixes

Let’s see how easy it is to use the new wrapper code in your application with some sample code.


NSCell Image and Text Sample

Friday, May 4th, 2007

Image Text Cell Sample

Some time ago I wrote about the restrictions of bindings and the fact that custom cells often need more than one data element - see Data for a custom cell in a NSTableView. There were some very good comments on the article and also the request for a sample code.

So I took some code from Sofa Control and put together a sample project for download. The project has a class called ImageTextCell that is a subclass of NSCell and draws two text lines and an icon.

It works like this:


no iPhone SDK

Thursday, January 11th, 2007

It seems to be true that the iPhone is not open for regular developers.

Rentzsch called for filing bugs to create some pressure on Apple. I second that, but I’m pretty sure that we will not see an open API soon.

Well, I’m extremely sorry about that as I would love to develop apps for this device. But I think there are a number of reasons why Apple is doing it like that:

The two faces of Apple

Apple has two faces. The first one is the developer friendly one. The one where they develop the best, open, extensible frameworks. They improve the performance of the OS, improve usability and more… They might also be responsible for developing the UI guidelines. Let’s call them the core team.

The second face of Apple are the departments that develop the cool products that we like so much. They do iPhoto (with non standard RSS extensions), they develop iWeb (which is tight into .Mac), and all the other stuff like iTunes (which is using a ton of non standard UI elements), and more. They are doing the visible products on top of the core technology.

These groups push the core team with new requirements. A lot of the frameworks and technologies that were created in the past came out because there is a concrete need for it. So when everything goes well it’s a symbioses between both groups. A framework cannot advance without the push of innovative products.

The time gap

Providing a good API, framework or a SDK takes time. It shall be flexible enough to be extensible while at the same time it shall be easy to use. A tough job. Asking the core team for an extension in a framework that is needed to do the next innovative product can be cumbersome. A lot of discussion may arise how it should be done, which kind of flexibility is being needed and how the functions shall be called.

Time goes by. Time that is extremely expensive as there a number of competitors out there who might come out with a product, too.

So what should they do? They are doing it by themselves. They are ignoring the (already old) standards to push forward.

iPhone Internals

In case of the iPhone they have put together some very smart people from different product and core teams. They took the best parts of Mac OS X and it’s technologies, rearranged, refactored and disassembled them in order to build up this most innovative product. Only a small number of frameworks will have been ported on the iPhone. Perhaps they ported just small parts of frameworks that are being needed at the moment. Some parts might be a big mess as there was not enough time to do it right.

Should they put a lame, buggy API on top of that? Wouldn’t it be better if they invest that time to further improve the user interface and interaction with the device?

Most of the iPhone users will be pretty happy with the functionality of the build in applications. The competition in the mobile market is huge. Perhaps Apple decides it’s better to invest the time to innovate and bring more cool software and hardware than investing time to be compatible for third party apps. The time frame between iPhone Mac OS X releases will be a lot shorter than that of the regular Mac OS X.

False Expectations

When Steve said that the iPhone is using Mac OS X I screamed out loud. I though about running any piece of Mac OS X software on that device. But the expectation to have a full fledged Mac OS X running on this piece was simply wrong. It borrows a lot from Mac OS X, that’s all.


The iPhone is primary a consumer device. They didn’t talk about games. Games are a very important software category for mobile devices. I assume there will be full fledged games in the iTunes store (as it is now for the iPod).

I think the first available SDK will be for the development of iPhone Widgets. There will be no access to the underlying OS but at least you can develop games with Javascript, HTML and CSS and connect with internet services. You probably will be able to do things comparable to what you can do with Java on other mobile devices.


I’m sad, and a bit disappointed about the miss of the iPhone SDK. And there might be other, not so respectable business reasons, why they are not providing an SDK. But at the end, and as a customer, I think it’s better they invest the time to reinvent the phone than providing an SDK for a lame device.

Let’s hope they see the huge potential of third party apps and start to build a team that is responsible for the core modules of the iPhone. And then we will get an API for an awesome device.

GrandPerspective 0.98 Universal

Sunday, December 17th, 2006

A new version of GrandPerspective has been released. I downloaded the source, configured a project and did another universal build which you can download now.

GrandPerspective 0.98 Universal Download

Note: I only did a build of GrandPerspective. I’m not involved in any means in the development of GrandPerspective. Therefore I can not help with any bugs in there :)

Update: I missed to include the resources. Please download the build again.

Spotlight Talk

Wednesday, November 29th, 2006

The Academic Apple Users Austria group is starting this friday.

I’m invited to give a talk about Spotlight. The talk will about the following topics:

  • Usage: Change your daily workflow with Spotlight
  • Spotlight under the Hood: Techniques of your private Google
  • Future: Upcoming Spotlight features in Leopard (respecting the NDA of course)

The talk will be in german. If you are around the corner I’ll be happy to see you.

Free licenses of Searchlight - Spotlight for the network and Sofa Control will be given away.