Glass Ceilings

The Glass Ceiling of web development

Your team is using an Agile methodology and is shipping the application to live each week. Your customer (a Business Analysy for a bank) thinks your team is great. One week, during a planning meeting the customer suggests that you change the 'Account' drop-down to have a picture representative of the account type next to the account number. It is a simple web-cart application, and the customer thinks that you are going to estimate this story at half a day.

The trouble is that the web only supports fields like :

drop down

With HTML you could show the choice of account underneath the drop-down field :

drop down

What your customer wants is these (unclicked and clicked) :

drop down drop down

Yet HTML does not support this.

Well, not quite true. If you are willing to abandon the pure-HTML drop-down field, and dive into a world of JavaScript, you can recreate something that effectively is a combo-box/drop-down to the end user. You may find a pre-existing Javsscript library that makes this possibility for you. You may even find a pre-existing one that works well in more Internet Explorer as well as Firefox and Safari. If you are writing it yourself, you are looking at many week's work, not half a day.

Summary

The glass ceiling of the web is that there are two languages; HTML and JavaScript. HTML is accessible to non technical people, but only to a certain degree. JavaScript library functions are quite common, but there is not getting away from the fact that it is a order more difficult to develop in than HTML. Its not just complexity, if the fact that you might get something working well to a certain level, but with a couple more feature requests, you're not extending that thing, you are scrapping the investment in it for a different technology.

Swiby, by having a meld of JRuby and Swing aims to allow you to functionally improve applications without hitting the glass cielings that scar other tchnologies. And we feel that a single language is the key to success to punching through the glass ceiling. Swiby pages, look declarative. So much so in fact that in tests, non-developers feel they can edit the source form for modest changes to the site. Swiby pages only look declarative, in fact they are a procedural form, that takes advantage of the power of builder-syntax to make things look simple and elegant.

So for our case, the need to render the drop down differently, you can go from ...

content {
    combobox("account") {
       list bind { accounts }

    }
}
to ...
content {
    combobox("account") {
       list bind { accounts }
       cell_renderer icon_cell_renderer
    }
}
//TODO - show icon_cell_renderer

... with ease.

Combo boxes are just one example of the glas ceiling.