Effective Prototyping for Software Makers
3.5/5
()
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/prototypingJonathan 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 to Effective Prototyping for Software Makers
Related ebooks
Forms that Work: Designing Web Forms for Usability Rating: 4 out of 5 stars4/5Writing for Interaction: Crafting the Information Experience for Web and Software Apps Rating: 3 out of 5 stars3/5Measuring the User Experience: Collecting, Analyzing, and Presenting Usability Metrics Rating: 4 out of 5 stars4/5Communicating the User Experience: A Practical Guide for Creating Useful UX Documentation Rating: 4 out of 5 stars4/5There's Not an App for That: Mobile User Experience Design for Life Rating: 1 out of 5 stars1/5AI and UX: Why Artificial Intelligence Needs User Experience Rating: 0 out of 5 stars0 ratingsExploring Requirements 2: First Steps into Design Rating: 0 out of 5 stars0 ratingsUser Testing A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsDesigning with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules Rating: 4 out of 5 stars4/5Software Engineering & Object Oriented Modeling Rating: 0 out of 5 stars0 ratingsInformation Architecture for Information Professionals Rating: 5 out of 5 stars5/5Notification system Standard Requirements Rating: 0 out of 5 stars0 ratingsRapid Contextual Design: A How-to Guide to Key Techniques for User-Centered Design Rating: 4 out of 5 stars4/5Less Web Development Cookbook Rating: 0 out of 5 stars0 ratingsDesigning the Search Experience: The Information Architecture of Discovery Rating: 4 out of 5 stars4/5User Interface Design A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsUsability Matters: Mobile-first UX for developers and other accidental designers Rating: 0 out of 5 stars0 ratingsUsability Requirements A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsUser Experience Mapping Rating: 0 out of 5 stars0 ratingsPractical User Research: Everything You Need to Know to Integrate User Research to Your Product Development Rating: 0 out of 5 stars0 ratingsWebsite Information Architecture A Complete Guide - 2020 Edition Rating: 3 out of 5 stars3/5Understanding Your Users: A Practical Guide to User Requirements Methods, Tools, and Techniques Rating: 4 out of 5 stars4/5Pervasive Information Architecture: Designing Cross-Channel User Experiences Rating: 4 out of 5 stars4/5User Experience Re-Mastered: Your Guide to Getting the Right Design Rating: 0 out of 5 stars0 ratingsVisual Usability: Principles and Practices for Designing Digital Applications Rating: 0 out of 5 stars0 ratingsUsability Testing Essentials: Ready, Set...Test! Rating: 4 out of 5 stars4/5Get Agile: Scrum for ux, design & development Rating: 4 out of 5 stars4/5Agile Testing A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratings
Computers For You
Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 5 out of 5 stars5/5CompTIA Security+ Practice Questions Rating: 2 out of 5 stars2/5Procreate for Beginners: Introduction to Procreate for Drawing and Illustrating on the iPad Rating: 0 out of 5 stars0 ratingsAP Computer Science Principles Premium, 2024: 6 Practice Tests + Comprehensive Review + Online Practice Rating: 0 out of 5 stars0 ratingsCreating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5How to Create Cpn Numbers the Right way: A Step by Step Guide to Creating cpn Numbers Legally Rating: 4 out of 5 stars4/5The ChatGPT Millionaire Handbook: Make Money Online With the Power of AI Technology Rating: 0 out of 5 stars0 ratingsSQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Network+ Study Guide & Practice Exams Rating: 4 out of 5 stars4/5Deep Search: How to Explore the Internet More Effectively Rating: 5 out of 5 stars5/5101 Awesome Builds: Minecraft® Secrets from the World's Greatest Crafters Rating: 4 out of 5 stars4/5CompTIA IT Fundamentals (ITF+) Study Guide: Exam FC0-U61 Rating: 0 out of 5 stars0 ratingsGrokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Ultimate Guide to Mastering Command Blocks!: Minecraft Keys to Unlocking Secret Commands Rating: 5 out of 5 stars5/5ChatGPT Ultimate User Guide - How to Make Money Online Faster and More Precise Using AI Technology Rating: 0 out of 5 stars0 ratingsPractical Lock Picking: A Physical Penetration Tester's Training Guide Rating: 5 out of 5 stars5/5Remote/WebCam Notarization : Basic Understanding Rating: 3 out of 5 stars3/5Childhood Unplugged: Practical Advice to Get Kids Off Screens and Find Balance Rating: 0 out of 5 stars0 ratingsElon Musk Rating: 4 out of 5 stars4/5Going Text: Mastering the Command Line Rating: 4 out of 5 stars4/5The Professional Voiceover Handbook: Voiceover training, #1 Rating: 5 out of 5 stars5/5Dark Aeon: Transhumanism and the War Against Humanity Rating: 5 out of 5 stars5/5Master Builder Roblox: The Essential Guide Rating: 4 out of 5 stars4/5
Reviews for Effective Prototyping for Software Makers
7 ratings0 reviews
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