Interview with Slava Karpenko, from Unsanity

When you think about programming in Mac OS X, Unsanity is one of the best places to look at. Slava Karpenko, his main developer, talks with us about Apple, Mac OS X and his company, Unsanity.

Tell us something about you

Well, my name is Slava Karpenko, I’m 23 years old, married, has a 2 years old kid. Worked in several Mac software companies then founded Unsanity LLC with his friends. I live and work in St.Petersburg, Russia.

AlfSlavaSept02.jpg

Slava at a Mac users meeting in Moscow, September 2002 (the flag is just for fun 😉

When did you started using Macs?

I started using Macs around 1992, when somebody presented a used Mac Plus to my parents. Having used ZX Spectrum and PC before then, Mac’s interface and look fascinated me. Moreover, the HyperCard tool that came with it was my first true love in a computer’s software – I learned how to make my own stacks, and my life changed forever from there. Since then, I’ve used a fair amount of different Macs, and never could look back to the PC I used – so, I guess, my story sounds pretty much like many of the Mac converts’ ones.

If there were no Internet, will you still be a developer?

Yes, I guess, although I am not sure what would I be doing in that case. I’ve programmed various stuff long before I got on to the Internet (in 1994), but of course Internet changed the way I work, live and talk.

When was Unsanity born?

Unsanity was officially opened on October 13, 2000, with the first release of our first product, Unsanity Echo. It was a multimedia player with an ability to play back a wide variety of audio formats, and visualize the music via a sophisticated visual effects system. Unfortunately, Unsanity Echo has been discontinued a while ago. But even though the world first found out about the company in October, it existed for 8 months before that, developing the product. So, i guess the official birth date could be the one I mentioned.

Unsanity looks like a collaborative group. Do you have people in different countries? How did you met? How many are you?

Yes, we are an Internet company, if we can call it that. Unsanity is currently 5 people, living in Russia and USA – Brian Wilson, Business Manager, living in Utah, USA; Rosyna Keller, Senior Technical Support, living in Arizona, USA; Pavel Kurochkin, Beta Tester, living in St.Petersburg, Russia; Alex Cherchukov, Technical Support, living in Moscow, Russia; and me, living in St.Petersburg, Russia.

As you can guess most of us has met through the Internet. Moreover, the company existed for a while with the key founders who haven’t seen each other in «real life». Only the past year we have finally met each other in person. Even though we all work from home via Internet, our team is very highly integrated and dedicated – which is quite unusual, in my mind, for a ‘virtual’ workspace.

How do you decide something is going to be «Unsanity» material?

Pretty easily — if we all like the idea, and we can implement that, it becomes our product.

Can anybody make a living out of 10$ hacks?

As you can see. =) Unsanity is my primary and only job, and I don’t plan on working for anybody else for now. Quite seriously, there are a number of successful shareware companies that make a living off their products. It all depends on the popularity and usefulness of the product, I think.

What other things do you do for money ;-)?

We sometimes do contract jobs for other companies in software and web development, but not too often, as we do pretty good with own products.

What do you think of Mac OS X?

When I first started using Mac OS X (10.0 Public Beta), it was slow, clunky, and not too useful. Since then, Apple has made dramatic steps in improving it, and continues doing so. I think Mac OS X is one of the best operating systems available on the market right now – fast, pretty and UNIX-based.

Is or will be sometime Mac OS X the best operating OS of the world?

As I mentioned above, with combined efforts from Apple and third party developers Mac OS X has a potential to be the only best operating system out there.

Is Mac OS X the best OS from a developer’s point of view?

Hard to say, as I only have extensive experience with the «classic» Mac programming, so I don’t have much to compare to. But yeah, the possibilities on Mac OS X from a developer’s perspective are quite stunning – Cocoa, Carbon, Java, PHP, Perl and AppleScript available to you as a part of the OS from the start, completely free.

When you take a look at the Cocoa API, and what Objetive-C offers, you realize that there is a really big potential for altering how the system behaves. Is Mac OS X the only OS that gives this kind of simplicity to developers?

With one exception, modifications you do using Cocoa API only make sense for Cocoa applications (with a few exceptions); large parts of Cocoa rely on Carbon functionality underneath, so we mostly use Carbon in our work. But the level of transparency and flexibility the language offers definitely is a big step up compared to other systems.

On the other hand, do you miss any low level access functions from those you had in Mac OS 9?

Not really. Most have adequate replacements under Mac OS X, and some others are still there, just not documented. 😉

The Objetive-C runtime and the NeXTStep APIs, from which Cocoa is derived, were fast enough for the originals NeXT computers -based on 68030 at 25MHz- to be considered fast Unix engineering machines. But many people think that Cocoa apps, though «native» are slower. What do you think of this?

There’s no way Cocoa applications are more native than Carbon. As I mentioned earlier, many of the Cocoa rely on Carbon calls, and now some Carbon applications use services provided by Cocoa (for example, Fonts dialog). To get to the speed issue, there’s some language design constraints that make the Objective-C code to be executed with a larger overhead compared to plain C, but in my vision, Cocoa is perfect for interfaces – in terms of development speed, testing, and less bugs in the resulting code (this is just because Cocoa is a higher level framework than Carbon is).

Now is at last possible to embed C++ code -even Carbon APIs- in Cocoa methods; and now is possible, form C++ send messages to Objetive-C objects, and use Cocoa APIs. Has this somehow changed the way you develop?

We have always used Carbon calls from the Objective-C code, as it’s fully C compatible, and Carbon is nothing more but a huge chunk of C-based interfaces. As for calling Cocoa from Carbon, not yet, but I have a few thoughts on new products that can use that technology. The integration there is amazing.

AlfSlavaBCNDec02.jpg

Slava during a visit to Barcelona in December 2002

What are you working on now?

Right now we’re in process of updating most of our haxies as well as our underlying technology, Application Enhancer. The goal is to improve the system further and make it more transparent and less noticable to users.

How do you see the developer opportunities in Mac OS now?

Mac OS X scene is growing, so there will be more users and more demand for quality products. Being the fact is is UNIX-based, this opens another world of possibilities by using stuff from other UN*X systems. As for the Classic Mac OS, I think Apple will continue agressively pushing it off the cliff to make users switch to Mac OS X. Steve Jobs proclaimed Classic Mac OS dead a year ago, and this really shows.

Does it frighten somehow to see how Apple takes advantage and incorporates to the OS functions that were covered by third parties?

Of course it would make the third party developers lose money, but in the end, I am pretty sure they’ll be able to do something else; after all, it’s largely about users, so if they get a certain feature from Apple, without having to pay extra to third party developers, everyone will benefit, right?

What are you looking for in the upcoming Mac OS X «Panther»?

I am hoping for more speed enhancements, and more metadata support through the file system – so we can sort files more like in iTunes, not just by name, creation date, folder, but also by a number of attributes that we can set and change.

How is the Internet in Russia?

it’s okay =) Not as developed as in, say, USA, but still fine. For example, I use a 256 kbit wireless Internet link.

And what about the Mac? What percentage of users have Apple in Russia?

Very little. Apple never spent any money in promoting Macs to the masses, so most people here never saw or heard of Macs. the ones who did heard about it, believe it’s an expensive and specialized computer, not suitable for casual users. Most Macs here are used in the design/press industry, and there’s not so many home users who do Macs.

Have any MUG?

I think we got two official MUGs – both in Moscow, but I may be mistaken. =) We have Mac user meetings happening twice a year in Moscow – and the number of people showing up increases every year. Last one in September had over 150 people, I think, which is great compared to 50-60 when it has started a few years ago.

Is Mac OS X the default OS used in Russia?

Nope; since most Macs are used in the press industry, that largely uses Quark XPress, they are slow in the migration to Mac OS X. It’s all happening, though, slowly but surely.

There is no Russian AppleStore… How do you buy Apple Computers?

We have an official Apple distributor (www.apple.ru), and plenty of dealers. The Macs do cost more than in many other countries (about 30% compared to USA prices), but they are available.

How many dealers does Apple have in Russia?

Oh, I wasn’t following it quite much, but according to Apple IMC in Russia, we have around 30 in the country. =)

Well, Slava, thanks a lot for your time, and be sure we will come back again to find more about programming and Unsanity.

An interview by Alf, with the technical assistance of Juan de Dios Santander