I was making a simple
demo website to try a library that a “UI Controls” team had put
together. I added a combo box, a text box and a button.
In such a simple app,
there were two bugs, and I was distraught. The first bug was that the
combo box always showed the first item no matter what you selected.
The second was that the text box should clear when you clicked the
button to submit the data, but the text remained.
I was beginning to
think I wasn’t cut out to be a web developer, but then I had the idea
of replacing them with the standard HTML controls in order to
eliminate the idea that it could be a problem with the custom UI
controls. Turns out that the code I wrote should work, it was just
the custom UI controls that were buggy.
Then I wondered why a
team had even bothered writing some custom controls. With any code,
you always have to ask yourself “am I reinventing the wheel?”
Many common programming tools are available Open Source, completely
free to use. The advantage of using Open Source is that you can focus
your attention elsewhere, and only write bespoke code that gives the
company some value. UI controls is a prime candidate to use Open
Source since it is generic to most applications, so should have a
good user-base who will support the tools. As it goes, there are
plenty of Open Source UI kits we could have used.
If you think you can
add value, and definitely make a better product, then you may choose
to develop something yourself. But you have to bear in mind, any new
features or bugs will take developers away from the projects that
matter. Here we are, several months later, and the basic controls
have fundamental problems with them.
The strange thing is,
the team that did this “UI Controls” project was led by a vocal
advocate of Open Source software. He was even suggesting we should
move one of our projects to Open Source and claimed it would bring
massive reputation benefits to the company. It seems strange to then
reinvent the wheel, then fail at it.