Archive for the ‘Programming’ Category

Sharps and flats on your screen

February 3, 2008

When I recently saw sharps and flats on Windows while working on the Windows version of ChordMate, I was shocked how thin they looked. I could barely see them! Microsoft and Apple both use antialiasing, but their approaches are very different. Microsoft tries to make letters look better on the screen while Apple tries to make them closer to what they really are on paper.  The end result is that Microsoft’s letters are much thinner, so symbols that should be thin by design become very hard to see. That’s what happens with sharps and flats. At first, I was trying to find different fonts that would make them look normal and then I gave up when I realized that the problem was with the operating system. If you are curious, there is a very interesting article about the way different operating systems handle showing letters on the screen.

Why ChordMate started on the Mac.

January 29, 2008

When I started working on ChordMate, we didn’t plan to release it for Mac first. I was working only on the music engine. I chose the Mac because it had free development tools, and I really liked the operating system.  After working for about two weeks, I realized that I needed some GUI to test my work (initially I was planning to use text output). Because I was already using Mac OS X, I looked at the libraries that they provided for making GUI. I was so impressed that I learned Objective C++ and ended up designing the ChordMate GUI for Mac. I really enjoyed working on it. Everything in Apple’s APIs was carefully designed and quite intuitive. I loved how they hid all the unnecessary complexity. I had to code only the parts that were specific to my application. Apple’s libraries did the rest and did it beautifully.

I’ve been developing the Windows version for a few months now, and every bit of it was a pain. I won’t go into details here and will just say that Microsoft’s libraries are very low level. Almost all the issues that I had to deal with so far could be easily solved by the operating system. For example, Apple makes flicker free drawing completely automatic while Microsoft forces every developer to deal with it on his own.

Apple has to be much better than Microsoft in order to survive at all, but as programmer, I am still amazed how far ahead Apple got. Now I am not surprised that many developers choose to make their programs in Mac OS X even though economically it makes much more sense to develop for Microsoft.

What is your favorite browser?

January 29, 2008

I recently redesigned Harmonic Sense website to be more compact and uniform. The CSS features that I used have been around for a while, so I naively assumed that Microsoft’s latest browser would support them. I was so sure that I forgot to check. After all, the website looked exactly the same in Safari and Firefox. When I finally looked at it today in IE7, I was horrified. The website looked ugly, and I spent about three hours trying to guess what parts of CSS IE7 didn’t support. It’s sad that Microsoft takes advantage of its market share and does little to fix its browser.