Alien thinking
2009-11-03 17:26:33.682886+00 by
Dan Lyke
11 comments
The Boston Diaries: The map is not the territory, a little introspection on hate for control panels, dynamic languages, GPS navigation,[1] and user groups.
In the end he boils it down to "the culture is totally alien to my way of thinking", but I think there's a little bit more in there: Much of what he's railing against is a layer of abstraction that removes functionality, that takes a conceptually clean underpinning and says "here's a way to accomplish this tiny subset of the functionality".
It is, in a way, what iTunes is: To me, MP3 files are just that: files. We put 'em in folders, we make lists of them in playlists, but I see no reason I can't just treat my MP3 player as a detachable drive. And yet people rave about iTunes and talk about how that's what made the MP3 revolution happen. Me, I'd be a lot happier with my iPhone if I could take iTunes off my Windows machine and just deal with it without that goofy slow abstraction layer.
And today I'm dealing with COM objects and Windows shell extensions, and I'm wondering what the hell was wrong with dlopen
and dlsym
and why I'm digging through "the registry", an unstructured hierarchical key-pair database that contains lots of crap it shouldn't, for umpteen digit hexadecimal numbers.
[1] I gotcher Oxford/Harvard comma right here.
[ related topics:
Microsoft Sociology Maps and Mapping iPhone
]
comments in ascending chronological order (reverse):
#Comment Re: made: 2009-11-03 19:25:25.983773+00 by:
Larry Burton
It still all boils down to "the culture is alien to my way of thinking." The culture needs to be able to focus on the one task they want to accomplish. Removing the rest of the functionality cleans it up so that they don't have to worry about it. Plug in the iPod/Phone/Touch and tell it to sync. But now the Window's registry, that's there to keep you from just copying files into a directory and the software just runs. They've got to make sure you run the installer so that they can ask you to register the software for their marketing folks.
I think that phrase, "The culture is alien to my way of thinking", is destined to become my new explanation of most of my societal woes. It explains why after three years I still have to explain the use of the Tivo remote in conjunction with the TV remote to my wife.
#Comment Re: made: 2009-11-03 21:07:47.893719+00 by:
petronius
Maybe the issue here is really the expert vs. the amateur. The people selling the program need to make it workable for a wide range of people, so they dumb down the interface to keep from scaring the non-cognoscenti. The problem is that that often removes the expert's faster, easier access to the material, but there aren't enough experts to justify a command-line version.
In my last job we were looking at a way to transfer a summary of a patient's medical records to a thumbdrive they could carry around with them. When the patient came to the clinic the clerk would update their drive for them. The programmer talked about doing it a simple Windows drag-and-drop, but I objected. I told them that it would be difficult to teach many on our staff how to operate in the wider Windows GUI, when our system was pretty much pushbutton style. What I wanted was a menu with "Transfer Updated File Now" as an item, so all they needed to do was plug in the drive and click once. I could have done it the other way, but getting everybody to do it right demanded a less adjustable interface.
#Comment Re: made: 2009-11-03 21:16:18.641667+00 by:
Dan Lyke
I think that some of my disdain for single-purpose mechanisms is that they're less easily repurposed. When that
Tivo remote and the TV remote fuse into the same device, we lose the opportunity to insert something else into
the chain. The sysadmin control panel makes it that
much harder to script routine changes to the underlying system.
That famous Franklin quote about Liberty vs Security may as well be about innovation vs comfort. It doesn't
hurt to look for the market and marketing opportunities provided by that search for "ease of use" (whose?), but
it still grates when those of us who can drive a stick hand over the control and lose simplicity at the same time.
#Comment Re: made: 2009-11-03 21:34:27.413276+00 by:
spc476
[edit history]
There's a story behind this post. My friend, whom I've known since high school, is a technophile (nothing wrong with that) but I've always felt he relied too much upon the GPS, but he doesn't feel that way. It's a long standing argument we both have.
A few days ago I posted a link to an article that was mildly critical of GPSes (and said there was some connection to my discomfort to a users group meeting from a few days before that.
Well, my friend took it wrong, and blasted me for posting it (twice). I think he's overstating his case (I dont' think anyone was really nervous, except maybe my friend, who has an irrational fear of being lost).
My recent post was the result of about eight hours of work, countless revisions, deletions, restarts and frustration.
Petronius, that is something to think about, but it still doesn't fully explain the GPS thing. Yes, it's nice to have (and personally, slap on a bigger display, and hook it into Google Maps and drop the first person view, and man, I'd get one in a heartbeat) but I feel my friend has given himself over to it (maybe justifiably, if you read the article I initially linked to).
#Comment Re: made: 2009-11-03 21:51:47.861228+00 by:
spc476
The whole purpose COM objects and the registry is to allow you to insert something else into a chain of a single purpose "device". Or rather, "All problems in Computer Science can be solved by another level of indirection" (Butler Lampson). The problem with dlopen and dlsym is that you end up hard coding information into the program, and that's a *bad* thing. Remember, we want to be able to change *everything* without modifying the source code (because nobody can find the source code anymore). And we want ultimate flexibility in what we do.
And then slap a control panel over it so manglement can play with it.
#Comment Re: made: 2009-11-03 21:55:46.234617+00 by:
Larry Burton
[edit history]
Heh, following a GPS blindly got me stuck in the mud here:
#Comment Re: made: 2009-11-04 10:13:03.360383+00 by:
spc476
Some more answers to my question.
#Comment Re: made: 2009-11-04 16:11:30.49111+00 by:
Dan Lyke
I like Chris's definition of a crutch, and I'd add that every time I've been on crutches, the goal has been to use them as little as I can so that my muscles don't atrophy while the bones or joints that were injured are healing.
Larry, Yep, that was my experience: I've gotten one big mud puddle further than I should have while blindly trusting a GPS, on a road that was deteriorating to more than that, and that finally tripped my skepticism bit. I think the advantage of maps there is that we don't have the assurance of "we're right there on the map".
On COM: The thing that pisses me off most about COM is how many levels of redirection we have through the registry: Under HKEY_CLASSES_ROOT
we have .fileext
, which redirects to us to the name of our document type, Our Document Type
. No problems so far, because we may have multiple extensions with the same type. So we follow that to HKEY_CLASSES_ROOT\Our Document Type
, we look for the ShellEx
tag, and right there we could have a DLL name, but noooo, we have a 32 digit hex value (with 4 extra dashes in it), which contains another 32 digit hex value that we can then use to find a file name, which Windows attempts to load, without giving us any indications if it can't open it, which it then essentially does a dlsym
on, but it requires some set of macros and other crap to get right such that you're damned lucky to get the IDE "wizards" to get all that stuff correct.
There's one redirection in there that's superfluous, and should be done with a name rather than a 32 digit hex number, and then whatever the hell ATL or the rest of those macros do to set up the COM object in the shared library could easily be reduced to a dlsym
accessible name.
#Comment Re: made: 2009-11-04 16:25:02.10576+00 by:
other_todd
Dan, I don't buy an MP3 player unless I can treat it essentially as a detachable drive. My ideal MP3 player is small, cheap, basically disposable hardware that is just a flash drive (or a card slot) with whatever minimal player software needed to do the deed. This is why I have never gone in for the whole iTunes/iPod universe. Intrusive.
These days, since I'm carrying around the DSi a lot anyway, and it's got good stereo, I just filled a 4GB SD card with music files and dropped it in there. Presto! Instant bonus MP3 player!
My main requirement for an MP3 player is that it have a shuffle mode, a track skip button, and stereo headphone jack so I can plug it into the speakers in my car. That's pretty minimal.
This is not as much a digression as you might think: The thing is, I believe, that fancy UI, control panels, bells and whistles, etc are not INTRINSICALLY a bad thing. The problem is the issue - never yet quite solved - of giving each user only exactly as much interface as they want/need, sufficient unto their tastes and demands - without needing five thousand variant versions of the same software. My wife LOVES all the tricks her iPhone does. I barely even use my cell phone for phone calls.
#Comment Re: made: 2009-11-04 17:09:45.466539+00 by:
petronius
I don't havge a GPS, but I use Mapquest fairly often. Its glories and problems often show up in a single set of directions. It obviously has some algorithm that figures out the route without input from locals, so in Chicago it often puts you on the expressway for two ramps worth, which no local would bother doing. On the other hand if I am trying to find a location in the outer suburbs which do not have a unified numbering system and the street names were thought up by a real-estate developer, it is invaluable. I can zoom down and see just where Cedar Aspen Trace intersects with Olde Splitlevel Court in the Sheetrock Valhalla subdivision.
#Comment Re: made: 2009-11-04 17:56:22.467722+00 by:
Dan Lyke
Todd, yeah, I carry an iPhone and an MP3 player. My feature set is a little different, I listen mainly to podcasts, so I want something that seeks well, but I loathe iTunes and the iPhone doesn't have the battery and isn't rugged enough for some of the places I like the MP3 player, so I don't even consider it for media.
I've been pondering laying out and building an ARM based device, just for the experience, and one of the things I've been wondering is how small I could make a decent Linux based computer that happened to work as a phone. SparkFun sells some cell phone modules that are controllable via a serial line, and there are off-the-shelf Bluetooth modules...
Petronius, yeah, I've seen a number of places where local knowledge beats the hell out of the GPS, but I think the situations Larry and I have both found ourselves in are more of the "there hasn't been a road through here in 20 years" class. Or it's used by locals on tractors, or pickup trucks with really high clearance, but not standard street vehicles. Wonder how those make it into the database?