How to make people dependent on your software: - a pastiche of Polymatter's "how not to design mobile games" applied to serious software.

  • 🐕 I am attempting to get the site runnning as fast as possible. If you are experiencing slow page load times, please report it.

double magicNum = 0.41;

kiwifarms.net
Joined
Nov 21, 2024
  1. Introduce elements that keep people dependent on your software by forcing them to learn alternative theory – concepts that aren't really taught in school if you were to take traditional classes in that field. If it's music, emphasize things like piano roll notation (with bells and whistles specific to your DAW) instead of using staff notation. If it's finance, use nomenclature for multiplication that doesn't resemble anything you'd learn in a math class. If it's drawing software, hide things in places you'd least expect and don't give them a basic color palette – leave them to figure out that brown is just dark orange.
  2. Emphasize the concept of continuously using the software to keep your work polished. Use it to not only correct nonstandard spelling and grammar, but to work on your style – essentially "omitting needless words" in the words of Strunk and White. Use it to touch up timing and notes in a MIDI or even an audio performance. Use it to keep your lines straight. This means you don't have to spend as much time practicing the piano and can therefore spend more time in Ableton Live.
  3. Create "prosumer" software. Generally speaking, consumer software is friendly, decluttered, and designed to be easy. This is why the notion of "being good with computers" has very little to do with excelling in computer science. In fact, it's quite the opposite – consumer software was designed so that you don't have to think like a programmer. Professional software, like Excel, is a lot more programmer-ly... and it's quite capable. But it can be daunting to someone who doesn't know where to start – someone who will have a harder time finding out how to add the values of three rows than changing the font size, something that frankly isn't as relevant to anything but looks. Your goal is to create software that's easy to pick up – software that you can use to do most basic tasks on day 1 – but has something of a learning curve where you can slowly introduce the finer concepts without either inundating you with them or hiding them away entirely. This combination is essentially Bushnell's law of video games.
  4. Accept most or all "simple" formats, be it docx, mp3, wav, mp4, mov, wmv, pdf, gerber files, etc., but use proprietary where you can for all project files. That way, people have a reason to keep using your software – even if they want to diversify and install something else, they might hang onto your software since they already invested so much time and effort into using it.
  5. Donate your software to schools. This could look like you giving freebies to computer labs or specific programs. It could also look like very generous student discounts or discounts for schools. This means that people will teach your software, quirks and all, in a school setting where they may be more likely to take the time to learn it. A class on digital collage or VFX compositing may in reality be, at least partly, a photoshop class. You MIIIGHT be able to use software from Affinity for your class, but the lectures are for photoshop and you might spend more time trying to "transfer" the lesson to Affinity than you would have getting an extra 2 hours of paid overtime to get that sweet sweet 20/mo student discount for all of creative cloud. And if you do get a job, you're at a disservice, since all the cats use Photoshop, Premiere, Sibelius, or Final Draft. It's like the TI calculator racket.
  6. Make your product a utility – AKA a subscription. Do this after it becomes an "industry standard" – notice that this is the exact same technique used by drug dealers who give you freebies before that freebie becomes a $60 expense you'll go through in a matter of days. There's two industries that call their customers users...
  7. Fragment your software's functionality. Consider Cubase and Nuendo – two nearly identical pieces of software that each can do a few things that the other can't. You might consider seriously buying both.
 
Yeah all of this is right on the money. You could throw in avoiding extensibility so users have to request features from you instead of writing their own scripts or plug-ins. Bonus points if your documentation is kind of trash and you offer paid courses in how to use your software for frustrated users who give up on trying to figure it out on their own.
 
Back