- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Simple - you just need a generic Time Picker control (you've never heard of it??) where you Next/Prev to the right hour, then select the minute from the grid.
Admin
Wow. That's a heavy WTF.
I mean, deployment by "the coder compiles and puts in in the live system without any user instruction, information or interaction at all" shows a level of ineptitude that borders the imbecilic. Kolby really is a big mismatch between role and capabilities.
That's what this WTF is about, right?
Admin
Wait, it takes her three minutes to move a slider? I mean, sure, it's not the most efficient interface, but getting it at the general location and nudging it a few pixels to adjust should take no more then twenty, thirty seconds at most?
Admin
It isn't made clear why it takes three minutes to move the slider.
Is it (as guessed above) because the slider control is so fine and the users mouse speed too fast that it takes 3 minutes to get it right? Or is it 3 minutes because after moving the slider you have to wait a long time for some dumb process to update the slider graphic to the correct place, repeated until it is in the right place?
Also, if they DO insist on keeping the sliders instead of the proper way of doing it, why hasn't he removed hours 0 - 6 and 19-23 (or whatever is appropriate for his organisation) and reduced the minutes slider to 12 gradations of 5 minutes each, 6 of 10, or 4 of 15?
Are there really people who wish to schedule meetings for precisely 2 minutes to midnight?
Admin
That'd be my take, certainly. Sure, the original is kind of crappy, but you don't do a major UI rewrite, and put it into production without any kind of feedback from the people who actually have to use it.
Admin
This is a great story. I would have added two counters beside the sliders. If I was getting paid by the hour, I would have created some sort of clock widget. Is it faster? Nope, but it looks great!
Admin
I can only speculate, but probably one can only move the slider and not point a position for it, then for eache pixel move some kind of program check or screen refresh takes some time before the slider can be moved again. Fine WTF by the way
Admin
Or the darn thing creates a new schedule whenever the slider moves, of course in the same thread as the UI. Could just be fixed with a "Calculate schedule" button at the bottom then.
Admin
The guy entering data might be doing it on a shop floor, with an old resistive screen - and although that interface could be improved greatly - it doesn't need a keyboard.
Admin
The real WTF, of course, is using those weird obsolete "AM" and "PM" time stamps, where "12:01 AM” < “7:23 AM” < “12:19 PM” < “3:21 PM”.
Admin
The real WTF seems to be Kolby here. Since IFS is referred to as his "client" he is obviously a hired contractor of some sort.
First: reputation stellar or otherwise, you never change a client's GUI without approval from the powers that be, in this case the CEO. And written approval to boot.
Second: the GUI has been there before Kolby arrived, and nobody has been complaining about the sliders, just that they were too slow. But he doesn't seem to do a code analysis as to why it takes 1.5 mins to move one slider - instead he spends the afternoon with a stopwatch to measure the time it takes to move the sliders. In school terms, that means "missing the point". Completely.
That said, the company is to blame as well, and those are also WTFs in their own right:
First: you let some contractor you've hired only the day before submit changes to your code base without a peer-to-peer review or at least a manager ok-ing what the contractor is about to submit? Ever heard of risk-management after Sarbanes-Oxley?
Second: ok, so you've blindly accepted whatever code your contractor cared to submit. And it takes a week for the CEO to get feedback on some bugfixing done on the request of the QA managers??? The first thing I would have done had I been in her place is telling the QA managers that the slow performance has been fixed, and would they please look at it to see if everything is fine.
Actually, the processes at IFS seem to be the bigger WTFs in this story.
Admin
I have to agree. It seems he is all programmer no analyst here. Yes he went to see it used on the floor but it does not look like he went back and studied the original requirements at all; and does not appear he did any sort of change control or communication.
Its hard to imagine the original devs, however inept they may have been did not know about the common date controls; this is VB after all (I think) so they would have just dragged it onto their form form the same tool box they got all the other controls.
It seems somewhere along the line their must have been a touch screen entry requirement.
Admin
Hey presto, you've just saved 6 minutes per Schedule :-)
Admin
I hope this article will be read by someone on Apple's iOS design team responsible for their "wiggle on-screen dials until the hours and minutes are correct" time-entry interface.
Admin
Admin
As some of you have said, this story lacks problem analysis. Maybe the problem was simply lack of choice visualization that forced a user to enter the time by trail and error. Simple label to the right showing selected time could have solved that.
On the other hand TrackBars (that's what .Net framework calls them) are ugly GUI controls, they are big, almost twice as high than other controls and very unfriendly for aesthetic modifications. Also if you want to change value by directly clicking near the desired tick, good luck:
http://bytes.com/topic/c-sharp/answers/583276-trackbar-mouse-click-directly-value
You basically have to fight built-in large change mechanism and guess how to convert pixel positions to ticks.
Admin
Surely the whole thing could be improved - with minimal UI changes - by simply adding a text box next to each slider to allow the person to jump to a time?
Admin
^ this.
Admin
Actually, if I interpret the image correctly, the sliders do make some sense: set them, tick a checkbox and hit save; if your next scheduling time reuses for instance the hours, you don't have to move the slider for the hours again (unless someone was so clever as to reset them on save).
Admin
Those that sing to he tune of starving millions to make a better kind of gun might need to set it ... 2 minutes to midnight.
Up The Irons!
Admin
TRWTF is that the "quality control scheduler" for a food supplier has schedules for checks and ACH...but, yeah, that make-changes-without-telling-anyone thing is pretty bad, too.
Admin
+1
TRWTF is Kolby's "reputation".
Admin
Solution? Simply, make some big buttons (like these, but of course 24 plus 60 for hours and minutes). Easy to hit with two clicks/touches. Preferably put the 5/15 minute multiples near the hours to reach them more easily.
Admin
Even with just a mouse, there's gotta be better ways to do this. I'm thinking a 12-hour dropdown with an am/pm checkbox, and a 15/30/45/00 dropdown with up/down arrows for fine turning (select 30, up twice to get 32). Still no keyboard, but it's gotta be faster than those sliders.
Admin
You've not heard of Continuous Delivery, eh? :-)
Admin
Admin
The real WTF are those weird third world foreigners who think there is such a thing as 15 O'clock. :)
Admin
How many employees does it take to move a slider?
Admin
As someone who works in an organization that's active 24x7 I think I get why he didn't remove any hours.
Admin
Is that 15am or 15pm?
Admin
Of course! Everyone needs to arrive prior to midnight at a coven meeting, or all Hell's gonna break loose!
Admin
Great, a story obfuscated to the point that everyone is arguing assumptions.
Admin
I prefer 10 increments of 6 minutes (and even better, 100 increments of 36 seconds), but you wouldn't be the first to disagree with that.
Admin
Nuts. Sounds like this was a Wham-Bam-Thank You Ma'am assignment (Wham=write code, Bam=slap it into production, and Thank You Ma'am=get paid). If they want careful analysis, taking into account the opinions and preferences of all the involved parties, with full and appropriate reviews by Information Security, Accounting, Data Center Operations, Janitorial Services, and etc. blah, the client would have asked for it.
But the whole thing about using sliders to set dates - classic!
Admin
This. and this and this and this.
Captcha: sagaciter. Isn't that a Judas Priest song?
Admin
And a few quotes from the Software Curmudgeon's Phrasebook might be appropriate here:
Admin
Yeah - the military at least calls it "Fifteen-hundred hours". MUCH clearer! :-)
Admin
You're thinking too much. User wants a slider, you give him a slider. That's called "User-Driven Design" - also known as TFUD (Totally F'ed-Up Design). But hey - he/she/it can't claim they weren't sufficiently involved, nor that they didn't get what they wanted. The Secret To Success In Software Consulting is "Give 'em what they asked for - then charge 'em double-time to fix it"!
Admin
Maybe simpler if they went to a command line. Time should be entered with a keyboard.
Of course you could say: 'If you want it slow, a GUI will do'. But everyone already knows that. Then one puts up an "on screen" keyboard and let them click away and not 'type'.
Sounds like a cluster WTF in any event.
Admin
No!
Fixing it (so it's what they need) is a whole new ballgame.
Admin
That's when the "Iron Maiden" business unit wants to hold meetings.
Admin
Years ago I saw a poster labeled "System Development Lifecycle". It went something like this:
Admin
As someone who used to work in a similar organization I get why you might want to schedule your meetings to start two or three minutes after the hour and end two or three minutes before the next hour.
Until they implement teleportation between conference rooms.
Admin
What about three clicks? One on a box for the hour One on AM or PM (also in a box) One on minutes (I would love to see a GUI with all these boxes on it)
Admin
Following on the idea of a no-keyboard GUI:
So okay, you set up set of radio buttons for the hour, and another set for the minutes.
A row of 12 radio buttons and then another for am/pm would be busy but not unmanageable. Even if they use 24-hour time and so want 24 buttons, two rows of 12 doesn't seem too bad.
If they have to be able to schedule down to the minute, and thus need 60 buttons for the minute, that would be ugly. But if they always schedule 0, 15, 30, or 45, that wouldn't be bad at all. Even if any multiple of 5 is legal, that makes 12 buttons for the minute. Ooh, that gives a nice symmetry with 12 or 24 buttons for the hour.
Such a screen wouldn't be my first choice, but if the user insists on keyboardless entry, it's not totally horrifying.
As someone or other said, a dropdown is also possible.
Admin
That sounds like a PEBCAK error. Fill out this ID-10-T form. Thanks!
Admin
Hey, my Windows Phone uses that time picker!
Admin
My guess is that this is set up so that you check the days you want to modify, and then set the time to how you want it. The slider modifies the times as needed. I'm assuming this is how the interface works. Since it's a 100% mouse-driven interface, it should be clear to a developer that users can't, don't, or won't use keyboards. Changing the interface to require a keyboard would be an immensely bad idea.
I'd agree with 5-15 minute increments rather than 1 minute, unless the users can clarify a clear reason that they require 1 minute intervals.
The second change I'd make is "check all" and "uncheck all" buttons. There's no reason someone needs to click 5-7 times when they could click 1-3.
Third, I'd configure it to easily be able to copy from the previous schedule. Schedules for most things are the exact same because predictability helps humans to keep things straight. If possible, you could then even schedule multiple weeks at a time all in advance.
Fourth, I'd change the time displays to also be text boxes that you could choose to use if you didn't want to use the sliders, or, if there was enough resistance to keyboards, increment/decrement arrows next to the time for each schedule item, or, failing that, drop down menus.
Finally, I'd try to add labels to those damn sliders that you could click on.
Admin
Eleventy-three, by the pigeon-hole principle.
Admin
I'll give Kolby the benefit of the doubt, and guess he hasn't had enough experience dealing with strongly task-focused UI's intended for users with little computer training.
If he had, then he'd have realized that when you see a user interface that looks completely f**ing stupid, there's probably a reason. It may be a f**ing stupid reason like "the previous developer was even less experienced than you" or "the users were bitten by a rabid keyboard as a child and have all developed a phobia of typing", but there is a reason, and until you know what that reason is, you can't hope to improve the user experience.