In this blog, I will discuss results of the first controlled experiment I conducted for Redprint. I will also touch upon various issues I see with my experiment setup and some of the difficulties I have in simulating some scenarios. In the end I will talk about a few other observations which I hadn’t thought of initially as part of my experiment but is worth considering.
Participants Background:
This controlled experiment involved 4 subjects over three different sessions. Over the next week, I would be conducting two more experiments with 8 more subjects. Out of the four subjects participated in the experiment, three are Stanford CS students (two MS students and one PhD student). The fourth participant is a recent graduate (completed his MS CS last year from NYU and is currently a s/w developer).
Experiment Tasks:
The participants did one of the two tasks below:
Task #1 (the 3 Stanford students worked on it)
Session 1: Create an array, add some values in in it. Print the array
Session 2: Implement STACK as an ADT (push() and pop())
Session 3: Implement Queue as an ADT ( enqueue() and dequeue() )
Task #2 (the NYU student worked on it)
Session 1: Write a function to create md5 checksum of a string
Session 2: Write a function that can take username and password as an argument and store it in a global array (password should be stored as md5 hash)
Session 3: Write an authentication model which can add user account (username ad password) and authenticate it for a given username and password.
For different participants, the time gap between sessions were different (mainly because of their schedule).
Observations:
Despite the fact that I had told them about code-mark feature, only one out of the four subjects really did code-mark in the first session. I deleted the first session code for all subjects and they were forced to start afresh. Before the start of the second session, I told them that we might delete any of their files and if they really want to reuse their old code, they must code-mark it.
And everybody did code-mark his code in session 2. They reused their code-marked snippet in session 3.
Question: Do you think, it was natural? Seems like, I forced it on them. What can be corrected for other subjects?
Most of the people code-marked the entire file. Only one of the four participants code-marked snippets/functions. After looking at the diff of the code in session 2 and session 3, I think most of them just modified their code-marked snippet to get the things working in session 3 (that may be primarily because of the fact that the task in session 3 was very little different from the task in the session 2). The quality of the code varied among different individuals. One participant wrote a really high quality code while the other three wrote the average quality code.
I couldn’t measure the time for the first session. For the second session: mean time was 30 minutes with a standard deviation of 10 minutes, while for the third session, mean time was 11 minutes with a standard deviation of 4 minutes.
Post Experiment Survey:
All participants were asked to fill a post-experiment survey. Please see the below link for details:
https://spreadsheets.google.com/spreadsheet/ccc?key=0AlQqshOTBvVndE9FZGlJdFhHYWVReDd0SFMyNGFzbmc&hl=en_US&authkey=COCnm4YB
Usage of different component of the IDE:
I logged the number of requests made to different modules of Redprint.

Note: every call for a search (in Reminisc searchbar) calls the three methods – searchCodemark(), searchExamples() and searchHelp()
Also, this search only includes search requests made by users by typing a query in the search box. It doesn’t include requests made for instant example display while typing code in the editor window.
Conclusion
I am still unsure, what to conclude from this data. I also think that I have made an error in my experiment (I shouldn’t have deleted the file from session 1). But the problem is, had I not deleted it, nobody would ever use the codemark as the file would be visible in his workspace and he can simply modify the same file. In order to prove the usefulness of codemark, I must simulate a situation where a user can’t find his old code. I am not sure, what should I change for my remaining experiments. Any suggestion would be welcome.
There are some other findings from this experiment though, which are very encouraging. Redprint IDE is very different in a way that it shows instant example results while typing code in the editor window. Some of the participants really liked it. They say that, this is the best thing they like about Redprint. Do you think it would be worth giving a try comparing variables like code reuse and time with instant example display enabled vs. disabled. I think that would be a good experiment. What do you suggest? I think this can also be a very good hypothesis. As far as I know, no editor has instant example display.
Recent Comments