Article: Degree in Applied Science (Honors) - HCI Version Control System UI

Published: Title: Degree in Applied Science (Honors) - HCI Version Control System UI

During my honors, I took a couple of classes involving Human Computer Interaction (HCI). HCI in a sense is the study of how somebody acts around technology and what results come of it. What had been troubling me in the tooling area up to this point, was the fact that to add new source locations to dub repo involved editing source code. It didn't seem right to me, so I went about trying to fix this (in UI design).

Show/Hide example code

What I wanted was for a user to have a wonderful experience where the limiting factor of skills and knowledge is merely how to the destination storage system works. They could be a manager with no experience in systems management or programming and be able to throw together access to some historic or speciailized storage system for their team to use that day. Simplicity was the corner stone of the designs I tried to implement and its sole purpose is to try and automate the "scripting" framework happening behind the scenes. The basics of which are shown in the above code example.

So I made an example setup and prototyped upon that. Be warned, it sometimes takes a few times to load. It was a very volatile setup. The dynamic and volatile nature comes from my client-templating design. It was fully able to load up each different page of a site without URL change. But of course, the large number of requests produced a very unstable loading. It also would not have worked without Javascript enabled. All logging as disabled since completion of the survey. However you're free to try it out for prosperity sakes.

As part of the course (COMP626) we didn't just create a prototype. A design had to be created with HCI priniciples taken into account, reviwed and evolved. The process we used was the Five Sheet Design. Afterwards we would do a study involving the prototype, some people. I chose in doing an online survey given the prototype. A fairly simple method to do an HCI study. During analysis I determinined that while the prototype did its job (barely). The biggest problem with it is contextual help information. Quite simply, it did not manage to inform the user on how to use the interface even if fully capable (and step by step instructed by the survey). Finally I determined that I had not actually used any existing methodology but mashed together an in the wild approach and a formal laboratory experiment. I called this a "Wild Lab". An experiment where feedback is given constantly, instructions are given but no requirements are put onto the participant into doing so much. Everything or anything can be recorded but they are not restricted. This in some ways is similar to alpha/beta closed launches for web services.

What I learned from this, even the most seemingly easy interfaces and problems can quickly become hard in UI design for multistep systems and will rethink twice before attempting this again using web technologies.