DEV Community

Hassan Sani
Hassan Sani

Posted on

These five software topics are boring but important

Image of people on table
When implementing new products and features, we are blinded by shipping the product and we forget the critical and essential part of the product itself. In this article, I discussed five boring requirements of every app.

Performance

Measuring the performance of your application is a boring topic to discuss, it's not like any important person will be required to use your app. But what if.

Did you know that 53% of mobile site visits are abandoned if pages take longer than 3 seconds to load?

Performance is as important as writing the code itself, approaching a project with a performance and optimization mindset will put you on edge for an excellent user experience.
Performance measurement gives room to improve or discard app features as need be.

Simplicity

My 3 years old can effectively scan through the contents and select what to watch on YouTube Kids.

Don't make something that is supposed to be enjoyable become a punishment for your users. Interaction with the app should not take the user through research, it should be as seamless and easy even for a 3 years old.

Every feature you implement must be with the mindset that your users have no idea what it is because they don't. Make it self-explanatory.

News Flash: as the developer, you will not be there to explain every feature to your users.

Building for the User

Every feature is important and perfect for the solution you are building.

This is only true if you know who your users are. Conducting user research is the only way to identify your potential users.

Without identifying your users you will be building a beautiful perfect solution for yourself, it's not a bad thing until you implement every feature and no one uses them.

Accessibility

Regarding the user's experience, accessibility is the least discussed most important part of building apps. Apps should be usable by everyone including people with disabilities, you have no right to deny anyone from using your application. It should be a crime if it's not.

Implement every feature with accessibility rules for everyone either using a mouse, screen reader, or tabs equally getting your content on desktop or mobile.

This is not an option, maybe boring.

Every new tool should be used

Yes! Stay with the trend. I agree with that.

Personal opinion but more than 90% of projects can be implemented with just HTML, CSS, and JavaScript or Java, or python.

You aim to provide a simple and friendly user experience. When you try to use any of the shiny tools or libraries achieving this becomes almost impossible and you end up adding complex libraries and features when you should be discarding, you serve large files to the user's device consuming storage and power. This is not good.

Be minimal.

Conclusion

Your approach to building apps should primarily be the users.

  • How it affects the user's day-to-day activities like storage - and batteries.
  • How the user interacts
  • How long it keeps your users waiting
  • What content do you feed the users

I hope when next you are building a cool product you will consider these boring topics and discuss them because it won't only give you the user's perspective, it also enforces you to only focus on the essential features of the product.

Are you interested in discussing these boring topics? Shoot me a tweet @iNidAName

Top comments (0)