Reusable UI Widgets . . . ?

About reusable UI.  I have a hard time believing it.

The backend seems much simpler to me; conducive to patterns, more easily solvedd in some ways for representing domains.  The complexity of the back and middle ware IMHO comes in with engineering, capability, scalability and new technologies.

But UI?  Oh my my my . . .

Interesting that there are only a few MVCs and persistence frameworks to choose from, comparatively.  But a billion calednar widgets.

Here’s a library of GWT widget extensions, one of many.

http://www.gwt-ext.com/demo/

Here’s the PrimeFaces Showcase:

http://www.primefaces.org/showcase/ui/home.jsf

Some JS/HTML5 Widgets, they haven’t adapted the word “showcase” for Javascript yet (that I’ve seen), but they will:

http://wijmo.com/demo/explore/

Flex/Flash. Of course Adobe. They’ve made 15 trillion of each type of widget and still no one likes Flash. Imagine — the platform destroyed its goal — useability:

http://www.adobe.com/cfusion/exchange/index.cfm?l=-1&o=desc&cat=186&event=productHome&s=5&exc=15

Flash has soooo many private sites full of widgets:

http://www.coolwidgetsgadgets.com/

So, there are for instance a billion calendar widgets.  And every single gig I had to do UI for, not one of them was good enough for what the business wanted.  Barely a one.

On almost every gig I did UI on, a few things happened:

1. Copy-paste UI code. The biggest nightmare, usually due top-down developers who didn’t have programming fundamentals (like a BA who became a “developer.”) Write 100 times, deploy 100 times. Maintenance hell.
2. Inversion of control nightmares — usually from hardcore backend/administrator types who think the command line solves everything. One widget that does everything — and very brittle at that in the end. More points of entry, higher cyclomatic index, more likelihood to break.
3.Happy medium — one widget does 80% of the lifting, write custom ones the other 20%. I think this is the best we could do with UX.

That happy medium is the *craftsmanship* — picking the point of scale or pattern.  It’s not something easily learned or taught; it may take some experience to figure out when a customer needs 1000 calendar widgets . . . or one.  Or even to convince them they need just one.

———————-

On the good side of this, think of all those engineers with this knowledge of UX, developing and honing these controls.  Makes one wonder — is this a search for a perfect implementation of a control, or for us to come to terms with the limitations of what a calendar control, for instance, might be?

Comments are closed.