Making Your Customers Work For You… for Free!
Posted on 20. Nov, 2009 by Terry Reinert in Software
It is hard to use any kind of software these days without hearing words like “plug-in”, “theme”, “third-party add-on”, or “mod”. These types of things have become so common place that even non-developers know what they mean. The concept is pretty simple… allow the customer or other companies to develop software that interacts with your software either internally or externally.
When the other application runs internally it is usually referred to as a plug-in and it is loaded by the main software application when it is launched. An example of this is Photoshop filters and WordPress plug-ins. An external tool is usually referred to as an add-on instead. Since it is external, it runs on its own as a stand alone application but its core purpose is to interact with some other application. Meaning, there is no point to using it if it cannot communicate with the main software application. The word mod is used universally for both internal and external application add-ons but is primarily used in the gaming world. In some cases, like TweetDeck for example, the add-on can be a full application that has more features than the main application it is meant to extend.
Some of the most common applications that have some kind of plug-in or add-on are….
- Adobe Creative Suite
- WordPress
- Firefox
As technology has grown the ability to make add-ons and plug-ins has increased exponentially. Web applications are being designed around web services that allow external applications to communicate with them via some type of service; remote objects, HTTP requests, WSDL, ect. Developers of desktop based applications are releasing SDK’s (software development kits) that allow third-party developers to write software that can either be run inside of their application or communicate with it using operating system level messaging, shared memory, or some other way.
The question that has to be asked is whether this is a good thing or a bad thing. The answer is both. Allowing third party developers to extend your application to add more features gives your customers a huge range of features to select from. Just look at Firefox for the massive amount of add-ons that are available for it! You could also look at TweetDeck… that application is a perfect example of an add-on that has more features than the main software it interacts with.
Unfortunately that is not always the case though. There are software developers out there who write applications with just enough features to get people to use or buy it but overall lacks many features that it should be native. But they provide an SDK for third-party developers to add them in. This is a classic case of getting your customers to work for you for free. A classic case of this, in my opinion, is the game Crysis. When the game was released its graphics and core features blew away all the competition. The only problem is that the developers did an extremely poor job at writing the game engine to make it hard to cheat. Within days the online community was plagued with people cheating and exploiting the game making it useless for non-cheaters. Instead of fixing the problem they ignored it and worked on a new game title to make another big batch of money. I ended up working on a modification to the game that added a lot of security checking into the server side code to block most of the cheating but because we weren’t writing code that ran inside of the game engine itself, we couldn’t stop all of it.
Good or bad… they are here to stay and will only continue to become more and more prevalent in the future.
Related posts:







Additional comments powered by BackType