Description
A revolutionary concept-based approach to thinking about, designing, and interacting with software
As our dependence on technology increases, the design of software matters more than ever before. Why then is so much software flawed? Why hasn’t there been a systematic and scalable way to create software that is easy to use, robust, and secure?
Examining these issues in depth, The Essence of Software introduces a theory of software design that gives new answers to old questions. Daniel Jackson explains that a software system should be viewed as a collection of interacting concepts, breaking the functionality into manageable parts and providing a new framework for thinking about design. Through this radical and original perspective, Jackson lays out a practical and coherent path, accessible to anyone—from strategist and marketer to UX designer, architect, or programmer—for making software that is empowering, dependable, and a delight to use.
Jackson explores every aspect of concepts—what they are and aren’t, how to identify them, how to define them, and more—and offers prescriptive principles and practical tips that can be applied cost-effectively in a wide range of domains. He applies these ideas to contemporary software designs, drawing examples from leading software manufacturers such as Adobe, Apple, Dropbox, Facebook, Google, Microsoft, Twitter, and others. Jackson shows how concepts let designers preserve and reuse design knowledge, rather than starting from scratch in every project.
An argument against the status quo and a guide to improvement for both working designers and novices to the field, The Essence of Software brings a fresh approach to software and its creation.
More Information
Rights Information
All rights available
Endorsements
“A provocative rethinking of software development as a design discipline. Too often software embodies confusing and inconsistent mental models. Taking a truly human-centered approach, with many rich examples, Jackson offers us the tools to rethink how we design software to be more usable and useful.”—Elizabeth Churchill, Director of User Experience, Google
“Daniel Jackson’s The Essence of Software is a monumental work. It provides a new structure for thinking about software in terms of concepts. Wide-ranging, it uses modern examples the reader will know. And because the book (and its copious endnotes) is designed to be read along different paths, every software engineer will find something valuable in it.”—Frederick P. Brooks, Jr., author of The Mythical Man-Month: Essays on Software Engineering
“I cannot say enough good things about this book. The Essence of Software is essential reading for anyone concerned with making software that is responsive to human needs and purposes. Its profound, practical framework offers a broadly useful, enormously empowering way to think about and do software design.”—Mitchell Kapor, founder, Lotus Development Corporation
Author Biography
Daniel Jackson is professor of computer science at the Massachusetts Institute of Technology, and an associate director of the MIT Computer Science and Artificial Intelligence Laboratory. He is the author of Software Abstractions and Portraits of Resilience.
Princeton University Press
Founded in 1905, Princeton University Press is a nonprofit publisher with close connections to Princeton University. The Press brings influential voices and ideas to the world stage through their academic scholarship, advancing the frontiers of scholarly knowledge and promoting the human conversation. PUP have offices in Princeton in the US, Oxford in the UK where the rights team is based, and in Beijing. We all work together to make Princeton a truly global publisher. We publish peer-reviewed books across the humanities, social sciences, and sciences.
View all titlesBibliographic Information
- Publisher Princeton University Press
- ISBN/Identifier 9780691225388
- Pages336
- Publish StatusPublished
- Illustration84 b/w illus.
Princeton University Press has chosen to review this offer before it proceeds.
You will receive an email update that will bring you back to complete the process.
You can also check the status in the My Offers area
Please wait while the payment is being prepared.
Do not close this window.