Developing on the Fringesby Mike Pavone
Visitors to the Rhope download page might be a little surprised that the language is available for Syllable, an alternative OS that makes desktop Linux look like the big leagues. Those who peruse the documentation might be even more surprised to find that Syllable has the most complete GUI support in Rhope while more mainstream platforms like OS X and Linux have no GUI support at all. This would seem a rather curious choice. Why would I spend time supporting a fringe operating system with less than 10 thousand users when I could be improving support for operating systems with millions (maybe even billions) of users? While a small part of my reason is simply that I like Syllable and want to see it succeed, there's a more important strategic reason: It's easier to make a big splash in a pond than in an ocean.
What I mean by this is that when you release a new piece of software for one of the big three platforms it's easy to be ignored. Unless your software is in a completely new category, chances are good that there is already another piece of software similar to yours that has more features, fewer bugs and an active user base. For some categories (like say programming languages or text editors) there could be quite a few competitors that match that description. Obviously, this makes your job of getting users a lot harder. Many of your potential users are already using a competing application and those that are looking for software in the category are much more likely to stumble across the established competitor. In such a case, you can't just be a little bit better than what's already out there, you need to do at least one thing a lot better and you'll probably need to do at least a competent job at a good chunk of the other things your competitors do.
On a fringe OS, like Syllable, the competitive landscape is much clearer. On Syllable, there is only one GUI e-mail app, one GUI web browser, only two text editors (but only one supports "advanced" features like syntax highlighting), no office productivity apps, and while quite a few programming languages have been ported, only C++ has access to the Syllable GUI. That makes Rhope only the second language to support the Syllable GUI (though currently only in limited form). That means to get people writing real applications in Rhope, all I have to do is make it a better choice than C++. I don't have to beat Python, Ruby, C#, Java, Lisp, etc.
How has my choice to support Syllable so well in Rhope worked out so far? Pretty well from my perspective. I've had twice as many downloads for the Syllable build of Rhope as the OS X build. I consider that to be pretty impressive given the huge disparity in the size of their respective user bases. Both the windows build and the source package each have twice as many downloads as the Syllable build, so clearly going Syllable only for Rhope doesn't make a lot of sense, but it's a significant enough of a percentage to easily justify continued attention to the Syllable port. It will be interesting to watch the importance of the different platforms as the language matures. Obviously, if Rhope goes anywhere as a language the Syllable user base will be dwarfed by more prominent platforms. But in the more immediate future, I suspect Syllable users will play an interesting role. Right now, no one besides me is actually using Rhope for anything useful (at least as far as I know, if you're doing something cool with the language let me know!). Once Rhope gets some users releasing useful programs written in the language, I suspect that Syllable users will be disproportionately represented. Time will tell.
So what does this mean for you? I suppose it sort of depends. If you're writing software to make money, targeting a fringe OS like Syllable probably doesn't make a lot of sense, but you can maybe make the case for targeting a less popular mainstream platform like OS X as others have already done elsewhere on the web. On the other hand, if you're writing software for your own enjoyment, the fringes are worth considering. I've found that one of the most satisfying parts of developing software is knowing that somewhere is knowing that people are using what you've created and actually find it useful. I think fringe operating systems provide a unique venue for providing that, particularly when the software you're interesting in writing is in a well tread category.