GR6-User Testing

Design:

For Screenshots and Description/Discussions See → GR5-Implementation

Implementation:

The biggest thing that bothered us while doing the implementation was the fact that we weren't able to implement back-end on the level our application would require in the real world. We looked around, we read a lot, but it turns out that it's pretty hard, if possible, to take screen shots of the pages in real time. This made us think about using IFrame instead of screen shots. This would also enable user to interact with the page directly without a need to open it in a new tab. We haven't done this since a lot of work with pictures has already been done, and we realized it was ok for the scope of this class not to have updated screenshots of the desired pages, but it is something we might consider in the future if we decide to work on this project some more.

One of the big challenges of our application was to make it different from the existing one on the market. This involved an idea of visualizing our bookmarks better than it has been done in the past. We had an idea of representing them in a similar way Safari represents its history pages. The pages are easy to see, and the animation and visual effects are very pleasurable and easy to use. However, we couldn't actually find this code anywhere so we can reuse it in our app. We decided to make it from scratch. We used webkit transition property to make it look like animation=move slowly, disappear gradually, etc. This caused our app not to work properly in firefox. It just didn't want to do animation even though we used transform kit specific to mozzila. When the arrow keys were pressed, bookmarks changed their position and size, making them look like they are rotating left and right with the arrows keys presses. When they go out of scope of the screen, they become invisible.

Since this animation was hardcoded to fit perfectly inside of a specific div size, it was hard for us to implement horizontal scaling of our main div with the window size. So we made a decision to keep the width of our website constant,and just center it as the width of the window changes. The pro of this decision was that it was easier to implement and that it would fit to any size of the window (at least the ones that are currently popular window sizes among the users). The cons were that on the HD screens with huge resolution, our main part of the page looked small. Even though this is how a lot of webpages are implemented nowadays, bookmark visibility is very important for our app. We went with this decision however, hoping that users on hd screens will be able to apply cmd + if they decide that they want a bigger app :).

We chose to implement warning messages and error messages through “soft” pop-ups where the function for opening the popups was very general. Because most of the warnings and messages could be classified into several categories where inside the category only a message is changed, we made the function for opening the pop-up messages very modular and general such that it can be used across the platform, for different purpose, only by changing the argument.

Because we implemented a function that draws the bookmarks from the array of bookmark objects, we were able to achieve high modularity in changing the content of the bookmark view. Bookmark view changes every time someone presses a key in the search box, clicks on a folder, or clicks on one of the shaded bookmarks, or presses the arrow keys in order to scroll. In all of these cases, our approach was to detect the bookmarks that should currently be drawn and then use the function to draw them.

The implementation of folders was done through the dictionary where keys were folder name and values were arrays of bookmarks corresponding to a particular folder name. This implementation limited us in a way that we needed to enforce that folders have different names; however, we believed that this is a reasonable enforcement and one that we could easily change if needed by implementing unique folder ids.

The implementation of scrolling through clicks was done by simply attaching a listener to every image that is added as a bookmark and then detecting its position in relation to the current front bookmark and then rotating all the images in the appropriate direction appropriate number of steps.

The implementation of the drag-and-drop feature for copying bookmarks between folders was particularly challenging. The trouble was that browser associates default actions with the mousedown and mouseup events. We spent some time understanding how to prevent browser default events, but at the same time have the events propagated to our listeners.

Evaluation:

Briefing

"You heard about a new website for managing bookmarks from your friends and you decide to check it out. You land on a page that you are seeing right now. We will give you a few tasks that aim to test this user interface. Please think aloud and feel free to explore the interface."

(We believe that our landing page does a very good job of explaining to the users what MyWeb is all about so we kept our briefing short and simple.)

Tasks

The tasks we gave to users were divided into three main categories as specified in our previous reports:

  1. Creating and Managing the Account on MyWeb
  2. Interacting with my MyWeb
  3. Sharing

Each of these three main categories is divided into sub-tasks that we gave to users. 

“Creating and Managing the Account on MyWeb” task contained:

  • Sign up for MyWeb
  • Import bookmarks from Firefox
  • Import bookmarks additionally from Chrome (once user is already logged in)

“Interacting with my MyWeb” task contained:

  • Tell us what you think you are seeing now (given immediately after sign up/log in)
  • Create a new folder and name it “Classes”
  • Add a bookmark for 6.813 stellar page to folder Classes.
  • Create a new folder, name it “MIT” and move your bookmark for 6.813 from folder Classes to folder MIT.   
    • Would you expect the bookmark to be present in both folders or only in MIT?
  • Remove folder Classes
  • Find all the bookmarks that contain word “stellar” in their name** What do you expect that search does? 
    • Where does it search?
  • View all the bookmarks you have

“Sharing” task contained:

  • Add Jovana to your contacts.
  • Share 6.813 stellar page bookmark with your contact Jovana. 
    • What do you need to know for this task?
    • How would you obtain it?
  • Delete Jovana from your contacts. 

Observations

User #1 and User #2 belong to our tech-savy group. They are both MIT students with substantial computer experience. User #1 is advanced bookmark user, having hundreds of bookmarks in different browsers. He is also what we qualify as a many-devicer, since he has PC, iMac, iPhone and MacBook Pro, but also a couple of computers in NY and France, which would make distance access to bookmarks for him very beneficial.

User #2 was also an advanced bookmark user, having a lot of bookmarks in a lot of folders.

Inexperienced user was our third test person. Our vision when we started this project was that it should also be useful to people who are non tech savvy – people who essentially use 2 to 3 websites repeatedly. Because of this we thought that it would be appropriate to test that kind of person. This was one of our member friend’s mother, who uses a computer primarily for email, but “would like to learn how to use more websites”.

We explained this user what the bookmarks are because she was not familiar with the concept. Then we walked here through the standard set of tasks

User

Creating and Managing an Account

Interacting with MyWeb

Sharing the Bookmarks

User #1

  • Easily found the way to sign-up
  • Had no trouble importing bookmarks during sign-up                                  
  • Even though we changed the place of our import bookmark option, user couldn't find it for a long time. He was basically clicking randomly on buttons, so I told him to leave the action for later                                  
  • He asked how could he log out, because it's not obvious. Well, he can't because we forgot to include log out button at the top. If we had more time, this is one thing we would certainly improve!!                                                                                                                                                                                                                                                
  • He had no trouble adding/deleting folders
  • However, when adding bookmarks he would first add them to the folder All and then drag and drop them into folder classes. Good thing about this: he easily figured out how to drag and drop. Bad thing: he though that since all the bookmarks ar ein the All folders, that's the place for them to be, while in Classes folder, since there was nothing shown or written, he just didn't know what to do. Easy fix for this would be to write in the empty space of an empty folder: "This folder is currently empty. Add more bookmarks to it!" or something along those lines.
  • When dragging and dropping a bookmark, he didn't get any feedback about whether the bookmark was transfered or not. What made him more confused, is the fact that when he dragged and dropped, he would stay in the same folder he was at, and the bookmark would still be there, so it seemed as though, even though he drags and drops, nothing really changed. He needed to click to that other folder to realize that the bookmark showed up there too. He said that was unexpected and that that way we treated out folders more like labels, which wasn't clear in our name at all. Fix would be to when transferring a bookmark, it is deleted from the current folder so the user would have some feedback from it!
  • Searching was quite easy to figure out, but he had some confusions: he though it's searching inside of the folder he's in right now, even though our search searches all the bookmarks.
  • He loved the bookmark animation but said it wasn't completely straightforward that you can move them around with arrows, especially if you've never used safari before where the similar concept shows up.
  • Once he opened "Add bookmarks" he realized where import bookmarks was hiding all along! :)
  • He had trouble figuring out how to share a bookmark. He was trying to drag and drop it to the contacts section, and then to the name of the person he wanted to share with. Seemed to him that i should be similar to folder implementation. Also he commented that "Share" didn't really look like button, which made him less probable to click on it.
  • He liked the feedback he got from sharing a bookmark, but he wasn't completely sure what was shared? The front bookmark? Or some other bookmark?                 
  • He would like to be able to share the folder                                                                                                                                                                                                   

User #2

  • The sign-up process and initial bookmark importing was smooth.
  • Took some time to figure out where the import more bookmarks option was but eventually figured it out
  • Adding the folders was easy, though he first tried to add a folder without a name and was happy to see an alert informing that he can't so that. 
  • When deleting a folder, he tried to drag the folder to the delete button because it looks like a trash can just like in operating systems and the way delete works there is by drag and drop. After seeing that that doesn't work, he did the right thing which was to select the folder and press the delete button.
  • Tried several times to delete the All folder and for a few minutes was not sure what it represented and why he couldn't delete it. 
  • Was unclear about where the "add bookmark" button adds the bookmark to. 
  • Easily figured out how to drag and drop bookmarks when trying to add a bookmark from All to a new folder. Was surprised that dragging and dropping a bookmark from one folder to the other wouldn't actually move it but rather would copy it. Although he said he could live with that, it would have been more intuitive to actually move the bookmark instead of copying. 
  • Asked about why the bookmarks are not more spread out so that it would be possible to see more than 3 bookmarks at once. 
  • Easily found the search-box but expected search to happen in the selected folder. However, after about 10 seconds of confusion realized that it actually was searching in All.
  • Easily added and deleted contacts. 
  • Easily realized that it was possible to share a bookmark with multiple contacts. 
  • Expected that share button to look like a button, although had no trouble finding it.
  • Liked the feedback from sharing but mentioned that having more info in the feedback, such us what was shared, would be helpful.

User #3

  • found the sign up button easily
  • wanted to know whether she would have to do this every time she turns on her computer
  • When the window with the option to import bookmarks opened up, she was not sure what the names of the browsers were and thought that she was supposed to check all the checkboxes.
  • This demonstrated a potential issue that could probably be solved by having “skip” button in addition to continue and cancel.
  • had trouble finding the option to add folders, but when hinted to the “plus” button in the lower left, she explained that she expected that she would find a sign with “add folders” text on it
  • Consequently, adding bookmark was an easy task for her because she found the corresponding textual button easily.
  • When prompted to move a bookmark from one folder to another, the user was not able to figure out the task by herself, but she was very amused when we showed her how to do it
  • Remove folder was an easy task for the user because she understood that the icon has to be the trash icon next to “add folder” option that she learned about before
  • When we asked to find bookmarks that contain certain name, she struggled a little bit, but eventually realized, by the method of elimination, as she explained, that she was supposed to type into the search box.When she did that, she became much more comfortable with the application and started exploring and was very amused with the way bookmarks move around.
  • When asked to add contacts, she recognized that option must be similar to add folders, so she performed the task correctly.
  • struggled a little bit with sharing the bookmark because she tried to drag it to the contact similarly to how she dragged it to the folder. Eventually, with some help, she understood what should be done
  • deletion of contact was tried without prior selection, but she understood the warning message and then performed the task correctly.

Usability problems and solutions

We discovered some usability problems with our interface. Some were there because we didn't have time to implement every possible detail we have planned on time, some were there because we forgot to implement them, but some brought to table new ideas and solutions, different than user testing input on our paper prototype. Here we try to summarize usability problems we have discovered through our user testing, TA suggestions, and some that we have noticed ourselves.

Severity 

Usability problems

Possible solutions

catastrophic

No possibility of loggin out. ONCE YOU'RE IN, WE ARE NOT LETTING YOU OUT, MUAHAHAAH (big grin)

We forgot to add sign out button to the corner of our app, so that would be a quick and effective fix

minor

Not obvious how to Share.

Make Share button look like button and make it more obvious so it pops out on the page

minor

No feedback when the bookmark is dragged and dropped

Implement folder behavior, so when the bookmark is transfered from one folder to the other, it simply disappears from the first one and shows up in the next one. Bookmark disappearing after it has been dragged and dropped should be good enough feedback for users to conclude that it has been transfered to another folder. The question is, what to do when they are transferring things from All folder? Probably just move the transfered bookmark to the end of the line in All

major

Visibility issue: Unable to find Import bookmarks unless user saw it previously inside of the "Add Bookmark"

Maybe change the name to Add/Import bookmarks? This would make a button bigger but it would solve some bigger problems

minor

When the folder is created, not sure what to do with it

Instead of having gaping empty space in the middle of the page, we could write (In a similar way as we did for failed search) "This folder is currently empty. Add more bookmarks to it!" or something along those lines. It would guide user through the interface better and make more sense of what is going on.

minor

Not sure where the search is actually searching

Add advanced search field next to our current search (as implemented by google and many others :)) where user can select a desired search folder or any other option if he wanted.

cosmetic

The folder delete button resembles the trash folder from OS-s and leaves the impression that the folders should be dragged and dropped on it.

Make the delete button more 3D looking to indicate that it is a button and not a trash folder.

major

There is no way to skip importing bookmarks from browsers when registering,

Replace the cancel button from the import window that comes after the registration window from "cancel" to "skip"

 

Reflection:

We wish we had some more time to implement some of the features that we got the ideas for after our paper prototype. For instance, it would be very useful to have Google search inside the app, so that people do not have to leave the app if they don’t know the exact url (which happens very often).

Looking back at this semester, paper prototyping session was very useful because it pointed out a few major problems with our design which we corrected in time for the computer prototype version. We were also told to design paper prototype like only the sky is the limit in the UI world, and don't think a lot about implementation. However, we feel that designing paper prototype without thinking about implementation in advance might make it harder to implement things later on. If you design something for paper prototype that has a great UI idea behind it, but is very hard or even impossible by current standards to implement, you have to options: 1. try to implement the idea, stick to it, spend a lot of time and might or might not succeed or 2. drop the idea and try something else, but then you won't have the benefits of paper prototype user testing of that new idea, unless you conduct it again. One of the examples, is our scrollbar. From the UI point of view, it sounded awesome, it would have been useful because users could a) drag the bookmarks around and b) see the amount of bookmarks left to be seen and already skipped based on the size of the scrollbar. We tested our peper prototype with a scrollbar, not the arrow buttons. However, with the design we had, it turned out to be very hard to implement a scroll as we wanted it in the limited time, so we wasted a lot of effort and time trying to do it and in the end went for the arrows that we didn't test or discussed with our users.

Next in line was computer prototype evaluation conducted by our classmates. This wasn't particularly useful and here is why: at that stage, our interface as well as interfaces of others(we know this because we also tested them) had so many unimplemented parts, bugs and unfinished design, that all the evaluations focused mainly on that. Basically a lot of the comments were commenting on the stuff we were certainly planning to do, but didn't have time to implement just yet. We're not saying all of the evaluations were useless, not at all, but maybe it would've been much better if the evaluation was done a little later, maybe only a week later in time when we could've finished majority of things and get proper feedback from our classmates. We also felt that it was bad that we couldn't discuss our problems with our evaluators afterwards, which would help us get more feedback and discuss different solutions.Maybe all of this could be considered as suggestions for years to come in 6.813?

Final user testing was quite useful in pointing out problems that we should focus on in the future if we continue to pursue this project. It was also quite interesting because it diagnosed some issues in our UI that were impossible to spot in our paper prototype testing, for example drag and drop, and things that can only be faithfully represented inside of a computer. :)

Finally, when it came to implementation, even though we weren't asked to think about browser compatibility and scalability of our code in the beginning, we feel that it would be better to start off your code by thinking about thing like that in advance. For example, doing everything with fixed and absolute positioning was easy, but was later pain in the neck to convert the whole code to use relative positioning. Some things were even impossible to properly implement with relative positioning. Also, once you make your code compatible with one browser, it takes ages to make it work on another one too. IT would be much easier to figure it out as you go along, then leave it for later. Conclusion: thinking about window sizes, browser compatibility and other scalability issues should be done right as you begin your coding process, it's more complicated then, but sure makes things easier later on.

  • No labels

1 Comment

  1. - In implementation, before you implemented, you should think hard about how design will be displayed so you don't make decision like fitting the animation into inside of a specific div size.
    - Great job doing drag and drop bookmarks into folder.
    - Great jobs collecting and analyzing users feedbacks!!!
    - In reflection, it's true that "designing paper prototype without thinking about implementation in advance might make it harder to implement things later on" but my advice is still to free your minds and think of as many ideas as possible, and when it comes to implementation, at least you have multiple alternatives to choose which one is the most suitable.