design


Here are the papers that were in Bioinformatics, Volume 22, Number 21. You can check out the site on a production server at http://ifold.dokhlab.org.

Base Paper [Adobe PDF]
Supporting Information [Adobe PDF]

A while back I was messing around with a graphic design project and happened to indefinitely screw up my color settings in Photoshop. I have no idea what I did but I thought, hey, I can live with this. Until I spent two hours trying to fix the color on an organization flyer. I’ve searched everywhere on the internet, tried dozens of color settings but nothing works. The problem is that all of my colors are desaturated in PS. I’ll design something with the desaturated color pallete but when I export a flattened image, the entire image has brightened. All of the highlights go crazy. My browns turn to pinks. The maroons turn into neon reds. The jungle green turns into a bright shade of puke. I’ve never seen anything like it. Here’s an example in CMYK (US Sheetfed Coated v2):

Here’s what the color SHOULD look like (and what it looks like while I’m designing it, even though it’s a desaturated color pallete):

The Good Photoshop Color

Here’s what the color ACTUALLY looks like, after it’s been exported to a flattened JPEG:

pscolorbad.jpg

That last image is kind of what I was going for — you can see I actually had to desaturate the colors pretty badly in Photoshop to get it to turn out right in the end. So i’m pretty much working as if I had some weird kind of color blindness.

Identity Design project for Graphic Design. Click to see the business card/letterhead.

Adition Logo

I could go on and on about Apple’s design and innovation, but seriously, the videos and pictures of Spaces, Time Machine, and others speak for themselves. I love their marketing too: “Redmond also has a cat. A copycat”.. haha. I admit, good design and marketing, but come on, Apple has borrowed more than a few things from third-party companies ;] Another cool thing from OS X that isn’t mentioned as much is their amazing new advances in speech feedback. In an earlier post I talked about the iPod getting speech feedback.. well, here’s what the synthesized voice sounds like:

http://www.apple.com/macosx/leopard/accessibility.html

They’ve really got the tone and inflection down pretty well. The only reason that it sounds computerized is probably because they wanted to speed it up. I’m betting this is the same stuff that’ll go into the next version of their iPod. They even simulated the “breaths” at commas and periods… that’s attention to detail.

One of the ideas I had for my Computer Science Honors project was to bring speech recognition/feedback to the iPod. The iPod is a great piece of work from an engineering point of view, but from a usability standpoint, it’s not up to par:

  1. A user can barely hold the iPod with one hand while scrolling through songs (as opposed to the single-click-and-hold idea). The one thing that irritates me the most is that there are so many mobile devices out there that only seem useful to some weird species of alien with detachable thumbs. Here’s a good test: hold your iPod, your cellphone, whatever, in a position that is most comfortable in your hand — not the way in which you would normally use it. Now attempt to use it. Try and press the buttons. Navigate through the menus. With my “smartphone”, I find myself bending my thumb in ways I never thought possible, and trying to click those teeny buttons. Come on. What were you designers thinking?
  2. Navigating through the menus is analogous to driving through a really complicated neighborhood, trying to find the house you want. Once you reach a dead end, you have to navigate back the way you came until you find something that seems familiar to you. Why should the end-user be the one who takes the plunge into the sea of menus, successively drilling through them until they reach their goal?
  3. Driving with an iPod is a good way to wreck your car. Even walking with an Ipod can cause a head-on collision with another person. I find it hilarious that a “mobile” mp3 player was created that actually forced the user to stop everything they were doing to find a song they wanted to play.
  4. Accessibility. This is an obvious one. Imagine a blind person who enjoys music. The most popular music player on the planet cannot be used by them. There are a couple million people in the US who are so paralyzed that they can only move one finger. Imagine seeing how amazing the iPod is and being unable to scroll through your favorite songs.

So there lies some design problems with the iPod. I believe that some of them can be fixed in a unique way through speech recognition and feedback. The form factor problem, well, can be fixed by getting another mp3 player :) The thing that really drove me the most for this project was the accessibility issue. As a brother to a disabled girl, I’ve witnessed for 21 years how hard it is for people with disabilities to use things we take for granted everyday. It angers me that in this day and age, engineers and designers turn away from people with disabilities, claiming that they’re not in their “market segment”.

Speech feedback would be useful for users with blindness, as well as those people who drive cars and listen to music. As they scrolled through the songs, they could hear exactly what song name is highlighted. They could also hear where, contextually, they are in the song: “20 Percent”, “50 Percent”, etc. to aid the fast-forwarding/rewinding problem. An interesting method would consist of being able to “tag” certain categories with snippets of music, instead of reading them out through a monotone, computer-generated voice.

Speech recognition would also be useful for blind users, and could bring in an entirely new interaction model. Wouldn’t it be awesome if you could simply state into your iPod: “Thievery Corporation, Lebanese Blonde” and it would simply look up the song and play it for you instantly? Goodbye animated menus. You wouldn’t have to do any sort of navigation.

The brute-force strategy of the speech recognition idea would simply involve doing a speech-to-text transformation and performing a search on your songs based on that text, and playing the most relevant.

So how did Apple kill my honors project? The next version of the iPod will have speech feedback. So it didn’t exactly kill it, it just implemented half of it. The speech-to-text will probably exist in a much later version, and would probably be centered around a completely guaranteed approach of performing the speech recognition. Even if they did implement half of the idea, I’m extremely happy. It’s great that companies can realize design issues and fix them in successive versions of their products, especially issues regarding accessibility. I’m still interested in the speech-to-text part of it.. but I have some other interesting ideas for my honors project..

One of my favorite classes I took in the past three years of college was Computers and Ethics (also known as the disgusting, 1990s term: “Cyberethics”). Although most of it was bashing the use of computers in everyday life and attributing them to a very morbid, Terminator/Matrix-esque view of the future, there were some interesting points that were brought up. One of them was known as the “Silicon Imperative”. The general idea is that we should always question whether a computer should do everything for us. The obvious fact here is that humans are smart and computers are stupid. It’s simple — humans are not “digital” (either this, and/or that) in their logic. We have emotions. We learn based on previous events. We can see patterns very quickly that computers cannot possibly do at the moment. Therefore, there are many things that should not be “Silicon Imperative”.

I agree with all of that — for the present. However, if you have a software project that has a goal, that interacts with users, and gives them a useful featureset, you shouldn’t half-ass it. One of the most debatable areas, I think, of the Silicon Imperative, is in security. The reason why I’m writing this is because, from an end-user point of view, it seems like we are promising security at the sacrifice of innovation and user interaction.

There are some products that have been entering the market – you can probably guess what they are — that seem to embody this kind of thinking. What would your life be like if you had an assistant that promised to do a lot of things for you? Doesn’t that sound nice? Someone who made your food, cleaned your house, organized your desk at work. That would be awesome! Now, imagine if this same assistant would ask you, every time if you really wanted the food you were about to eat. Or, everytime you left the house for work, would ask you how you wanted every room to look like. Or how you wanted your desk to be organized everyday, and if you really wanted that manuscript to be shredded at the end of the day. Yeah, not so great, huh?

Why can’t the assistant remember what we asked? Why can’t it realize that the manuscript is confidential and that we don’t want it, instead of asking us everytime? Is it really that stupid? That assistant has manifested himself in the form of software.

“Hey, I’ve got a great idea, let’s ask the user every time if they really want to perform this certain action. That way, if something goes wrong, it’s not our fault! Sweet!”.

In this day and age in the software industry, is security really that bad that we should sacrifice user interaction like this? The “guaranteed” way of software security is not usually the best. Your software might not have any innovation and it might not do some intelligent adaptation based on what evils are out there, but I tell you what — your users will. You can barrage them with all kinds of prompts and confirmations, but the inevitable will happen: they’ll just click through them without even reading them, and that’s a huge security risk in itself.

What happens after a user accidentally clicks through a prompt and breaks the threat model? Are you going to sit back and point a finger? Is that what we do? Isn’t our goal to help people in their everyday lives instead of making them feel stupid by blaming them? Perhaps we should think some more about the Silicon Imperative…

There is some amazing work going on at Microsoft. Recently I heard about a project that would bring WinFS — Windows' next generation filesystem — to a completely new world of applications. It's called Project Orange. Nothing much is being said about it, but there is one little tidbit on WinFS's Team Blog:

"Project Orange is a brand new team tasked with building a next-generation Information Explorer based on WinFS and WPF (AKA Avalon) to help users finally get organized."

So imagine the traditional way of finding what you want in Windows. Windows Explorer: you go to My Computer, C:, all in one folder (or multiple if you want), navigate through the folders in a tree-like algorithm. WinFS is based on an entirely new paradigm — a single file could be in multiple "folders". When you start to visualize how this is possible on a desktop, you'll start to realize the crazy possibilities. Here's a video to help you (WinFS's iWish video)

This entire semester two other developers and I have been working on a web queuing project for submitting protein folding requests. About an hour and a half ago, we completed our final presentation. We have a little more documentation to do and some more tasks to flush out, but other than that, we've written a complete end-to-end system that allows you to submit tasks, see them in a queue, distribute them to a possibly clustered compute environment, and get your selected outputs (movie files, graphs, whatever you want) back.

This has been probably the coolest, and most fun, project I've ever worked on. Not to mention that it's the most successful project I've worked on. Our client presented the project at a DARPA (DARPA = government branch that researched and developed the internet) conference two weeks ago. We're in the process of working with our client to write a paper on it, and our client is in talks with other universities around the nation to distribute the web application to their servers.

In four months, we've developed the world's first protein folding simulation on the web. How frickin cool is that.

Here's a screenshot of the main page, after you login:

Screenshot of iFold

“CNN International will launch a major overhaul of its on-screen presentation on February 5 in a move described as a “radical move away from the cluttered screens and heavy graphics that currently prevail in today’s rolling news and business networks.”

Click here for the full article.

iFold

For my software engineering class, we essentially spend the entire semester working on a project requested by a client. We constantly keep in contact with the client and also adhere to various software engineering principles and methodologies. Our project is called ‘iFold’. The problem is that our chemistry department has software to analyze protein data and generate images and movies of proteins, but this could take anywhere from 15 minutes to 15 months. The issue is multiplied when people all over the world are trying to access the software and get denied because the queue is full.

So our goal is to provide a nice interface for these outside scientists to see the queue as well as submit jobs, etc. In addition, we have to develop our own little web server to handle the transactions coming in and going out of the visualization software. You can access our admin site here.

Next Page »