Advertisement
  1. Code
  2. PHP
Code

Building Your Startup With PHP: Getting Started

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Building Your Startup With PHP.
Building Your Startup With PHP: Table of Contents
Building Your Startup With PHP: Feature Requirements and Database Design
Final product image
What You'll Be Creating

This is the first installment of a series geared towards walking you through the stages of transforming a cool business concept into an actual startup. If you're an idea person curious about the entrepreneurial process, this series is for you.

I'll draw from my experience as a self-starting, serial entrepreneur. I began my career at Microsoft launching new products from small teams: the first, an educational failure, Microsoft At Work Fax (seriously, watch the video), the second, the more successful MSNBC.com.  

In 1999, I left Microsoft to start a digital gift certificate company, Giftspot, which was later acquired by GiftCertificates.com (reverse stock splits of 500:1 and 300:1 washed out any return). Beginning in 2008, I launched a Facebook application product with grants from the John S. and James L. Knight Foundation. Last year, I experimented with a place-based community startup, Geogram, and this year, with email filtering app Simplify Email and Twitter marketing app Birdhouse. I've learned from all of these efforts and will aim to put these lessons to work for you.

Introduction

Earlier this year, I grew interested in simplifying the meeting scheduling process. In my view, the proprietary calendar systems such as Google Calendar, Apple Calendar and Microsoft Outlook have failed to make scheduling as easy as it could be. My big complaint is the number of back and forth emails typically required to schedule the average meeting. I had an idea for a planning application that would make the process much less annoying.

I love the creative process and I enjoy sharing my knowledge with others. I thought it would be valuable to set forth the internal process I use as I go through the process of formulating a new product idea, clarifying its business concept, and moving through the stages of implementation.

Following stories of the entrepreneurial path is always interesting, and there are a couple of recent entries that may complement this series. 

This year, Stanford is open sourcing its How to Start a Startup class with many industry experts, such as Sam Altman, Paul Graham and Marc Andreesen. Also, Planet Money co-founder Alex Blumberg recently launched a podcast on his own foray into technology startups, which you can follow at HearStartup. He's a bit of a novice as an entrepreneur, but in part because of his access, the content is intriguing and entertaining and he's making amazing progress. I think he'd agree his wife is obviously the smarter one, and it's amusing to hear her laugh at him.

The Product Concept

Solving a Problem

Have you ever tried to schedule a meeting with someone, but it evolved into replying to such a long thread of emails that you were annoyed with the person before you ever got together?

Planning meetings is still too hard. With all of the platforms, data and tools available to us, this process should be easier than it is. It should not require seven back and forth emails to schedule a meeting between two people, but if often does. I can make this easier.

What's my innovation? From a user experience standpoint, my intention is to create a single web page for each meeting that allows people to more easily interact with each other—to quickly schedule without the hassle of repetitive emails. 

There are a number of data sources and technologies that can also help improve the experience: HTML5 geolocation, the Google Places API, calendar free/busy times and email APIs such as Mailgun.

For example, a service can quickly learn your favorite places for meetings and suggest places that are mutually convenient to both parties. It can automate reminder emails and provide links in these emails for common tasks, such as notifying someone you're running late, rescheduling, or canceling.

Furthermore, since we're creatures of habit, we can set up meeting templates which suggest common types of meetings, and frequently used days, times and places. Reusing these templates can make planning meetings faster and easier.

For the purposes of this series, and to learn as much as I can about the idea as quickly as possible, I'm going to focus on a smaller scope. I'm building a solution to help two people schedule a meeting. I'm excluding meetings with multiple people, parties, etc. In part, scheduling groups has been handled by other services.

The Tuts+ tutorial How to Create a Minimal Viable Product is a useful exploration of the pros and cons of limiting scope during the initial phase of a startup.

Should I build mobile first? Maybe. But I'm not focusing on building a mobile app in this series—at least not initially. There are a variety of reasons, but primarily, I don't have the resources to launch the service as a mobile app at this time.

I've named my product idea Meeting Planner.

The Business Case

There are some ideas for products that I build for myself and, ultimately, I'm not concerned if they are financially viable; Simplify Email was one such product. I was tired of struggling with unsubscribe forms, email filters and unsolicited email, so I built my own solution.

If you have an idea that intrigues you—whether or not it's supported by a business model—I encourage you to pursue it, and this tutorial series will likely be useful to you.

If you're looking to start a viable, sustainable business with your idea, one that can support you and your family, then it's essential you analyze the economic value of solving the problem you're aiming for. In other words, can you find a way that people will pay for the service you're providing?

For example, I'm a huge fan of Dropbox but I've never paid them anything. As an individual user, I'm not their target audience for revenue. But I've probably invited a lot of users who now pay them. I'm also a longtime Google Analytics user, and I've never paid anything for the service, but Google has found other ways to integrate the data I provide to deliver revenue, namely by providing a higher quality search engine.

Who is the target market for my concept? Anyone that plans one on one meetings, from businesspeople to anyone with friends.

I'll be the first to acknowledge that this particular idea might not be strong enough to run a sustainable business. However, I think the idea has potential, and it's very suitable for writing a series on entrepreneurialism and launching on PHP.

As an entrepreneur, it's important to have a clear plan for earning revenue. It's also ideal if you can integrate some version of this mechanism into the product early on, so that you can test your theory and give your users a taste of your plans for the actual product.

The primary revenue model for Meeting Planner is to sell local businesses the right to feature themselves as premium meeting places, e.g. Starbucks may want to appear on your meeting invitation to woo you away from those pesky independent coffeehouses. A restaurant could offer discounts to encourage you to have your lunch meeting with them. 

If Meeting Planner becomes wildly successful, the company might be attractive to larger companies that wish to maintain influence over the growing audience of users, many likely business professionals. There are internet investment companies that might be interested, but it may even appeal to the calendaring bigwigs such as Google, which bought Doodle, the group meeting planner.

Assessing the Competition

The competition for Meeting Planner is the status quo. Google Calendar, Apple Calendar, Microsoft Outlook, email, texting, the phone, and face to face interactions. While these services have improved a lot in recent years, the process of planning a meeting with someone outside of your own company can be quite time consuming and aggravating, and can involve way too many emails. None of these apps have focused on removing these pain points.

Apple Calendar

For example, I often run into this problem responding to Google Calendar events: it happens when someone sends the invite to a different email address than what I use for Google services:

Google Calendar Common Problems

Or worse, the primary navigation adds the meeting to my Google calendar, which I don't use.

For the most part, these apps do a poor job at leveraging my preferences to make the process smoother.

Services such as Doodle and Evite are more appropriate for scheduling group events. My MVP wil focus completely on improving the experience of planning one to one meetings.

Choosing a Brand

When choosing a brand name for a small startup, I'm often looking for domain names that are available. It can be difficult to find available domains these days, but the growth of new extensions (gTLDs) has proven helpful. I often use Domainr to help me search. I'm also focused on available Twitter handles.

Geogram.com is the only domain I've purchased for my startup ideas; generally I try to make use of what's freely available.

MeetingPlanner.com was taken, but fortunately MeetingPlanner.io was available. Since @meetingplanner on Twitter was also taken, I chose @meetingio as my Twitter handle. Learn more about purchasing and registering domains here.

I no longer bother with Facebook pages, as the platform has eroded the free reach capability so much; it's really only useful as a vehicle for paid advertising.

Planning the Technology

I have a number of go-to tools that I use these days for my web development.

I use the Yii Framework for PHP (see also the newly released Yii2). Yii's made me incredibly fast and efficient at writing and reusing code—and getting to a minimum viable product. I also know that I can make Yii scale as needed.

Like most of you, I'm a Github user. We'll make the Meeting Planner code available to you on the Tuts+ Git repository open source with each tutorial.

This past year, I've switched from Amazon's AWS hosting services to Digital Ocean. My primary motivation for this was the increased speed of Digital Ocean's SSD drives and lower costs. Amazon can match Digital Ocean's speed, and has some nice sophisticated features, but is more expensive. Digital Ocean also received high customer marks on support and performance in WPShout's recent hosting review.

While I've not made any decisions yet, I like Tender and Lighthouse for customer support and issue tracking. But Zendesk offers less expensive entry-level options for support. I also like UserVoice for having customers suggest and rank feature requests.

If I need a company blog beyond these tutorials, I'll set up an instance of WordPress. There are some nice coming soon/landing pages at Envato's ThemeForest which you can also use to preview your upcoming site. However, for now, I'll just use Yii to maintain a "coming soon" home page.

The Initial Focus

My focus now is to build out a minimum viable product as quickly as I can. How fast can I learn the lessons Meeting Planner has in store? What will work and what won't? What's the idea's primary potential, and what are its weaknesses? What will the level of interest be among my target audience, and what feedback will they have for me? I hope you're intrigued by the series and eager to follow the development of Meeting Planner

Please feel free to add your questions and comments below; entrepreneurs will likely have a lot of valuable ideas to add. I'm especially interested in alternate viewpoints and approaches. There's no right way to do this; in fact there are likely many right ways. There are also lots of pitfalls.

You can reach me on Twitter @reifman or email me directly. My instructor page will link to future articles in this series as soon as they appear.

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.