Most Ambiguous Button Award

The Akismet plugin for WordPress wins today’s Most Ambiguous Button award. After subconsciously struggling with the meaning of the “Update options »” button, I realized why I was having such trouble: “update” could be either a noun or a verb, and both words can mean a variety of things in different user interfaces. Moral:  always choose a label for a button that makes its meaning intuitive, or familiar to users, rather than labeling it according to what it does on the back end. “Save changes” would be a good choice here.

Posted in Aside, Compute, Human/Computer Interaction | Leave a comment

On Google Wave’s UI: Where to Put the Blip-contributors

In most of the Google Wave waves I use, it would make more sense to have the blip-creator thumbnail and name changed to be right-aligned, basically what I’ve mocked up below.

This style is less disruptive to the overall document’s formatting, and makes the wave look much more cohesive and professional. For chat-style exchanges, it’s important to keep what is said closely linked to who’s saying it, but when collaboratively editing, it’s rather unnecessary, and turns out to be more distracting than anything else.

[Continued 10 minutes after realizing this would actually be doable with Stylish]

Here I present to you, the smallest style with the largest impact for Google Wave: Now all of my waves look like this (except they’re not in Russian).


The names of the blip’s contributors are hidden, as well as the time/date (I don’t need either one near enough to justify how much they mess up the formatting of blips). The drop-down menu is made smaller but still displayed. The good part for you is that each part is incredibly easy to hide or show; the CSS is below, and if you want to hide or show the time, names, or menu, just add or delete the appropriate item from the list!

Want it quick? Firefox users,  install it from here as a Stylish style or a Greasemonkey script. I also threw together a simple Chrome extension.

.GTB[dc=contributors] {

    float: right !important;

    margin-right: 0 !important;

    margin-left: 2px !important;


[dc=menu] {

    width: 9px !important;


.MTB[dc=time], .KTB[dc=names] {

    display: none !important;


Posted in Compute, Google Wave, Human/Computer Interaction | Leave a comment

¿Te Acuerdas?, or, Mnemosyne to the Rescue

I’ve been experimenting with using Mnemosyne, a nifty open source flashcard/spaced repetition application, to learn Spanish. While I like the tactility of 3×5 flashcards for generic vocab study, studying oral questions is slightly harder; you need to have a volunteer to quiz you. Mnemosyne comes in handy:  I can record an audio clip and use that clip as basically one side of a flashcard. As a bonus, I’m helping the interesting research currently being done in spaced repetition algorithms for long-term memory.

Posted in Aside, Compute, Myself | Leave a comment

Jeeves is About Usability, Too

Over Christmas break (my last one of all time) I had a chance to get some good reading done, and I took the chance and ran with it. Awesomely, I also got a ton of work done on my helpful task manager web app, [currently and historically titled] T-minus.  On with the books: they are below, in order of reading.

85-15 the-design-of-everyday-things Forms That Work Designing Web Forms for Usability
Stiff Upper Lip, Jeeves by P.G. Wodehouse The Design of Everyday Things by Donald Norman Forms that Work by Jarrett and Gaffney

Who better to start off with than the grandmaster of English prose, Mister Wodehouse?

Enjoyable, even in the more theoretical sections; a good (and obviously formative) exploration of cognitive science and design.

This was a quick read; short but solid. Most everything was review for me, but for those just starting with web forms, this would be great.

elementsofuserexperience1 book-cover-md designing-web-navigation
The Elements of User Experience by J.J. Garrett Subject to Change by the Adaptive Path Team Designing Web Navigation by James Kalbach

A short book, but helpful providing a mental model of the user experience. (It’s easy to forget that you are not your target market, so your experience is not typical).

“The whole experience is the key” is what this book continually chants. Also tackles some common designers-within-a-company business problems (from someone with reliable experience, at that)

This was mostly review as well; I would probably keep it as a reference book for all the difference options in web navigation. Very solid for novices, though.

Posted in Compute, Myself | 1 Comment

Verbosity, Verbosity, Verbosity

If you spend twice as long building your debugging framework as you do actually developing, you still come out ahead – you get all that time back as soon as you catch just a few errors. It feels like a big investment, but it’s always worth it, for both the time savings and the annoyance-curbing. Verbosity, verbosity, verbosity, then fix it.

Posted in Aside, Compute | Leave a comment

CS Education Week

This week is the first ever Computer Science Education Week. Some of the statistics on the official site are sobering (“The percent of high schools with rigorous computer science courses fell from 40% to 27% from 2005-2009”), while others are exciting: “Computer software engineer jobs expected to grow 45% over the next five to seven years.” Just think, for every two software engineers you find today, there will soon be a third. An incredible amount of growth.

Computer science offers students avenues of self-expression, improved reasoning skills, and the ability to look at the bigger picture while not discounting the details. These opportunities alone are too good to pass up; it is essential that we work on increasing exposure to computer science and decreasing the surrounding stigmas, from elementary school onwards.

Posted in Aside, Compute | Leave a comment

Chrome Extension Modding and Its Speed

I’ve been using Chrome considerably more over the past few weeks, and with the addition of [developer-only build] extensions, Firefox may gather more dust than I expected. I just tweaked the Google Reader Checker extension to fix a weakness it has: when you visit the Google Reader site, the new-items badge notification does not update to reflect the fact that you’ve probably now read the new feed items; instead, it waits until the checking time interval expires before checking again. This was easy to fix: just one line of code put in the proper place, and now when I click the badge to read the new feeds, it erases the new-items count.

As far as why my loyalty is shifting from Firefox to Chrome, the simple fact is that Chrome gives a snappier (and thus, better) experience: opening and closing tabs is instantaneous, scrolling pages is more tightly tied to the physical action of spinning the middle mouse button, and various websites with heavy JavaScript just respond faster. If I could get the Omnibar to work exactly like the Awesomebar does in Firefox, there would likely be no going back (though, of course, Firebug wins for any web development needs!).

Posted in Aside, Compute | Leave a comment

CNN Features Commenters in Pullquotes

I just noticed a [presumably fairly new] feature of the new CNN design: a given article can use part of a comment from a reader as a pullquote on the article itself. Pretty cool, since it raises the bar on the amount of recognition one can get from leaving thoughtful input on an article.  It also gives pieces more of a taste of for-the-people-by-the-people, more of a conversation, rather than being a static, stale document delivered on a gold platter. I’m not sure what qualification system is used to decide what quote is used; in the referenced article it is just pulled from the first page of the comments, or “soundoff,” section. This also could provide for a great amount of content dynamism without altering the article’s copy itself.


Posted in Aside, Compute | Leave a comment

Conference Hopping

In less than 36 hours, early Wednesday morning, I will embark on the first of two adventures in the next two weeks. By the time these escapades are over, I will have experienced my first domestic flight, attended my first (and second) conferences, presented at my first conference, and visited Washington, D.C. as well as Argonne National Laboratory for the first time. Explanation might just be in order, so read on.

Complex Adaptive Systems

Complexity science, a highly cross-curricular field, seeks to understand the behavior of complex adaptive systems (CAS), which is the moniker given to any system of self-similar agents which use a set of rules to adapt to changes in their environment. CAS are interesting in that they exhibit emergence, which is “the arising of novel and coherent structures, patterns and properties during the process of self-organization in complex systems” (Goldstein 1999). To give you a better idea of emergence, classic examples of emergence are a termite mound rising tall above the ground, resulting from millions of individually insignificant actions by termites, and hurricanes, whose novel physical structure and incredible fury is caused by simple changes in temperature.

That brings me to the first symposium, in Arlington, which begins on Thursday and is entitled “Complex Adaptive Systems and the Threshold Effect: Views from the Natural and Social Sciences.” I will attend talks and hands-on workshops on phenomenon best described as CAS, like the stock market, the brain and immune system, and the ecosystem. The symposium is part of the American Association for Artificial Intelligence (AAAI) Fall Symposium Series, and the program schedule is posted online, if you’re curious to see what I’m up to.  A great part of this is that I will have Wednesday and Saturday afternoon to do some exploration of our nation’s capital, before returning to Evansville on Sunday afternoon.

This symposium is important to my senior project research, besides being on an interesting topic; I hope to glean a better understanding as to what internal structure would be the most effective and efficient for creating a dynamic associative network that can accomplish my goal of document classification. Hearing current research on the threshold effect will be especially useful.

Argonne National Laboratory

The following week, I will take off again, this time to Chicago to give a talk with my colleague, Scott Fahle, on the research weANL conducted over the summer at DePauw University. We worked on a virtual reality simulation of the ENIAC (the first reprogrammable electronic computer); our research was funded through Research Experience for Undergraduates (REU), a fantastic program fronted by the National Science Foundation.

The talk we’ll be giving is entitled Improving a Virtual Reality Simulator of the ENIAC; you can see when we’ll be talking and read the abstract of the presentation via the schedule page of the symposium, whose full title is, deep breath, “Joint Meeting of the 20th Annual Argonne Symposium for Undergraduates in Science, Engineering and Mathematics, Computer Information Science & Engineering Education Stakeholder’s Summit, and the Central States Universities Incorporated Research Conference.

As you can see from the Program at a Glance, we also get tours of the Argonne National Laboratory, which is awesome. Sadly, I don’t have a Department of Energy ID, which is one of the requirements for admittance onto the laboratory grounds… but I think I can get a guest pass.

National Science Foundationnsf-logo

The NSF is kind enough to have provided grants for both my attendance to the CAS symposium as well as the Argonne undergraduate  symposium (though quite separately). Without them (and the support of viewers like you), I would not be able to partake in these incredible opportunities.

Goldstein, Jeffrey (1999), “Emergence as a Construct: History and Issues”, Emergence: Complexity and Organization 1 (1): 49-72

Posted in Compute, Myself | 2 Comments