Developing software to meet the diverse needs of a broad range of users is hard. You are continually be pulled in different directions and can eastly find yourself adding features your noisiest users want, only to find you’ve just complicated things for 90% of your users in order to satisfy that 10%.
Learn to say no
Designing software that is easy to use and delivers the functionality that the majority of your best users need is as much a craft as it is a science. As I recently posted on X, it is often times too easy to add a new feature (especially if you love writing code) and much harder to sit back, carefully weigh up the pros and cons and then conclude it is better not to add this feature, documenting the reasons why.
If you don’t carefully and thoughtfully follow this process you will most likely end up with a bloated, overly complex and hard to maintain application that may well be attractive to a small group of power users but not so the wider community. This could easily impinge on the success and longevity of the product.
Say no early and beware of hype cycles
Once you’ve built an application and have lots of users it can be extremely difficult to remove features or some would say cripple it. So you need to cull unnecessary features as early on as possible, or better still never include them.
With all the recent hype about AI, many applications have added some level of AI, so they get to join the AI hype bandwagon. In one case I’m aware of they’ve moved so heavily into AI that the app has morphed into something so different that the users are far from happy.
Experience counts
Having years of experience building user facing applications has made it easier for me to say no to creeping featuritis, code bloat and unnecessary complexity.
Having said that, every day I’m still learning and hopefully improving. In fact if I was to start Clibu Notes development today their are some user interface aspects I would do differently. Hindsight is such a wonderful thing.
Iterate and improve
Clibu Notes is our third generation of Note Taking application, each one a complete redesign and rewrite from the ground up. We started with a Windows only Desktop app, then a Cloud only Web app and now with Clibu Notes an application that works online in the cloud as well as completely offline. It can be installed like any native application on Windows, Mac, iOS, Android and Linux and also works in the Browser.
With each generation we’ve refined the user interface and we’ve made some quite major changes along the way. Each time the goal has been to try and further simplify the application and at the same time make it more useful.
Be current & take on big issues
To deliver on that premise Clibu Notes works across all of your devices, whether online or offline, merges all changes automagically and has the same clear and consistent user interface and user experience on all devices.
In my opinion many applications are stuck in an old way of software development. Separate apps are built for each platform, Mac, Windows etc. And often the user interface and user experience differs across platforms, especially on smartphones and tablets, assuming they support these.
Progressive Web Applications are a win win.
Progressive Web Applications (PWAs) work across all modern platforms and completely bypass having to build separate applications for each one. With a PWA you have a single unified, platform agnostic, code base which simplifies all aspects of the application.
Designing Clibu Notes as a PWA from the ground up was a clear and obvious choice. The benefits to us and our users are truly significant.
Continued in Part 2.
Neville
Aside:
I’m now publishing our Blog articles on Medium. You can subscribe to those via this link and see our articles on Medium with this link.