« Things your mommy didn't tell you about growing a tech organization| Main | The Web App that's not a Web App »
The Web Control HTML 5 Left Out
On the web, we live in a binary world. Do you like something? Vote up or down. Are you through with this form? Push the button to submit it. List the books you recommend on your blog.
All of these things (and more) ask us to make a choice between A or B. We are either A or we are B.
But the real world doesn't work that way. Yes, I like it, but not as much as that other thing. And yes, I'm kind of done with the form, but I'd also like to double check some of my answers and come back to them. And yes, those 4 books were the best Javascript books I know, but they rank completely differently if we're talking about web programming in general.
That's why I was happy to see this control group on a recent charity site:
It's the slider list, a grouping of controls that lets you rank things against each other, instead of just saying yes or no.
The slider list, and the more complicated slider array, are extremely important tools. Without them we are stuck in a wed where Google presents us the "perfect" list of search results, where Facebook ranks the "perfect" list of status updates for us, and where our content aggregation sites give us the perfect rank of news stories.
But life isn't perfect. Many times there is no one answer to what I like. Having a slider list or a slider array in HTML 5 would have been an awesome acknowledgement that the tyranny of binary thinking is over. But alas, it didn't happen.
I'm a computer guy who also likes writing and learning about startups. If you liked this article, you'll really like the review I did today on this cool startup book
http://www.w3.org/TR/html-markup/input.range.html
Thanks for the link.
I'm aware of the input range feature. If you'll notice, I make the point that things are ranked against each other, not simply converted into a numerical range. That's what I mean when I say "slider list" instead of just saying "slider"
Actually, HTML5 Slider: [---------------*] 100%
http://diveintohtml5.org/examples/input-type-range.html
HTML doesn't deal with the way data is processed, it's for content. Handling the slider, from what I understand, means taking the values from the slider and sorting them based on value, something quite simple in JavaScript or the server side language of your choosing.
As far as the browser is concerned, a slider list is a list of sliders. Treating it as a simple "list of sliders" instead of a UI construct on its own has excellent backwards compatibility features. On browsers where type=range is not supported, it gracefully and automatically degrades to a text area.
To communicate the values over HTTP would be awkward because there isn't any standard method of sending multiple points of data in order while also sending their numerical value.
As far as relative ranking, I don't see why a drag-drop list wouldn't be superior. Dragging and dropping list items is fairly intuitive. Drag and drop sorted lists (as far as I'm aware) is something actually missing from html5 (Not the JS API, which sucks anyway, maybe a glorified ). As for conveying that two objects might be ranked the same, the concept of dragging multiple items onto a single line could be introduced.