Over the semester, I've learned a lot about WPF, C#, and about how to program interfaces. But I've also learned some of the basics of designing one. Balance, uniformity, being simple and not cluttered, are all seemingly obvious things to take into consideration when considering an interface, but so many people ignore them. This class has given me some appreciation for putting some time into this design, so in the future I don't fail like those geocities web page designers.
I encourage any CS student or anyone interested in technology and programming to take this class to learn some interface fundamentals, as well as gain some useful technical skills that you can use to make programs. This is definitely one of my favorite classes that I have taken at ND.
Wednesday, December 9, 2009
Wednesday, November 18, 2009
Interfaces that do too much
The interface of an electronic device may be a little out of the scope of this class, but I want to talk about something I saw. On engadget.com there was an iPod dock, like many others, that has a built in speaker and controls. What it also has is a kitchen scale, because this dock is meant to be used in the kitchen and double as a utensil and a multimedia player. Is this really necessary?? I mean, who is going to buy this just because it has a scale on it. Do you really want to have to drag your mp3 player out of the corner when you have to use a scale? Who even uses a scale in the kitchen to weigh ingredients?
This doesn't only happen with gadgets, it happens in software too. Some software tools have features that belong in another program designed for that function. One thing that comes to mind is the web browser built into winamp, a mp3 playing program for windows. Who wants to use a somewhat functional web browser in a small subset of the whole screen? I know there are plenty of other software utilities like this. Someone needs to let companies know when a feature is out of place.
Monday, November 9, 2009
The influence of uncertainty on motor learning and its neural representation
This is my blog post on a talk by Konrad Kording about how uncertainty affect affects our motor learning. He said that to predict an uncertain event, like where a tennis ball will land, we use prior knowledge and likelihood. He explained how our bodies use Bayesian statistics to account for uncertainty. To prove this, he set up an experiment where people would be misled about the location of their hand under an enclosure. He would see how the movement of the hand would change based on this. He said that it would change, as long as the people believed that the feedback they were receiving was real. If the feedback was radically off, they would be able to tell and ignore it. I found this very interesting, even if it is pretty obvious. The whole talk seemed to explain some of our actions in an easy to comprehend fashion. Basically our body has an automatic way to calculate and correct for uncertainty using Bayesian methods. If you want to learn more about his research you can visit www.koerding.com
Friday, October 16, 2009
10 GUI
I had a few comments on the 10GUI that we watched a video about in class. It seemed like a good idea, but I don't think that is very revolutionary from current UI's. The multi touch keyboard was a very nice touch, with it detecting (at least) 10 finger inputs. And it actually having different functions that corresponded to up to 5 different fingers was pretty surprising. But the fact that everything beyond one finger was only being used for window layout was dissapointing. In fact two fingers being used to scroll down in a window is exactly the same as the touchpad on an Apple computer. The only difference it that on 10GUI, it has input at multiple points, not just 2 fingers controlling one point as on an Apple. Also, the windows having to be layed out side-by-side seemed very restricting. What if you have two wide but short windows you want to lay out above and below eachother? Is this not possible in 10GUI. And 10GUI, Con10uum....these are terrible names, how can people jump on board with this product if they have to call it that. Stick to a word man, no numbers.
Even though I am ripping on this, I think it is going in the right direction. The big multi touch pad is very cool, especially if you can control the whole screen at once with the touchpad, instead of having to drag your finger across the pad multiple times to get all the way across. I like being able to use multiple fingers on my MacBook touchpad, but I think with 5 fingers, there is a lot more potential than just resizing windows. I'm sure with this kind of system, someone could make a game with a pretty intricate control system. The problem of seeing all of your windows needs to be addressed, but 10GUI's approach isn't much different than Microsoft's new alt-tab scrolling list of windows, or Apple's expose. Overall, I am excited to see if this project will develop further in the future or if other systems will implement some of 10GUI's features.
Sunday, October 11, 2009
Recreating classic interfaces
Sometime the interfaces people want are not always the most natural or efficient interfaces. Some people like what they are used to, or retro interfaces. One example is this game system made out of a Nintendo Entertainment System cartridge. They put a screen and buttons in it, and it has a hard drive that you can store NES and gameboy games on. You can find it here . This system may not be advanced as a new Game Boy DS or Sony PSP, but it can play nintendo games and has the nintendo controls inside of a nintendo cartridge. I couldn't ask for more. Sometimes nostalgia can make people like an interface more.
Since this is for my System Interface Design class, I probably shouldn't advocate using something like nostalgia to advocate an obsolete UI, but I can't help it. The Nintendo was the first system I ever played, and I miss the days when I didn't have responsibilities, I could just play nintendo all the time. But getting back to the topic, this isn't the only recreating of an old system. Many people do it, here is a not so old ps2 . Both of these systems have similar controls to the original system they are recreating. Is this because they like the interface itself more than something else they could have done, or just because they want to play it as close to the original as they could make with their custom system?
Since this is for my System Interface Design class, I probably shouldn't advocate using something like nostalgia to advocate an obsolete UI, but I can't help it. The Nintendo was the first system I ever played, and I miss the days when I didn't have responsibilities, I could just play nintendo all the time. But getting back to the topic, this isn't the only recreating of an old system. Many people do it, here is a not so old ps2 . Both of these systems have similar controls to the original system they are recreating. Is this because they like the interface itself more than something else they could have done, or just because they want to play it as close to the original as they could make with their custom system?
Tuesday, October 6, 2009
Too much touch
I realize that this class is about using more than just mouses and keyboards for input, which I think is great. I also think that the keyboard can be a great input for certain things. But I think that people should realize that they each have pros and cons, and in the future we shouldn't just rely on one or the other.
If you have ever used a touch screen phone or computer terminal and tried to input many words, you might have wished you had a keyboard. And sometimes drawing in paint you wish you had a touch screen to draw more easily. These are two totally different uses of a computer, that can be optimized by using two different types of input. The surface is a great piece of machinery, but I think anyone would agree it would not be a great tool for the entry of massive amounts of data.
Therefore in the future I think people should not necessarily move away from keyboards and mouses altogether, but definitely in certain applications. I think this is why the tablet pc keeps failing to take off. The way operating systems are currently set up is more for a keyboard and mouse. This makes it hard to take full advantage of a tablet pc without breaking out the keyboard.
Monday, October 5, 2009
When computers don't work
Technology is great as long as it works as expected. If it doesn't it can get on your nerves and make you wish computers were never invented. I had a few instances this weekend where I was a little frustrated with some interfaces I used.
One thing that always gives me trouble is logging into my blogspot account. If I click on log in, it takes me to blogger.com, which is the mother site to blogspot, but still not the site I was on. It always prefills in the username with one of my other google accounts (which may be my browsers fault actually). Because I use both accounts for websites, I got confused and though thats what I used for my username. It said log in with your google account, so I wasn't sure if the password would be the same as my google account or not... so it took a while to get logged in, to say the least.
Another problem I had was at the airport using Delta's check in computer interface. I kept trying to scan the barcode on my itinerary but it wouldn't detect it. So then I had to use the touch screen to key in my confirmation code.
The last thing I will complain about was the toll road. Instead of having a person work there 24 hours, the toll at Notre Dame now has an automated pay station where you insert your ticket and money to pay. However, it would not read my ticket to tell me how much I needed to pay. Luckily, after inserting it 10 times, it detected it. Thankfully I didn't have to spend the night there.
These interfaces frustrated me this weekend, but I think I'll stay in the computer science department.
Friday, September 18, 2009
Customizations
Does allowing users to customize their interfaces waste too much time? I know some customization is good, like allowing users to add bookmarks or move toolbars around in an app. However, what about changing skins and resizing every little thing?
Customization of an interface is very important for productivity in some applications. In graphics and drawing programs, you need the tools you use the most to be displayed right where you are working. You can't go through three menus to click on something if you are using it every few seconds. Graphics programs have so many options that they can't all be displayed, but usually you can add functions to toolbars so they are easily accessible. Things like this help efficiency and can save a lot of time.
However, while I was looking at the surface and saw the scalable forms that expand if you drag your fingers away from each other in that form. I can see a lot of developers enabling this option just so the app seems cool, even if this feature is totally unnecessary. It also got me thinking about skins and other customizations in programs. This can waste so much time, if a user keeps resizing all of the applications and changing skins every time they open it up.
So I think developers really need to think of the application when adding features. If they are developing a game, sure, why not add cool things. But if it is a utility, does it really need these bells and whistles that don't serve a purpose or help productivity?
Customization of an interface is very important for productivity in some applications. In graphics and drawing programs, you need the tools you use the most to be displayed right where you are working. You can't go through three menus to click on something if you are using it every few seconds. Graphics programs have so many options that they can't all be displayed, but usually you can add functions to toolbars so they are easily accessible. Things like this help efficiency and can save a lot of time.
However, while I was looking at the surface and saw the scalable forms that expand if you drag your fingers away from each other in that form. I can see a lot of developers enabling this option just so the app seems cool, even if this feature is totally unnecessary. It also got me thinking about skins and other customizations in programs. This can waste so much time, if a user keeps resizing all of the applications and changing skins every time they open it up.
So I think developers really need to think of the application when adding features. If they are developing a game, sure, why not add cool things. But if it is a utility, does it really need these bells and whistles that don't serve a purpose or help productivity?
Sunday, September 13, 2009
Smarts or Interface
So this week I am debating whether effort is better spent on improving the smarts/AI or improving the interface. Both can be very important, Apple's iTunes is a good example of a program that has both. It allows you to do a lot of things with your songs, and with it's genius playlists, it can recommend music that you might like. It also has a pretty good user interface, allowing you categorize music and sort it based on many different factors. Although smarts help, I think the user interface is more important
Better smarts in a program like iTunes or Netflix can help you find songs that you might like. In others like Google, they can help answer your questions or suggest something else you might need("Did you mean?"). However, iTunes not only helps you find music you might like, they also help you find music you might buy. And Apple hopes that you will buy from them. Therefore, better smarts can lead to more songs you find that you like, and more songs you buy from them, resulting in bigger profits. Usually smarts help the user and the developer.
A user interface is something every program/website has. Something for the user to interact with. Whether it's buttons, links, or something else, it needs to be intuitive and easy to use. If people can't find what they want, they won't come back to your site or they won't use your program. The smarts should come later. If Google had a great search method, but nobody could find the search box on their website, they wouldn't use it. And if people cannot easily find the features and settings they want in a program, many give up easily.
Therefore, I think time and effort is better spent on a user interface. The first time people use a program or website, it is usually for a certain purpose. If it doesn't work for that person, they most likely won't use it again. But after a good interface is implemented, smarts can help customers return by helping them find other things or just improving an existing process.
Better smarts in a program like iTunes or Netflix can help you find songs that you might like. In others like Google, they can help answer your questions or suggest something else you might need("Did you mean?"). However, iTunes not only helps you find music you might like, they also help you find music you might buy. And Apple hopes that you will buy from them. Therefore, better smarts can lead to more songs you find that you like, and more songs you buy from them, resulting in bigger profits. Usually smarts help the user and the developer.
A user interface is something every program/website has. Something for the user to interact with. Whether it's buttons, links, or something else, it needs to be intuitive and easy to use. If people can't find what they want, they won't come back to your site or they won't use your program. The smarts should come later. If Google had a great search method, but nobody could find the search box on their website, they wouldn't use it. And if people cannot easily find the features and settings they want in a program, many give up easily.
Therefore, I think time and effort is better spent on a user interface. The first time people use a program or website, it is usually for a certain purpose. If it doesn't work for that person, they most likely won't use it again. But after a good interface is implemented, smarts can help customers return by helping them find other things or just improving an existing process.
Thursday, September 3, 2009
Simpler is better?
I am a big fan of simplicity in an interface. Of course I like cool widgets on a site, but only if they serve a purpose, not to just take up space. I like to be able to find what I'm looking for, and not have to load a ton of applets. One good example of simplicity is the widely read drudgereport.com It is a news site with mostly just text links, and a small amount of pictures. The links are in 3 neat rows, which is easy to read. To read an article, you just click on a link and it takes you to the article. CNN.com on the other hand, has all kinds of tables, sections, and video applets all over the main page. If you click on a link, you might go to a text article, you might end up watching a video. There isn't really an option between them for users with slow internet. The different news sections are listed at the top, middle and bottom. Some people might like every option imaginable, but to me, CNN.com is cluttered. And even though it might have some good graphics and animations, I would prefer the basic layout of drudgereport.com
Friday, August 28, 2009
Hello
This is my blog for my System Interface Design class. We are going to learn about and program for interfaces on computer systems. We are going to program some cool stuff like the Nintendo Wii-motes, and the new Microsoft Surface platform, which is a multi-touch screen that is on a table top. I will be updating this blog with interesting things I find about different interfaces.
Subscribe to:
Posts (Atom)