Thursday, February 26, 2009

On importance of advertisements.

I kind of agree with Ballmer on several points here.
In particular, on importance of advertisements. I think it is fair to say that ads are much less effective for microsoft, for several reasons.

Firstly, target audience size:
Suppose, Microsoft has marketshare 90%
Suppose Microsoft makes extremely powerful but expensive advertisement campaign which converts 5% of remaining non-windows users (whom are 10%) to windows. That'll raise Microsoft's marketshare from 90% to 90.5%

Suppose Apple has marketshare 5% and they make such campaign which converts 5% of those 95% non-mac users to mac. That'll raise apple's marketshare from 5% to 9.75% . Both relative and absolute increases are much higher for Apple than for Microsoft.

Secondly, visibility. It is fair to say that those 10% of non-windows users are aware of windows; ads don't have effect of increasing the awareness.

Thirdly, Microsoft, unlike Apple, is not relying on selling highly overpriced hardware or software. Many mac users own Microsoft Windows.
You say you had to buy windows to run software that is not available for mac? Blame apple for not providing cross platform development tools, and for licensing SDK in such a way that adaptations to other build environments cannot be redistributed.

Tuesday, February 24, 2009

Porting to OS X.

Been very busy, hence no blog updates.

Today I did a lot of messing with Mac OS X. Firstly, I did set up compiler on Linux to build for Mac (by this tutorial), only to discover that OSX 10.5 obsoleted old binary format somehow (i386_THREAD_STATE marker number changed, *what the hell*), so I had to fix and debug linker (took several hours), manually merging in some headers from apple's SDK into odcctools (automatic merge failed).

Secondly, whenever I use mac I'm annoyed by OS X infamous mouse acceleration curve.

I found apple mouse driver's settings, you can read those online here All the important settings are base-64. IOHIPointing.cpp and IOHIPointing.h seem to be the implementation. I'll refrain from commenting on the apple's truly horrific coding practices, apart from noting that apple's linker sources seem even worse.