A Brief History of Interfaces, part 3
posted by chip on 2007-01-15 23:11:03
Now that I've explained the many things that have shaped my views on computer interfaces, I'd like to delve into what might be considered the "modern" desktop. I've touched on this
issue before, but I'd like to explain it a little more clearly.
Microsoft Windows is actually a lot of different programs. You get the core OS, known as a kernel, and drivers to access your hardware. You get bits that allow you to manipulate windows, a file manager, bits for changing your wallpaper, managing devices, and a host of little applets. This doesn't even mention extra goodies you get like fonts, sounds, color schemes, wallapapers, and everything that ties all this together. In the world of cuisine, this idea is called "prix fixe." Windows is a package deal. You pay one price and all of this is yours. Macs are a similar deal, but they make you buy hardware with it, too.
Linux operates on what could be described as an "a la carte" deal. In fact, Linux is only the very core of the OS, called the kernel. It's quite useless by itself. A host of utilities provided by the GNU project provide an actual working system. That's not even the end of the story, though. The entire stack of programs that makes up a typical Linux system is brought together from hundreds, probably thousands of sources from around the world. Sounds like a mess? It is. If you had to find all these things and assemble a system yourself, it would take you days, if not weeks. Thankfully, people have done this step for you, and the resulting package is called a distribution.
The upside of all of this is that you are given a plethora of choices. I mentioned earlier that BASH was a common Linux shell, but you're not required to use it. Alternatives include zsh, ksh, csh, tcsh, and more. How about text editors? Pico, vim, emacs, joe, jove, jed... You are free to find the bits and pieces you like best. In fact, you're not even required to use Linux. The same programs are available for BSD, Darwin, BeOS, and a lot of other UNIX-like systems. Granted, this choice also true in the Windows and Mac worlds, except for a very important part: The GUI.
People are used to physical interfaces, like the 12 buttons on a telephone, or the ubiquitous channel and volume buttons on a TV remote. These interfaces are very hard to change, and so we accept them because we have no choice. Having modeled computer interfaces after physical ones, we assume the same thing. "This is the way it is, and I have to accept it." But computers are reconfigurable — on your computer screen, this idea simply does not apply.
To illustrate this idea, let's take a look at the most popular GUI environment for UNIX-like systems: X Windows. X Windows by itself is merely a system for drawing inside rectangles and pointing and clicking on things. The most barebones X desktop would be completely unusable, much in the same way Linux is unusable by itself. Another program, called a window manager implements the "look and feel" of the windows.
This is where X Windows departs from both the Windows and Mac GUIs. There are literally hundreds of window managers to choose from. There are ones that emulate just about every window system known to man, including Mac and Windows, but added to that are completely original and new environments. There are ones that provide a full desktop environment that would be familiar to anyone from the Mac or Windows worlds, and there are ones that do absolutely nothing but provide a few spartan decorations with which to move or resize your windows. There are even some, like ION, that completely redefine the idea of "windows". (I use ION, and I consider it leaps and bounds beyond any other method of organizing my desktop)
Moving beyond the window manager, there are many choices for the rest of the "desktop": file managers, application launchers, window organizers (You'd probably call them "taskbars"), virtual desktop switchers... it's a smorgasbord, and you get to pick whatever you want.
To really drive home this point, I'm going to count the number of available windowing interfaces for the "big three," Windows, Mac, and Linux.
Windows: 1
Mac OS X: 1
Linux: at least 481 (according to freshmeat.net)
"That's great," you say, "but why should I care?" In all likelihood, you won't. If I haven't convinced you to try something new, then by all means, don't. But, if you ever feel like your system could be doing more for you, I encourage you to look around for something better. At the end of the day, you should use what you feel most comfortable with, and what best allows you to get things done. Linux is that tool for me, but if you prefer to use Windows or a Mac or an abacus, that's fine, too.
Except for you people who use Trillian. I mean seriously, what the fuck? :-P
0 comments reply permalink
A Brief History of Interfaces, part 2
posted by chip on 2007-01-14 03:31:11
Windows XP isn't the end of the story, though. Let's rewind back to when I first installed Linux on my 486. Like most first-time Linux users, I stuck with a dual-boot setup for quite some time. The other computers in the house also continued to run Windows, so the switch was a gradual thing as I feeled out Linux and learned more about it.
The first few months were pretty rocky. Slackware 3.1 is not a distro that I would subject to anyone these days, not even Linux veterans. The long period of learning started with the differences between DOS and BASH (the most common Linux shell), helped out by a few books from the library. The more I learned, the more I realized that the UNIX way of doing things looked like DOS, but it was considerably more advanced. What originally seemed arbitrary and confusing was actually a well thought out solution to a very different problem than DOS ever saw. A bit of history is in order.
UNIX was developed at Bell Labs back in the late 60's as an alternative to a huge, bloated monster of an OS called MULTICS. Back then, computers were huge noisy things with lots of blinkenlights that served many users in a timesharing system. Many remote terminals (basically computer monitors and keyboards) were hooked up to a single computer, and the processing power of that computer was divided evenly among its users. Thus, a single very expensive computer could be used effectively by many people. MULTICS was a timesharing system of considerable (some might say unbearable) complexity.
UNIX was originally not a timesharing system. UNIX is, in fact, a pun on MULTICS, created to imply a reversal of MULTICS' bulky design. UNIX was shortly redesigned for multiuser work, though. And this aspect — that multiple people are using the computer simultaneously &mdash is the idea that separates the seemingly similar user interfaces of DOS and UNIX.
Linux is a clone of UNIX, rewritten completely from scratch by Linus Torvalds some time in 1990. It is not technically UNIX, as it shares no code with the original or any of its many derivatives. Linux does, however, implement the same functionality, so people like to say that it is UNIX-like. Since Linux (and the GNU utilities that are often packaged along with it) implements the same interface, I'm going to call it the UNIX interface, but this discussion applies equally to both.
The first thing any multiuser system needs is protection. UNIX protects users from reading each others' data with file permissions — metadata that controls access to the files. Furthermore, other users are prohibited from manipulating your running programs. UNIX has mail, a way of messaging other users that eventually turned into the email that everybody knows and loves. UNIX also has a superuser, a special user that isn't bound by limits and permissions. Because there are many more things going on than a single user system, UNIX has a logical (if sometimes archaic) filesystem structure. Mac OS X users in the audience, open up Terminal and type 'ls /'. See 'etc','usr', and 'var'? That's part of the UNIX structure.
Once I understood these things, I really began to see the power of UNIX. I could schedule programs to run at specified times. I could use my machine remotely as though I was sitting in front of it. The shell was not just able to run programs, it was itself a programming language. There were hundreds of programs to process data, and they could all be combined into a powerful assembly line.
That last aspect is really the cornerstone of UNIX. The "UNIX philosophy" is to do one thing and do it well. These little things can then be combined in virtually unlimited ways, creating an extremely powerful environment. Many other systems, including Windows, have adopted the multiuser features that UNIX pioneered, but this "UNIX philosophy" is the one idea that has not been successfully copied into anything else. It is the biggest reason why I use Linux.
Stay tuned for part 3. :)
0 comments reply permalink
A Brief History of Interfaces, part 1
posted by chip on 2007-01-11 03:02:23
People who don't know me very well assume that I don't like Windows because I'm a Linux geek. It seems that I have some Open Source axe to grind and that hating Windows is part of the mantra of the Free Software faithful. While that's certainly true for some people, my disdain for Windows isn't borne out of ignorant zealotry. It's the result of actually using it for over 15 goddamn years. And I'll be perfectly fair: I hate Macs, too, for many of the same reasons. But let's rewind.
I began computing back in the dark ages, when men were men, and your typical computer interface looked like this:
Yes, I've been using Microsoft software that long. (Astute readers may notice that I was an infant in 1982. We got our TRS-80 some time around 1988, I think.) I'm sure the thought of using something like this scares most of you, but that little "OK" prompt was the gateway to an amazing new world for me. The computer was telling me, "OK, I'm yours, do whatever you want." The greatest thing about those old computers was that your access was unlimited. Every bit and byte was there, at your disposal, if you knew the right incantation.
Fast-forward a bit to our first machine in the far-reaching line of what most people call a "computer," the IBM PC clone. It was leaps and bounds beyond the TRS-80: 640K of RAM, an enormous 32MB (yes, kids, that's megabytes) hard disk, and a VGA video adapter. Flip the switch, and in about 30 seconds, you get an interface that looks like this:
C>
It's not quite as cordial as the TRS-80's "OK", but there is the computer, asking for your input. The DOS prompt isn't quite as useful as mainlining MS-BASIC direct from the ROM, but there's a solution for that:
C>gwbasic
... and the world was yours once again. In another few years, we bought a 386, which came preloaded with Windows 3.1. At this stage in Windows' evolution, it was pretty much riding sidecar. You still booted into DOS, and Windows was merely a neat windowing environment for a few neat graphical applications. Most of the fun stuff (DOOM, Jazz Jackrabbit, One Must Fall 2097, and ten million other shareware games) was still for DOS. BASIC was still there, but now they called it QBASIC, and it had a neat little editor. The computer was still a playground of unlimited possibilities.
The next computer was a 486, a very similar machine, merely larger and faster. Manufacturers now put "win" at the end of AUTOEXEC.BAT so that Windows started up automatically on boot. Windows was now host to a large group of applications, and even some games like Myst. Most serious games still stuck with DOS. QBASIC was still there, and when I wasn't programming, I was playing MechWarrior 2. Life was good.
And then Windows 95 came out. The addition of pre-emptive multitasking and a clean new interface won me over, and my parents got me a copy for Christmas '96. It was at that point that I learned its terrible dark secret: Windows was now in control. I searched desperately for the "win" at the end of AUTOEXEC.BAT, but it wasn't there. The DOS that came with Windows 95 had been modified so that Windows started up automatically. That choice had been taken away from me, and I found it distinctly unnerving. QBASIC was still there, and you could still exit to a DOS prompt with the misleading "Restart in MS-DOS mode" shutdown command, but it was clear that DOS's days were numbered.
Faced with the future, I adapted. Windows became the host to my DOS games, and many DOS games started moving to Windows with the release of DirectX 1.0. I got a copy of V*sual B*sic (its name shall not be uttered here), with which I made a fair number of applications typical of the language: slow, bloated, poorly designed abominations. By and large, though, Windows was suitable for my needs (which were mainly playing MechWarrior 2).
A few years later, Windows 98 came out. I didn't bother upgrading, since IE4 gifted Windows 95 with the same reconfigurable taskbar we know and love today. I immediately latched on to the Quick Launch Bar as my primary method of opening programs. The Internet, which was once merely a fascination viewable from AOL's walled garden (Yeah, I used to be an AOLer, too) was now a destination in and of itself. Mirabilis ICQ was the way to talk to your friends, shortly followed by AOL Instant Messenger. QBASIC was quietly dropped in Win98, and I've been missing it ever since. DOS was barely hanging on by a thread.
It was probably about this time that I discovered Linux at the Engineering Open House. I didn't really know what it was at the time, but shortly thereafter I downloaded some 26 disk images of Slackware 3.1 from AOL's file archives and managed to install it from 26 floppies onto a newly cleared 300MB partition. It was bizarre and alien, and I still spent most of my time in Windows.
The century turned, and Windows Me and 2000 were released. Windows Me was an abominable stopgap based on the now antiquated Windows 98 platform, and 2000 was based on the previously unheard-of-in-the-home Windows NT. NT and 2000 didn't use DOS at all, they were completely new animals. While 2000 wasn't really marketed for home users, many home users ran pirated copies because it was much more stable than 95/98/Me.
Windows 2000 eventually became Windows XP Home and Pro, which finally brought NT to the home user. It was redesigned to be friendlier and easier to use. The control panel was rearranged by function. The Start menu, once just a place to launch programs and change settings, was now expanded to house My Computer and a small list of frequently used programs. The systray and desktop were automatically cleaned up, and you could now have multiple users logged in at the same time and switch between them. All of this signaled to me a fundamental shift in the way people used their computer. Users were no longer in control. Microsoft made the rules, and the users paid for the privilege of abiding by those rules. This was not the computer I had grown up with.
0 comments reply permalink
Random Thoughts
posted by chip on 2007-01-10 01:52:51
I finally got James' Christmas present in the mail, a
gashapon rubber band gun. He tells me that the payout isn't evenly distributed; the six-shot versions are the rarest, and they increase in commonness all the way down to the bog-standard single-shot version. I got a three-shot version that came with seven or eight rubber bands. One is actually part of the trigger mechanism, and I've lost all but two of the rest. I even made a speedloader for it, and my brothers have fashioned single-shot versions out of paper clips (for shooting the tiny rubber bands used on braces) and wire coathanger (for shooting the big honking ones that are no fun at all when you get shot in the face with them. Twice).
My friends and I have been playing GunBound recently, and I'll admit, it's a pretty fun game. It would be a lot more fun if, in order to play it, I didn't have to reboot into Windows, then start up Internet Explorer and click on a Flash button that loads an ActiveX control that downloads updates and launches the game proper. Good game. Bad infrastructure.
I think this all stemmed from a discussion about finding a good game for all of us to play since we're spread about the country now. Gunbound is pretty good in this respect. It's turn-based, so it's not sensitive to lag. It's easy to pick up, and provides enjoyment for noobs and pros alike. If it wasn't so graphically heavy, and if I could run it in Linux, it would be close to perfect. I'm looking for a game that I can use to steer this idea a little more towards my side. Maybe something GPL licensed with binaries for the big three (Windows, Mac, Linux). Even a non-free game with a small one-time cost would be OK. If you have any ideas, I'd love to hear them.
Speaking of games, I realized today that I haven't played a DS game on my Nintendo DS since I got a working NES emulator for it. I do love Mario Kart, and Nintendo has a great lineup, but very few things can compare to Mega Man 2. Especially its soundtrack. I don't know if I've mentioned it here or not, but I fucking love 8-bit music. When I start up Mega Man 2, I just let the intro play so that I can listen to the music as it builds from a simple happy melody to a full-on rock anthem. For those who like that oldschool flavor with a twist, I can fully recommend the minibosses' adaptation of the Mega Man 2 soundtrack as being incomparably awesome. (You won't find it on their website, unfortunately. If you want it, I can send you a live version.)
I guess I'm sort of in a minorty on the issue, though. A conversation I had not too long ago on the subject of Ouendan/Elite Beat Agents:
Jen: It hasn't been doing very well. It's very similar to Technic Beat.
Me: But Technic Beat was an awesome game!
Kan: Yeah, but the music was kind of weird.
Me: The music was the best part!
Jen: (to Kan) Chip likes those old games...
For those who haven't played Technic Beat, it features a lot of themes from old Namco games, most done by the supremely talented AYA (Ayako Saso) and MEGA (Shinji Hosoe).
Erickson won a MacBook. That bastard. :-P He's been talking about it all day, as though it were his new baby boy. I understand you're excited, Erickson, but you really don't have to go on an on about how "purty" it is. Yes, I'm jealous. :)
0 comments reply permalink
target="_blank"
posted by chip on 2007-01-04 02:34:09
To every website who sees fit to pollute their links with the dreaded
target="_blank" attribute, causing the target of that link to pop up in a new window, unbeknownst to the clicker:
WHAT THE FUCK?
I have fucking had enough of it. The next time I click on a link and Firefox stalls for that split second while loading a new window, I will hunt you down and repeatedly ram the sharpest object I can find into your wide-open fear-stricken eyeballs. Is your webpage so special that it needs to stay open when I go to another site? Are you afraid that your users might leave and not find their way back? Do you not understand the purpose of the back button?
Especially annoying are those of you that do this for links to pages on your own site. Listen, you pusillanimous pile of putrid pulsating pox pustules, if I wanted to open the page in a new window, I'd right click on the link and open it in a new window. I do not need, nor do I want you to do it for me, and doing it without even warning me is fucking unforgiveable.
You need to fix your shit before I break into your datacenter and fix it for you with a 10 pound sledgehammer.
We live in an interesting age. Today it is possible, through a few google searches, a trip through myspace, and an account on facebook, to find out just about everything you'd ever want to know about a person. Lots of people, myself included, learn about the daily goings-on of our friends through their blogs, their AIM away messages, and other digital trails they make. We have so many ways to keep connected with each other today, many of which paradoxically operate without ever contacting the other party.
It used to be that learning about someone's day involved physical interaction. You asked, and they told. Unless they were a celebrity, there were very few ways of finding out what someone did that day without interacting with another human being. The experience, I'd like to say, is shared. Information flows both ways, whether you like it or not. The mechanism we use over the Internet in the modern day is information gained through an experience that is not shared. A broker exists between you and the other person, and most of the information only flows one way.
Now, of course, this information can flow reciprocally, but it's still not the same. There is something different about allowing computers to handle the things that define our relationships. I'm not trying to argue that it's worse. On the contrary, I find a level of insulation to be rather comfortable most times. It's simply a property of the further mental evolution of humans that I think is overlooked.
As technology progresses, individuals will be come more and more disconnected from each other all while they know more and more about each other. It seems strange, looking forward to such a world, just as a world full of automobiles must have seemed strange to people at the beginning of the 20th century. We take such things for granted, and wouldn't choose to live without them. It will be the same for our children's children.
Crap, did I just become a futurist?
You know how artists will make quick sketches to keep in practice? I like to do the same thing with my writing. A small scene will pop into my head and I try to capture it as well as I can. Comments are encouraged for these, I'd like to know if they feel weird or disjointed. These two are pretty emo, I apologize for that in advance.
"I can't... I just... I don't have time for a relationship right now." It was late. Her hair was a mess and her eyes showed her exhaustion. Takeshi didn't care. Seeing her like this was proof that she was real. She was not some fantasy that he had made up, and her flaws made her that much more beautiful in his eyes. She tucked a curl behind her ear and continued. "Look, I like you, I think you're a nice guy and all, but I just can't give you the kind of time you deserve. I'm sure there's some other girl out there that will make you happier than I ever could."
Takeshi took a deep breath and stared into her light brown eyes. "If that's true, if there really is someone out there that's better for me than you, then is it alright if I love you until I find her?"
"I know we agreed that this was only until we found someone better... just so we weren't lonely. And don't get me wrong, I'm really happy that you found someone. I just have to be honest with you."
Sarah cocked her head to one side. "What do you mean?"
"I cheated. I wasn't looking for anyone else. I mean sure, I met a few nice girls, but I never pursued them."
"Why not? I want you to be happy, you know that, right?"
"We both knew that this was going to end in heartache for one of us. I held back because... I didn't want it to be you. I love you too goddamn much."
Toxoplasma Gondii is one of a very small set of parasites that actually changes the mental function of its host. Toxoplasma is particularly interesting because of its wide range of hosts, a list that includes rats and mice, domestic cats, livestock, ... and humans.
The primary host of toxoplasma is the domestic cat. It is only in the cat that it can undergo sexual reproduction. The cat ingests an infected animal, the toxoplasma reproduces inside the cat, and it is excreted in the cat's feces. Animals that come in contact with the infected feces are then infected with the asexual form, which takes residence in the muscle and nerve tissue (so that it can be easily ingested by a cat). This is where it gets interesting.
In mice and rats, the parasite alters the host's mind to its advantage. It makes the mouse more outgoing, even leading it to seek out areas marked by cat urine. This allows the parasite to more easily make it back into the cat's digestive system to complete its life cycle.
In livestock and humans, toxoplasmosis (as the toxoplasma infection is called) causes fever-like symptopms in people with normal immune systems. But for those with weakened immune systems or those who are pregnant, it can cause further complications. If the parasite infects the unborn fetus, it can cause stillbirths, and those with AIDS can die from toxoplasmosis. Those who survive (and most do) seem to wind up with subtly altered minds. This is where it gets really interesting.
Men who are infected seem to have lower IQs, achieve lower levels of education, have shorter attention spans, are more independent, anti-social, suspicious, jealous, and here's the kicker: women find them less attractive. Infected women, on the other hand, tend to be more outgoing, friendly, and promiscuous, and in an interesting reversal, are actually considered more attractive by men. There is also evidence that acute infections can cause schizoprenia-like symptoms. (As read in the Sydney Morning Herald)
It raises some interesting ideas. What if the things we consider "personality flaws" are actually the result of infections? It's already been suggested that obesity may be caused by a virus. Perhaps the evils of human nature aren't really evil at all. Maybe it's all just a part of this hideously complex machine we call Nature. That's a dangerous idea, though. I'm not trying to absolve people of their responsibilities. If you've got a problem, you should work towards making it better whether it's your fault or not.
Of course, all of this should be taken with a grain of salt. Just because a woman is sexy doesn't mean she's an unwitting toxoplasma host. And just because I'm independent, anti-social, suspicious, jealous, mildly schizoid, and women don't find me attractive doesn't mean I can blame all my problems on a brain parasite, right?
Right? :-/
I must be getting old, because when I was urged to wake up on Christmas morning, I groaned and pulled the covers tighter. I eventually did wake up, and stumbled downstairs to survey my stocking-stuffers. Stocking stuffers here are typically foodstuffs and useless trinkets. I also usually get a box of Cocoa Puffs. I shook a likely box to determine its contents. "Hmm," I thought, "that's not it." I shook another box. "There they are." (The first box turned out to be Golden Grahams)
After getting some sugar to my brain, we divvied presents, opened them in turn, then reveled at the piles of paper and boxes. I got a replacement for my broken camera, a newer Sony CyberShot DSC-P73. 4.1MP, 3x optical zoom, MPEG movies with sound. If I get a Memory Stick PRO, I can even record video at 30FPS. It's everything I was looking for in the original camera, and it cost my mom half what I paid. :-/. My brother got me a SuperCard with a 1GB SD card so that I can run homebrew and *cough* other... *cough* things on my DS. The rest of my loot is the standard: food, clothes, and black socks. (I am aware of how stupid black socks look. I don't care.)
After presents, we ate our MREs. I got Jambalaya, and my sister got a barbecue veggie burger that looked like seven shades of nasty. She said it tasted good, though. ... What, your family doesn't eat military rations on Christmas? Weirdos.
This Christmas, our family and my sister's boyfriend's family gathered at my sister's place for Christmas dinner. Dinner was good, but the best part was the chocolate cheesecake my sister made. You might assume from the words "chocolate cheesecake" that I am talking about a standard cheesecake covered in chocolate. You would be wrong. It is a cheesecake that is chocolate through and through. It was amazing. Afterwards we played "Stinky Bingo," a bizarre form of Bingo that involves wacky presents and stealing said presents from one-another. The whole thing was a lot of fun.
Right now, I'm recovering from post-Christmas lethargy. I didn't even turn on my laptop and log on until a few hours ago. I've been playing DS, some Siren on PS2 (one mans trash is another mans treasure... thanks, Jen), and generally just sitting around the house.
No... we didn't get a Wii. :-(
Merry Christmas, everyone.