User:Skippy/FormUI

From Habari Project

Jump to: navigation, search

One of the primary development goals for the >Habari Project is to have a small set of core features that can be easily extended by plugins. This is not something unique to Habari: just about every blog platform and content management system has a similar goal, and the plugin ecosystem is what makes any particular blog package a value to its users. I've written a number of reasonably popular plugins for WordPress over the years, and that's helped shape a lot of what I want from the core Habari product and the plugins I now write for it.

One of the most aggravating thing for me as a developer is user interface. I'm not a designer by any stretch of the imagination, and I usually hate working on user interface items. I'm more of an under-the-hood kind of guy when it comes to my programming efforts. When developing WordPress plugins, I would spend inordinate amounts of time constructing options forms for my plugins, and then writing form handling code. All of this would get duplicated for each plugin I wrote, leading to a lot of bloat, and a lot of room for mistakes.

Habari's solution to this problem is absolutely fantastic. Habari provides FormUI, a robust class for plugin developers to use to generate, display, and handle arbitrary HTML form elements. By using Habari's FormUI, along with a simplification of the options presented to the user, I was able to dramatically shrink the size of the Habari Backup plugin. The original wp-db-backup plugin weighs in at a hefty 32K, much of which is user interface and form processing handling. The Habari Backup plugin is a svelt 14K by comparison, and it handles multiple database types!

FormUI is just one small example of how Habari reaches out to plugin developers to make their lives easier. Here's another one: FormUI makes it possible -- and relatively easy -- for one plugin to modify the options page of another! Someone could write a plugin that extends the functionality of my Habari Backup plugin and place extra controls for that functionality directly on the Habari Backup options page, dramatically simplifying the end-user experience.

You can even use FormUI to create forms on dashboard modules. The Habari developers feel strongly that the dashboard should only show what you, the user, want it to show. The ability to add FormUI form elements to dashboard modules dramatically increases the options available to plugin developers, making the dashboard a truly useful part of the entire Habari package.

If you're a plugin developer for another blog tool, give Habari a shot! Take FormUI for a spin, and share what you think

Personal tools