Webmarking:
Managing Web Bookmarks and Browser History Files in One Interface |
|||||||||||||||||||
Interactive Prototype #3 - Final Project Writeup | |||||||||||||||||||
home |
Who worked on what? 1. ProblemBookmark and history functions of web browsers offer a convenient means of retrieving pages that a user has saved or recently visited. Although many browser users find these functions, especially bookmark, useful, their user interfaces are not intuitive and easy to use. It becomes more difficult to locate a certain page in bookmark or history as lists become larger, and the current interfaces don't offer adequate information to find how to organize and navigate the lists. In addition, a user cannot search both bookmarks and history files at once.2. Solution OverviewThough this project, we proposed an integrated interface for bookmark and history functions. The new interface will enable better management of and navigation in a list of URLs and help users to maintain their own useful archive of web sites. Our solution to the problem stated in the previous section is summarized as follows;
3. Tasks & ScenariosTasksWebmarking is targeted for web browser users regardless of their experience in bookmark/history functions of conventional web browsers. Tasks performed by these target users can be divided into three categories.
Final Task Scenarios Throughout the design process, we used the following three scenarios; A. Simple organizing of bookmarks and folders (a, b, c, d)These scenarios are created to cover tasks specified in task analysis. (letters in parentheses represents tasks included in each scenario) At the same time, they incorporate features which are unique in Webmarking. These features include;
AStoryboards
4. Design EvolutionScreen images of the design evolutionHow did the interface change? As is to be expected, numerous changes have been made to our Webmarking system as the result of user tests and other evaluation techniques. Most of these changes are rather minor and superficial, though, when combined, they do often create significant changes in the way the interface looks and feels. Our first prototype was a crude but effective attempt to implement the ideas from our task analysis effort on a ’paper computer’. The informal testing of this prototype uncovered a wide range of more or less serious problems, most of which were easily solved. For instance, some dialog box fields were unclear or unnecessary, and the distinction between single and double mouse click was not always obvious. More important problems included a conceptual flaw with the ’Map View’ – what if a site was not visited by link, but rather, indeed, by bookmark? By our next prototype, we modified this feature so that ’unrelated’ links would simply show up as root nodes in the map. Another problem was the lack of integration between our system and the Web browser – the users indicated that they would only use the system frequently if it behaved like a natural extension of the browser. As the implementation of an interface between a browser and a Java program is a major hassle, our system has remained strictly stand-alone; if nothing else, we are at least aware of the problem. Perhaps the most significant change between this paper prototype and the first interactive prototype was the inclusion of ’redundant’ interface options – many functions could now be accessed in several ways (this redundancy was extended even further after the pilot test). For instance, an "Open page" button was added, giving the users an additional way of expanding (i.e., opening in a browser window) any selected bookmark or history file (the original way of doing this would be to double-click the icon. Also, we expanded the information available on each icon – now, when the user placed the mouse pointer at any icon, information such as the URL, full site name and date will pop up (this allowed the interface to show more information than previously without increasing the icon size). Finally, the navigation functionality of the ’Calendar View’ was expanded – it was now actually possible to easily choose between day, week and month view, which was obviously a required feature. The second interactive prototype was implemented in Java, and was changed according to the heuristic evaluation taking place between the two prototypes. We found Java to be far more flexible than Visual Basic, so quite a few problems were now easily corrected. Many ’Wizard of Oz’ tricks were no longer necessary – the file structure could for instance be upgraded from a complete fake one to one that actually works more or less the way it would in a final version. Quite a few of the usability problems that our evaluators came up with were ignored due to time constraints. We could not, for instance, afford the time to create a ’Help’ function for our system, as this would require rather massive amounts of time. Still, of course, quite a few problems were corrected. Again, the navigation functionality of the ’Calendar View’ was improved, allowing users to browse more easily through their history folders (previously, it was only possible to look at today's or yesterday's bookmarks without searching). The main changes in ’Map View’ were caused by the pilot user test. Here, it was revealed that this feature was too confusing, and therefore not very well liked. The primary improvements dealt with navigation difficulties – the users did not easily understand how to move back on forth in this view. To reduce this problem, we changed the lines linking the various sites to clickable arrows, which will hopefully be more intuitive. Further user tests would be necessary to confirm this. Another problem in ’Map View’ was the fact that the icons did not give away enough information about the underlying Web pages. Our previous idea had been to display information such as the URL, full site name and date when the user placed the mouse pointer at any icon, but our testers did not find this adequate. Consequently, we decided to change this feature, and we do now display more information in the icons themselves. Needless to say, this consumes more screen space, and might as such not be a valid option for a Map of 200 Web sites... Looking back at our initial design sketches, it is interesting to see that, while changes have certainly been made, the main ideas behind our interface have in fact been with us from the beginning. We can only conclude that either our initial concept was a sound one, or the evaluation techniques applied throughout this design process have been inadequate. Evaluation techniques As the various evaluation techniques took place at different stages of the system's development, it is somewhat difficult to compare their usefulness. Obviously, the lo-fi user test discovered mainly problems of high granularity, as it took place at a very early stage (as it's supposed to, of course). The pilot user test, on the other hand, tested a far more refined version of the system, and the problems uncovered were unsurprisingly also of a more refined nature. As such, it is hard to say which was the most useful, since the evaluations fulfilled very different roles in the product development. Still, some general comments can be made: The lo-fi test was quite useful at providing insights into both the good and the bad sides of our initial design. This was contrasted by the heuristic evaluation, which, while uncovering many problems, did little to tell us what really worked (and which should as such not accidentally be removed in the effort to live up to some heuristic). Also, quite a few of the usability problems found by the evaluators were requests for rather extensive new functionality, which would certainly have been useful for a 'real' application, but is a bit beyond this project. Finally, the pilot test, as the lo-fi test, showed us both the good and the not-so-good sides of our design, though the problems discovered were of a different granularity. Screen images of the design evolution Links to the previous assignments 5. Final Interface
cd /www/docs/courses/is213/s99/Projects/P1/interactive/javaswing/
java WebMarking
Overview We have implemented the main application window as well as several important interaction methods to provide a way for test users to walk through the scenarios described above. Methods include menus, clickable icons and drag-and-drop operations. Dialogs for adding bookmarks and folders are implemented as well. Finally, we have included three different view modes: Main, map and calendar views. All basic operations and functionality required to try the test scenarios are provided in this prototype. Functionality This is the functionality available to users of our third interactive prototype: Basic features
User interface design Basic
features Views
Search
Map
Calendar
Unimplemented functionality In out final prototype, we have still severely limited the functionality of the various view modes. First of all, drag and drop function of bookmark/history file to bookmark folders could not be implemented. This is due to the programming difficulty in Java and limitations of development time. During the user test, rearranging bookmark/history files is done most easily by imagination. (We explained test users that the function is not implemented and asked them to simply tell us if they wanted to drag and drop something.) Though our Webmarking application is intended to function as an integrated part of the Web browser, the Java prototype we have at this stage is strictly stand-alone. This is mainly due to two reasons: First of all, this integration is not strictly necessary from a tester’s point of view - the application’s functionality can be adequately examined even if it is separated from a browser. Secondly, the integration of a Java program as a plugin in a browser is, if not entirely impossible, well beyond our team’s abilities. Bookmark/history files displayed in Map and Calendar views are static, i.e. they are displayed based on task scenarios we used throughout the design process. To create fully functional Map and Calendar views, we first needed to come up with data structure and detailed rules for the visualization tailored for these views. Considering limitations of time and scope of the project which is to design UI and test "prototype" not the final product, we have decided to limit the behavior of the prototype to those required in three task scenarios. Search results are faked as well. No matter what the search string contains, the results returned are the same. This function is implemented only to satisfy scenario C, therefore, it can be viewed only in Calendar view. Similarly, map view will only show one particular tree, and there is but two root nodes to choose from as described in scenario B. As long as test users stick to the scenarios, these simplifications should have of no or little impact. Although the functionality is limited, our prototype includes all components (menu items, tool icons, different views and folder trees) specified in the design based on the results from a series of user tests. Tools The final prototype is implemented in Java using the Swing components. Coding was done using JDK1.2 without any WYSIWYG type of programming tools. Our first interactive prototype was created using Visual Basic. Primary reason for switching to Java from VB was to take advantage of the variety and flexibility of Java's Swing components. For example, "tree" component of VB is strictly for file structure and it represents the actual file structure of the hard disk drive that the application is located. In Java's Swing component, "tree" is a representation of any hierarchical data. It can be a file structure or a set of bookmark folders stored as a text file. It is also possible to change icons in the tree to something other than a file folder. ImageIcon in Java was also very useful in creating our prototype. GIF images can be displayed in a button, label, tree or list quite easily. Especially the feature to include icons in a list of texts helped us to show bookmark and history icons in Main view. In addition, tabs that could be displayed at the bottom of the window made it easy to implement three different views in our prototype. In VB, tabs are at the top of the window as default and their position could not be changed. (Or at least we could not find out to change it.) Given the variety of Swing components, we could create the interface with customized look that includes many small components relatively easily. However, the use of many components introduced the complexity in coding. In addition to the difficulty in visualizing the concept of Map and Calendar views discussed in the previous section, we had to deal with the communication between several components to make them react to events in different components. Although many of our group members had previous experience with Java coding, it took us for a while to catch up with the latest version of Swing components and event model and that resulted in the final prototype with very limited functionality.
|
||||||||||||||||||
task analysis | |||||||||||||||||||
low-fi prototyping | |||||||||||||||||||
interactive
prototype #1 |
|||||||||||||||||||
interactive
prototype #2 |
|||||||||||||||||||
pilot
user test |
|||||||||||||||||||
interactive prototype #3 |
|||||||||||||||||||
final
presentation |
|||||||||||||||||||
last
updated: 05/10/99 |