User interface decisions: multi-select
Thanks to Filip Forrez for the inspiration for this post.
As developers, we are often presented with UI choices. Some create subtle differences, others larger ones.
One of them is the way we present the possibility to select multiple items from a set (list) of predefined items. Traditionally this is realized by 2 select-lists with the multiple attribute.
In an (advanced) Sencha Ext Js implementation, you get this:
http://dev.sencha.com/deploy/dev/examples/multiselect/multiselect-demo.html
This offers a lot of features and while we as developers see this as the default way to offer this functionality, there are other options too.
In the spirit of mobile development, a list with check-boxes offers the same basic functionality:
http://demo.superdit.com/ext_listview_dataview/
You would also never be able to present the first solution on a small mobile screen. Another option to meet the same basic requirement is the way Google Calendar lets you add multiple invitees to an appointment.
Depending on the features you need, one option may be preferred over the other. Think of features like:
- Sorting: you may need to offer the possibility to sort the result.
- Quantity of predefined options: too much data may require a way to search.
- Linkability: list-items may also need to be clickable and link to detailed information.
In some cases, a more creative approach can really have your site or app pop out.

