| creations | digital art | comics | animations | projects | virtual toys | ||
|---|---|---|---|
| writing | personal history | essays | technology | creative writing | introspection | ||
| other | photography | snapshots | convos | videogames | misc | ||
| clock rant |
5 comments |
A few months ago I wanted an alarm clock-radio that had digital tuning, so it would stay locked onto my favorite NPR station without drifting. The
Radio Shack model I found tunes well enough and looks attractive, but is actively user hostile in design. Alarm clocks should be usable by sleepy people in the dark. Setting this clock’s alarm and making sure it’s on is a chore even in the daylight. Here’s the control panel:
Strike Two: I could not figure out how to set the alarm. It’s as if they worked to make the button labels as unhelpful as possible...not only that, but it’s easier to set the time than the alarm. The rocker switch on the front is labeled both tune up/down and hours/minutes, so obviously it has something to do with it. But none of the other button labels said ‘set’ or ‘alarm’. Now, hitting ‘MODE’ seemed promising, because on the front panel it started flashing ‘SET ON’. Hitting the hour/minutes button did nothing though. This is when I had to download a PDF copy of the manual. It turns out to set the alarm you have to also hold MEMORY/TIME down. Now, since that button on the front does double duty for tuning and time setting, it makes sense that you have to hold down another button or the clock has to be in ‘set mode’. But both? Why is that? A little experimenting reveals the answer—if you hold MEMORY/TIME down and press the front button when not in 'set mode', you change the time. Not the alarm, the time. That means it’s about twice as easy to change the time than to change the alarm. Now, which one do you think people do more often? My college roomie Brian used to add or subtract hours to the time setting of his alarm clock rather than change the alarm time itself. For years I assumed he did it because of a sense of surreal-ness it added to everything. Now I’m wondering if he had a clock as user hostile as mine. Strike Three: If there’s one thing an alarm clock should do, it’s wake you up on time. This clock has a little icon on the front panel. When you hit the [ALARM] ON/OFF button, this icon goes on and off. One might assume that this means the alarm is on, or that the alarm is off, accordingly. No. Because, see, if that switch on the left is on [RADIO] OFF, your alarm clock will not wake you up for love nor money. It might display its little alarm icon, lulling you into a false sense of security, but next morning that radio will not play. The stupidity of this design overwhelms me. I can see the half-assed logic (wanting to separate turning the alarm off in the morning from just hitting snooze) but… jeez. Your clock shouldn’t lie to you. For the exact same manufacturing costs, I could’ve designed a better UI than this. Just making labels less misleading would be a start. (I still don't know what '+5' does.) Changing a few behaviors (making it easier to change the alarm than the time setting, not showing the alarm icon if the alarm is turned off because of the switch) would be even better. Changing a few more electronic readouts could actually make it intuitive!
Anyway.
Quote of the Moment
News of the Moment | |
| furniture that looks like it has been places |
13 comments |
||||||
|
Project of the Moment So, FoSO and I worked together on an interesting furniture project. I think the idea was mine, but the details and the lion's share of the labor ended up being hers. (Which is good, because I'm lazy, but also bad, because I didn't learn quite as much as I had hoped.) My bathroom is desperately short on selfspace, and I'd always been trying to think of a cool project to utilize these beautiful authentic travel stickers that were attached to a crumbling valise I got at an estate sale kind of thing. So, a bunch of slicing, scanning (just in case), staining with wood stain, gluing with Mod Podge, coating with polyurethane, and touching up with a hand sander later, and this is the terrific result:
Progamming Thoughts of the Moment Been thinking a little bit about programming rules in general. Here are some rules I've decided I (and maybe everybody) should try and follow...I welcome feedback from my fellow coding geeks.
Making the rounds is this story about a cellphone based Virtual Girlfriend product...unfortunately (or fortunately for the company) you spend non-virtual money to buy her presents and what not, otherwise she gets all mad and sulky. Man, what a potential goldmine if they find guys who get really into this. Being able to sell trivial virtual goods for real cash...there's that other company that lets people buy each other little iconic gifts, I heard it's a reasonable hit...it becomes a social thing I guess, if you can show off your gifts like some kind of trophyroom. Strange world. | |||||||
| business logic |
6 comments |
|
Another cop-out day... but the good thing is I'm this close to finishing up a new feature on the site: throwing open the sidebar location to pretty much anyone who's a regular on the message boards. I hope it'll be a really dynamic part of the site, letting people who may or may not have their own blog get a bigger audience, and adding more interesting content to mine. I really loved what Dylan and Sarah have done, but lately they haven't been able to keep updated as much as I like...but their posts are a great start for the sidebar...more details later!
Geekness of the Moment One day Jane asked me "what's business logic" in a work e-mail, and I thought it was a great question, and saved my response for future use on this site...which is now. It might be mildly interesting to people who wonder what I do for a living. -----Original Message----- From: Jane Sent: Thursday, March 04, 2004 4:41 PM To: Israel, Kirk Subject: all this talk of 'business delegates' kirk - in one document i'm looking at, they keep mentioning 'business delegates' - do you suppose they just mean 'clients'? or is this some unique term in the industry that i'm not getting? ex.: 'Verifies calls issued by the back end of the adapter in response to front-end API invocations. These calls are issued to Business Delegates, whose interfaces are prescribed by the corresponding Zeus Session Facades' It's a techie term. Zeus is a "client/server" system, right? The bit connecting to the ERP is over here on the left, it then sends data over the wires, so to speak, to the server over there on the right, and then stuff comes back over the wires to the client. Now, the thing is, sending the stuff over the wires is relatively hard from a programming point of view. People connecting the client to their code don't want to deal with crap like that. So Business Delegates hide the over the wires crap from that programmer. More specifically, I think "Business Delegates" usually have the same "signature" as the functions that do the actual work on the server...by signature I mean they take in the same objects in the same order, and spit out the same objects. But of course, the "Business Delegate" on the client aren't doing the "real work"...it's just sending it over the wire. The whole term "business logic" seemed weird to me for a while, becuase it seemed like every damn thing we were writing was "business logic"...so what's the point of having a special term for it? But later I realized the opposite of "business logic" is...well, "system logic" or "system code", stuff that's directly involved with keeping the infrastructure humming. Business Delegates is a "design pattern" (meaning, a generalized setup that you can apply to many problems) that is a good example of letting the programmer focus on the "business logic" (in our case, grabbing financial data and what not from the ERP and putting it into the tax document objects) while not having to sweat the system level stuff, the sending it over the wire. | |
| quotes ahoy |
5 comments |
|
So I spent a rather long time updating my quote-o-matic viewer, harvesting quotes from kisrael.com all the way from May 17, 2002...309 quotes new, up to 1662 in all. It took a surprisingly long time to weed out all the good quotes, maybe 20 minutes per month. By the end I was definately asking myself "is this worth it?" but a few days ago, after most of it was done anyway, UnavailableName dropped a few quotes he liked that he had found in the old version, so that was encouraging. Windows Annoyance Rant of the Moment I wrote this to send into the site ThisIsBroken.com: This might be more of a gripe, or just a reluctance to shift to a new mental model for search, but the way recent versions of Windows conduct file searches in the sidebar of the current explorer window seems like a huge step backwards from the old way of a seperate finding app...
Maybe they were looking for a way of letting someone repeat a carefully constructed search from a different location (hence the inconsistency in complaint 5) but it seems like a poor tradeoff to me. This app is something I use on a daily basis, and not liking its forced browser model (probably some offshoot of that whole "oh but you can't seperate the browser from the OS!") is a constant low-level thorn in my side. If anyone knows a way of getting back the old behavior when I hit ctrl-F, I'd love to hear about it. Even some registry setting that causes a Ctrl-F search to open up a new window rather than overtaking the current one would be a HUGE improvement. So it is a subjective opinion, but I'd say: This Is Broken. | |
| javaggravation |
16 comments |
|
Geek Ramble of the Moment You know, I just thought of one major lack of Java, and to be fair, most C-derived programming languages: a function can have many input parameters but only one return value. That's a really odd asymmetry to have to put up with. Perl, for example, handles it much better...it's no problem to write something like ($foo, $bar, $baz) = somefunction($a,$b,$c); In Java, though, you'd have two ugly workarounds: create a wrapper object that contains each thing you want to return, or if the objects are complex, sometimes you can have the calling program create an object, pass it in, and let the called function fill in the blanks. (Kind of like Oracle's "INOUT" parameters.) Personally, I think this lack is something that provokes over use of Exceptions, which really do horrendous things to understanding a programs flow of execution. Seriously, would it be so hard to add a syntax so something like this would work? int foo; String bar; (foo,bar,String baz) = somefunction(); public int,String,String somefunction(){ return (5,"hey","ho"); } Does anyone know if any of the other C-derived languages handle this case better? C# or any of that? I know they're hyper-conservative about adding this kind of structure to Java, since it breaks old compilers and what not. But still, it seems like one of those things that actually is pretty stupid and only around for legacy reasons but that everyone just kind of accepts. Quote of the Moment "The more sensitive you are, the more likely you are to be brutalised, develop scabs, never evolve. Never allow yourself to feel anything, because you always feel too much." --Marlon Brando, via Candi. An odd if depressing idea, but it seems like not allowing yourself to feel anything is a kind of scab in and of itself, a protective barrier. I guess I like the more mild message of Janeane Garofalo's line "Cultivate the Switzerland of your soul and remain delightfully detached." Analysis of the Moment So just how badly is Iraq going for us? What a dumbass idea the occupation has been. Neocons live in a dreamland. Photo of the Moment ![]() --Hurrican Ivan as seen from the International Space Station. I like how my eye misread this at first, seeing the solar panels as buildings, with the menacing cloud in the apocalyptic sky above... | |
| a pressing issue |
8 comments |
My latest UI gripe: physical buttons that change their function when you press and hold, versus just pressing. Three case studies as of late:
Dumb UI designers: making your life a little worse in a thousand little ways. | |
| best of kisrael.com | |||
| creations | digital art | comics | animations | projects | virtual toys | ||
|---|---|---|---|
| writing | personal history | essays | technology | creative writing | introspection | ||
| other | photography | snapshots | convos | videogames | misc | ||