I’m not Ian, but I’ve done tech support on HelpSpot for 2.5 years or so, and built the infrastructure for HelpSpot Cloud!
Here’s my perspective, although Ian I’m sure can fill in more (I’m definitely curious to hear).
There’s definitely a trade-off between SaaS and on-premise. Neither are really great or bad, but here’s what I see with the on-premise portion.
Note: We support the app on both Windows and Linux.
When I was hired, Windows customers already has a install process (think: install_helpspot.exe) automated by Bitnami (BitRock). Ian’s told stories of entire days spent doing windows tech support before that existed. We’re just now automated a similar install for Linux.
Lesson: Automate an install process. It reduces a ton of support time.
HelpSpot’s Windows installer adds it’s own PHP (and Apache + MySQL if you want) and isn’t compatible with a Windows servers running other PHP applications (php installed on the server by other means) unless the customer wants to manually install everything.
On the Linux side, we only support MySQL (formerly pgsql too, but no one really uses it in reality), since MS drivers for SqlServer are, for now, Windows-only. I suspect that will change since they’re working on getting sqlserver running on Linux.
Lesson: Have restrictions in what you’re willing to support. Enforce them as much as we can (we still try to support customers who need or want to go outside of what we “officially support”. It’s more work, but keeps customers)
For years, HelpSpot “just worked” on most servers. It was friendly to cheap hosting as it didn’t require special software, specific directory structures, or calls to CLI commands (nothing more complex than a CRON task at least), and worked on multiple databases (easily). Many modern apps rely on queues. HelpSpot does not. It may in the future, but won’t include third party software (probably!) to do this.
We do now use SphinxSearch to power search, which has increased support a bit - since we need to help customers adjust it occasionally. We document Sphinx heavily and test on many systems to help with common things customers might run into.
This has the side affect of needing more than basic hosting. However, that’s more common now and gives us a way to push customers to our Cloud offering.
Lesson: Keep is as SIMPLE as you can for on-premise customers. Solutions such as “put everything in docker” for dealing with complexities might seem nice, but I’ll bet many customers aren’t ready to trust or maintain docker images which hide complexities.
Document the hell out of anything the least bit complicated. Take the time to test everything on multiple systems and document the steps needed to get around more complex aspects.
4. You’ll help customers resolve their own IT issues, a lot!
Most of our support is from Windows customers with semi-complex systems. This support is almost all related to network issues related to third party systems they connect to (exchange, active directory, load balancer/cdn setup, private networks, firewalls).
You’ll have support requests that often results in helping an IT person resolve issues within their own infrastructure.
Linux customers are relatively self-reliant!