Over the course of this series, I demonstrated how I integrated the OpenAmplify service into the Rat Catcher application. Throughout the course of the development — as well as before and afterwards — the usage of the OpenAmplify service had an impact on Rat Catcher in many ways. So, in the final part of this series, I'm going to discuss my experience with the development process and the "behind the scenes" on how OpenAmplify significantly impacted Rat Catcher's roadmap and business plan.
Originally, I had planned for Rat Catcher to be a desktop application. The reason is that I did not want to be responsible for maintaining a Web site aside from the one needed to sell the software. Also, Rat Catcher does a lot of processing in parallel — particularly networking operations, which can overwhelm the operating system due to the fact that Windows does not like massive numbers of open network connections. My thought was "Why pay money to maintain servers when someone could just run it locally?"
Finally, I did not see Rat Catcher having wide appeal so a desktop version would require either a constant stream of upgrades (and therefore, bloat) to generate revenue or I would have to keep people under pricey maintenance contracts that they don't really need.
Once I decided to integrate OpenAmplify though, everything changed. With OpenAmplify's pricing as a service model it became financially difficult to offer Rat Catcher in any kind of "all you can eat" scenario, unless the customer signed up with OpenAmplify separately. Is that still a possibility? Sure, but it adds a level of hassle to the customer that I don't see them going through. As a result, I have decided to make the Web-based version of Rat Catcher the primary offering.
That being said, I still plan on offering a desktop version of the application. It will simply have an option screen where you can plug in an OpenAmplify API key. If no key is there, it will not use the OpenAmplify functionality.
I also plan on selling the Web-based Rat Catcher as an on-site service by packaging up a virtual machine and plug a customer's Windows license key and OpenAmplify API keys into it. This will give customers the advantages of the no-install Web application combined with the peace of mind that an on-site application offers. This is particularly important for those with especially sensitive data or the desire not to pay ongoing subscription fees.
The OpenAmplify integration also sparked all sorts of ideas for future development. As you read in this series, I started with some powerful, yet simple functionality. What I have lined up for future development is an even more powerful set of features partially to fully powered by OpenAmplify. Some of these products could not exist if Rat Catcher had remained a desktop application. As the feature set grows, it's clear that the desktop version of Rat Catcher will need to lag further and further behind, unless it's the only a window into a backend Web service.
One of the things that I was really happy with in the OpenAmplify integration is the richness of the results without being faced with overwhelming choices. If you look at the documentation there are only a handful of parameters than can be passed and only two that need to be passed. And regardless of whether you are using the SOAP or non-SOAP interface, you do not need to change your processing logic if you use the "search" functionality or otherwise restrict the results. That makes working with OpenAmplify a matter of learning only one result set to process and limiting your logic to the sections that you need. It also helps that at the end of the day all records boil down to a name/value pair which makes working with them much, much easier.
Although OpenAmplify returns a large amount of information it's not difficult to understand what any of it means. And the "large amount of information" comes more from the number of records than the types of records. That makes a big difference when it comes time to roll up your sleeves and do the integration. Some services send back dozens of fields and record types and it can take forever to understand just what you actually need from those results. With OpenAmplify, it really is not much work to find out what results you need and how to use them.
I only had one real sticking point through this entire process and that was the SOAP integration due to the fact the OpenAmplify SOAP documentation not listed. I also had a bit of trouble "under the hood" on the SOAP integration, but with the help of the outstanding tech team I was able to work it through. Big, big thanks to Ramaseshan Sadasiv of the tech team (ramS in the forums) for all of his help! I feel certain that the rough edges we found in the SOAP service will get smoothed out quickly.
Overall, I am extremely pleased about the OpenAmplify service and how it integrates into Rat Catcher. I have looked at a number of the other "anti-plagiarism" applications on the market and all of them lack the same kind of processing capability. Sure, they might use some type of specialized search source (like term paper sale sites) but they are also aimed at a different market such as the academic market. While Rat Catcher can service that market (and probably will either for free or at a discount) it's currently targeted to media companies looking to keep an eye on their content assets. And given the demands of that audience, I believe that the extra functionality unlocked by OpenAmplify (or inspired by it) will prove to be key differentiators that will make Rat Catcher an attractive option for the publishing market.
Catch up on previous installments
- Part one: Making the request
- Part two: Author comparisons
- Part three: Topic intention comparisons
- Part four: Using OpenAmplify via SOAP
J.JaDisclosure of Justin's industry affiliations: Justin James has a contract with Spiceworks to write product buying guides. He is also under contract to OpenAmplify, which is owned by Hapax, to write a series of blogs, tutorials, and other articles.
———————————————————————————————————————————-Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.