Why Software Sucks-- and what You Can Do about it


Book Description

"I've just finished reading the best computer book [ Why Software Sucks...] since I last re-read one of mine and I wanted to pass along the good word. . . . Put this one on your must-have list if you have software, love software, hate programmers, or even ARE a programmer, because Mr. Platt (who teaches programming) has set out to puncture the bloated egos of all those who think that just because they can write a program, they can make it easy to use. . . . This book is funny, but it is also an important wake-up call for software companies that want to reduce the size of their customer support bills. If you were ever stuck for an answer to the question, 'Why do good programmers make such awful software?' this book holds the answer." -- John McCormick, Locksmith columnist, TechRepublic.com "I must say first, I don't get many computing manuscripts that make me laugh out loud. Between the laughs, Dave Platt delivers some very interesting insight and perspective, all in a lucid and engaging style. I don't get much of that either!" -- Henry Leitner, assistant dean for information technology and senior lecturer on computer science, Harvard University "A riotous book for all of us downtrodden computer users, written in language that we understand." -- Stacy Baratelli, author's barber "David's unique take on the problems that bedevil software creation made me think about the process in new ways. If you care about the quality of the software you create or use, read this book." -- Dave Chappell, principal, Chappell & Associates "I began to read it in my office but stopped before I reached the bottom of the first page. I couldn't keep a grin off my face! I'll enjoy it after I go back home and find a safe place to read." -- Tsukasa Makino, IT manager "David explains, in terms that my mother-in-law can understand, why the software we use today can be so frustrating, even dangerous at times, and gives us some real ideas on what we can do about it." -- Jim Brosseau, Clarrus Consulting Group, Inc. A Book for Anyone Who Uses a Computer Today...and Just Wants to Scream! Today's software sucks. There's no other good way to say it. It's unsafe, allowing criminal programs to creep through the Internet wires into our very bedrooms. It's unreliable, crashing when we need it most, wiping out hours or days of work with no way to get it back. And it's hard to use, requiring large amounts of head-banging to figure out the simplest operations. It's no secret that software sucks. You know that from personal experience, whether you use computers for work or personal tasks. In this book, programming insider David Platt explains why that's the case and, more importantly, why it doesn't have to be that way. And he explains it in plain, jargon-free English that's a joy to read, using real-world examples with which you're already familiar. In the end, he suggests what you, as a typical user, without a technical background, can do about this sad state of our software--how you, as an informed consumer, don't have to take the abuse that bad software dishes out. As you might expect from the book's title, Dave's expose is laced with humor--sometimes outrageous, but always dead on. You'll laugh out loud as you recall incidents with your own software that made you cry. You'll slap your thigh with the same hand that so often pounded your computer desk and wished it was a bad programmer's face. But Dave hasn't written this book just for laughs. He's written it to give long-overdue voice to your own discovery--that software does, indeed, suck, but it shouldn't.




Dreaming in Code


Book Description

Our civilization runs on software. Yet the art of creating it continues to be a dark mystery, even to the experts. To find out why it’s so hard to bend computers to our will, Scott Rosenberg spent three years following a team of maverick software developers—led by Lotus 1-2-3 creator Mitch Kapor—designing a novel personal information manager meant to challenge market leader Microsoft Outlook. Their story takes us through a maze of abrupt dead ends and exhilarating breakthroughs as they wrestle not only with the abstraction of code, but with the unpredictability of human behavior— especially their own.




The Problem with Software


Book Description

An industry insider explains why there is so much bad software—and why academia doesn't teach programmers what industry wants them to know. Why is software so prone to bugs? So vulnerable to viruses? Why are software products so often delayed, or even canceled? Is software development really hard, or are software developers just not that good at it? In The Problem with Software, Adam Barr examines the proliferation of bad software, explains what causes it, and offers some suggestions on how to improve the situation. For one thing, Barr points out, academia doesn't teach programmers what they actually need to know to do their jobs: how to work in a team to create code that works reliably and can be maintained by somebody other than the original authors. As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience. Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than “good enough to ship."




The Joy of UX


Book Description

“For years now, I’ve been running around preaching to anyone who’ll listen that UX is something that everybody (not just UX people) needs to be doing. Dave has done an excellent job of explaining what developers need to know about UX, in a complete but compact, easy-to-absorb, and implementable form. Developers, come and get it!” —Steve Krug, author of Don’t Make Me Think! A Common Sense Approach to Web Usability Master User Experience and Interaction Design from the Developer’s Perspective For modern developers, UX expertise is indispensable: Without outstanding user experience, your software will fail. Now, David Platt has written the first and only comprehensive developer’s guide to achieving a world-class user experience. Quality user experience isn’t hard, but it does require developers to think in new ways. The Joy of UX shows you how, with plenty of concrete examples. Firmly grounded in reality, this guide will help you optimize usability and engagement while also coping with difficult technical, schedule, and budget constraints. Platt’s technology-agnostic approach illuminates all the principles, techniques, and best practices you need to build great user experiences for the web, mobile devices, and desktop environments. He covers the entire process, from user personas and stories through wireframes, layouts, and execution. He also addresses key issues—such as telemetry and security—that many other UX guides ignore. You’ll find all the resources and artifacts you need: complete case studies, sample design documents, testing plans, and more. This guide shows you how to Recognize and avoid pitfalls that lead to poor user experiences Learn the crucial difference between design and mere decoration Put yourself in your users’ shoes—understand what they want (and where, when, and why) Quickly sketch and prototype user interfaces for easy refinement Test your sketches on real users or appropriate surrogates Integrate telemetry to capture the best possible usage information Use analytics to accurately interpret the data you’ve captured Solve unique experience problems presented by mobile environments Secure your app without compromising usability any more than necessary “Polish” your UX to eliminate user effort everywhere you can Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available.




Facts and Fallacies of Software Engineering


Book Description

Regarding the controversial and thought-provoking assessments in this handbook, many software professionals might disagree with the authors, but all will embrace the debate. Glass identifies many of the key problems hampering success in this field. Each fact is supported by insightful discussion and detailed references.




Code Simplicity


Book Description

Good software design is simple and easy to understand. Unfortunately, the average computer program today is so complex that no one could possibly comprehend how all the code works. This concise guide helps you understand the fundamentals of good design through scientific laws—principles you can apply to any programming language or project from here to eternity. Whether you’re a junior programmer, senior software engineer, or non-technical manager, you’ll learn how to create a sound plan for your software project, and make better decisions about the pattern and structure of your system. Discover why good software design has become the missing science Understand the ultimate purpose of software and the goals of good design Determine the value of your design now and in the future Examine real-world examples that demonstrate how a system changes over time Create designs that allow for the most change in the environment with the least change in the software Make easier changes in the future by keeping your code simpler now Gain better knowledge of your software’s behavior with more accurate tests




Why Most PowerPoint Presentations Suck


Book Description

THIRD EDITION: Did you learn PowerPoint in 30 minutes? Join the crowd...most people get no more than a half-hour of training time with PowerPoint before they are tasked with making what is likely to be a first impression of themselves or their company. This book is for earnest presenters and presentation designers who want to escape the perils that entrap so many who turn to PowerPoint for their presentations.




Why the World Sucks and What We Can Do about It


Book Description

"Tired of watching the news, which is almost always bad? Frustrated at the deterioration of our society? Concerned about the world we will leave to our children? Think that the average person was a better person a generation or two ago? Politics won't solve the problem. It's now a game which goes round in circles, accomplishing little. Financial mismanagement is everywhere. Look at Greece, Spain and Italy. But also look at France and the United States. We're managing our governments like spoiled children. And it doesn't matter whether it's liberals or conservatives who are in charge. Both left and right are to blame because the problem is the system itself. "Why the World Sucks" outlines the issues and provides possible solutions. From a slightly eccentric point of view and with a little bit of humor." -- Back cover




The Software Craftsman


Book Description

In The Software Craftsman, Sandro Mancuso explains what craftsmanship means to the developer and his or her organization, and shows how to live it every day in your real-world development environment. Mancuso shows how software craftsmanship fits with and helps students improve upon best-practice technical disciplines such as agile and lean, taking all development projects to the next level. Readers will learn how to change the disastrous perception that software developers are the same as factory workers, and that software projects can be run like factories.




Tragic Design


Book Description

Bad design is everywhere, and its cost is much higher than we think. In this thought-provoking book, authors Jonathan Shariat and Cynthia Savard Saucier explain how poorly designed products can anger, sadden, exclude, and even kill people who use them. The designers responsible certainly didn’t intend harm, so what can you do to avoid making similar mistakes? Tragic Design examines real case studies that show how certain design choices adversely affected users, and includes in-depth interviews with authorities in the design industry. Pick up this book and learn how you can be an agent of change in the design community and at your company. You’ll explore: Designs that can kill, including the bad interface that doomed a young cancer patient Designs that anger, through impolite technology and dark patterns How design can inadvertently cause emotional pain Designs that exclude people through lack of accessibility, diversity, and justice How to advocate for ethical design when it isn’t easy to do so Tools and techniques that can help you avoid harmful design decisions Inspiring professionals who use design to improve our world