aboutsummaryrefslogtreecommitdiff
path: root/org/blog/articles/the-software-design-crisis.xml
blob: 7e31b9aca98696d7524825a58f07b258c8830ab4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<article>
  <p>
    <b>Warning: this is more of a roast if anything</b>
  </p>
  <p>
    Have you ever had an update for a piece of software that removes features
    without any usable replacement or way to get it back? What about options
    being pulled from the setting? Don't get me started on desktop software
    using mobile UI design.
  </p>

  <h3>Mobile UI design leaking into desktop space</h3>
  <p>
    Mobile phones are operated with touch screen, and have screens that are
    small and taller than they are wide. Desktops are operated with a keyboard
    and mouse, and have large screens that are wider than they are
    tall. Because of that, its quite safe to say that <b>software optimized for
    one platform isnt't so great on another</b>. Are you still following?
    Likely not, but if you are consider this: why do many modern desktop
    programs look like mobile apps? Some of them are mobile apps ported to
    desktop though many of them don't even work on mobile. The answers are
    modern UX, the web, and <i>GNOMEism</i>.
  </p>

  <h3>Modern UX</h3>
  <p>
    <b>Modern UX isn't about making professional software. It's about making
    software that looks like it was made by a professional.</b> This means flat
    interfaces and lack of customization. Modern developers are like super
    entitled chefs. "How dare you put table salt on a meal that is already
    perfect", "ketchup? what are you a picky eater?!"... They act like your
    lucky for even getting a dark and light mode when the toolkits they use
    have themeing. Yes, I know adding more options makes it difficult to debug
    but hear me out: all the basic things can be in the settings menu while
    everything else can be in a config file or interface similar to
    <i>about:config</i>. The normies get their easy settings while power users
    can change what they want. For separate mobile and desktop interfaces use a
    <a href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller"
       target="_blank">model-view-controller</a>. <b>The UI is nearly how the
    user interacts with the program, not the program itself.</b> MVC allows you
    to isolated different parts of your program making it more flexible. Before
    you go saying MVC is too difficult I had a teacher who made us use MVC in a
    beginner course with some students who never programmed before. By the end
    we were all able to design and make software this way. What do you tell
    users on closed source platforms that actively make development harder?
    <b>Go fuck yourself.</b>
  </p>

  <h3>The web</h3>
  <p>
    The web uses html, css, and javascript. The first two being usable
    standards for creating webpages, and the third being a buggy programming
    language integrated into the first two. Many developers decided to use
    those to make software since its cross platform and doesn't require the
    user to install their software. Though web apps have issues with bandwidth,
    security, and integration into operating systems. They encouraged mass
    produced slop. Web architecture has spyware built in by design by
    governments and corporations. The fixes include disabling javascript,
    cookies, webrtc, webgl... Though these are things web apps depend
    on, <b>because its spyware by design</b>. This website doesn't depend on
    those things. All it needs is html and optional css. This ties into modern
    UX design since web developers like to define new standards that are worse
    than the long standing ones. What about new standards that are better than
    the old ones? Web developers never do that. This is because <b>web
    developers aren't software engineers yet their choices effect the software
    development world since they create much of the software normies use which
    creates expectations for what modern software should look like</b>.
  </p>

  <h3>GNOMEism</h3>
  <p>
    Gnome is a desktop envirtment that is pretty much standard on linux. A
    while back they said <a href="https://stopthemingmy.app/" target="_blank">
    please don't theme our apps</a>. Sounds a lot like the entitled chef thing
    I brought up rofl. Someone made
    <a href="https://webb.is-a.dev/do-not-resize/" target="_blank">
    do not resize our windows</a>
    as a parody of gnome. People thought it was real because <b>it strangely
    sounds like something gnome developers would actually say</b>. Gnome tries
    to strike a fine balance between mobile and desktop platforms and ends up
    failing at both. Want to know what linux desktop has the most amount of
    forks? Its gnome! Sure that's a given since its the most common desktop but
    just compare it to kde forks for a sense of scale.
  </p>

  <h3>Accessibly</h3>
  <p>
    This isn't really something most developers think of yet is one of the most
    important things in software development. You software developers are all
    dumb fucks but please stay away from doing anything hacky on the UI
    side. It can really fuck over things like screen readers. <b>The UI is
    nearly how the user interacts with the program, not the program itself.</b>
    Just pick a UI toolkit that fits your needs and use it in a sane manner and
    things will work correctly. Software developers a lot like web developers
    but not to the same degree create problems for themselves that once fixed
    created two more problems. When accessibly is already low on their list and
    that is how they work things will for sure be a shit show.
  </p>
</article>