Friday, April 19, 2013

Coursera HCI Needfinding: Remote Pair Programming

Scott Klemmer's HCI class is great, but I think one thing that would make it even better would be if all the students design submissions were public on blogs for all to share and see (assuming student consent). I love to share, so here's my assignment 1:


Design Brief: Change

I observed groups of programmers programming together, trying to improve their programming skills and change themselves from less experienced programmers into more experienced programmers.


Describe how three people performed an activity related to the brief you chose. In particular, you should focus on a particularly interesting moment/breakdown/workaround from the observation. Upload a photograph or sketch of each person performing the described activity, with a short caption.

Three programmers worked on a particular feature from a programming project.  For reference here is the complete video: https://www.youtube.com/watch?v=ELNZTymLSaE&feature=player_embedded  I obtained permission from all programmers to share the session

Interesting moments/breakdowns/workarounds
1: microphone not working for one remote programmer and that programmer used skype text chat to stay in touch [video time 10:50, 22:03, 41:22 51:38, 1:08:48, 1:22:00]

2. One user learns from the other about a coding abbreviaton ("rails c" for "rails console") [video time 13:30]

3.  Use of reference to line numbers in text editor to help focus on particular things in the session [video time 49:56, also at 58:28]

Here are my detailed notes on the actions of the participants, M, J, and S:



3:30 working out how to add an epic in pivotal tracker

6:37 J using putty for some reason

8:44 J zooming size of screen (discussion of use of vi in the background)

10:50 S using Skype chat because his mic is not working, he can hear the other two, but they can't hear him

13:30 inspecting models from database in rails console, J types "rails c" which M had not known was contraction for "rails console"

14:55 J uses highlighting to point out link with the token for the login

15:36 J already did some test install based on link S sent? was an older version, lead to some errors but then J followed some more instructions on the devise website?

17:18 chrome gets stuck, but no big deal

19:36 M wonders where she is - navigating pivotal tracker

20:40 generating feature description? should this be coming from client

22:03 more text chat from S

26:23 M confirms the "so that" part of the feature is basically a comment

29:12 M thought that some menus were in spanish, but J says no, but they moved on

32:15 comparing tracker numbers in feature - wish we had links - there was confusion about which story they were working on

35:15 M interested in tab completion

35:45 M couldn't see the terminal at one point. J moved it down

37:52 J playing with zoom again

40:32 M suggests password field and then need for pipe symbol

41:22 Skype chat popup lets M know that S is texting to indicate 8 character restriction an be changed. Just after another popup indicates chatting on Skype in an unrelated discussion --> would be good if one could get a general heads up on the relevant chat …

44:36 M suggests changing Then to When in feature

~46:30 J asks for confirmation that they have finished everything they need in the scenario

49:28 discussing whether the user name is in the system, or only the email

49:56 M pointed out indent issues to J used line numbers to indicate where to look

50:48 M unable to hear J, asked for confirmation- he was checking again if they'd finished

51:38 S reminds them of losing password feature by text chat M tells J via audio

53:20 work out that they need to add another user story

55:00 J accidentally? clicks on Skype and then needs to minimise

56:28 M helps with spelling correction

58:28 M says to J "you have a typo on line 37" again using line numbers

59:15 M suggests a grammatical correction

1:00:20 M suggests sign in page rather than log in page for consistency

1:02:30 M has funny text message sound

1:06:51 - more tips from S in Skype

1:07:43 M corrects indentation

1:08:48 S points out cucumber doesn't require the indentation, and M acknowledges but points out it is important that it should be consistent

1:10:45 M points out some spelling mistakes

1:14:00 J has to nip off to answer phone, M pauses the screen recorder and then restarts - perhaps we lost something?

1:17:00 can hear Skype notification sounds(?) in the background

1:18:40 Other Skype users coming online notifications

1:20:29 J says he needs to finish up

1:21:00 discussion about how M can access the work that J has done on his computer

1:22:00 S points out that changes can be pushed to github repo, and there is discussion about pushing that to branch

1:23:50 saying yes in text to S, but he can hear them no?


Write a list of needs/goals/tasks inspired by what you observed

1. text chat could be spoken aloud by some automated text to speech system to allow those without microphones to participate

2. would be good to have each user have their own mouse so that they can point to things in the shared space

3. Would be good if the only relevant text chat interjected

4. Would be good if the text chat could appear without the users having to switch windows

5. Would be nice if the text editor caught some spelling mistakes in cucumber feature files

6. Would be good it important external calls could pause the screen recorder

7. Would be good if paused screen recorder had more observable "pause" status

8. Would be good if users could see more of each others status in a lightweight way, e.g. whether they are busy, distracted etc.

9. Would be good if all users could edit in parallel, e.g. fixing each others spelling mistakes

10. shared whiteboard for sketching would be good

11. bigger screen real estate for all would be good, e.g. at least two monitors for everyone and everyone able to see all of each others screens, so more like sharing an entire wall

12. would be good if the task being attempted was scaffolding in some way - could tick off when certain goals had been achieved

13. would be good if sharing and recording were always on, so that it was just like dropping into a room rather than having to set up a load of software

14. would be good to have some way to have other groups of individuals exist in the same space so that they could be called over to help on particular issues and then drift off

15. every increase in bandwidth to support higher resolution video and audio streaming would be useful for the participants

16. everyone could use help finding shared times for pair programming, coordinating the agenda, preparing to make the best use of the session



1 comment:

Sam Joseph said...

Interesting - it seems that this time around we have a permalink to share our results with our classmates https://class.coursera.org/hci-003/human_grading/view/courses/970447/assessments/15/submissions/1084