That's what set this off for me - a simple rich-text editor. I am working on a project that has a section for "additional notes" on the page, and the expected functionality is for the textarea to allow simple functions like bold, italics, bullet and number lists, and hyperlinks. Being the involved developer I am, I started searching for something to avoid writing my own. And man are there options. The problem is I needed free (don't we all) and simple (ditto), and while free is actually easy to find, I didn't realize what a problem simple could be. When I searched for editors I found ratings and lists of "The Best Editors" and "The greatest free editors!" and yet nothing focussed on ease of use or simplicity to configure.
Now, most of the editors I was looking at were "simple rich text editors," but what did "simple" really mean? In most cases, it actually meant limited features. The "simple" piece that I was looking for was in implementation and most seemed to over-complicate that. I wanted something I could quickly throw in, configure, and know what I just did, without needing to drown it out of my mind with a beer after.
I finally whittled the options down to two: NicEdit, and CLEditor. I didn't need projects actively being developed or at the latest and greatest point in technology. Both were "limited" and appeared to be "simple," keeping the number of files required to 1 or 2. But there can be only one (note my "appeared to be"), and if you look at the usage instructions for both you can tell which one I went with.
Decent, but not ideal |
jQuery does simplify things |
In the end, though, it really reminded me what our job as developers is: make the "simple", simple. Good documentation is one thing, but there are some other important things to remember when developing an application, extension, plug-in, or whatever:
- It's okay to add options, but make them manageable. If it's more of a chore to set up an XML config than it is to look for a new solution, you did it wrong.
- If you don't have to dissect everything into micro-managed pieces, don't. There's little more annoying than having to dig through 3,000 small files when you could do it in 3. Plus, I can search through 1 file more easily than all 3,000.
- Set default values for options. This should be a no-brainer, but I still encounter it so often I want to cry. If I miss passing a value to a plug-in or extension, expect that. I understand if it's a command line and a value is required; just tell me.
- Try to imagine setting up your application as if you had never seen it. If you walk away from it for a couple hours or a day, come back, and have no clue what you did, you did it wrong, again.
- Go further than you "have" to. If you can spend an extra hour on it to make it easier to use, do it. If you can use an installer to make set-up quick-and-easy, do it. People will be more likely to use something that's easy and quick to configure over something with more options and complications.
Don't over-complicate it.
No comments:
Post a Comment
Share your thoughts or ask questions...