Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Hey! My name is Matt Drake and I'm a second year comutational media major. I had a hella lot of fun with software practicum(I swear it's possible). And I'm pretty stoked about what we're doing in this class. I'm in Dramatech and I hold a job during the week. I got a feeling a lot of my weekends will be spent on coding....
Don Norman's “In Praise of Good Design” is a fantastic set of products that he and his users have found to be of good design. I find this article extremely compelling because Don Norman is actually extremely good at design evaluation, and, having read this, I believe that both designers and every day users of anything designed can benefit from it. On the surface, it's fairly obvious that designers can benefit from reading the evaluation of another product so they can see Norman's practice in action. They can hear what he has to say as critique and what he has to say as praise, so they can both try to avoid making said mistakes and try to recreate said good design. For nondesigners though, this article also offers something. As Norman goes through each product, users are made aware of the design standards they normally do not have. And it is here that Norman succeeds in making the strongest statement. The truth is that most consumers will just make do with bad design, and it is excellent that Norman is capable of eductating them otherwise.
Don Norman's essay “Words Matter”, Norman talks about the origin of the current term for person that one designs for, “user”. The essay, while little under one thousand words, is very short, and does not do more than establish the concept of having something more important than a “user”. In this essay, Norman simply makes a set of references with the primary being to Bruce Sterling. While it appears Norman has nothing concrete to say on the subject other than “this is mean”. That being said, it is a nice article that brings a new subject/mentallity to the design relm. It is far too often that developers do not regard the people they develop for as anything more than an end user that pays for software. This is excellent for tech students in that we need to learn to create for our people and create for creation. This not only gets us creating better products, but also puts us up for a personally rewarding career path.
Don Norman's essay “Logic Versus Usage: The Case for Activity Centered Design” never really makes that strong of a case for acticity centered design. It does like his last essay, however, bring up a very important subject when it comes to design. We return to what was brought up earlier with the essay “Words Matter” where Norman earlier derived the degrading term “user” from a companies' business-centric and not service-centric business model. Here, we find that modern standards for organization lie based on taxology and stocking practices instead of actual use. One must design not just for production but lean toward a medium between production and use. As designers we need to realize that execution is only successful if our execution occurs with as many users as possible and as often as those users want.
2-D Animation Studio - Scripting Interface by M. Ahsan Hussain was my first case that I reviewed and I found it perfect to support my philosophy on computer programming. The primary lesson learned from this project was that the user was not given enough constriction as to how to interact with the software designed. There is a sense of elitism that computer scientists and engineers sometimes ride with their designs and I'm glad to see that those people saw some dangers in that attitude. Those that make the plans often like to be the only ones that understand them but here the designers have found that it might be a good idea to offer a constriction so that creativity is allowed without making error too prominant within the software.
Flash Gordon Productions seems to be a very strong example of people embracing actual studio programming. When one works in actual code development, they do it at an office surrounded by people with a specific agenda. I think that this happens because communication is so important and useful for coding. The creative process is actually quite integral for coding and that communication feeds that, and, with something like software code, it is quite possible to convene over something specific. This is a major mistake made by almost every programmer I've ever hade the "joy" of meeting. I myself is more than guilty of thinking that it's possible to code alone. It'd be relieving, for once, to not have to learn this the hard way.
Chowder Powder Cases highlights a desperate need to learn squeak and parts of the morphic environment. This is a serious milestone obviously for coding in a specific language. The deperation behind the group's suggestion moves me the furthest. I find that having a limited grasp on your tools when it comes to software development is the quickest way to poor productivity. Watching what this group says, I think that this will be a priority in my studies. Being able to use your computer like a freaking weapon is no different than ease with other tools. This, I think will help me succeed in this class. A strong hit in the beginning might ease the learning curve as we progress.
Model View Controller paradigms are useful because often users will need multiple views of the same model and concerns often need to be seperated. MVC works where a model device will alert the ever-updating view device inolved with displaying the model that something in the model has changed. The view then asks the model what has changed, and now shows it when it updates.
Refractoring is necessary when code does not follow good object oriented design. It occurs either with inexperienced programming or when the code incorrectly has a proceedural design. The goal of refractoring is to make the code usable by other developers. Often, it is related to bad variable names, magic numbers, long methods, and hacked code. It is recommended that users use explanatory variable names, that users define final variables with a name (HEIGHT or DATE), and use polymorphism instead of conditionals.
Pair programming serves as efficiency method for coding done out of a single computer. Two programmers will create a single piece of code where one programmer does actual coding and the other directs the programmer's work into the project.
In extreme programming, programmers need to create systems that are consistently simple, well tested, and well integrated. In the case of pair programming, programmers are consistently being tested by each other. Using this method, they are better inclined to fit to XP's guidelines.
Programmers are often completely familiar with the software they are developing. A problem that arises from this are programmers assuming users will know exactly what to do and how to do actions using their software. When designing, programmers need to remember that they should keep error and usability in mind.
User errors are broken into two different categories. Mistakes are the simpler of the two and are when users try to do a wrong action in the first place. Slip are when users attempt to do a correct action but execute it incorrectly. Mistakes are ultimately preventable while slips can simply be deterred.
Natural mapping is when software carries similar functionality to that of the real world. When someone is developing a door, it is logical that the doorknob opens the door, not turns on the light.
Gulf of execution occurs on user side when the user wants to have a specific action occur. When a user is trying to find out how to send their rocket into space, the user will try to find a button to launch it.
Gulf of evaluation occurs between the user and system when the user needs to evaluate what the system outputs. In the case of the rocket, the user will have to find a button that implies that it will launch, maybe by being bright green with the word “GO” right in the middle.
Links to this Page