The Road to 2.0 – Part 3: Tools and Karma
Brent Simmons has said that there are two kinds of people in this world, those that pay for software, and those that don’t. As a developer, it behooves you to be one of those kind who pay for your software. Why? Because of karma.
Karma (kärmə) – the sum of a person’s actions in this and previous states of existence, viewed as deciding their fate in future existences.
Now I don’t believe in reincarnation, however I do believe that you eventually get what you deserve. And if you’re a software developer that pirates software, what you deserve is to have your business fail.
When I was developing Screen Mimic, there were a handful of tools that I used all of the time to help me out. In the case of commercial apps, I purchased a license, even if the demo functionality would have suited me (as in the case of Fission). For the freeware apps and source code, I either sent the developers a free copy of Screen Mimic, or if they accepted it, a donation via PayPal. I’m not telling you this to brag, but to point out the importance, (especially to software developers) of paying for the tools that you use.
In no particular order, here is a list of the 3rd party tools and library used to create Screen Mimic 2.0:
Applications
Fission
Fission from Rogue Amoeba was extremely helpful in working out the kinks in the audio encoder of Screen Mimic.
Since one of the only viable sound formats for Flash Video is mp3, I needed a way to inspect mp3 files and make sure that the files I was encoding were correct. Fission provided that service. Its information inspector was a great help in determining file length and bitrate as well.
Cost: $32.00
Hex Fiend
Hex fiend from Ridiculous Fish is one of the best hex-editor’s that I have used.
It is really fast and supports extremely large (up to 118 GB) files. It also allows you to convert hexadecimal values into 8, 16, 32, and 64 bit integers in either big or little endian format. This was a big deal for me, since sometimes the Flash format uses big endian and other times it uses little endian.
Cost: Free
KeyCodes
Key Codes from Many Tricks (the same folks that bring us such great tools as Service Scrubber, Butler, and Witch) is extremely good at exactly one thing. Giving you the key code for any key your press. It also provides the modifier information and unicode values for your key presses.
Cost: Donation
Filestorm
I use FileStorm from MindVision Software for creating fancy dmg’s with custom backgrounds and embedded EULA’s. Although I could do this without this tool, embedding EULA’s is particularly painful without it.
FileStorm also makes it easy for you to customize the disk image icon and to include localized license agreements.
Cost: $19.95
Perian
Perian is a QuickTime component that allows adds support for lots of video formats to QuickTime Player. Prior to installing Perian, if I wanted to view an FLV file (which is a special Flash Video file format that isn’t viewable in Flash Player), I had to fire up Flash (which took forever since it wasn’t universal), create a new project, import the video file, adjust the stage dimensions to match the video dimensions, then play the movie. With Perian, I just open the file with QuickTime and it plays like any other QuickTime file.
Cost: Donation
3rd Party Libraries
Shortcut Recorder
You can get the Shortcut Recorder control from Waffle Software. It’s really well designed and includes an IB pallet so that you can see what it will look like right in interface builder.
Another amazingly useful feature is the built in collision detection. When the user is setting a shortcut, the Shortcut Recorder control will verify that the key combo doesn’t conflict with existing shortcut keys in your app nor with system defined shortcut keys.
Cost: Donation
StyledWindow
StyledWindow is a subclass of NSWindow created by bithaus. It’s uses the nice CTGradient code created by Chad Weider.
StyledWindow allows you to create windows using several popular Apple gradient styles, or create a look that is all your own.
In the case of Screen Mimic, I wanted to create a look that was similar to the new dark metal look that crops up in different places.
Cost: Free
LAME
You probably already know that LAME is an open source MP3 Encoder that is licensed under the lgpl.
As I have mentioned before, Screen Mimic uses LAME for its MP3 encoding. Some people have the mistaken impression that using LAME allows you to encode MP3 files for free. As I also mentioned before, this just isn’t the case. (I wish that it were.)
Cost: Free (Licensing fees apply for the right to create MP3 files)
about 3 years ago
I concur.
I was very positively surprised one morning to receive a HoudahGeo license in my inbox because the author had used my Cocoa Worker Thread implementation in his product…