App Development and Decorative Pillows

In life, there is no limit to the number of things that naturally go great together: Chocolate and Peanut Butter, Steak and Potatoes, Romeo and Juliet, Black and Gold (especially in Pittsburgh) and even Tango and Cash. So how does custom app development and decorative pillows fit into this discussion? If you’ll bear with me, I promise to connect the dots.

The use of decorative pillows, or throw pillows as they are sometimes known, is a concept I just do not understand. In our home, my wife has placed decorative pillows in almost every room of our house. I will admit that they do add a splash of color and are a nice accent in any room where I find them. My problem is that I can’t USE them. When I sit down on the sofa, I have to set the pillow off to the side so that it does not get crushed or deformed. When I go to bed, I have to stack five, yes I said five, pillows on the floor to uncover the one pillow I can use.

If I could just use a decorative pillow once in while, I would find them easier to accept. As noted above, they are located all over the house, but I dare not rest my head on one of them, even for a moment. They are off limits, and so, in my mind, they serve no purpose. One could argue that it might even be better if we did not have them at all. At a minimum, I would be able to get to bed fractionally faster each night without those pillows to move.

As I pondered my conundrum, I wondered if I am guilty of placing “decorative pillows” throughout the custom apps I have developed during my career. As I took inventory of the many solutions I have worked on, I came to realization that the answer is “Yes”. And, I think it is safe to say that all developers have probably done the same.

So what do our decorative pillows look like? For the custom app developer, they come in all shapes and sizes and often depend on the development platform of choice. When building a custom solution, my primary tool is the FileMaker Platform so my decorative pillows often look like this: the elegant script I spent hours crafting for a task that will be performed once; the status icon which changes color but appears so frequently in List view it quickly loses its meaning; the data entry layout which shows every field in every table even though the user only needs to quickly capture two pieces of information for the given task.

If you are like me, you certainly do not set out to clutter up your custom app with rooms full of decorative pillows. It happens over time and for a multitude of reasons. We learn a new technique and want to try it out somewhere. We realize that there is a better way and decide to rewrite some of the scripted business logic to make the script more elegant. And worst of all, we determine the that the app’s workflow is not what we think it should be. That, my friends, is the slippery slope that leads to the land of rooms filled to bursting with fluffy pillows of all sizes.

When building a custom app, we must put ourselves into the shoes of the user and then do our best to fully understand the problem they are trying to solve. That is the easy part. Once the requirement gathering process is completed, we have to build it in such a way that the app works the way the user needs it to, and not the way we want it to. We may know ten ways to accomplish goal and it’s up to us to find the one way that works best for our user. If the tool works well and allows the user to complete the task faster, the user is more likely to keep coming back and using that tool. The user is also more likely to call us to build the next custom app when he has a new problem to solve.

We can still throw in the occasional decorative pillow, but we have to temper our enthusiasm. During a recent conversation with my friend Albert, I was reminded of this quote by Antoine de Saint-Exupery:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”

If the user of our app has to move the ten pillows we placed in his way to perform the task at hand, we have certainly missed the mark. I am not advocating bland, monochromatic layouts with boring fonts to go along with a simplistic user experience. We just need to make sure that every decorative pillow we place throughout our app is there for a purpose. It must provide a crucial service and meet a critical need of the user, and not exist simply because it looks pretty.