We’re proud to announce that iVolume and LittleSecrets work without any problems on Mac OS X 10.6 Snow Leopard.
Posts Tagged ‘Software’
Snow Leopard Compatibility
Thursday, September 3rd, 2009Building Boost for the iPhone
Wednesday, May 6th, 2009We’re working on very interesting stuff for new products behind the scenes. It’s a special challenge to write cross platform code. For that reason we are creating a very solid code base that we can reuse in all future products. We decided to use C++ and wanted to support Mac OS X, Windows, iPhone OS and potentually Linux. Maybe I’ll write more about our concepts and decisions about that in a future post, but for now I’ll concentrate on Boost.
Boost is a collection of free cross platform and high-quality C++ libraries. Most of the classes can be used “header only”, so you include the appropriate header file in your code and it “just works”. Maybe the most famous class of Boost is the Smart Pointer class shared_ptr
. In our case we also needed the compiled libraries of Boost. Therefore we had to compile it amongst others for the iPhone. There are a few difficulties when building it for the iPhone and I had to google a lot until I found out all the details. Now I want to share my solution how I managed to build the Boost libraries for the iPhone – and here it is. I tried it with Boost version 1.42.0:
- You need a Mac with Mac OS X and installed iPhone SDK, of course.
- Download the Boost sources and extract them somewhere on your hard disc.
- In the directory with the Boost sources, open the file
tools/build/v2/user-config.jam
and fill it with the following content:
using darwin : 4.2.1~iphone
:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2
: <striper>
: <architecture>arm <target-os>iphone <macosx-version>iphone-3.0
;using darwin : 4.2.1~iphonesim
:
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2
: <striper>
: <architecture>x86 <target-os>iphone <macosx-version>iphonesim-3.0
;
You have to adjust the paths if you have installed the iPhone SDK at a different location.
- Now open the file
tools/build/v2/tools/darwin.jam
and add the missing line
iphone-3.1.3 iphonesim-3.1.3
- To build the Boost libraries for the iPhone Device, do the following:
bjam --prefix=/path/for/BoostiPhoneDeviceLibs --layout=versioned toolset=darwin architecture=arm target-os=iphone macosx-version=iphone-3.0 define=_LITTLE_ENDIAN link=static install
Replace
/path/for/BoostiPhoneDeviceLibs
with the path were you want to have the final Boost libraries and headers located. - To build the Boost libraries for the Simulator, do the following:
bjam --prefix=/path/for/BoostiPhoneSimulatorLibs --layout=versioned toolset=darwin architecture=x86 target-os=iphone macosx-version=iphonesim-3.0 link=static install
Replace
/path/for/BoostiPhoneSimulatorLibs
with the path were you want to have the final Boost libraries and headers located.
Unfortunately there are a few errors and warnings when building Boost for the iPhone this way. But because we currently do not use the affected classes yet, we did not spend much time into that.
The Art of the Camel
Monday, January 26th, 2009This weekend my first iPhone / iPod touch game Sahara found its way into the App Store.
Sahara is a challenging puzzle game where you have to guide a camel through a labyrinth in the desert. If you like it, you can purchase it in the App Store.
I am very happy about that release of my first iPhone app. It was very exciting and fun to do all those things like registering as iPhone Application Developer, signing all the contracts, exploring the iPhone SDK, developing the game e.g. programming an algorithm to find the shortest way through the maze, implementing animations, doing all the graphics and sounds, preparing my web site and finally submitting the application to Apple. It went through the review process in just about two days without any problems. It seems I did everything alright. 😉
To give you some insight to the graphical development process of Sahara, here is an example how the camel was born:

Life of the Camel
At the left is a rough pencil drawing of the camel how it was in my head. I did about five to ten drawings of that style or so. It was not exactly how I thought it should look like, but this one was pretty close. Then I scanned the drawing and did the final artwork directly on my Mac with vector graphics. I put the scan of the draft drawing underneath the image with 50% transparency as orientation. As you can see, I did a lot of corrections especially to the head of the camel. The funny eyes are bigger, the shape of the head is different, the ears are smaller and better aligned and so on. Although I own a Wacom tablet, I did all the graphics with my mouse, because I did no real “drawing”: I added a bunch of bezier paths for each stroke and then I corrected the points and anchors until I was satisfied with the result. Note that I did not have a pencil drawing for the skeleton; I just used the final camel as orientation underneath and drew the bones directly on the computer as vector graphics onto it.
After doing years of “just coding and coding” I really enjoyed doing this artistic work. Although in my opinion developing software is also some sort of artistic work, but I mean artistic in a graphical manner here. I did a lot of drawing in my childhood, but once I got my first computer it was displaced by programming so far. I am happy that I can combine both now.
Finally some more studies used for developing the camel for the game:

Studying the Camel
Welcome
Monday, January 12th, 2009I think it’s time to start a blog.
In this first blog entry I’ll introduce myself and reveal some internals. Don’t worry, the next blog entries will be about other stuff, like things that I find interesting, news and background information about my products, maybe some technical articles about programming, some fun stuff etc.
My name is Manfred Schwind, I am living in Germany and I started mani.de long time ago in the year 1998. While still going to college at that time I’ve done a lot of programming in my spare time for the Atari ST (anyone still knows jinnee?) and later for the Macintosh. My biggest project so far is iVolume, a very successful software to adjust the volume of your iTunes songs. Version 3 of iVolume was rewritten from scratch and for the first time it’s also available for Windows. It has some interesting internals like a fully cross-platform and heavily multi-threaded backend written in C++ and just a very “thin” GUI layer that is the only thing written twice specifically for Mac OS X (written in Cocoa) and for Windows. Maybe I should write one or more blog entries about these things soon. 😉 The Windows specific parts of iVolume were done by Christian Lier who’s currently also working for Enabling Labs.
From 2004 to 2008 I worked at equinux as Mac OS X Software Developer. There I was lead developer of iSale, an eBay selling application that has won two Apple Design Awards ([1], [2]). I also worked on other projects, e.g. major parts of the GUI of VPN Tracker 5 and CoverScout 3.
It was a very interesting and fulfilling time at equinux, but at the end of 2008 I decided to become independent again and do my own stuff. I have never had the heart to give up my private projects, but having two jobs and a family with two kids is simply too much for one person in the long run, so I had to decide for one job. It was not an easy decision, because I had a great time at equinux; it’s a young team of nice people all doing great jobs and we had a lot of fun. But at the end I preferred to do my own things and I’m very happy with that so far.
So currently I am working on new projects, e.g. for the iPhone, and there are some great things coming out soon.
Feel free to subscribe to this blog to keep being up-to-date.