16 Jul 2005
open source, freeware, widgets and macs.
so why did i open source my widget
and the underlying code?
1. freeware vs open source
my philosophy is that if you not planning to sell your software, why would you hide the source code? maybe it is because i am a programmer, so i believe that everyone should open source code that they are not planning to sell!
the only reason why you don't open source the code is because you are worried that people see you pitiful code. because i am shameless, i don't care about that!
by open sourcing your code, other budding coders can learn from your source code, people who are capable can dive in an add features that they like, fix bugs and do all sorts of crazy stuff. the code is sitting around rotting on your computer, so why not put it on the internet and let the world see! its just like blogging, only slightly more useful!
3. widget development is tedious
widgets are not hard to write, but very tedious to debug and maintain. mac os x 10.4.2 isn't helping much either with its insistence on copying the widget into ~/Library/Widgets. the first time that happened, i panicked thinking what the hell happened to my widget went. maybe there's a way to switch that off, but i haven't found that yet.
anyway, the best way to start a widget is not from apple's programming guide
, but to modify the code of another one. so what better than to make as much code available as possible so there can be more people can try writing it. widgets = creative apps?
mac people are (mostly) creative people. popular apps like imovie
and comic life
. exploits people's creativity. i see dashboard
fall into the same category as applescript
. these apps are trying to entice people's creativity in gluing things together, just like garageband lets you glue musical instruments together, and imovie lets you glue movies, photos and music together. dashboard allows you to glue small functional parts of the web on to your desktop (like amazon browsers
, google maps
, etc). you control what you want to glue into there. just like automator is about gluing small functions in a large range of apps into your own (albeit less pretty) app of your own.
:), but it is half way there.
the computer is not there for you to use and browse information. it should be there for you to create things. i think that is what separates macs and windows pcs. there aren't many creative applications on windows, but in apple's world, they want to you create as much as possible, from music, to movies, to photos and to even programs (eg. xcode is free, script editor is free, automator is free, etc.)
if you don't believe that macs are all about creating, check out quartz composer
-- this is a perfect example of letting users harness the raw graphics power of their macs without writing a single line of code.
You can reply to me about this on Twitter: