What If Your Grandmother Was The User?

June 1, 2020 in Design | 4 mins read | Tagged:

Design Presentation

Image from Linkedin

All of us were amazed by the recent achievement of Nasa’s launch, and mostly we liked how the control panel (dashboard) of the Dragon 2 capsule looked. I wanted to share the lesson learnt from this, how a simple administration panel could control complex machines. And if a space capsule can achieve this, your next application can do this easily.

Back in 2003, I was starting my business as a web development/web hosting services provider; I did not expect the high number of jobs that I would score. For that, I started hiring freelancers to help me get projects done. I would meet the clients, understand requirements, design the interfaces, and the freelancers’ job was to code the project. I was always checking and testing the projects before they get delivered to the clients. I used to cover security, usability, code quality, and performance before the delivery.
Once, I got a significant project from an important client, and I thought this project would help my company reputation because it’s a public website, and the client had a perfect circle of potential clients.
Towards the end of the project, I had to travel for a month. I asked the freelancer to upload the website to the server directly without my approval.
On that day, I got an outraged email from the client about the website, and he asked for a meeting as soon as I come back. I visited the website and checked; the work was perfect. The site is highly performing, the design is accurate, all functionalities were excellent, and to be honest, I didn’t know what the client wanted to meet.
Upon returning, I showed up to their office, he opened the admin panel, and the least I can say, it was a disaster. The admin panel forms were uncomprehensible, buttons everywhere, no apparent map of the control pages. If you weren’t the person who designed that admin panel, you would never know how to navigate.
The client rejected the whole project, I had to discount 50% of the agreed amount, and I had to repeat the project. The client postponed the release for two months, they cancelled the website launch party, and he talked negatively about our work quality.
I learned my lesson the hard way, as this bad reputation was going around for about one year.

I have been in the business of designing interfaces since 1998, where the web was about a big blob of Macromedia Flash websites.
During these years, I’ve seen many applications which didn’t care about the user. Some of them were more complicated to use than the functionality a user needs to use.
I always followed one rule, which is: “What if my grandmother was the user?”. This amount of empathy with the user made me keep in my mind the non-technical people with different degrees of education, and the varied cultures they have.
All of today’s developers grew up in a time where technology was an everyday product. All of them are using social media, smartphones, computers, websites, and many applications for work. And I am quite sure that many of them suffered at some point in their life from a bad interface. Every developer nowadays is usability-literate in some way, and I believe if they put a little extra effort, they would have better user experiences with their products.

A bad admin panel is a nasty reputation for your business, so try to avoid it by just paying a little bit of attention to admin panels. No need to be fancy in graphics, many of the best admin panels today follow clean, simple, and minimalist designs.
I know that a project admin panel will not have as many users as its main interface, but paying attention to the admin panel is vital and will reflect very good on your work quality.

As an example, I would like to highlight two tools I put on Github recently, both of them are CRUD/Admin Panel generators for a MySQL database. One uses PHP, and the other uses Python.
Both of them are quite easy to use, and it is easy to follow their pattern in your future admin panel.
Check them here: PHP / Python


Back to top