When we founded our company Codeneric a couple of years ago, we used to built simple WordPress driven websites for our clients. We weren’t WP gurus, but we knew how to combine plug-ins and make them play nicely together to meet our client’s expectations. With increasing knowledge of the inner workings of WP we transitioned to providing highly customized web solution backed by the strong foundation of WP. And now, in the past two years, we concentrate our efforts in developing WordPress Products, such as Photography Management and Ultimate Ads Manager. Since we wanted to sell our product, we needed a way to showcase its strengths to our potential clients.
This is where we faced quite a big issue with the current state of live demos for premium WordPress products. Available current solutions boil down to either having a single WordPress site somewhere on your server with your product installed, or a big WordPress Multisite with clones of template sites. While we do acknowledge the use cases for these solutions, we strongly believe that there is a better, more secure and more convenient way of handling this problem. That’s why we created WPDemo. WPDemo takes the benefits of both worlds, single page and Multisite solution, and almost completely erases their drawbacks.
Before diving deeper into WPDemo, let’s see what we think the drawbacks of the two available solutions are.
This is the simplest and probably most fragile approach. It is basically just a WordPress installation with your product installed. Then, depending on the use case, access to the WP dashboard area is granted in order to showcase functionality of the product. The huge problem with this is that if the product allows for persistent data changes, such changes will show up for all visitors. This could potentially hurt your business since visitors who are not as friendly-minded can publish offensive content. On top of that, if multiple clients visit the demo, their concurrent changes will override each other, which would lead to confusion and the belief that the product is buggy. This solution gets even more questionable when the visitor needs admin access in order to experience the whole feature set. So this approach is really only worth considering when a front - end only and read-only product demo is required.
In this approach, a Multisite installation handles new demo requests, cloning a template page and therefore give every visitor a more isolated instance. This approach is far more sophisticated than the single page solution, given the fact that the visitor is the only person viewing and mutating the site. However, despite it’s advantages, running a Multisite brings new problems. If your product is not meant to run on a Multisite, chances are that it will break, due to different requirements of Multisites compared to a normal installation. Furthermore, creating initial demo users in your template would be difficult, since WordPress would try to exactly copy the user when creating a demo instance, leading to a fatal error because two users cannot have the same email address. One big problem persists also for the Multisite approach: you cannot give your visitors admin access, for the same reason as mentioned: malicious attacks can harm not only the demo instance but the whole platform. To us it was crucial that our visitors could have full power over the demo, installing and adjusting themes and plug-ins, and check for compatibility of our products to their setup. So we had to come up with a new solution. That’s why we created WPDemo.
WPDemo is a cloud service that combines and enhances the advantages of the two previously mentioned approaches: the simplicity of the single page and the encapsulation of a Multisite. WPDemo works by creating templates - fresh WordPress single page installations. With admin access you can adjust everything to your needs, including installing your product. Once satisfied with the result, just save the template and add a link for the demo to your product page. For each of your visitors a new instance from your template will be created, completely encapsulated from any of your server code. We can achieve this by running Docker container in our cloud. The great advantage is that you can grant your visitors admin access without worrying about security, since the container is a disposable unit without any connection to sensitive data. This crucial fact allows for a profound demo experience without barriers.
But what about disadvantages? Well, in the current state of the service, creating a demo from a template is computationally expensive, taking about 20 seconds from request to viewing the demo. But, we are still in beta and haven’t optimized for speed and efficiency, yet. But we certainly know how to tackle these issues during future development; a caching system we are working on would make demos available almost instantly. In the meantime, we show a series of Apollo 11 mission control quotations during the loading :)
Besides the conceptual advantages over similar systems, WPDemo provides analytics features, which help you to track the behaviour of arguably the most important group of clients to your business: those who invest the time to try out your demo. Which button did the customer click? How much time did a customer spent on a particular page? What was the last page the customer has seen before leaving? All these questions and many more can be answered by taking a look at the reports provided by WPDemo out of the box. Of course, we did not implement a whole analytics system, but we integrated Piwik to collect all the relevant information on each demo instance your customers visit.
We believe that WPDemo enables developers to stop worrying about the implementation of a demo, but rather simply showcase the product and continue concentrating on what’s most important: the product itself.