
Abstract: Apps are only good when the people that make them care to make them good. It’s not about technology choices. It’s about caring about the user and supporting them with a good user experience. If you can’t say what and who the app is for, with clarity, you’re probably working on a bad app. What matters is what the user is trying to do with your app. Users should find it easy to get their job done. Apps the users love have a better chance of succeeding.
It’s no mystery. When desktop, web, or mobile software applications are good, it is because talented people cared enough about them to make them good.
There is no single, right technology choice that creates a good application. It’s not even possible to choose the right development process to guarantee the application is excellent. Neither the best technology nor the correct choice of development process is sufficient to make an application good.
Creating good software applications is all about giving a damn about the user and making sure that the technologies and processes you choose support the aim of giving the user a superior user experience, rather than fighting that goal.
If you cannot clearly articulate what and who the application is for, you’re probably creating a bad application. If you don’t create unobtrusive, intuitive to use, elegant tools, you’re presenting users with needless complexity and confusion. More options are not always better options.
Too many development teams get caught in endless arguments about the merits of one programming language over another, which application framework is the best choice, how to best find and remedy defects and whether or not you should have continuous integration and delivery, at the core of your release pipeline. All of that doesn’t matter, if you don’t care about the user and what the user is trying to accomplish with your application.
Most users won’t know or care how you constructed your application, or what with. What they care about is what it can do for them and how hard or easy it is to accomplish that. Sometimes, developers focus on the wrong aspects of the project. Users care only about getting the job they want to do, done, with your tools.
It alarms me how many development teams put user considerations last. Adopters of your software, who fall in love with it, are your life blood. Do something to the design of your offering that makes your application worthy of their enthusiasm. Don’t leave success to chance.