...
| The other user task was to find “Mona Lisa” bi Da Vinci. Later we changed it for finding the sketch because we implemented lessons only for sketches. So, now, Search Page looks in the following way: |
| Heuristic evaluation showed that firstly, the description of the technique was hard for understanding, so we decreased the amount of text and made it better for reading (by adding white spacing for example). Secondly, earlier we had an additional page for choosing the level of the technique. |
| During the paper prototype testing, the users complained about big number of steps before the start of training. One of heuristic evaluators suggested making a drop-down menu instead of additional page. So, we implemented it: |
Implementation
We used the concept of iterative prototyping/development. At the beginning we implemented the raw interface only with pictures/text without any feedback to the user. After getting feedback after testing, we refined our prototype as it was described in the Design section (including eliminating one transitional page) and implemented the ability to redraw one picture. After another couple of iterations (mentioned in the Design section) we refined the design again, and finally implemented the searching system adding more pictures to the website.
In addition to the interface implementation, we had two internal procedures to be implemented which should be described more detailed:
- Search algorithm.
Both the main page and the search page contains the search bar. It is aimed on searching within the list of techniques/pictures/artists to find an appropriate technique. The search was implemented in JavaScript. When the user tries to search for a certain phrase, the search script reads the list of techniques and files with their descriptions and outputs the techniques which has the search phrase in their description. The search itself was implemented as a substring comparison. - Image processing for giving feedback to the user.
We used a standard JavaScript library for working with video and JSFeat (JavaScript Image Processing Library) for analyzing the user's progress and giving feedback. We spent a decent amount of time adding that library as well as programming image processing algorithms. This time spending might have affected our implementation of other parts. - Content.
The main idea of our project is to allow users to learn new techniques by redrawing pictures/paintings. That is why it is essential to have content to redraw. We implemented the techniques storage in a structured way, so that the process of adding a new technique will take only a couple of minutes. After adding a technique, the search script will take it into account and show it in the search results during the next search attempt. At the same time the process of adding techniques is monotonous and we decided not to waste too much time on adding techniques, their descriptions, pictures, etc. That is why we have 3 techniques, each has 9 pictures as levels of difficulty. So, the search script and the search page work for 3 techniques and 27 pictures. When the user wants to redraw a picture, he needs to watch a video on how the process of getting feedback works (it was a user feedback to include a video). We recorded one video for one picture, so the user can redraw one picture now. Again, we decided to record only one video in order to save time on doing monotonous work and to spend it on improving the prototype.
We used task decomposition and task delegation between the team members to make the implementation process more efficient. For example, the parts about the search and giving the feedback during redrawing are not connected with each other in terms of implementation. That is different members of our team did these part allowing us to save time on team meetings.
Evaluation
User Population
...