OK, ask I’m tired of waiting: It’s time to buy everyone a good ActionScript editor, and I’ve decided to foot the bill just to get things done already.
As you may have noticed during the last few months, I’ve spent a great deal of time customizing, expanding and generally bending the will of the jEdit text editor to make it do things my way (which, coincidentally, is a lot like the FlashDevelop and SEPY ways I learned in the Windows world). For the most part, I enjoy coding with jEdit, and it’s almost the perfect cross-platform, multi-language editor. Unfortunately, I have neither the time nor the Java experience to attain the one feature that I miss most from my days with FlashDevelop: Code completion.
It’s a simple feature I thought was silly when I first used it, but man, has it saved me time over the years (preventing typos, providing quick hints of little-used function parameters, etc). Thus, jEdit — along with every other Macintosh and cross-platform AS editor outside of Eclipse — remains a second-class ActionScript editor for me today.
So as of tonight, I’ve decided to remove my developer’s cap and instead take on the role of small-time benefactor: Thus, I will personally award $300 to the developer (or team of developers) who creates the best cross-platform ActionScript coding plug-in for one of two editors by April 15.
Throwing money at the problem
Yep. Within the guidelines spelled out below, I’m putting up a $300 prize bounty for the best ActionScript support plugin for one of two existing cross-platform editors: jEdit or OpenKomodo.
Why? On the Windows platform, FlashDevelop has become an open-source favorite for ActionScript development: It’s fast, it’s affordable (as in free) and it has a great feature set, including code-completion and hinting that is hard to beat. You can create entire projects using it, and you can even dash out a quick “Hello World” without rearranging your filesystem or setting up new projects (and yes, that’s a stab at Eclipse).
So why $300? Well, in addition to being what I can spare at the moment, $300 is also roughly the price — including shipping — of the Professional version of Sapien’s commercial PrimalScript, which was my first introduction to the beauty of code completion. It’s also roughly the amount I’ve already spent on proprietary Mac-based solutions that have failed to deliver so far.
So what am I looking for, here?
So yes, you MUST use either OpenKomodo or jEdit
I still believe the world needs alternatives to Eclipse-based editors, and this stubbornness has led me to work without code-completion on my otherwise trusty MacBook for more than a year. I actually own fully licensed versions of FlexBuilder 2, FDT 3.0, TextMate, skEdit and a host of other editors, and while I know there are millions of people who love each of them dearly, I’m just not one of them: I miss FlashDevelop, mainly because I miss code completion and hinting, but I’d love to see what else we can come up with to turn one of these existing editors — jEdit or OpenKomodo — into a comparable (or even better) editor.
The minimum requirements:
Here’s what I’ve determined I want from a Windows, Mac or Linux editor (free or otherwise), and here is the challenge I present to you, the community of open-source developers and would-be code-completion hackers:
1. All entries must be deliverable as a standard plugin for either OpenKomodo or jEdit. (Yes, I’m a jEdit fan, but if it makes more sense to use OpenKomodo, then so be it. I’m actually interested to see what can become of this open-source newcomer.) I definitely prefer the plugin or extension route, and I don’t think we need yet-another standalone editor out there.
2. While the solution may use external tools (command line shell scripts, for instance) in its operation, it MUST be able to run on at least Windows, Macintosh and Linux platforms. Using OpenKomodo or jEdit as the basis should make this a lot simpler.
3. The solution must (at the very least) offer code-completion and/or code hinting for native Flash CS3/Flex ActionScript 3 classes. If this requirement is not met, the entry will not be considered eligible for the contest prize. (I’m spending my own money on this, folks, and this is the one thing I need to feel it’s worth it).
4. In a perfect world, the solution would be able to parse the current file and its class path to offer support for custom objects/methods, etc., too.
5. Bonus points for ActionScript 2 completion
6. Go wild. Anything you can think to improve your ActionScript coding experience is welcome.
Everyone is welcome to build great open-source tools any time, but in order to qualify for the $300 prize offered by Turdhead.com, all developers (and development teams) must:
1. Register in the new Developer Challenge forum before March 15. You are free to join an existing team at any time after that (assuming they welcome you), but to be considered eligible, all teams should be formed by March 15. It will be up to the team leaders to keep track of their own membership, and there is no obligation for a team to finish the event or release their code before the final judging.
2. Submit your team’s version of “The World’s Greatest jEdit or OpenKomodo ActionScript Development Plugin” no later than midnight, April 15, by posting a link to the packaged plugin on our forums. A submission thread will be set up to allow this. You may update/change your submission at any time before April 15, but the latest version available at 12:01 a.m. on April 16 will be considered a team’s final entry.
3. Judging will be performed after April 16 by a panel of judges yet to be decided (visit the forums to nominate or volunteer judges) and the general population of the forums at that time (The general population’s majority vote will be considered equal to that of a single judge).
4. Entries may not include or rely on any proprietary software, and developers must agree to release their final entries as open-source software once the contest is complete. Submitting an entry is therefore agreeing to open its source under your choice of open-source license (GPL, BSD, Mozilla, etc.)
What happens after the contest?
There is great rejoicing, and thousands of programmers sing your praises. Then, with a little luck, a community will form around the open-source solution that is picked (and perhaps other entries as well), and more tools (and perhaps more benefactors) will eventually join the fold.
In fact, just because a project doesn’t win doesn’t mean it won’t gain traction later.
How do we get started?
It’s up to you to form your battle plan, but in some shape or form, it seems all the pieces of the puzzle already exist: They just need someone to put them together (which, we admit, is decidedly harder than it sounds):
1. Ben Clinkinbeard created a set of AS3 intrinsic classes, which have been used already as a source for AS3 completion in FlashDevelop
2. A growing body of documentation regarding OpenKomodo extension development
3. A robust, if somewhat shrouded-in-Java-mystery, jEdit Sidekick plug-in, which claims one can “just add parsing” to create a new language completion component.
4. The excellent, open-source FlashDevelop editor already includes all the functionality we want — it just happens to use the single-platform .Net framework. Still, it’s a great example of what it possible — and desired.
5. Let’s not forget SEPY, the Python-based, open-source AS2 editor that came closest to cross-platform usability when it was ALMOST ported to the Macintosh two years ago. Like OpenKomodo, SEPY uses Python and the versatile Scintilla editing component — perhaps it’s more than halfway there already.
6. Perhaps something from ASDT may be of use? It’s Eclipse-based (which we don’t want), but perhaps there are parts of it that may be of use?
Good luck everybody; I look forward to seeing what you can come up with!