Wednesday, January 25, 2017

SOUP - Showing-Our-Undies vs Conscious-Programming

Have you ever thought, while using an application, that it should be doing this work for you? A great example is reload buttons, in particular the pull-down-to-reload UI on many mobile apps. Why should the user need to tell the app when to update its data? The app should know and automatically update its data the instant it changes.

The problem is programmers getting lazy. Programming is hard. Programming problems can be hard. And sometimes... Programmers just push the problem onto the user - they ask the user to press a reload button instead of automatically updating.

This mentality is ubiquitous. Apps everywhere expose the inner problems of the program that are irrelevant to the user. We programmers get lazy and let our undies hang out in public.

SOUP is about Quality

Laziness is not the only cause of SOUP. Real-world budget constraints and the need to get-to-market lead to cutting quality. Hard problems to solve in programming often get pushed off to the user with the conscious or unconscious justification that it's 'easy for the user to do.'

Presenting the user with an amazingly-well-designed app is the key to success, and yet it's easy for us to forget that and let 'real-world' pressures cause us to degrade the user's experience. This destroys the magic and results in a second-rate app that is much more likely to fail.

SOUP is about Culture and Normalization

The other major problem is culture. We become normalized to a certain kind of app working a certain way. We forget to stop and ask if there is a better way for the user to accomplish their task. I think spreadsheets are in this rut. Fundamentally they haven't changed since the original Visicalc. They are great for getting started, but once you have more than a few dozen cells with calculations, they become a bear to use. 

Programming tools are always improving. Often something that was hard in the 1970s is now easy in the 2010s. However, many UIs are still written as-if we were using the tools of the '70s, '80s or '90s.

Conscious Programming

The term conscious-blah is used for many things these days: conscious-living, conscious-eating, conscious-parenting, etc. Open up google and type in 'conscious a' or any other letter of the alphabet and you'll see some similar terms show up. 

I think all of these mean the same basic thing. We can't be conscious of everything all the time, but we can shine the light of consciousness on as many things as we can think of for a brief time each. It's about creating a practice of revising our assumptions, actions and thought processes periodically to make sure they still hold true. My life motto sums this up nicely: question everything

I advocate for conscious-programming because there are many unfounded assumptions in programming - many artifacts which distract us from the essence of what we are trying to do. My post on Amazingly Great Design has some ideas on how to effectively focus on the essence of delivering value to users and cut through the jungle of artifacts.

1 comment:

  1. Điều kì diệu làm nên công dụng của thuốc Fucoidan trị ung thư của Mỹ chính là thành phần của nó. Fucoidan Fucoidan từ tảo nâu Nhật Bản được coi là nguồn Fucoidan tinh khiết và chất lượng cao. Fucoidan là gì Hợp chất sinh học này được phát hiện vào năm 1913, với tên gọi ban đầu là “Fucoidin”, Fucoidan Nhật Bản loại nào tốt sau được đổi thành “Fucoidan” theo nguyên tắc đặt tên quốc tế. thuốc Fucoidan giá
    Còn Agaricus là một loại nấm quý hiếm được sử dụng chủ yếu tại Nhật và Brazil. tác dụng của Fucoidan Nhờ những tác dụng vượt trội của nó đối với sức khỏe, người dân ví Agaricus là “nấm của Chúa”.