Tuesday, February 22, 2011

Reading Blog - Design of Future Things Ch 5

Summary:
This chapter discusses the automation of things. The author starts of with a simple example of a coffee machine. He explains how this has changed the way humans prepare coffee. From this example, he jumps to a more elaborate smart house that is automated to fit you needs based on your physical actions, such as the example of going to bed. The idea of ethnography to do these automatons introduces with a Microsoft teams doing such a study to cater to a family to make a more intelligent living experience. The book then goes back to a simpler example of the refrigerator and introduces the idea of augmentation. This is the idea that a task is not automated but it is smart enough to help you through your task, thus augmenting its function to the user.



Discussion:
I thought it was interesting how they brought up the ethnography research. It makes more sense how ethnography can be applied to computer science and I can see what direction it is heading to. I feel this gave me a better picture of what to do and/or expect from an ethnography for computer science. 

Extreme Programming Installed Ch 13-14

Summary:
The first chapter talks about unit testing. This reiterates the idea of testing early and piece be piece. It is important to do so as the success of the project and customer satisfaction greatly depends on it. The second chapter goes a little bit deeper by emphasizing the writing of little tests first to pace yourself and see where you stand. This makes for more communicative and expressive code. The last chapter discusses releases and getting those changes out. Some of these changes could take some time because of conflicting edits and some are lost all together. IT is important to keep track of all changes and releases. This can be done by avoiding simultaneously editing items.



Dicussion:
I enjoyed in particular the last chapter because I felt the other two were just restating what has been said before about testing early and frequently.  This last chapter discussed how to avoid pitfalls one could run into when releasing code. It is helpful to have these in mind.

Monday, February 14, 2011

Reading Blog - Extreme Programming Installed Ch 10 - 12

Reference Info:
Extreme Programming Installed

Summary:
The first chapter just discusses the necessary task to be done after user stories. It is to sit down with team members and hear out and choose the simplest idea to implement. It is then followed by the concept of paired programming were two people work at one machine on the code. They then integrate it with the full project, test it, then release it. It also asks to keep the design of the code simple and avoid complex algorithms when possible. One could then also re factor in order to fix code and preserve the functions. It is also good to keep with the coding standards to avoid confusion on the code and to avoid overtime. It then finishes off focusing on paired programming where one is the driver while the other overlooks their shoulder and checks code. This produces better code and 2 programmers working together beats working separately.



Discussion:
I enjoyed going further into paired programming. That is one aspect of extreme programming I have not done. I would like to see how the process works first hand. I also enjoyed the statement about not working over 40 hours a week.

Reading Blog - Design of Future Things Ch 4

Reference Info:
Design of Future Things
Donald Norman

Summary:
The chapter talks about autonomy of technology and the question if we are enslaved by it. The chapter begins with some fictional article about a man being stuck in traffic for hours due to the autonomy of a car. It is used to illustrate a future where cars make most of the choices for you and asks the question if humans have become slaves to technology. The author once again uses the car of then future as an example to explain his thoughts. He explains the direction technology could go in, its current limits and trends. He uses cars acting as autonomous swarms in traffic to show where intelligent technology could lead to but also explain the limits when it comes to interacting with humans opposed to objects.



Discussion:
The future car example is getting quite old. It seems this entire book is about futuristic cars more than anything else. I don't know if I would believe such an article ever be published in the future regarding suborn futuristic cars.

Sunday, February 6, 2011

Reading Blog - Extreme Programming Installed Ch 7 - 9

Chapter 7

Summary:
This chapter dealt with breaking down larger programs into smaller parts that can be released little by little. It takes the approach of making small releases until the entire system or program has been replaced. This leaves room for change when the customer decides to go in a different direction. The chapter gives several examples in which a legacy system can slowly but surely be replaces in small releases without disturbing the work flow.

Discussion:
I agree that it is best to release in small amounts. This helps avoid programing some large scale project that may need to be modified. If you release it all at the end, then the changes may need to be implemented and you would have to restructure the system potentially. Little by little gives you wiggle room for unexpected changes and to show progress.

Chapter 8
Summary:
This chapter explains to the customer their roles and responsibilities when it comes to releases. The customer has every right to know what can be done in what time and make release decisions based on this information. The customer also has the responsibility to be there for the progrmmers and explore and clear up any questions they may have. Based on the points per each story, customer can set relese dats or schedules imn order to getwhat they feel is more important.

Discussion:
This chapter gives a good explanation of the roles and responsibilities of a customer and it lets me know, as a programmer, what to expect and how some release decisions are made. It is good to know what goes through the customer's head and how they prioritize.




Chapter 9

Summary:
This chapter talks about the iteration meeting and actually delivering and the method that goes behind it. It starts by the customer presenting stories to which programmers assign points to. It begins with brainstorming followed by assigning and picking stories.

Discussion:
This chapter feels like it is the culmination of the last several chapters put together to show the method of extreme programming as a process with customers, managers, and programmers. It helps illustrate how it all comes together to work.

Friday, February 4, 2011

Reading Blog - Design of Future Things Ch 3

Chapter 3

Reference Info:

Summary:
Norman opens up this chapter by reasseting the notion that natural interaction can be rather annoying with todays technologies. He proposes that the future technologies will interact by using natural sounds opposed to machine bleeps and chimes. An example is boiling watter in a kettle. It naturally produces a steady sound until reaches boling point, where it unleashes a whistling sound. This sound is a natural sound in which the user becomes aware that the action is complete opposed to waiting for some electronic beep. Another example is comfort noise, such as the noise made from old telephones to let users know it was dialing. Now, telephones have become so advanced that circuits are noise free. Customers don't like that. They want to hear the noise to know that the action is beinf done or processed. The challenge is to get a sound that is informative yet not annoying. Visual markers are also a great help for users. It is another way to express and not annoy. Affordance comes into play as a form of communication. Visual and audible affordances are key in designs, else they are useless if the user doesnt know it is there or exists. Communication with intelligent devices was then introduced and the variations of strictness or atonomy it can have. The behavior of users can interact and communicate with the technology opposed to a one way conversation. Norman gives the example of the futuristic car than stiffens up so you become more alert and aware. Responsive automation is another example in which human computer symbioses alows both to work together to get a task done. A funner example is the segway, in which both interact to get around.

Discussion:
I would rather much prefer a mechanical sound opposed to a natural sound. It is more controlled and is ghauranyteed not to be confused with any natural occuring sound. Who knows how the design of future thngs will be, but I feel this method is treying to hard using technology to hide technology. It is trying to be integrated into our lives more and more while at the same time trying to seem natural.