• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Prototyping
 

Prototyping

on

  • 1,008 views

 

Statistics

Views

Total Views
1,008
Views on SlideShare
1,008
Embed Views
0

Actions

Likes
0
Downloads
33
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Prototyping Prototyping Document Transcript

    • PrototypingPuneet RalhanCIS 732Fall 200012/18/2000
    • Table of ContentsINTRODUCTION.................................................................................................................3PROTOTYPE DEVELOPMENT.............................................................................................3Methodology................................................................................................................4Types ...........................................................................................................................4Paperboard Prototypes...............................................................................................6Contextual Prototyping...............................................................................................6PROTOTYPE EVALUATION................................................................................................7Protocol Analysis.........................................................................................................7Cognitive Walkthrough (Norman’s Model).................................................................8Communicability Evaluation.......................................................................................9Expert Reviews............................................................................................................9USER PARTICIPATION ....................................................................................................10Rapid Ethnography....................................................................................................11Experience Prototyping.............................................................................................12TOOLS ............................................................................................................................12Hypermedia Management Tools................................................................................13Interface builders Tools.............................................................................................144th Generation Systems.............................................................................................14Object-Oriented Application Frameworks................................................................15Shortcomings of current tools...................................................................................15WEB APPLICATIONS PROTOTYPING................................................................................16BENEFITS........................................................................................................................17FINAL THOUGHTS...........................................................................................................19REFERENCES:..................................................................................................................20Articles.......................................................................................................................20Books.........................................................................................................................21
    • PrototypingIntroductionSoftware customers / users usually find it very hard to express their real requirementsand it is almost impossible to predict how a system will actually be used and how it willinteract with other systems in the user’s workspace. Careful requirements analysis alongwith systematic review of the requirements helps reduce the uncertainty of what asystem should do but there is no real substitute for trying out a requirement beforecommitting to it. This is possible if a prototype of the system to be developed isavailable.Prototyping is a development approach used to improve planning and execution ofsoftware projects by developing executable software systems (prototypes) forexperimental purposes. It is very suitable for gaining experience in new application areasand for supporting incremental or evolutionary software development.Prototyping has many objectives including evaluation of the design, functionality anduser interface. This report will be focusing on the user interface aspect with somelinkage to the functionality. A function defined in the specification may seem useful andwell defined but when the users finally try to use the application they find that their viewwas incorrect. Prototypes thus let user validate and evaluate their requirements and thususers can discover requirements omissions early in the process. Rapid ApplicationDevelopment Methodology uses development of the prototypes by the software team,working closely with the users in the requirements identification phase. Then theseprototypes are either discarded (throw away prototypes) or enhanced (evolutionaryprototypes) into production systems.In the last decade the biggest development has been the advent of the Web basedapplications where development times are short, large amount of functionality a mustand the user interface critical. Prototyping techniques have been adapted to serve thispurpose and there is a portion of this report that will be focusing on the WebApplications.Prototype DevelopmentThompson, Wishbow [1992] state that rapid prototyping allows members of thedevelopment team to confirm whether the product interface (this can include its onlinedocumentation) can be easily learned and used. Goals for rapid prototyping include:• Conducting iterative testing and revision early in the product development cycle.This approach allows user testing to be an integral part of product design.• Using measurable objectives (benchmarks) for user performance and attitude.Empirical measures prevent the endless debate that can sometimes follow usertesting. If subject behavior falls below the benchmark there is little doubt amongteam members that something must be done.• Using simple, proven testing techniques. The think-aloud protocol methodadvocated by Newell and Simon, and discussed frequently in the technicalcommunication literature allows for efficient data collection. If the coding schemeis kept simple, reviewing data and reporting results can be accomplished in amatter of a few days. Protocol analysis also has the virtue of requiring only asmall subject sample.3
    • PrototypingMethodologyA methodology [Purtilo, Larson, Clark. 1991] that can be used for development ofprototypes is:• Identify Objectives: First, a definition of the problem to be solved must beexpressed, along with the criteria by which its success is to be judged.• Identify Risk: No realistic software effort can expect a clear and completestatement as the result of a step labeled ‘define the problem’, as the above itemmight suggest. In the gray and uncertain areas of the problem definition lurkgreat risks. These gray areas of risk must be identified and made explicit.• Formulate Prototyping Hypotheses: Once the risk areas have been expressed,the developer is in a position to design experiments to specifically address thoserisks. Each experiment addresses a hypothesis concerning the nature andpotential remedy of the risk to a product’s success. The hypothesis shouldinclude explicit linkage to the parts of the project that may be affected.• Construct Prototype System: A system that implements the hypothesizedsolution must be developed. Traditional programming practices are tooexpensive to make this practical in many situations. Thus there is a need to usespecialized tools that facilitate inexpensive prototyping.• Instrument Prototype: Since the primary purpose of constructing a prototype is toanswer one or more questions concerning its functional or other characteristics, itwill usually be necessary to gather dynamic information regarding the operationof the software. In a large prototype, the complexity and volume of information islikely to exceed the limit of a single person’s ability to comprehend it. It would bedesirable to use automated tools for this purpose.• Experiment: The prototype system must be exercised to determine its behaviorand gather the output from the system instrumentation.• Evaluate Results: The results of the experiments must be evaluated to assessthe efficacy of the hypothesized solution.• Repeat. This entire process is repeated until one of three outcomes is reached:o sufficient information has been derived from the prototyping activities tobegin the development of a producto no solution to the problem can be found or, equivalently, that the solutionwould be too complex or costly to be of benefito the prototype system itself is of sufficient quality to serve as theproduction-quality system or, that it can be modified to serve as theproduction-quality system at less cost than a full-scale production-qualitydevelopment effort.Often the prototyping phase is considered as a part of the requirements gathering phaseand are outsourced to a vendor (external / internal) and then bids are gathered for thedevelopment of the production system.TypesThere are three types of prototypes [Sommerville, 1995] –• Throwaway Prototypes• Evolutionary Prototypes• Incremental Development4
    • PrototypingThrowaway prototypes essentially use prototypes to clarify functional / user interfacerequirements and also help the managers identify any potential risks. Once the prototypeis evaluated and the requirements updated the prototype is discarded and thedevelopment starts afresh. The main problem faced in this approach is when themanagement is tempted to take the prototype and enhance it into the real application. Iactually have seen this in my professional life and this can lead to problems like –uncontrolled changes during the prototyping stage, design compromises while addingnew features and missing features like security, performance & reliability at base levels.Since the prototype is not the final product the cost of iterations should be kept well incontrol because of the tendency of the development team to go into too many details ofthe application and then tempting to reuse some of that application in the final product.Evolutionary prototyping is based on developing an initial application and then iteratingthrough multiple user evaluations and improvements. The important aspect of this is thatthe application has to be written in an environment that allows such development. Agood language for such application development would be Visual Basic or Powerbuilder.The important aspects are that the design should be updated thoroughly at everyiteration to avoid any possibility of compromises being introduced in the application.Incremental development is the methodology where each delivered production softwareis taken as a prototype and after the evaluation by the users the changes and suggestedand incorporated in the next release. This is a useful in the environment where thedevelopment cycles are small and the user group is anxious to get some functionality forbeing able to work. The main drawback in this methodology is that the systemarchitecture needs to be determined initially and any changes to the architecture couldlead to compromises in the application robustness/reliability.Baumer, Bischofberger, Lichter, Ziillighoven [1996] concluded that:• The reuse of prototypes for the development of a target system can only berecommended if the development tools produce prototypes with clean systemarchitecture. Many presentation prototypes are planned as throw always for thisreason.• There is a strong trend for one team to carry out the entire development cycle.Due to lack of know-how many organizations are still dealing with different teamsfor prototyping and the development of target systems.• A newly emerging trend is to use prototypes as a vehicle for developing anddemonstrating visions of innovative systems. This source for innovation can betapped not only for individual software projects but also for various kinds ofmarketing research and field studies.Another way of looking at prototypes is [Wiegers, 1996] –• Horizontal• VerticalA horizontal prototype consists of a superficial layer of a user interface, revealing theparts of the system that the user will see with little underlying functionality. Such aprototype could be equated with a movie set with realistic street scenes with two by foursholding up the street fronts. Reason of creating a horizontal prototype include exploringinterface styles, determining if adequate functionality has been planned for, assessing5
    • Prototypingusability and identifying required navigation paths between different parts of theapplication. This application actually goes down to level of detail necessary for beingable to give the users accurate information for being able to evaluate the user interfaceand navigational parts.A vertical prototype consists of a complete slice of functionality for a limited portion of thewhole system. Such prototypes are useful for validating design approaches andexploring alternative architectures for high-risk projects. For example a vertical prototypeof an application might actually take a functionality and implement the user interface,middle layer (network communication) and some of the functionality of the backenddatabases. Once the soundness of technical approach is established the rest of theapplication can be developed.Paperboard PrototypesPaperboard prototypes [McConnell, 1998] are an approach that is very useful fordeveloping early understanding of the user interface requirements. In this approach thedevelopers or the end users can start by developing pictures of the screens, dialogs,toolbars and other elements they would like the user interface to have. Developers andusers meet in groups and draw simple screens on flip charts. The work involvesredrawing the prototypes on the flip charts until the users and developers agree on thesystems appearance and functionality.This approach offers several advantages –• Users can develop prototypes on their own• Users don’t have to know prototyping software• Prototypes can be generated and modified rapidly• Prototypes are very inexpensivePaperboard prototypes also eliminate some of the most common risks associated withprototyping. On the developer side, they eliminate the need of unnecessarilyoverextending the prototype and of spending too much time fiddling with the prototypetool. On the user side the paperboard prototypes eliminate the risk of the users thinkingthat the prototype is the finished product.One disadvantage of the paperboard prototype is that some developers and userssimply can’t visualize the software on the paper mockups. This is a strong disadvantagesince the essence of the prototypes is to help users visualize the finished product and ifin a development effort it becomes apparent that there are cognitive gaps between theunderstanding of the paper prototypes between the developers and users then thisapproach should be abandoned and the effort should begin on software prototypes.Contextual PrototypingStary [2000] talks about developing prototypes using the context of use of theapplication. The contextual development differs from traditional user interfacedevelopment:• It focuses on the context of usage the user population rather than on thetechnical features required for interaction. However, the latter come into playwhen transforming context specifications into user-interface code.• It considers design to be a non-linear process based on activities (re)engineeringwork processes rather than performing traditional software-engineering tasks.6
    • PrototypingThe understanding of end users and their organization of work require a conceptualframework of context-sensitive components of interactive systems. The TADEUSframework puts the following components into mutual context:• Task model: The task model comprises the decomposition of user tasksaccording to the economic and the social organization of work.• User model: The user model details the individual perception of tasks, datastructures and interaction devices, as well as task/role-specific access modalitiesand permits to data.• Problem domain data model: The (problem domain) data model provides thestatic and dynamic specification of the data-related functionality.• Interaction domain model: The interaction model captures all devices and stylesthat might be used by the users in the course of interaction.• Application model: The final specification is an application model. It integrates asynchronies structure and behavior specifications.A novel representation an interpretation scheme allows in TADEUS to integrate differentperspectives (including the application context) through semantically linked models. Inaddition, the specification of the entire application can be executed for prototypingpurposes. Another novelty concerns the relations between elements of the models andbetween the models. They are automatically checked at a high level of operationalsemantics with the help of a series of algorithms. In addition, the software architecture ofthe environment is open to embed existing specification techniques and interactionplatforms and also generating frameworks and code.Prototype EvaluationPrototypes evaluation is a critical part of the prototyping process and there are two partsof prototypes evaluation - User evaluation and Expert Evaluation. There are many Userevaluation techniques including surveys, focus groups, application usage feedback,ethnography observations etc. One of the most effective methods of user evaluation ofprototypes is – Protocol Analysis.Protocol AnalysisProtocol Analysis [Turoff, Michie] is one of the most effective methods for assessing theusability of an information system and for targeting aspects of the system, which shouldbe changed to improve usability. The central part of protocol analysis is the completerecording (in written, audio, and/or video form) of the interaction of a user with a system,while that user "thinks out loud" in order to allow the recording of his or her perceptions,reasoning, and reactions to the system. The analysis is then provided by the researcher,who examines a number of these cases and reaches conclusions about aspects of thesystem that cause problems for users.Protocol Analysis requires only six to eight such recorded observations in order to reachconclusions, and the procedure may be completed in a week or less, start to finish. Thisgives it great advantages over methods such as surveys and experiments, whichgenerally require a hundred or more subjects, and can take weeks, months, and evenyears to complete. For a relatively small amount of effort, a designer can quickly7
    • Prototypingdiscover any basic flaws in the design and has considerable chance of exposing moresubtle problems.The technique of Protocol Analysis includes the following steps –• Identification of the Subjects: The appropriate subjects have to be selected fromthe user group. The focus is on getting a fair representation of all the user groupswho will be using the application and there should also be an attempt to get atleast three subjects of each group to eliminate any sampling errors. Sinceprotocol analysis is conducted with each iteration of the prototype it would bedesirable to get different people involved in every phase.• Identification of Task: Central to protocol analysis is the task to be performed.The task could range from gathering user thoughts on the screen shots toactually having them use a system that has implemented the entire interfacewithout much of underlying functionality. The objective once again is to get eachgroup to interact with the aspects of the system that most impact them. Someproblem areas could be included for multiple groups.• Instructions to Users: Users should be given good instructions including theassurance that the exercise is on the evaluation of the system and them. Oftenthe users are afraid to speak their mind and their fears should be allayed.• Execution of Protocol Analysis: In this step the users actually go through thesteps identified in the task sheet and they are asked to “think aloud” as theyperform their task and are recorded. Instead of Audio/Video recording sometimesthe analyst just takes notes since the recording could be influencing somesubjects• Post Task Interview: Subjects are interviewed at the end of the task and areasked specific questions about different choices that they made. They are alsoasked to fill a survey that gathers details on different aspects of the design.• Analysis: Finally the designers take all the data and try to identify patterns in theproblems faced by the users. Also each transcript is reviewed to see if somespecific misunderstandings exist.Protocol Analysis is a technique that can be adapted to suit the individual organizationsand the cost savings in terms of future redesigns and usage of new applications usuallyoutweigh the expenses of conducting the experiments.Cognitive Walkthrough (Norman’s Model)Rizzo, Marchigiani, Andreadis [1997] explored conducting cognitive walkthrough basedon Normans model of action. The Cognitive Walkthrough is a task based inspectionmethod widely adopted in evaluating user interface. It consists of stimulating a userinteraction with the system. The Norman’s model of human action provides a sound yetsimplified theoretical framework of design and evaluation. It allows the definition of somebasic cognitive steps in the analysis of human interaction with artifacts. The modeldescribes five states (goal, intention, action, perception, evacuation) and threedistances:• Referential distance, as for output evacuation, refers to the amount of mentaleffort needed to translate the form of the information displayed by the system intoa form which allows the operator to grasp its meaning• Semantic distance, as for the output evaluation, refers to the amount of humaninformation processing needed to translate the meaning of the output of an actionin the terms of the intention it serves8
    • Prototyping• Interferential distance is the cognitive processing needed to put in relationshipthe information processed in action execution and the information available asresult of the actionThe subjects were asked to walk through the applications and then they were asked tofill a questionnaire that was designed to measure the various distances and that let thedesigners understand some of gulf of execution in their mental models and users mentalmodels.Communicability EvaluationPrates, Barbosa and de Souza [2000] propose a method of communicability evaluationis a method based on semiotic engineering that aims at assessing how designerscommunicate to users their design intents and chosen interactive principles, and thuscomplements traditional usability evaluation methods. Semiotic engineering perspectiveis that user interfaces are perceived as one-shot, higher-order messages sent fromdesigners to users. The authors claimed that the degree to which a user will be able tosuccessfully interact with an application and carry out his tasks is loosely related towhether he understands the designers intentions and the interactive principles thatguided the applications design.The process that was defined for this included the following steps:• Tagging is the process of relating a sequence of interactive steps to an utterance(from a predefined set), in an attempt to express the user’s reaction when acommunication breakdown occurs. The tags used in communicability evaluationwere identified based on literature about explanatory design.• In the interpretation step, the evaluator tabulates the data collected duringtagging and maps the utterances (communicability tags) onto problemscategories or design guidelines. The general lasses of problems identified arenavigation, meaning assignment, task accomplishment, missing of affordanceand declination of affordance. Utterances may be mapped to such distincttaxonomies as Shneiderman’s eight golden rules or Norman’s gulfs of execution.• In the semiotic profiling step, the evaluators proceed to interpret the tabulation insemiotic terms, in an attempt to retrieve the original designer’s meta-communication, that is, the meaning of the overall designer-to-user message. Asemiotic engineering expert, due to the nature of the analysis, should performthis step.The communicability method not only identifies problems, but also gives the designerhints to a solution. The utterance category narrows down the possible causes of theproblem and the tagged pieces frequently provide the designer with evidence of theusers intuitions about a solution. By identifying interface elements whose meaning userswere unable to grasp (missing of affordance) the designer may choose to representthose elements differently.Expert ReviewsExpert Reviews [Scneiderman, 1998] on the other hand are usually conducted onprototypes before they are released for evaluation by the users. The objective is to fixsome basic design issues even before the users identify them. It is necessary to haveexperts from outside the design team since the peer reviews usually don’t identify asmany problems as the expert reviews do. Nonetheless the experts should be instructed9
    • Prototypingto keep the egos and confidence of the design team in perspective and help improve thedesign and not just criticize the design. Some of the methods used for expert reviewsare –• Heuristic Evaluation: The application is compared to some standard interfaceguidelines like Scneiderman’s eight golden rules.• Guidelines Reviews: The interface is checked for conformance to theorganizational guidelines for interface design.• Consistency Inspection: The different parts of the prototype are evaluated forconsistency of color, layout, terminology etc.• Cognitive Walkthrough: The experts stimulate the users walking through theapplication and try to understand the regular usage cases along with exceptionhandlingExpert reviews are very useful in the early stages of prototype development and canhelp significantly reduce the prototype iterations required before the users sign-off on thedesign/interface.User ParticipationUser participation is central to the process of prototyping. Users are expected to commitas much to development of the prototypes as the software development team.Bowers, Pycock [1994] did a study of multiple transcripts user-designer design processand made the following observations:• Users in the user-designer cooperative setting rarely express or have to express‘requirements’ (or wants or needs or desires) directly. Frequently, the designerwill anticipate troubles in advance of their occurrence or provide a formulation ofthem once they have occurred, Similarly, users will offer their contributions asqueries as to what is possible, doable, within their capabilities or within those ofthe designer or machine. This and other phenomena indicate that users anddesigners are orienting to each other’s skills and knowledge in ways that obviatethe need for direct requests or refusals. In a sense, requirements are anegotiated product of argument and resistance.• Reformulating each other’s contributions and the other phenomena are quitenatural features of ordinary discourse as different parties make themselves andtheir understandings plain. To characterize related phenomena developing asystem can involve designers ‘configuring the user’ just as they configure thesystem and vice versa.• Requirements are produced as requirements in and through interaction. It issocial interaction between the users and developers, which confers existence onthem.• User participation in design can be characterized as meeting between two‘language games’ (that of the designer and that of the user’s world of work); thegames are not always played on a level playing field.• Close relations between designers and users in work-like settings are not itselfenough, for the exact manner of this involvement matters too. What designersand users make of what they respectively find in such settings may differ orrequire mutual explanation and so forth.10
    • Prototyping• There should be encouragement of reflexive participatory design in which bothdesigners and users can become aware of the means by which requirements areinteractively produced.Harker [1993] did a study of a large distributed system development and reported threeissues relating to the use of prototyping as a part of user centered strategy are worthconsidering.• User representatives who are not specialists are able to conduct prototypingactivities and gather data, provided they have received some training andassistance with the development of systematic development.• The prototypes developed by the user community provided direct and convincingevidence about the job design and work organization issues for transmission tothe user management• The case demonstrated that user managers encountered resistance to requestsfor technical change from the software developers, who felt that organizationalchanges were more appropriate than technical changes for many issues.Rapid EthnographyMillen [2000] introduced "rapid ethnography" which is a collection of field methodsintended to provide a reasonable understanding of users and their activities givensignificant time pressures and limited time in the field. The core elements include limitingor constraining the research focus and scope, using key informants, capturing rich fielddata by using multiple observers and interactive observation techniques, andcollaborative qualitative data analysis.It has been argued that there has been a common misunderstanding among HCIprofessionals about the analytical nature of ethnographic research. While oftenmisconstrued as simply a method of field data collection, ethnography is rather form ofanalytic reportage, with the ethnographer acting as a translator or cultural brokerbetween the group or culture under study and the reader.Many of the concepts from the rapid appraisal methods mentioned above are useful in adiscussion of ethnographic methods for HCI professionals. Rapid ethnography, asdescribed below, grew out of field research experience on a number of different projects,and is based on three key ideas:• First, narrow the focus of the field research appropriately before entering thefield. Zoom in on the important activities. Use key informants such as communityguides or liminal group members.• Second, use multiple interactive observation techniques to increase the likelihoodof discovering exceptional and useful user behavior.• Third, use collaborative and computerized iterative data analyze methods.There are several examples of rapid HCI methods. The most widely known would be theclass of techniques that collectively support rapid prototyping of new interfaces. Thisincludes requirements gathering end of the development process, streamlining usermodeling and usability testing. The use of ethnographic methods in various parts of HCIdevelopment will continue to grow. Understanding the context of the user environmentand interaction is increasingly recognized as a key to new product/service innovationand good product design. Undoubtedly, the time pressures and constraints for HCI11
    • Prototypingdesign teams will continue to increase. Practical use of ethnographic methods, therefore,depends on whether the methods can be adapted successfully to provide usefulinformation in a timely fashion.Experience Prototyping"Experience Prototyping" [Buchenau, Suri. 2000] can be described as a form ofprototyping that enables design team members, users and clients to gain first-handappreciation of existing or future conditions through active engagement with prototypes.Experience is a very dynamic, complex and subjective phenomenon. It depends uponthe perception of multiple sensory qualities of a design, interpreted through filtersrelating to contextual factors. Experience Prototyping can valuable for three differentkinds of activities:• Understanding existing user experiences and context: Experience Prototypinghere is applied to demonstrate context and to identify issues and designopportunities. One way to explore this is through direct experience of systems -the prototyping goal is to achieve a high fidelity simulation of an existingexperience, which can’t be experienced directly.• Exploring and evaluating design ideas: The main purpose of ExperiencePrototyping in this activity is in facilitating the exploration of possible solutionsand directing the design team towards a more informed development of the userexperience and the tangible components which create it. At this point, theexperience is already focused around specific artifacts, elements, or functions.Through Experience Prototypes of these artifacts and their interactive behaviorwe are able to evaluate a variety of ideas and through successive iterations moldthe user experience.• Communicating ideas to an audience: The role of Experience Prototyping here isto let a client, a design colleague or a user understand the subjective value of adesign idea by directly experiencing it. This is usually done with the intention ofpersuading the audience that an idea is compelling or that a chosen designdirection is incorrect.Peoples experiences with products and systems are a complex integration of personaland circumstantial factors. People will have experiences with the prototypes that thedesigners cannot hope to predict entirely. Nevertheless, understanding, exploring andcommunicating the experiential aspects of design ideas are central activities in design.Experience Prototyping, while it creates only approximate and partial simulations of thereal experiences others will have, brings a subjective richness to bear on designproblems.ToolsA number of prototyping techniques have evolved over the past decade. Staticprototyping, also called low-fidelity prototyping, relies on mockups, storyboarding andpaper and pencil strategies. This is followed by dynamic or high fidelity prototyping withthe construction of the actual interface using User Interface Builders. The variousmanufacturers as well as windowing systems come with user interface design guidelinesas to how to make the system user-friendlier. These builders also generate programs forthe user interface layer, which can directly be integrated with application, and datalayers. [Turoff, Michie]12
    • PrototypingThere are several types user interface prototyping tools. There are four basic types ofprototype tools [Baumer, Bischofberger, Lichter, Ziillighoven. 1996] –• Hypermedia management tools provide an interactive environment fordeveloping simple information systems with graphical user interfaces consistingof cards, stacks of cards, links, and event handling scripts. The combination oflinks and scripts makes HyperCard a powerful prototyping tool; links can be usedto quickly connect a set of drawn user interface states into a mock-up applicationwhile real functionality can be implemented with scripts.• Interface builder tools serve to define user interfaces on a high abstraction leveleither textually or with a graphical editor. They support the creation and layingout of user interface elements and the specification of the reaction on events.Only interface builders that provide a graphical editor are of interest forprototyping purposes.• 4th generation systems are a complete development environment for informationsystems. A 4GS usually provide tools for graphically designing data models anduser interfaces, an integrated interpretive scripting language, and various othertools such as report generators, program editors and debuggers.• Object-oriented application frameworks are class libraries that comprise anabstract, reusable design for interactive document centered applications as wellas concrete implementations of the functionality that is common to suchapplications. Application frameworks make it possible to develop user interfacesbased on complex direct manipulation in a short time. They are suited forprototyping of user interfaces that cannot be composed of standard components.Hypermedia Management ToolsDevelopment of hypermedia is a complex matter. The current trend toward open,extensible, and distributed multi-user hypermedia systems adds additional complexity tothe development process. As a means of reducing this complexity, there has been anincreasing interest in hyperbase management systems that allow hypermedia systemdevelopers to abstract from the intricacies and complexity of the hyperbase layer andfully attend to application and user interface issues. Design, development, anddeployment experiences of a dynamic, open, and distributed multi-user hypermediasystem development environment called Hyperform were presented by Wiil & Leggett[1997].Hyperform is based on the concepts of extensibility, tailorability, and rapid prototyping ofhypermedia system services. Open, extensible hyperbase management systems permithypermedia system developers to tailor hypermedia functionality for specific applicationsand to serve as a platform for research. The Hyperform development environment iscomprised of multiple instances of four component types: (1) a hyperbase managementsystem server, (2) a tool integrator, (3) editors, and (4) participating tools. Hyperform hasbeen deployed in Unix environments, and experiments have shown that Hyperformgreatly reduces the effort required to provide customized hyperbase managementsystem support for distributed multi-user hypermedia systems.Hypermedia systems pose several difficult data management problems. Most of theseultimately can be derived from the fact that hypermedia is a complex amalgam ofinformation, structure, and behavior. Five broad categories of issues must be addressedin future HBMS work:13
    • Prototyping1. Models and Architectures: Issues of scalability, extensibility, architecturalopenness, computation, interoperability, distribution, and platform heterogeneityare of critical importance.2. Node, Link, and Structure Management: Data management facilities forhypermedia must address issues relating to object identity and naming, as wellas constraints to ensure object and structure integrity. In addition, support forobject composition, contexts, and views are critical. The management of datatypes including spatial, temporal, image, sequence, graph, probabilistic, userdefined, and dynamic is essential.3. Browsing/Query and Search: Optimizing the synergy between hypermedia’snavigational approach to data access and traditional query and search must beaddressed at the hyperbase level. Important issues include the introduction ofmultilevel store indexing techniques, agency, hyperbase heterogeneity,extensibility, and optimization.4. Version Control: Effective support for versioning requires an understanding ofprecisely which entities need to be versioned and when version creation occurs.In hypermedia, there are opportunities to version structure as well as information.5. Concurrency Control, Transaction Management, and Notification: The types ofinteractivity and operations that characterize hypermedia systems create arequirement for managing short, long, and very long hyperbase transactions.HBMS support for collaboration and sharing of information is of criticalimportanceMercifully, there are a plethora of hypermedia development tools which though not ascomplex as Hyperform are commercially available and can be tailored to support anylevel of requirements of the users.Interface builders ToolsInterface development tools are essentially of two types – Drawing Applications andWeb interface development tools.Some of the applications that allow drawing the interface include applications likeMicrosoft Paint (included in windows), Microsoft Word / Microsoft PowerPoint (availablein the MS Office suite) and Visio (from Microsoft). These are common applications andthe user community is usually very well trained in these tools and can draw theinterfaces on their own. The shortcoming of these tools is that they are not intended forinterface design and it might actually be worth a while to train some of the usercommunity on the advanced interface design tools.Web Interfaces can be implemented using applications like Microsoft FrontPage andMacromedia Dreamweaver which though not an advanced hypermedia managementtools are sufficient for designing web application interfaces. Along with these tools thereis also a need to use advanced graphics packages but those don’t come into play untilthe final prototypes are being delivered.4th Generation SystemsThere are many commercial 4GS tools from different vendors. Two of the more populartools are Microsoft Visual Basic and Powersoft Power Builder (from Sybase). These aretools that allow interface design for Windows using different user interface objects /widgets and have plenty of add-ons available that can help suit these applications forspecial environments.14
    • PrototypingThese applications have excellent usability and can be used for both prototyping anddevelopment. The problem is that often there is a temptation to take the prototype (whichhas undergone multiple uncontrolled changes which have compromised the design) anddevelop it into a production system.Object-Oriented Application FrameworksThese are commercial application frameworks that allow drag and drop development ofapplications from widgets. One of the examples of these is the Java Beans Developmentkit (Sun). There are also other applications being used for research like JWeb[Bochicchio, Paiano. 2000].There are other object oriented tools that though not quite suitable for prototyping aresometimes used for prototyping. These include Java Builder (Borland), Visual Café(Symantec), Visual C++ (Microsoft) and Visual Age (IBM).Schmucker [1996] reports that there are visual programming tools available that:• are commercially-available, robust development tools• are cross-platform tools• are completely visual• are usable by non-programmers• are extremely user friendly. Actually after a one-day CHI tutorial, an attendeewould have little problem getting started in their use immediately.Shortcomings of current toolsThere are many shortcomings of the current prototyping tools. Tscheligi [1995] reportsthe following shortcomings in the current interface design tools:• The capture bottleneck: During the initial stages of a design, designers typicallyhold brainstorming sessions in which ideas are drawn on whiteboards.Individuals also make rough notes and sketches in their drawing pads. It isdifficult to capture notes from a non-computer medium to get them onto thecomputer medium.• Managing components: As a design progresses many prototypes are producedwhich address various aspects of the user experience. It becomes increasinglydifficult to integrate solutions and relate them to each other.• Managing collaboration: It becomes increasingly difficult to integrate the work ofindividuals with the collective work as a design progresses. Collaborators need tosee each other’s work as well as to have access to editing their part separately.• Designing dynamics: Motion and transitions are an integral part of a visualinteractive experience. Without easy access to designing visuals in dynamicforms, only limited new interaction designs can be achieved.• Other Aspects: Many of the existing tools do not provide templates or paradigmsediting metaphors, mental models, and navigation. The current tools are not quitesophisticated and you still have to program to do anything interesting.Muñoz, Miller-Jacobs [1992] state that often prototyping efforts concentrate only on theUI aspects of a software product. In many cases, the UI is designed and implementedseparately from the "functional core" of an application. However, the whole functioned15
    • Prototypingprocess, not just the “look and feel” of the UI, determines usability. Prototyping toolswould be more useful if they allowed prototyping of the functional parts along with the UI.User interfaces must be designed on the screen rather than on paper. The only way tosee how elements interact is to see them interact. How else can users make wisedecisions about the complexities of color, layout, icons, typography, windowing,interaction dynamics, and design integrity. It is simply not possible to design acompetitive user interface without powerful prototyping tools from the start.Web Applications PrototypingWeb Applications are really no different than the regular application with the differencebeing that the user base is usually much bigger and user interface flaws can havesignificant impacts on the e-business aspirations of the organization. Secondly, thedevelopment cycles are usually very small and the evolutionary prototyping technique isvery appropriate for web applications.Design of large web sites can be a very complex task if not supported by a suitabletheoretical model. A good structural model, in fact, is able to precisely define theinformation of this kind of multimedia applications and the related patterns. Moreover,through a good design model the designer is able to precisely formulate his/her ideas,discuss them revise them, without actually starting any implementation. The modelingactivity necessarily implies rough initial ideas, revisions, versions, etc. For these reasonsa design supporting environment, allowing the modeler to be effective and precise, isessential.There are several reasons why an environment supporting design/prototyping, and notnecessarily implying implementation, is useful [Bochicchio, Paiano. 2000]:• Support in the early stage: Design needs to be checked, tested, discussed andrevised several times before it is competed.• Multidelivery: More and more it happens that the same content must be deliveredin several different ways: off-Iine, on-line, with different levels of depth andcompleteness, etc. If this is the situation, it is clear that design must becompleted independently from any implementation that, afterward, can proceedin several different ways.• Technological flexibility: More and more delivery environments for the web areemerging; mostly for the multimedia aspects, for the graphic, for the interface etc,so that new possibilities are open every day. Given this situation having tochoose a specific deliver), environment, or be cut out from new excitingpossibilities, as would inevitably happen in a full-scale development environment,is not advisable.• Design advanced options: Sophisticated applications requires advanced designfeatures, for which fully automated implementation could not be devised. It wouldbe negative to not include those features in design, just because automaticimplementation could not support them.• Design incompleteness: For advanced applications, there are specific features,which cant be described by even the best design model. These features aretherefore not modeled in the schema, but they are rather described throughwords, diagrams and ad-hoc means.16
    • Prototyping• Visual Communication bandwidth: One of the biggest problems for deriving anactual implementation from a design, is the need to implement, for sophisticatedapplications, high visual communication bandwidth, consisting of complexgraphic objects, special effect, animations, local interactions, etc.The JWeb [Bochicchio, Paiano. 2000] system is an extremely modular and flexibledesign environment and does not follow strict procedural guidelines. It is a designenvironment with fast prototyping capabilities with the following features:• it supports design of the hyperbase and of the access structures• it supports a clean separation between design in-the-large and design in-the-small• it allows to build an environment repository, based on a relational DB to hold themultimedia contents• it allows to try several configurations, both for the hyperbase and accessstructures• it allows the use of a purely functional interface, but it is also possible to testseveral high quality pre-defined interfaces• it allows to "execute" the application (using a small example of actual data, orfictitious data) in order to "visualize" the implications of the design.There are some general rules for designing prototypes for web applications [Nielsen,Wagner. 1996] [Heller, Rivers. 1996]• The techniques of HCI design still apply.• Design for readers with low bandwidth connections.• Account for the way different readers see your pages.• Make navigation controls and orientation displays clear.• Get your message across effectively.• Use a consistent visual language.• Ensure that your site is presentable and up-to-date.• Accommodate your readers all over the world• Build a place where readers will want to contribute.• Give readers something to do.• People have very little patience for poorly designed web sites• Users don’t want to scroll: information that is not on the top screen when a pagecomes up is only read by very interested users.• Users don’t want to read: reading speeds are more than 25% slower fromcomputer screens than from paper.BenefitsThe benefits of developing the prototypes early in the software process include (takenfrom [Sommerville, 1995]) –• Misunderstanding between the software developers and users may be identifiedas the system functions are evaluated• Missing user services may be generated• Difficult to use / confusing services may be discovered• Software development may identify incomplete / inconsistent requirements as theprototypes are developed17
    • Prototyping• A working, albeit limited, system is available to quickly to demonstrate thefeasibility and usefulness of the application to management• The prototypes serve as the basis for the requirements for production qualitysystems• The prototypes can be used to initiate early user training• Test cases can be generated based on the prototypes while the system is stillbeing constructedPrototyping can lead to reduction in the expectation gap [Wiegers, 1996] with everyiteration of the prototype. Expectation gap is the difference in what the develop buildsand what the customers expect. During the first prototype evaluation there is usually alarge expectation gap but with each iteration it reduces and finally there will be harmonyin what the users and expecting and the developers are building. The expectation gapcan be expressed as both functional and user-interface differences.Prototypes should lead to user excitement and desire of the product [McConnell, 1998].The first version of the prototype will rarely get the users excited but the developersshould encourage the users to give feedback for the revision of the prototypes and letthem know that their feedback will be considered in the redesign. Refining the prototypesuntil the users are excited about it supports the creation of the software that willultimately be highly satisfactory rather than the software that will merely “satisfyrequirements”. It might seem like a large effort is being spent on something that willeventually get thrown away but this upstream activity is a good investment in avoidingcostly downstream problems.Baumer, Bischofberger, Lichter, Ziillighoven [1996] reported that the benefits that arisefrom applying prototyping to acquire information about feasibility, market interest or togain experimental experience have been recognized and actually some of theirinvestigated projects did not even have a target system as a major goal.Verner, Cerpa [1997] did a survey of Australian companies and concluded the followingbenefits for prototyping based development over waterfall development:• Communication with Users: Prototyping scored higher than the waterfallapproach for communication with users. Prototyping allows users get to knowmore about the product before delivery and this gives them the opportunity torequest changes if they do not like the proposed system.• Flexibility of Design Produced: Practitioners find that design flexibility is greaterwith a prototyping approach. This agrees with other findings that prototypingprovides design flexibility during the development process, especially when usersand developers are inexperienced with the kind of system being developed.• Functionality: Practitioners rate prototyping as providing significantly betterfunctionality than systems produced with a waterfall approach. However it mustbe noted that respondents said that much of the prototyping is being done withina waterfall approach and the use of both approaches together should result inimproved functionality.• Early problem detection: Practitioners rate prototyping as providing betterfacilities for finding problems at an early stage of development than a waterfallmodel.18
    • PrototypingFinal ThoughtsThere is no doubt about the value of prototyping in development of user interface. Someof the important rules for prototyping include:• Prototyping must become part of the project plan. The development team mustestimate the time, staffing levels, and resource levels as if it were as important asany other part of design process.• Prototyping must be treated as a separate project with it’s own lifecycle –o Establish Prototype Objectiveso Define Prototype Functionalityo Develop Prototypeo Evaluate Prototypeo Repeat Development and Evaluation of prototypes until a consensus isreached on the Functionality and User Interface• Prototyping must be agreed upon means for determining the product’s externaldesign specifications (that is, the "look and feel") and for confirming the corefunctionality of the product. The development team must recognize that there isno substitute for iterative user testing of the product prior to coding.• Organizations should invest into evaluation and training on different prototypingtools. The prototyping should ideally be divided into two aspects – userdeveloped prototypes and software team developed prototypes.• Organizations should explore different prototyping techniques and then adaptsome of them as organizational standards. Different project managers shouldhave the freedom to choose the technique that best suits their needs.• One important aspect of prototyping is that the objective of the prototypes shouldbe declared initially and the user group should be made aware of the risks oftrying to convert a throwaway prototype into a production application.Some of the current research includes:• Development of new models for evaluating user prototypes –o Communicability Evaluation [Prates, Barbosa and de Souza 2000]o Cognitive Walkthrough using Normans Model [Rizzo, Marchigiani,Andreadis 1997]• Development of new models for understanding user mental-models -o Rapid Ethnography [Millen 2000]o Experience Prototyping [Buchenau, Suri. 2000]• Development of new prototyping tools -o Hypermedia Management Tools like Hyperform [Wiil, Leggett. 1997]o Web Prototyping tools like JWeb [Bochicchio, Paiano. 2000]o Java based Object Oriented Application FrameworksParticularly, the new tools that are being developed will reduce the time and costexpense of prototyping and will lead to more and more use of the prototyping techniquesand perhaps lead to highly automated prototyping methodologies.19
    • PrototypingReferences:Articles[Baumer, Bischofberger, Lichter, Ziillighoven. 1996] User Interface Prototyping -Concepts, Tools, and Experience. IEEE Proceeding of ICSE-18. 1996.[Bochicchio, Paiano. 2000] Prototyping Web Applications. Mario Bochicchio & RobertoPaiano. SAC, ACM. 2000.[Bowers, Pycock. 1994] Talking through design: requirements and resistance incooperative prototyping. John Bowers and James Pycock. Conference on HumanFactors and Computing Systems. Proceedings of the CHI 94 conference companion onHuman factors in computing systems. April 24 - 28, 1994, Boston United States[Buchenau, Suri. 2000] Experience prototyping. Marion Buchenau and Jane Fulton Suri.Symposium on Designing Interactive Systems. Proceedings of the ACM conference onDesigning interactive systems: processed, practices, methods, and techniques. August17 - 19, 2000, Brooklyn, NY United States.[Harker. 1993] User participation in prototyping. Susan Harker. Communications of theACM. Volume 36 , Issue 6 (1993).[Heller, Rivers. 1996] Design Lessons from the Best of the World Wide Web. HaganHeller & David Rivers. CHI 1996.[Millen, 2000] Rapid Ethnography: Time Deepening Strategies for HCI Field Research.David R. Millen. DIS ’00. ACM. 2000.[Muñoz, Miller-Jacobs. 1992] In search of the ideal prototype. Richard Muñoz and HaroldH. Miller-Jacobs. Conference proceedings on Human factors in computing systems. May3 - 7, 1992, Monterey, CA USA[Nielsen, Wagner. 1996] User Interface Design for the World Wide Web. Jakob Nielsenand Annette Wagner. CHI 1996.[Prates, Barbosa and de Souza. 2000] A Case Study for Evaluating Interface Designthrough Communicability. Raquel Prates, Simone Barbosa and Clarisse de Souza.Proceedings of the ACM conference on Designing interactive systems: processed,practices, methods, and techniques. August 2000, Brooklyn, NY United States.[Purtilo, Larson, Clark. 1991] A methodology for prototyping-in-the-large. James Purtilo,Aaron Larson and Jeff Clark. International Conference on Software Engineering.Proceedings of the 13th international conference on Software engineering. May 13 - 17,1991, Austin, TX USA.[Rizzo, Marchigiani, Andreadis. 1997] The AVANTI Project: Prototyping and evaluationwith a Cognitive Walkthrough based on the Norman’s model of action. Antonio Rizzo,Enrica Marchigiani, Alessandro Andreadis. DIS ACM. 1997.20
    • Prototyping[Schmucker. 1996] Rapid Prototyping using Visual Programming Tools. Kurt Schmucker.CHI 1996.[Stary, 2000] Contextual prototyping of user interfaces. Chris Stary. Symposium onDesigning Interactive Systems. Proceedings of the ACM conference on Designinginteractive systems: processed, practices, methods, and techniques. August 17 - 19,2000, Brooklyn, NY United States.[Thompson, Wishbow. 1992] Prototyping: tools and techniques: improving software anddocumentation quality through rapid prototyping. Michael Thompson and Nina Wishbow.Proceedings of the 10th annual international conference on Systems documentation.October 13 - 16, 1992, Ottawa Canada[Tscheligi. 1995] Creative Prototyping Tools: What Interaction Designers Really Need toProduce Advanced User Interface Concepts. Manfred Tscheligi. CHI 1995.[Verner, Cerpa. 1997] The effect of department size on developer attitudes toprototyping. J. M. Verner and N. Cerpa. International Conference on SoftwareEngineering. Proceedings of the 1997 international conference on Software engineering.May 17 - 23, 1997, Boston United States.[Wiil, Leggett. 1997] Hyperform: A Hypermedia System Development Environment. Wiiland Leggett. ACM Transactions on Information Systems, Vol. 15, No. 1, January 1997.Books[McConnell, 1998]. Software Project Survival Guide. Steve McConnell. Microsoft Press.1998.[Scneiderman, 1998] Designing the User Interface – Strategies for effective human-computer interaction. Ben Scneiderman. Third Edition. Addison-Wesley. 1998.[Sommerville, 1995]. Software Engineering. Ian Sommerville. Fifth Edition. Addison-Wesley. 1995.[Turoff, Michie]. The Design and Evaluation of Interactive Systems. Murray Turoff andEileen Michie. Draft Copy.[Wiegers, 1996]. Creating a Software Engineering Culture. Karl E Wiegers. DorsetHouse. 1996.21