?

Log in

No account? Create an account
 
 
18 April 2014 @ 11:17 am
Etiquette of software  
We need to reach an understanding of etiquette for software and Web site design, the way we reached an understanding of etiquette for network interactions among users (netiquette).
See, in the early days of computing, there weren't a lot of people writing software, so software was written by DIY hackers who would build software to meet their own recognized needs. And because they were writing the software first for their own use, they tended to write it with an attitude in line with the Golden Rule. For example, they wouldn't write in code to send their data somewhere else, because they didn't want their data sent to third parties.
In recent years, we've seen the rise of the corporate software engineer, whose interest in the software is usually not in filling a recognized need for themselves but rather to make money for their company. Because of this, the user's needs, wishes, and privacy often get minimized or left out of the design entirely. We've wandered into the Wild West, or the bush league, where what software does is regulated only by what society will allow it to get away with. Programmers of this type often treat a boundary as something they can put all their toes across and claim that their foot isn't over the line.
Of course, in most regards, open-source software is better about this, because it tends to still be written by people who use their own software, but even that has fallen prey to the new culture of software entitlement.
We need to reach an understanding of etiquette for software, an informal code that is an internalizable guide for software developers, and a benchmark by which society can judge whether software is polite or villainous. And we need to be unwilling to permit rudeness in software, just as we need to be unwilling to permit those around us to be obscenely rude in real life.
And since Web sites often function more, these days, like software than like documents, they need to have the same politeness.
Here are some ideas I have of things that should be included in this software etiquette.
* Resource respect - Just because I install a program or visit a Web site, that doesn't mean the software/site has the right to fill all of my computer's memory or spin my processor with its operations. Make the software as efficient as possible, and give users the ability to turn off functions that eat resources. Users shouldn't need new computers because your programmers are lazy. This is my machine, and you didn't pay for it, so treat it as a home in which you are a guest. Don't repaint the walls in my guest room, and don't throw your luggage all over the place.
* Data security - It's not OK to send users' collected data to a server without their permission. It's not okay to use promiscuous practices that expose users to data loss or theft. Users are trusting you with some portion of their lives, even if it's just what they've done in a silly game. You have a responsibility to take reasonable precautions to make sure you aren't throwing that portion of their lives away.
* License Sanity - It's not OK to put things in the license agreement that have nothing to do with the purpose of the software or Web site. It's not just impolite, it's wrong to think that you can mine data, spy on users, and install unrelated software just because you can slip those things into the EULA. Make your license cover what you need to be able to do to fulfill the express purpose of the software/site... y'know, what you told the user you'd do for them, and leave everything else out. Also, we need to find a way to get past this idiocy of putting clauses in licenses that allow one party to change the agreement. Licenses have gotten to complicated. It would be better to form a set of standardized permissions and responsibilities that could be read thoroughly once and understood by reference thereafter, than to present users with an EULA that is so long, complicated, and ugly that no one will bother to read it... though with the alterations clause, what is the point?

What are your thoughts about this? What would you like to see in the standards of etiquette followed by software and Web site developers?
 
 
Current Location: home
Current Mood: annoyedannoyed