Blog RU

Legal Interface Design

Modern app interfaces are so bad because they're designed like cheaters, not fulfillers of clearly defined requirements. If I open a page, I want to see the page, not play a video. If I'm scrolling with a video playing and don't give the command to stop it, then it can't be stopped. If I want to do something, say, a simple search or sorting function, I should be able to do it in a general way. Like, a database has about 10 public parameters: duration, number of likes, views, comments, date, etc. Creating an interface in which all of this can be arbitrarily changed is a task for a freshman. Executing user commands is essentially the only job a computer can do. But interfaces are designed not to execute commands, but to command the user. In general, flexible command execution is a very simple task intellectually and at the development level, but not at the level of "convincing a pig to add mods to the release version." Reliability of command execution is also an important issue. So, something either has to be done, or it has to be clearly stated as "not done." What is a command, legally speaking? It's like a contract in which the offer to execute a script is paid for with a click. Clicks should be treated accordingly. All sorts of nonsense like "optimization" when my smartwatch refuses to use Wi-Fi because I can use Bluetooth from my phone. Meanwhile, Google Music playlists refuse to update even when I turn off Bluetooth, and I have to resort to hacks to get indexing started by idiot programmers. I understand if my JSON file isn't updating in real time and requires me to rerun generate_index.py, but 1. everything works without it, and 2. I'm an individual, not a billion-dollar corporation. The user isn't treated like an idiot. They're treated like a sucker who needs to be screwed over by not fulfilling the terms of the offer.