Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Effective Prototyping for Software Makers
Effective Prototyping for Software Makers
Effective Prototyping for Software Makers
Ebook923 pages6 hours

Effective Prototyping for Software Makers

Rating: 3.5 out of 5 stars

3.5/5

()

Read preview

About this ebook

Effective Prototyping for Software Makers is a practical, informative resource that will help anyone—whether or not one has artistic talent, access to special tools, or programming ability—to use good prototyping style, methods, and tools to build prototypes and manage for effective prototyping.

This book features a prototyping process with guidelines, templates, and worksheets; overviews and step-by-step guides for nine common prototyping techniques; an introduction with step-by-step guidelines to a variety of prototyping tools that do not require advanced artistic skills; templates and other resources used in the book available on the Web for reuse; clearly-explained concepts and guidelines; and full-color illustrations and examples from a wide variety of prototyping processes, methods, and tools.

This book is an ideal resource for usability professionals and interaction designers; software developers, web application designers, web designers, information architects, information and industrial designers.

* A prototyping process with guidelines, templates, and worksheets;* Overviews and step-by-step guides for 9 common prototyping techniques;* An introduction with step-by-step guidelines to a variety of prototyping tools that do not require advanced artistic skills;* Templates and other resources used in the book available on the Web for reuse;* Clearly-explained concepts and guidelines;* Full-color illustrations, and examples from a wide variety of prototyping processes, methods, and tools. * www.mkp.com/prototyping
LanguageEnglish
Release dateJul 19, 2010
ISBN9780080468969
Effective Prototyping for Software Makers
Author

Jonathan Arnowitz

Jonathan Arnowitz is a User Experience Architect at Google Inc. and is the co-editor-in-chief of Interactions Magazine. Most recently Jonathan was a User Experience Architect at SAP Labs and was a Senior User Experience Designer at Peoplesoft. He is a member of the SIGCHI extended executive committee, and was a founder of DUX, the first ever joint conference of ACM SIGCHI, ACM SIGGRAPH, AIGA Experience Design Group, and STC.

Related authors

Related to Effective Prototyping for Software Makers

Related ebooks

Computers For You

View More

Related articles

Reviews for Effective Prototyping for Software Makers

Rating: 3.7142857142857144 out of 5 stars
3.5/5

7 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Effective Prototyping for Software Makers - Jonathan Arnowitz

    Index

    WHY PROTOTYPING?

    WHAT IS A PROTOTYPE?

    AN HISTORICAL PERSPECTIVE OF PROTOTYPING

    THE PURPOSE OF PROTOTYPING

    SUMMARY

    REFERENCES

    For many of us, prototyping is essential to creating successful software and successful user experiences. Prototyping ensures success because of its clear depiction of software requirements: instead of describing requirements it visualizes them. If done correctly, prototyping allows us to experiment in the safety of a form which can be easily changed without much loss of time or wasted effort when compared to re-programming software. Done effectively, prototyping enables us to go beyond just meeting requirements, by enabling experimentation and exploration for the optimal solutions. Done carelessly, prototyping can just as easily create a murky stew of ideas lost in redundant versions, unarticulated assumptions, and competing visions. This book aims to explain what prototyping is, good reasons for prototyping, and how to effectively prototype.

    WHAT IS A PROTOTYPE?

    pro·to·type n. 1. An original or model after which anything is copied; the pattern of anything to be engraved, or otherwise copied, cast, or the like; a primary form; exemplar; archetype [Webster’s 1913 Dictionary].

    pro·to·type n. 1. An original type, form, or instance serving as a basis or standard for later stages. 2. An original, full-scale, and usually working model of a new product or new version of an existing product. 3. An early, typical example [http://www.dictionary.com; accessed January 13, 2004].

    The definition of prototype has changed little in more than 90 years. Webster’s 1913 Dictionary and today’s dictionary.com both classify a prototype in roughly the same way: as a model of a final product. Yet the new definition does make a subtle important difference. Unlike Webster’s, the definition from dictionary.com does make a slight change using the word stages-plural-illustrating the iterative nature of prototyping.

    This book specifically covers prototyping software as described by Bill Verplank, who suggests that: ‘Prototyping’ is externalizing and making concrete a design idea for the purpose of evaluation [Munoz 1992]. We like Verplank’s definition because prototypes are tangible software representations, which permit the software team to experience a design without needing to program the software.

    A prototype is any attempt to realize any aspect of software content. For example, the prototype can be a realization of interaction and navigation from one point in a product to another. A prototype can also be a hierarchical schema of an information design, divorced from both the look and feel of the final software. Other aspects of a prototype include:

    Current state of the art

    Requirements

    Content

    The current state of the art is a checkpoint of what the software would be like if it was built with just the currently existing knowledge of the software-making team.

    Requirements can refer to business requirements, technical requirements, functional requirements, end-user requirements, or any combination thereof.

    Content can be any of the different content types that make the prototype: information design, interaction design, visual design, editorial content, product branding, and system performance.

    For the sake of brevity we refer to any human-computer interaction as software throughout this book, regardless of whether it is a product or service, whether desktop software, mobile software, website, web application/service, or other interactive digital product.

    AN HISTORICAL PERSPECTIVE OF PROTOTYPING

    Software makers are not the first to wrestle with the challenges of inventing and prototyping technology. Historical perspectives help us understand the nature, challenges, and advantages of prototyping. Here we want to briefly explore three prototypers from the past: Leonardo da Vinci, Thomas Edison, and Henry Dreyfuss. Each has made remarkable contributions to design and the process of invention, and each has explored the possibilities of their inventions with prototypes.

    Da Vinci left behind prototypes of concepts and ideas (in the form of drawings) that would take centuries to come to fruition. Thomas Edison used exhaustive prototyping as the engine that drove his inventive ideas. And Henry Dreyfuss used prototypes to make industrial products more user-centered and ergonomically sound. These three people illustrate how a prototype serves one primary purpose: the means of moving an idea from the human imagination to a form that other humans can readily see, understand, evaluate, use, and further develop.

    FIGURE 1.1 A drawing of an inventive idea by Leonardo da Vinci .

    I have often thought that one of the industrial designer’s most valuable contributions to his client’s product is his ability to visualize. He can sit at a table and listen to executives, engineers, production and advertising men throw off suggestions and quickly incorporate them into a sketch that crystallizes their ideas–or shows their impracticability. His sketch is not, of course, a finished design, but the beginning is likely to be there. Henry Dreyfuss, 1967

    Leonardo da Vinci: The Thinking Man’s Inventor

    The drawings of Leonardo da Vinci (1452–1519) are some of the most fascinating examples of prototype usage for exploring innovation. During the late 15th century, da Vinci created detailed sketches of engineering ideas at the request of his patron, the Duke of Milan. These paper prototypes freed da Vinci from the contemporary constraints of what was possible to build. At liberty to push the limits as far as his imagination, da Vinci became one of history’s most profound and prolific inventors.

    FIGURE 1.2 Leonardo da Vinci .

    Da Vinci’s inventions would not be built for hundreds of years: flying machines, municipal construction, canals, buildings, and designs for advanced weapons.

    Da Vinci’s paper prototypes, and the models that others built from them, serve as proofs of concept well in advance of the technology that would eventually enable their development. Its in the same way use of prototypes will serve as the proof of concept that starts software development in the right direction.

    Thomas Alva Edison: Inventor Prototyper

    Thomas Alva Edison (1847–1931) was one of the most prolific and eminent American inventors. He explored ideas through extensive prototyping both in paper and in physical models. Of 1,368 separate and distinct patents he earned during his lifetime, the most recognized are the phonograph and perfections to the electric light bulb. The bulk of Edison’s work was focused on creating mass-market products. He labored during a time of great industrial transition, with exciting developments in materials and production processes. Creating a prototype became not just as da Vinci used them as a source of innovation, but also as the means to communicate the manufacturing requirements: what parts were needed, what molds needed to be made, what the production costs would be, etc. These prototypes sought to improve life on a mass market level. Other American inventors in Edison’s time, such as Alexander Graham Bell (1847–1922, inventor of the telephone), George Washington Carver (1864–1943, inventor of peanut agricultural sciences and food products), and John Wesley Hyatt (1837–1920, inventor of celluloid, an early thermoplastic), sought to improve daily life by reducing manual labor and introducing luxury items and entertainment to the masses.

    FIGURE 1.3 Thomas Alva Edison .

    Edison was a focused perfectionist. His models had to work consistently well because they were destined for mass production. He would sit at one of the lab tables, chew on a wad of tobacco, and make a little drawing of a new component. He’d ponder it, pass it around among his staff, and wander off to read a couple of technical manuals. He would frown. He would spit a sluice of tobacco onto the floor, and commence to cogitate. He played with his stuff with the grace and zest of an artist, or a child. He would build a prototype and experiment with it for hours, days, weeks, months–whatever it took [ipFrontline.com].

    Edison was a tinker who believed in hard work. More scientist than philosopher, Edison’s perseverance and dedication to success earn him the distinction as a model of the prototyping approach, especially rapid prototyping for the creation of the successful design. To assist him in his invention work, Edison employed a large and diverse staff of more than 200 machinists, scientists, craftsmen, and laborers at peak production. This staff was divided by Edison into as many as 10 to 20 small teams, each working simultaneously for as long as necessary to turn an idea into a perfected finished prototype or model. Edison himself would move from team to team advising and cajoling efforts as necessary. When a particular invention was perfected, Edison quickly patented the device. With such extensive facilities and his large staff, Edison was able to turn out new products on an unprecedented scale and with unprecedented speed [National Park Service]. Edison’s iterative approach and use of multiple prototyping methods are still critical approaches to prototyping today, as witnessed by the successful use of rapid prototyping in successful software design.

    Henry Dreyfuss: Designer Prototyper

    Industrial designers of the last century have used prototyping and iterative design to articulate both the product’s and the end-user’s needs. Indeed, the struggles of industrial designer to gain acceptance into the engineering and manufacturing world resemble very closely the Human-Computer Interaction (HCI) professional’s struggles for acceptance in the world of software engineering. Henry Dreyfuss (1904–1972) was the archetype of industrial designers, not least because he left behind a body of literature detailing his efforts in prototyping. Dreyfuss used prototyping to couple the perspectives of user-centered design principles, business interests, and engineering. He saw prototyping as one of the most important contributions an industrial designer makes to the product creation process because it was both essential in communicating designs to stakeholders and allowed him to evaluate designs for suitability to the target users.

    Dreyfuss was a firm believer in collaborative and to a certain extend user-centered design. His techniques of design incorporated ergonomic human studies into every design he made [Dreyfuss 1967, pp. 26–28]. Emphasizing the importance of the diverse stakeholders, Dreyfuss talks of his design process in a way that is very close to what we today call user experience design in his inclusion of multiple disciplines. Dreyfuss claimed that a successful industrial designer is a man of many hats: design is only one of those hats. To Dreyfuss, an industrial designer is also a keen observer of public taste as well as someone who understands the full context of design, from concept to manufacturing, packaging, distribution, and display. Dreyfuss’ concept of a designer is a user, designer, and businessperson all rolled together. The designer links management, engineering, and the consumer and cooperates with all three (Dreyfuss 1967, pp. 14–15).

    FIGURE 1.4 Henry Dreyfuss .

    We enter into close cooperation with engineers… . We go over countless rough sketches. Components are arranged and rearranged. Working drawings and blueprints are made, some by the client’s engineers, some by us, and frequently exchanged. Our blueprints, by the way, have letters and numerals in the margins, like road maps, so that any point on them can be easily located and discussed by phone or referred to by wire or letter. Three-dimensional clay, plaster, wood, or plastic models are developed, for we believe that three-dimensional objects should be designed in three dimensions. Perspective drawings are fine up to a point, but they can be misleading. So, as soon as possible, we get a form into clay and actually do our designing in this pliable material. It is from such models that production costs are estimated [Dreyfuss 1967, pp. 46–47].

    Dreyfuss took the concept of design and prototyping to the next level: the prototype as an illustration of a product in use that is situated in a context. In many ways his understanding of the function of the prototype is the beginning of our modern conception of the prototype. Reading his work of prototyping process, first published in 1955, reads like a work on modern user-centered design (UCD) process because it advocates the same UCD processes we apply to our prototypes to make software better: cross-disciplinary stakeholder involvement in design and user involvement in evaluation.

    THE PURPOSE OF PROTOTYPING SOFTWARE

    The historical needs and motivations for prototyping-innovation (da Vinci), idea refinement and requirements (Edison), and communication with stakeholders and evaluation (Dreyfuss)-are still relevant for modern software, but the drivers are more sophisticated and complex. Software prototyping is driven by a confluence of different requirements not necessarily complementary to each other if not downright contradictory. Let’s mention just four examples among many others. First, revenue motivation brings successful products to the marketplace in a timely manner. Second, pressure exists to stay ahead of the competition. Third, there are risks associated with modern software design and development, such as not knowing whether the software will be desirable for users until it reaches the market. Fourth, the end user may not want what is profitable or viable for the company to produce. As such, prototypes have to be more than just tangible representations of ideas; they must reflect the requirements and the trade-offs needed to achieve the best balance among them.

    Our prototyping predecessors were primarily focused on bringing manufactured products to the mass market. Although many lessons, such as user reviews and iterative design, have been learned from these historical efforts, prototyping for software is a unique activity. In the software-making process, prototypes are used for many different purposes, from developing an internal overall vision to developing products for consumption by target users. A prototype can be used to test big or small ideas. The prototype can range from lower fidelity, meaning it is conceptual, unpolished, and spare of detail, to higher fidelity, precisely representing part or all of a final user interface. The prototype can represent the simple beginnings of a vastly complex system, or it can reproduce a complex and tricky part of interaction on which user feedback is essential. Whether you have a grand plan or simply wish to see whether users understand a specific screen layout, a prototype that can be put in users’ hands will help you validate, extend, and evolve your ideas, and often help you discover new ones.

    Prototyping can help answer the following questions:

    Will the design work properly?

    Can the design be produced economically?

    How will users respond to the design?

    Which approach can be taken to get from concept to product?

    How can prototyping support product design specification?

    How can prototyping contribute to better product scheduling and budget planning?

    Prototyping is a useful tool for solving problems in addition to raising and answering questions. Once a design concept is identified, you can build a prototype to illustrate it. Prototyping can then help extend and refine a design. It doesn’t replace thinking through your design concept. But sometimes, the purpose is to come up with new concepts and simply

    Enjoying the preview?
    Page 1 of 1