Advertisement
  1. Code
  2. Yii
Code

Building Your Startup With PHP: Collecting and Managing User Reports and Feedback

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Building Your Startup With PHP.
Building Your Startup With PHP: Simplifying Onramp With OAuth
Building Your Startup With PHP: Choosing and Configuring Production Hosting
Final product image
What You'll Be Creating

This tutorial is part of the Building Your Startup With PHP series on Envato Tuts+. In this series, I'm guiding you through launching a startup from concept to reality using my Meeting Planner app as a real-life example. Every step along the way, I'll release the Meeting Planner code as open-source examples you can learn from. I'll also address startup-related business issues as they arise.

In this tutorial, I'm going to guide you through how I quickly and economically launched a support system and knowledge base for the application as well as some of the issues and alternatives I considered.

If you haven't tried out Meeting Planner yet, go ahead and schedule your first meeting. I do participate in the comment threads below, so tell me what you think! I'm especially interested if you want new suggest features or topics for future tutorials.

As a reminder, all of the code for Meeting Planner is written in the Yii2 Framework for PHP. If you'd like to learn more about Yii2, check out our parallel series Programming With Yii2.

Customer Support and Knowledge Base

Meeting Planner Support - Providers Often Use Children on their Websites

Many startups outsource their customer support, and in turn many startups have launched to address the needs of their brethren and all kinds of companies; they seem to compete on the level of cuteness of the children on their websites.

Zendesk is commonly used, but I've always had irritating experiences with it as a user. There's also Groove, LiveAgent, Freshdesk, and a number of others.

When I worked on Community Starter (formerly NewsCloud) for the Knight Foundation, we used TenderApp; it worked well for us. However, when I went to check in on the service, not much seemed to have changed in several years, and the last post on their blog was a year old.

Freshdesk

Meeting Planner Support - Fresh Desk Home Page

I decided to go with Freshdesk as it not only had a free lifetime account for smaller companies but also included knowledge base functionality at this level. Providing people with a usable, well organized knowledge base is important. If I'd been choosing based on the cuteness of the kids on their competitor websites, I kind of liked LiveAgent (we need to encourage more women in technology). 

Warning About Freshdesk

After I'd turned in my article to Envato Tuts+, my Freshdesk account was suddenly suspended without warning. This happens to all free accounts—people are often surprised:

Fresh Desk Frequent Suspended Accounts

After 30 days having signed up with them and mapped my domain name, they suspended my account and made me call in to change over to the free level. When you change over to the free level, they deleted all configuration information including your domain mapping.

Rather than migrate your account to the free level after 30 days, they suspend your account and make you call in to speak to a sales person. Just the language, "your account is suspended" instead of "your trial has expired" is so unintentionally hostile. Please keep this in mind and use Freshdesk with some caution. Again, alternatives include ZendeskGroove, and LiveAgent.

To their credit, a senior support manager at Freshdesk personally called me to apologize for my experience and said they are working on a variety of improvements to make the process more transparent and clear—especially to verify that warning emails are sent ahead of suspension. 

I haven't made a final decision on which service I'll be using for the Meeting Planner alpha release. The timing of Fresh Desk's suspension without warning delayed my release.

Pricing Levels

Here's a snapshot of Freshdesk's incremental pricing levels:

Meeting Planner Support - FreshDesk Pricing

Signup and Configuration

Registration is easy:

Meeting Planner Support - FreshDesk Signup

They offer a four-step wizard to launch your support site. First, you need to set up your incoming support email to forward to the mailbox they've assigned you:

Meeting Planner Support - Fresh Desk Support Configuration Wizard

As I wrote in the earlier episode about Mailgun routing, it's easy to reconfigure the destination of support emails:

Meeting Planner Support - Mailgun Routing of the Support Mailbox

Then, you invite your first agent(s):

Meeting Planner Support - Fresh Desk Inviting Agents

The Dashboard

Initially, Freshdesk offers you 30 days of premium features with a free account, so there's a lot happening with the dashboard below. They offer a helpful welcome tour as well:

Meeting Planner Support - Fresh Desk Dashboard and Introductory Tour

Here's that test support request that gets sent to a new account:

Meeting Planner Support - The Sample Ticket and Customer Support Control Interface

The upper menu and right sidebar both offer a lot of functionality for managing the ticket.

Customizing the Domain

To allow users to visit http://support.meetingplanner.io instead of http://meetingplanner.freshdesk.com, I just needed to map a CNAME at my domain registrar and update my settings:

Meeting Planner Support - Mapping Our Support Domain CNAME to Fresh Desk

The Public Support Site

Voilà, here's the initial public-facing support site. We'll get to work customizing it in a moment.

Meeting Planner Support - The Initial Public Facing Support HQ

Constructing the Knowledge Base

Your knowledge base is organized by configurable categories. For now, we'll stick with Getting Started and FAQ:

Meeting Planner Support - Fresh Desk Knowledge Base Categories

The authoring system for explainers is straightforward and feature-rich:

Meeting Planner Support - Fresh Desk Knowledge Base Editing

Ultimately, here's what Meeting Planner's users will see when they show up at the support headquarters:

Meeting Planner Support - Final Support Home Page

There's a real-time search for answers:

Meeting Planner Support - Real time question and topic search

And the help pages are easy to read:

Meeting Planner Support - Readable Explainers

They can also choose to submit a ticket:

Meeting Planner Support - Submit a Ticket Form

Using a service makes way more sense than trying to build something like this ourselves.

Updating Our Code

Basically, I just had to update the links from our contact form to our new Freshdesk support page, and it was quite easy to link our app to theirs:

Other Considerations

We'll see how Freshdesk works out. Currently we're small, and I think it will provide sufficient capability for us. However, there's a possibility we might need different features or higher capacity in the future.

One of the reasons I liked TenderApp is that it is easily linked to Lighthouse App, an issue and bug tracking system. However, as I reach the point where I begin using an official issue tracker, I'll likely choose Asana (here's their bug tracking video explainer). But, I may do more research later.

I also like UserVoice's crowdsourced feature requests. They used to offer a free plan but now are fairly expensive. It's a useful service that I may be interested in for the future.

What's Next?

Meeting Planner's made tremendous progress the past few months. I hope you've enjoyed this episode. Watch for upcoming tutorials in our Building Your Startup With PHP series—there's also lots of polish work and a few more big features coming up.

If you haven't yet, try scheduling a meeting and then given what you've read in today's tutorial, please report any problems or feedback to our support page.

We're also exploring crowdfunding and will write about his in a future episode. If you're interested being the first to know about our efforts, be sure to follow us at WeFunder.

Please feel free add your questions and comments below; I generally participate in the discussions. You can also reach me on Twitter @reifman directly.

Related Links

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.