Where does software start?
- Dominant language
- No language data
- Stars
- 1.9k
- Forks
- 110
- PR merge metrics
- No merged PRs in 30d
Description
In my experience I have found that most technical endeavours tend to get lost in requirements and loose track of the most important factor... the user.
The process tends to be driven by mindsets that are used to wrangling complex interfaces and mastering them. There is a lot of talk about simplicity, but I think developers take for granted how many "correct assumptions" they make when jumping into a new piece of software each time. They fail to see how their ability to use things is built upon a foundation of subconscious "insider knowledge". The truth is that the average person (even most millennials) have not developed this perspective anywhere close to the degree that a developer or technical insider has. In short I think this makes it very difficult for developers to make beautiful and simple software.
I think that "good" software should be so simple and elegant that the average user feels like they could have designed it themselves. It must be laden with common sense. People are not asking software to do everything for them, they only want it to do what they think it should do. In just a short summary they should be able to use it and then describe to someone else what it does. No one should have to learn how to use something, it should just do what they assume it should. There in lies the hardest part... how does the user think?
I have a theory... I think that in order to make beautiful and usable software, you have to start by designing schemas for the user. It needs to be a philosophical process more than a technical one. Questions like "What is that?", "What is it about that?", "What is that really though?", "How do you see it?" and statements like "I just don't feel like we have it yet", "That feels better now, yup", "I think that is it!"... should be a huge part of it. There is common way people see the world, and it really does not change much over time. The trick is to weed out the "trends" from the "truths".
I feel that schemas need to be looked at more like self-sustaining organisms. They should not rely on something "over-arching" to guide them, but rather have enough of the right information within themselves to guide them. You should always be able to group them into collections. Different schemas should coalesce, but not depend on another to have meaning.
Sorry for the rant! I just thought I would drop this here to see if it might start up some conversations :)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.