Open Source

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.

One thought on “Open Source

Leave a comment