Wow. So I'm starting work on the wysywyg applet using Java's HTMLEditorKit and I do the obligatory Google research and run across this GPLed Java HTML Editor Applet called Ekit. Wow, it's nice. I took a look at the code and there's a lot there. Multiple language support, etc. Pretty nice.
Okay, so this app turned me on to a few thoughts. First, even though it's a kick-ass little applet, it's still not very refined. Just typing a few things in it and I was wanting for something a little less Java like. For example, the I bar never came up, so I had to select text with the pointer icon, I hate that. Also, I was at a loss to figure out how to edit a URL link after I created it. These little things are the stuff that really turn the newbies off. Since the Journal is aimed at people like my Mom, this is a real problem.
The second thought is that, WOW it's pretty difficult to do anything quickly with the HTMLEditorKit! It's really low-level. I have no idea why Sun didn't give us something a bit easier to subclass and use. You've got to pay attention to a lot of encoding and insertion details in that package. Like I've said before, Swing is a pain in the ass. I'm starting to doubt whether I will have the time/ability to code up something decent using this library. Obviously the Ekit code has been worked on by people who really have a clue and it's far from perfect... Seriously - if it was simple and quick to do, there'd be a million versions of an HTML Editor applet already, I'm sure. We'll see what I can whip up. I'm also thinking of a Mozilla XUL thing too...
The final thought is that GPL still turns me off, so I'm not going to be able to do much with this code besides learn from it, which is fine. I wish it was LGPLed instead. I like the MIT/Apache license ("do what you want but don't sue me") the GPL is too political. Actually, what I really want is a "Russell License" which would go something like this: If you're an independant developer like me you can do anything you want with my code, but if you're a corporation, you've got to put my name and resume prominently on the software packaging in order to use my code. What do you think, like it?