Coffee & Cocoa hot bits and bytes Sun, 18 May 2008 10:48:31 +0000 en This blog is closed Sun, 18 May 2008 10:48:31 +0000 martin I’m closing this blog today.

I simply can’t give the necessary time and I’m constantly feeling guilty because of that. Worse - today I found out that someone used a bug in the blog software to add HTML code to every page. That’s the problem when you do not update the software from time to time.

Therefore I’m converting this blog to static pages as an archive. I probably will still release source code from time to time but will reference to it from other pages like CocoaDev.

If you have feedback to any archived post please drop me an email at martinkahr at gmail.

]]> launched Thu, 20 Mar 2008 20:08:39 +0000 martin Today something big is happing for me. is the successor for CASE Apps.

While CASE Apps was basically a platform to promote the applications that I have written, Gravity is something bigger. CASE Apps was a single person thing while Gravity is driven by a number of very cool people. We have dedicated resources for the different products and other things (marketing, graphics) that have to be done. We are still small and some of us are doing this beside their main job. But these new resources make it possible to push existing products and to come up with new ones.

I’m very happy about how this all went by now and I’m looking forward to the future and how it further develops.

But now you should check out the mew website and get the updates that we provide for all our products.

AlterEgo, Core Animation and Divide & Conquer Thu, 29 Nov 2007 12:41:41 +0000 martin AlterEgoScreenshot.jpg

Today AlterEgo has gone live. AlterEgo provides stunning cool effects for iChat and Photobooth.

Core Animation

AlterEgo is heavily using Core Animation for all kind of things. Be it the Coverflow effect (check out the developer samples for a good start on that), morphing buttons, blurred backgrounds and more.

After the initial problems I fell in love with Core Animation. It’s incredible fun to fine tune your UI (with minimal development effort if you know the concepts and problems :). In pre-Core-Animation times you typically sub-classed a control class and tweaked and adopted the UI that way or you implemented a custom NSView. Now with Core Animation a great number of things can be done by applying filters on existing controls and by using one of the CALayer subclasses.

Some things don’t work as expected (at least not as I would expect) and I spend countless hours on occasional flickering in animations or other wired things. I’ll write some blog entries about the things I found out and how I solved problems. So stay tuned if you are interested in that.

Devide & Conquer

I developed a number of Mac applications until today. What makes AlterEgo different is the fact that I haven’t done it alone. I have a partner who works with me on that. We split work, gave each other feedback and together decided about features and the UI.

I worked in big teams in previous jobs and this kind of working together was missing when I did Sofa Control or Searchlight. So I’m very thankful to have a partner to do AlterEgo. We’ll see what the future brings. Right now it looks very bright.

More to come

Right now a friend is working on a major update of Searchlight. It will be great. And a totally new version of Composition Builder is on the road with incredible new features.

So stay tuned for more great things in the near future.

Remote Control Wrapper 2.0 Thu, 26 Jul 2007 19:22:08 +0000 martin 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.


Sofa Control Review Thu, 07 Jun 2007 12:31:49 +0000 martin Sofa Control got a very nice review from MacsimumNews

We are very proud to get a 10 out of 10 from Dennis Sellers. Thanks!

… the included tutorial is one of the best-designed (and best looking) I’ve ever seen.

If you searching the web for popular mp3 for download stop! You can dowload high-quality electronic music. If you like soundtracks in mp3 visit mp3adrenalin - best shop ever.

No one want’s to read a manual. Therefore it’s important that the user builds up the knowledge to use an application in a minimum of time. The goal of Sofa Control’s tutorial was to introduce the application by using the application. The tutorial is done with Keynote and just a simple PDF which you navigate by using the remote control.

The tutorial is one thing. Beside that the application must be intuitive and well designed. Both are difficult things to do and we try to improve both with each new version.

Composition Builder Tue, 05 Jun 2007 06:27:40 +0000 martin Mac OS X has a number of APIs to create stunning real-time graphics. There is OpenGL, Core Video and Core Image to name some of them. These APIs help you to get the most out of todays machines and graphics cards.

With Mac OS X 10.4 Tiger, Apple introduced the Quartz Composer technology.

Wikipedia says about Quartz Composer:

Quartz Composer is a node based visual programming language provided as part of the Xcode development environment in Mac OS X v10.4 “Tiger” for processing and rendering graphical data.

With Quartz Composer one can create incredible real-time graphics without the burden to learn all those graphics APIs. You arrange and connect elements with your mouse - it’s visual programming. Another bonus of Quartz Composer is the fact that they run on any mac without the need to install software.

Quartz Composer Complexity

But where there is light there is shadow.

Quartz Composition represents a very low layer over the mentioned graphic APIs. The good thing about that is that you could build nearly everything at this layer. The bad thing is that it becomes incredibly complex if you want to do more than just showing some text on the screen. Debugging or finding a missing connection can cost you a lot of time. (more…)

Quartz Composer Remote Control Sun, 20 May 2007 07:48:14 +0000 martin Steve Mokris has developed a Quartz Composer patch to use the Apple Remote Control. Very cool.

Today one has to hack Quartz Composer to find out how to develop patches. But let’s hope that the development of QC patches becomes much easier with an official API in the near future (autumn).

More exciting Quartz Composer news in a couple of days…

NSCell Image and Text Sample Fri, 04 May 2007 10:06:34 +0000 martin 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:


Too big for the Campus? Fri, 04 May 2007 06:11:45 +0000 martin Apple Campus

I attended the WWDC conference the last years. Some things that did not change over the years were the quality of food and the fact that each year more and more enthusiasts came to San Francisco to get news from Apple.

On thursday of the conference week they put the attendees in buses to drive them to the Cupertino Apple campus. 10% of the attendees spent 3 hours to get into the company store to get a cool t-shirt while the rest enjoyed the food and drinks.

On this year’s WWDC it looks like things are changing. On the WWDC Events page you can read the following:

WWDC Bash in San Francisco Thursday, June 14, 2007
You’ve been hard at work all week, and now it’s time to unwind
and have some fun in downtown San Francisco.

Sounds like that the campus in cupertino is too small, or organization to complex for the large number of attendees.

What else could change at this year’s WWDC? The quality of food?

Update: Some thoughts about the change by Scott Stevenson.

MacUpdate Sofa Control promotion Mon, 23 Apr 2007 18:04:56 +0000 martin Mulogo

There is a MacUpdate sales promotion for Sofa Control ongoing today (Tuesday 24th, April).

If you have a need for a license of Sofa Control for yourself or a friend or family get it today for just $7.99. That’s a 53% saving from the retail price of $14.90!

Use this link to get the special price.