Jul 09

Original post here.

It seems that there’s a lot of active discussion going on about this right now. There’s a new blog by Clay Barnes that seems to be focused solely on this issue, and he’s posted two articles about the mouse’s decline. He also references a couple of great posts by Jeff Atwood (I’m a huge fan of his blog). The first one talks about going commando and weaning yourself off the mouse. I think that’s a great idea and increases productivity by leaps and bounds. As I said in my previous post, I only use the mouse when I absolutely have to. His second post about how Vista makes it easier to find things via the keyboard is good, but I wouldn’t be a true Mac zealot without saying that Microsoft ripped it off from OS X’s Spotlight feature, which was then copied and made better by Quicksilver.

I really like this new trend of research in the keyboard navigation arena. Perhaps the resurgence is due to the old school DOS/UNIX junkies getting nostalgic for the days when all you had was a keyboard. I remember using the a DOS word processor called Textra back in the late 80’s, and it was controlled entirely using the Function keys. F1-F10-F7 saved a document. Each time you pressed a function key it changed the menu options along the bottom of the screen. Pico/nano in UNIX are similar, only they change the menu options along the bottom when using Control-key combinations.

I remember in college I was a total emacs guy, and got very adept at using all the various tools using Control-key combinations. I’m now lazy and use TextMate, but at least it integrates well into the shell and has bundles. I’m really hoping to get deep into vi, but I just haven’t had the time to learn more than the basic shortcuts. Any great tutorials that people can link me to?


Share This Article
Jul 08

There’s an ongoing debate about this article over on Slashdot right now. While I completely disagree with the author of the book that math shouldn’t be part of computer science, I do believe that a lot needs to be changed in traditional computer science education.

First off we need to look at the traditional definition of computer. Back in the day, the word computer referred to anything that performed computations, even a human. If I sat in a room and punched numbers into a calculator to perform computations, I was a computer. We then created mechanical computers that could perform those same calculations even faster than we could, and subsequently we created the electric computers that we all use today. But the basic word “computer” comes from something (or someone) that performs sequences of computations, and those sequences of computations are called algorithms. This is why when you major in computer science at a university, a good majority of the time is spent on analyzing algorithms and the math behind them.

So from a historical standpoint, I can understand why a degree in computer science is very math intensive. A pure computer scientist is only concerned with algorithms and how to compute them. However, computers have come a long way in the past several years and one could argue that even though there are underlying algorithms that power the programs we use, the majority of people do not use computers for computations anymore, but rather for communication. The computational aspect of computers has been abstracted for the most part.

For example, the average computer user only uses the computer to browse the Internet, instant message/e-mail friends, manipulate digital photos and listen to music. According to an NPR survey, 92% of Americans under 60 have used a computer, 75% have used the Internet, 67% have sent an e-mail and 68% use a computer at work. So while 20+ years ago the users of computers were mostly computer scientists performing calculations, today we’re in the minority of computer users. In my mind, this means that the field of computer science needs to be broadened beyond pure algorithmic study.

Due to the acceptance of computers and the Internet by the mainstream population, we now have a great deal of non-computational issues that should be discussed that deal with the communication, business, and legal aspects of computing. Things such as privacy, security, intellectual property and media distribution are things that are studied in grad school, but yet seem to have no means for discussion in the current undergraduate system. Should there not be discussion on what a computer scientist creates before they create it, and whether it should be created at all? A similar ethics question is typically posed to traditional scientists as well in regards to things such as the atomic bomb and cloning. Just because we can create it doesn’t necessarily mean we should, right?

I think that computers are becoming more than tools and are starting to actually shape society. People are using them for communication, personal connections, business and many other things. Even some people are proposing new job types such as Director of Metadata. Perhaps these things should fall under other fields of study such as communications, sociology and philosophy, but I find that those departments haven’t adopted studying these new technologies very quickly. What can we do to educate people about the new fields of study in relation to computer science?

[?]
Share This Article
Jul 07

I just happened to stumble upon Alex Faaborg’s latest blog entry, The Graphical Keyboard User Interface. I think he makes a lot of great points about the tradeoffs between using a command-line vs. using a GUI. However, I don’t think that command-line vs. GUI is necessarily the real debate as much as it is keyboard vs. mouse.

I think that GUIs are great, as they have made it possible for the masses to enjoy and utilize these great tools called computers that were once only used by those adventurous enough to learn all the various text commands. I grew up using DOS for many years so I guess I was one of those nerds, but nowadays my eyes appreciate a well-designed GUI since I spend a good majority of my day staring at it and manipulating it as I work. So in my mind it isn’t the GUI that slows me down as much as it is the mouse. I use the keyboard almost exclusively for navigating between windows, launching applications and using shortcuts. I really only use the mouse when I’m feeling lazy or it’s a faster means to accomplish something.

Needless to say, I’m really excited to see Alex’s idea take place for navigating with the keyboard through Firefox. However, what I’d really like to see is a more unified framework built directly into the OS for accomplishing this very idea. For example, someone could use the new Core Animation framework in OS X to build a framework that provides an interface similar to Quicksilver that application developers could directly tie into for application navigation. It would significantly reduce the burden on application developers while giving a consistent UI feel across the various applications that utilize it.

If you’ve never used Quicksilver (or if you use Windows there are clones such as Enso), I highly recommend trying it as it will change your computing life forever.*

*Note: Side effects may include making you crazy when trying to use your friend’s computer and they don’t have it installed.


Share This Article
Jul 05

Thanks to Google’s new “swallow up every business that sort of relates to something we do” business strategy, FeedBurner’s MyBrand service is now free to everyone.  It probably won’t matter to most people, but to anyone that runs a site with RSS feeds it will provide great value.  It basically allows you to get all the advantages of FeedBurner, but without sacrificing your domain name on your feeds URLs.

I know that sometimes when I use Google Reader to search and subscribe to feeds, there’s one for the site itself and a separate FeedBurner one, and I never really know which one to pick.  Hopefully people will start using this service and eliminate that problem as well.


Share This Article
Close
E-mail It