



![]() |
Implementation Challenges Associated with Developing a Web-based E-notebookDepartment of Computer Science, University of Montana, Missoula, MT 59812 Email: reimer@cs.umt.edu; Web: www.cs.umt.edu/u/reimer/ *Department of Computer and Information Science, University of Oregon, Eugene, OR 97403 Email: douglas@cs.uoregon.edu; Web: http://www.cs.uoregon.edu/~douglas/ Key features: References; Table 1; Figures 1, 2; Addendum (added 2004-03-24) AbstractAs people increasingly turn to the World Wide Web to help them manage their daily tasks, they engage in the process of information assimilation (IA). IA refers to the gathering, editing, annotating, organizing, and saving of Web information, as well as the tracking of ongoing Web work processes. Although evidence suggests that IA is a critical process for Web users, it is currently not well supported by existing browsers and other software applications. The lack of adequate software support for IA may be attributed to implementation difficulties associated with developing general Web-based applications. In addition, usability must be a major priority in the development of interactive systems to support IA. The NetNotes prototype, a Web-based e-notebook, represents a limited solution to the problem of developing software to support IA. NetNotes works in conjunction with a specific Web domain, deals with a limited number of Web components, and requires minor server-side modifications. Despite these limitations, however, the NetNotes implementation exposes some of the key technical problems associated with implementing Web-based software, it successfully incorporates a number of critical IA requirements, and it is robust enough to be used in future experimental evaluations.1 IntroductionWhen people use the Web, they often engage in a process referred to as information assimilation (IA). IA is defined as the gathering, editing, annotating, organizing, and saving of Web information, as well as tracking ongoing Web work processes. Usability must be a major priority in the development of interactive systems to support IA. Evidence that suggests IA is a critical process for many Web users--and scientists in particular--comes from a number of background studies (including an ethnography and a review of the process of traditional notetaking) which are described by Reimer (2001) and by Reimer and Douglas (2003). This paper begins by looking at the process of IA in more detail, and evaluates how well two of the most commonly used Web browsers (Netscape and Internet Explorer) support critical IA tasks. For the most part, these Web browsers fail to support the process of IA in an integrated and useful fashion. This result necessitates the development of other more useful software applications which are focused on end-users and their critical tasks, despite the technical challenges that are involved. The second half of the paper describes the implementation of NetNotes, a Web-based e-notebook designed specifically to support critical IA tasks. Some of the technical difficulties from an early version of the NetNotes prototype have been overcome. While NetNotes still represents a limited solution to the problem, it is robust enough to be used in future experimental evaluations.2 Support for IA2.1 Web browsersTo determine the current state of software support for IA, we performed a heuristic evaluation (Nielsen and Molich 1990) of recent versions of the two most popular Web browsers--Netscape Navigator 4.7 and Microsoft's Internet Explorer (IE) 5. In particular, we reviewed how well these browsers allow users to perform the following tasks:
2.1.1 IA Tasks 1 and 5: Gather and Save Web InformationEven the most basic of IA requirements--gathering and saving formatted text, images, lists, tables and hyperlinks from the Web--is currently difficult to achieve using standard browsing applications. While the copy and paste commands can be used to copy selected information from a Web page into another application, such as Microsoft Word or Windows Notepad, many of the formatted objects are typically lost in the transfer. Even those applications that correctly handle the copying and pasting of some formatted objects, like text and images, fail to do so consistently.Users might also opt to save an entire Web page in HTML format, but this does not allow for the selection of certain portions of the page only, and the information is then only accessible for future use in applications that can interpret HTML code. Furthermore, images are often lost altogether when an entire Web page is saved as HTML, which may prompt users to save images separately. However, in this case the user must re-integrate the images with their related text, which requires significant effort and the involvement of additional applications. Users can also print out Web pages as a way of saving information. This option, too, is problematic because it means that users can't readily combine the information with other electronic notes or annotations, it generates too much paper that must be further organized and stored, and it assumes that users have access to a printer. Lastly, users might choose to use a Web authoring tool, like Netscape Composer, to create a new Web page from pieces of existing pages. However, these tools are designed for the generation and publication of new information, not the long-term storage of existing data. In addition to saving information from the Web, users may also need to prove that the information they are gathering existed at a particular URL, date and time. Currently, the only way users can keep verifiable records as to the state of the Web is to print out and retain hard copies of entire pages. Once again, though, printing hard copies of entire Web pages requires additional effort to organize, store and retrieve, especially when only specific portions of the pages are actually needed. Web browsing software should provide better support for users who need to maintain records validating the state of the Web. 2.1.2 IA Tasks 2, 3 and 4: Edit, Annotate and Organize NotesSince standard Web browsers lack any sort of accompanying notebook, the ability of users to perform the key IA activities of editing, annotating and organizing their Web notes depends entirely on the functionality of other software applications. In the most recent GVU WWW survey (Kehoe and Pitkow 1998), 27.6 percent of cases reported not being able to organize their gathered information efficiently as among the biggest problems in using the Web. Persistent users might be able use word processing software to edit certain types of Web information--like plain text--and then document management systems to organize and retrieve it, but this assumes that users have the necessary access to a variety of desktop applications and the technical knowledge to use these applications in an integrated fashion.2.1.3 IA Task 6: Track Ongoing Work ProcessesStandard Web browsing software is also significantly impaired by its inability to support protracted and/or fragmented work processes. While Web users may complete work in one continuous, uninterrupted session, it is equally likely that their work will span a longer period of time and multiple browsing sessions. In this latter case, it is essential that users have the ability to recall and rejoin the work of a previous Web session quickly and easily.The study by Abrams et al. (1998) of bookmarking behavior reveals that many Web users use bookmarks ("Favorites" in IE) to represent their inter-session history because no other suitable functionality exists. That these users will adapt a tool designed for something very different to compensate for missing functionality suggests the obvious need to support ongoing work activity. Further evidence that tracking previous work processes is a critical function for many Web users can be found in another notable study: Tauscher and Greenberg (1997) analyzed six weeks of Web usage data from 23 users and discovered a high number of page revisits per individual (58% recurrence rate). Perhaps one of the reasons users return to previously visited Web pages so frequently is because those pages are part of a longer term work process; this, in turn, suggests that these same users would benefit from tools that help them track, remember and rejoin their ongoing work processes. It is not surprising, then, that the limitations Web users find with bookmarks also renders them inadequate for representing long-term work processes. For example, users from the study by Abrams et al. (1998, p. 47) say that "bookmarks aren't descriptive enough" and that they "aren't great describers of the actual content". If current bookmark functionality is considered insufficient for identifying and describing single Web pages, then it is surely unsatisfactory as a tool for representing more complex, ongoing work processes. Furthermore, one can imagine that a crucial component of depicting longer-term activities is being able to organize and arrange representations in a spatially/visually meaningful way. Again, trying to use bookmarks in this capacity is problematic as users complain that long lists of bookmarks are hard to maintain, visualize, browse and categorize (Abrams et al. 1998). In fact, organizing bookmarks is one of the top three Web problems with bookmarks as reported by 4770 respondents in the 10th GVU WWW survey (Kehoe and Pitkow 1998). Using the bookmarking tool to represent protracted work processes has other limitations as well. Users are unable to identify specific portions of Web pages that are of particular interest since bookmarks flag entire Web pages only; bookmarks can only mark dynamic Web page content and cannot be used to keep track of the information on a particular Web page at a particular moment; and users may wish to have more flexible ways of identifying the various parts of their work process other than simply by page titles (e.g. an icon). The findings of both the Abrams et al. (1998) study and the 10th GVU WWW survey, along with the other limitations pointed out here, make it evident that bookmarking is problematic and seriously inadequate as a tool for representing long-term work activities. The detailed history list found in most Web browsers provides an alternative to bookmarks that users might consider to help them recall and rejoin a previous work session. For example, a user could copy items from the detailed history list, paste them into a text file, and then save and reuse them to piece together previous work at a later time. In Netscape, the detailed history list displays the title, location (i.e. URL), first and last visited date/time, expiration date, and visit counts for a Web page. However, this option is also unsuitable for a number of reasons: the items can only be copied-and-pasted one at a time (in Netscape at least), making it both tedious and time-consuming for a user to copy the browsing history for an entire session; duplicate items are displayed in the list; there is no graphic representation depicting how the user browsed the listed Web pages or how the pages relate to one another; a user would have to retype the URLs to load the pages in the subsequent browsing session; and the title and URL location may not be sufficient information for the user to recall a previous work process. 2.2 Related WorkIt should be noted that a number of other Web-based e-notebook prototypes have been developed. While some of these systems contain individual functions that arguably support IA, none of them can be said to support the process in a complete and integrated fashion. Indeed, this is not surprising since these applications were developed to satisfy a different set of requirements (than to support IA). However, the three most notable Web-based e-notebook prototypes include Nabbit (Manber 1997), the Internet Scrapbook (Sugiura and Koseki 1998), and WebBook (Card et al. 1996). Other systems that create graphical representations of a user’s Web browsing history, and thereby could be used to track an ongoing Web work process (which is a key IA task), have also been researched. These systems include MosaicG (Ayers and Stasko 1995), Pad++ (Bederson et al. 1998), PadPrints (Hightower et al. 1998), Webmap (Domel 1994), and WebNet (Cockburn and Jones 1996). Unfortunately, it turns out that these systems are not particularly well suited for the personalized tracking of long-term work processes because in some instances the browsing history cannot be saved between sessions, and in other instances users cannot directly manipulate the automatically generated graphical views (i.e. delete nodes, select which pages to include and which to exclude, include annotations, etc.).3 NetNotes: A Web-based E-notebook3.1 OverviewThe NetNotes prototype was developed using user-centered design (UCD) methodologies (Gould 1988, Whiteside et al. 1988) and in direct response to the lack of adequate software support for IA. There are, however, significant technical difficulties involved with implementing a general Web-based notebook (i.e. one that is usable in conjunction with any Web site for all Web users, and that supports all key IA tasks). These difficulties include dealing with application security, the wide variety of Web objects that users may wish to save in a notebook (e.g. text, images, animations, programs, forms, etc.), and a diverse and distributed user population. Consequently, the NetNotes program represents a limited solution to the problems highlighted thus far. In particular, NetNotes works in connection with a specific Web domain, the Zebrafish Information Network (ZFIN), which is a multimedia repository and relational database of genetics information related to the zebrafish species. It was chosen as the initial Web domain for NetNotes because
3.2 Functional RequirementsTable 1 shows the high-priority IA functional requirements that were successfully implemented in NetNotes.
bNotebook pages can be deleted, but only by system file management applications 3.3 Early Prototyping EffortsPrior to the design and implementation of NetNotes, some early system prototyping and usability testing was conducted on a similar system called CAJIN (Computer Assisted Journal and Integrated Notebook). Details of CAJIN can be found in Reimer and Douglas (2001). It is important to note that during the implementation of CAJIN, a number of technical limitations were uncovered that have subsequently been fixed in the NetNotes implementation. In particular,
3.4 System ArchitectureA guiding principle used in determining NetNotes' system architecture--in particular how it would interact seamlessly with ZFIN--was to push as many system and programming components on to the client machine as possible. This heuristic was used to ensure minimal changes to both the server and to the ZFIN Web site, and thereby increase the generality of the prototype solution.It was also determined that the NetNotes application should be kept separate from the Web browser that provides access to the ZFIN site. This distinction increases NetNotes' flexibility by allowing it to work in conjunction with any Web browser, and it also allows users the option to use their notebooks even when they do not wish to interact with the Web. It should be noted that for this implementation, NetNotes works only with the Netscape Web browser simply because, at the time of development, ZFIN was only accessible via Netscape. However, there is no inherent reason why NetNotes could not also be made to work with other Web browsers such as IE. The decision to separate NetNotes from the Web browser also meant that a way had to be devised for the two applications to communicate. This inter-application communication, which was essential for the copy/pasting of ZFIN items into NetNotes and for the tracking of ongoing work processes, posed perhaps the most difficult and interesting technical challenge in the development of NetNotes, and thus is the focus throughout the remainder of this paper. A final consideration central to NetNotes' system architecture design was that the NetNotes application had to support interaction with ZFIN for multiple users simultaneously. This is one example where the earlier CAJIN prototype failed; the CAJIN/ZFIN inter-process communication relied on critical information (i.e. the URL of the current ZFIN page) being stored in a server-side file, so only one user could copy and paste from ZFIN into CAJIN at a time, which proved to be a serious limitation of the system. The final system architecture for NetNotes based on all these considerations is shown in Figure 1. Both the ZFIN database and its front-end Web system are implemented on the server, while the Netscape browser that loads the ZFIN Web site resides on the client machine along with the NetNotes application. A client-side cookie file and the system clipboard are also displayed in Figure 1 because they are critical to the NetNotes/ZFIN inter-process communication detailed in the next sections. 3.5 Server-Side ModificationsWhile the NetNotes implementation involved a number of key server-side modifications to the ZFIN Web site, no changes to the underlying relational database were necessary. All server-side modifications were required for the NetNotes/ZFIN inter-process communication (i.e. when a ZFIN selection is copied and pasted into a NetNotes page, and when a NetNotes user tracks his or her ongoing work processes). The following list identifies and describes the implementation details behind each of the necessary server-side modifications.
3.6 Client-Side ModificationsNetNotes was implemented in Java on a Dell 8100 PC running the Windows Millennium (Me) operating system. The JDK 1.3 software development environment was used for programming and its integrated set of Swing classes was used to represent the graphical user interface (GUI). In addition to the server-side modifications necessary for the ZFIN to NetNotes interaction, the following related client-side modifications were also made:
3.7 NetNotes/ZFIN Inter-process CommunicationPerhaps the most interesting technical aspects of the NetNotes implementation have to do with its interaction with ZFIN. One of the motivating factors behind the development of NetNotes was to provide users with the ability to copy and paste information from ZFIN into their notebooks. From a user interface perspective, this process is quite straightforward:
While the steps that a user must perform to copy and paste elements from ZFIN to NetNotes are quite simple and intuitive, as just described, the underlying program details are considerably more complex. The following algorithm describes these details, and its numbering scheme also coincides with the numbers displayed in the systems architecture diagram in Figure 1. 3.7.1 ZFIN to NetNotes Copy/Paste Algorithm
b. Uses the URL to read the HTML source code of the current ZFIN page. c. Strips out all HTML tags and blank spaces from the ZFIN page source code while keeping track of how the stripped source code matches back to the original HTML source code. This is necessary for step e below. d. Retrieves the clipboard text from the client system and removes all blank spaces. e. Tries to match the clipboard text with the stripped source code. If a match is found then (e1):
The nearest breakpoint tags are located, forming the new HTML copy string. Relative references that occur in the newly built HTML copy string are resolved. The original HTML source code is searched for the special BASE tag (see server-side modification 3) and its URL portion is extracted (e.g. http://edison.cs.uoregon.edu). All <A HREF="/ and <IMG SRC="/ strings are located in the newly built HTML copy string and the relative reference is replaced with an absolute URL. For example <A HREF="/cgi-bin/webdriver?..."> becomes <A HREF="http://edison.cs.uoregon.edu/cgi-bin/webdriver?...">
<IMG SRC="http://edison.cs.uoregon.edu/somepict.jpg"> The newly built HTML copy string is pasted into the NetNotes page where the HTML is interpreted and correctly displayed.
3.8 Known Bugs and LimitationsOne of the purposes of developing the NetNotes prototype was to explore some of the challenges associated with implementing a Web-based e-notebook. A number of limitations were in fact discovered during the implementation of NetNotes, and they are discussed below. It would be necessary to fix most of these problems before NetNotes ever became publicly available, but for the purposes of this research and future experimental studies, these limitations were generally surmountable.
<FONT SIZE="12"> becomes <FONT SIZE="+0"> <FONT SIZE="18"> becomes <FONT SIZE="+1"> <FONT SIZE="24"> becomes <FONT SIZE="+2"> 4 ConclusionThe process of IA is critical to many Web users, but unfortunately it is currently not well supported by commonly used Web browsers or other software applications. Developing usable yet general Web-based software applications is particularly challenging from a technical perspective. Issues such as security, the increasing diversity of accessible Web objects (including animations, programs, forms, etc.), and a diverse and distributed user population often stand in the way. This paper described the NetNotes prototype, a limited solution to many of these problems. Although NetNotes works with a specific Web domain, handles only a select number of Web components, and requires minor server-side modifications, it can be used both as a model prototype for future, more robust versions of similar software applications, and it successfully incorporates enough key IA functions to be used in experimental evaluations.AcknowledgementsWe would like to thank Monte Westerfield, Dave Clements, and funds provided by the NIH (RR/HD12546) for technical and other support during the development of the NetNotes prototype.ReferencesAbrams, D., Baecker, R. and Chignell, M. (1998) "Information archiving with bookmarks: Personal web space construction and organization". In Proceedings of the ACM CHI ‘98 Conference on Human Factors in Computing Systems (New York: ACM Press), pp. 41-48Ayers, E. and Stasko, J.
(1995) "Using graphic history in browsing the World Wide Web". Proc.
4th Intl. WWW Conference, Boston, MA
Bederson, B., Hollan, J., Stewart, J., Rogers, D. and Vick, D. (1998) "A zooming Web browser". Human Factors and Web Development (Lawrence Erlbaum Associates: Mahwah, NJ), pp. 255-266 Card, S., Robertson, G. and York, W. (1996) "The WebBook and the Web Forager: An information workspace for the World-Wide Web". Proc. ACM SIGCHI ’96, pp. 111-117 Cockburn, A. and Jones, S. (1996) "Which way now? Analysing and easing inadequacies in WWW navigation". Int. J. Human-Computer Studies, 45, (1), 105-129 Domel, P. (1994) "WebMap--A graphical
hypertext navigation tool". Proc. 2nd Intl. WWW Conference, Chicago
Gould, J. (1988) "How to design usable systems". In Handbook of Human-Computer Interaction, edited by M. Helander (North-Holland) Hightower, R., Ring, L., Helfman, J., Bederson, B. and Hollan, J. (1998) "Graphical multiscale Web histories: a study of padprints". Proc. Hypertext ‘98, pp. 58-65 Kehoe, C. M. and Pitkow,
J. E. (1998) "Graphic, Visualization, & Usability Center's (GVU's)
10th WWW User Survey"
Manber, U. (1997) "Creating a personal Web notebook". Proc. USENIX Symposium, Monterey, CA, December Nielsen, J. and Molich, R. (1990) "Heuristic evaluation of user interfaces". ACM SIGCHI ’90, pp. 249-256 Reimer, Y. J. (2001) "Information Assimilation in the Digital Age: Developing Support for Web-based Notetaking Tasks". Doctoral Dissertation, University of Oregon Reimer, Y. J. and Douglas, S. A. (2001) "Capturing volatile information: Server-side solutions for a WWW notebook". WebNet Journal: Internet Technologies, Applications, & Issues, 3 (1), 36-44 Reimer, Y. J. and Douglas, S.A. (2003) "Ethnography, Task Analysis, and Other Background User Studies Inform the Design of a Web-based E-notebook". Submitted for publication Sugiura, A. and Koseki, Y. (1998) "Internet scrapbook: Automating Web browsing tasks by demonstration". Proc. UIST ‘98, pp. 9-18 Tauscher, L. and Greenberg, S. (1997) "Revisitation patterns in world wide web navigation". ACM SIGCHI '97, pp. 399-406 Whiteside, J., Bennett, J. and Holtzblatt, K. (1988) "Usability engineering: Our experience and evolution". In Handbook of Human-Computer Interaction, edited by M. Helander (North-Holland), pp. 791-817 AddendumAn addendum was provided for this paper (2004-03-24) |