aboutsummaryrefslogtreecommitdiff
path: root/org/blog/articles/the-software-design-crisis.xml
blob: fbce77ab949941e31bbb58c39450ceb53083b36a (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
<article>
  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.

  <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> CMV allows you
    to isolated different parts of your program making it more flexible. Before
    you go saying CMV is too difficult I had a teacher who made us use CMV 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.
  </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>
  </p>
</article>