New Business Setup, part 1: App Infrastructure
By Flip Kromer:
Flip Kromer lives a secret life as The Keeper of the Games. Follow him as he documents the trials and tribulations of starting Vigilante!
Here’s a running account of the app infrastructure we put in place for Vigilante, calling out customizations I find important to make. I’ll be editing this post as we run down the list.
See also part 2 in the series, Company Formation.
We’ll set up the following pieces of infrastructure:
- A .com domain name
- Google Apps for email, calendaring and docs (google drive)
- Squarespace for website
- Google and Bing webmaster tools so you exist on the web, along with Google Local and Yelp so you exist in local space-time
- Medium for blog
- Slack for group collaboration
- Google Voice for a company phone number
- Basecamp or equivalent for task tracking
- Twitter, Facebook, LinkedIn, natch.
- SurveyMonkey, MailChimp, Hootsuite, Google AdWords for reaching your audience
- If you’re brick-and-mortar, Yelp and Google Local
- Short, spelable, no hyphens, must be a .com. Only go the namedsoclever.ly route if you can also register namedsocleverly.com. And of course make sure the exact same handle exists on Twitter and Facebook. It’s worth going with your third choice of name and having these all be guessable and unambiguous.
- If you plan to use Google Apps and Squarespace, register your domain via Squarespace (as they will handle the fairly involved Google Apps configuration). Otherwise register it through Google Apps.
- For those who wish to manage their domain directly (as we do), and know the difference between MX and CNAME, you can instead use an independent registrar. I’m a big fan of hover.com: their interface doesn’t suck, the prices are reasonable, and they seem honest. You’ll have to then copy
- When you’re done with aliasing your webpage and all the google apps stuff, do a DNS Health Check — http://dnscheck.pingdom.com/?domain=vigilantebar.com
- Do the initial walkthrough. If you used an independent registrar this includes setting up TXT and MX entries on your DNS provider.
- Create accounts for each teammate.
- Add a separate admin@ account. Give it admin priviledges; don’t give apps admin privs to more than the admin@ and at most one owner member. Otherwise if I have access to your email I have access to change nearly everything. Yes this costs you an extra $60/year but it’s good hygeine.
- User Email Aliases: click each user, then account, then add aliases for common ways to misspell — for example, alias Zach@ to the correct Zack@.
- Create a catchall email endpoint, someplace for email that matches no other account to go. I set the catchall address to admin@, just so it goes somewhere. Follow the instructions here. Complicated but useful.
- Set up domain aliases: If you manage your own domain, you can make mail.yourorg.com, cal.yourorg.com, and drive.yourorg.com point to the corresponding Google Apps properties. On Google Apps, go to Company Profile/Custom URLs. That page will direct you to make corresponding changes on your DNS provider (you’ll create CNAME aliases to a certain domain).
- Add some important email aliases (Google Apps calls them “groups”): — info@, with alias help@, for customers who know they want to send email to “the company” but don’t know a specific person. Direct these specifically to each founder and look forward to the day when it goes to a marketing person instead. — marketing@, which you’ll use as the contact point in social media applications
— pleasereplyweloveyou@, for email list etc, because no organization should ever send an email saying ‘don’t reply to us’. To whoever does the mailing list stuff, or to all founders, your call. — security@, for anyone who notices a security problem. Also to each founder. Anyone smart enough to email this with a real problem you should get on it. — jobs@, alias career@/careers@, because Always Be Hiring — team@, set it to “all employees of vigilantebar”. (The difference is that the latter will always have all members; the former will only have those named members)
- Set up any alias domains, eg vigilantepub.com for vigilantebar.com
Squarespace delivered as promised. Alternatives include wordpress.com, WPEngine, or just use Google Apps Sites if you need a stub.
- Choose your template, stub a page or two.
- Add other admins (Permissions)
- Change the your-group slug (Settings/Domains/Built-in domain)
- Connect your domain in www. and plain versions (Settings/Domains/third-party).
Our marketing team then decided it wanted the increased power WordPress brings, so we switched to WPEngine.
- Note that there are two control panels — the main one for your “install”, and the one that is at yoursite.com/wp-admin. The passwords and users for the second must be set up as a later step.
- Technical Note; file away and ignore unless it bites you, at which point show this paragraph to someone who knows what the words in it mean. The way WPEngine has you set up your domain (as a CNAME reference) opens you to a weird edge case called the “apex DNS issue”. If you one day find that no email will reach you at all, you need to point to your site as an A record instead. Look up the IP address of your install — it’s on your control panel — and update your registrar accordingly. Note that if your IP address changes your site will break. Squarespace nicely handles this issue by having you use multiple A records from the start. // End Technical Note
Search Engine Indexing
Next, back to google for Google Webmaster Tools, and over to the borg forBing Webmaster Tools. In both cases, add the www.vigilantebar.com and plain vigilantebar.com versions, and upload a sitemap. (If you’re using squarespace, it’s at `/sitemap.xml`.)
Local Business Indexing
If you’re a local business, you’ll want to register within Google Local andYelp.
- Click through the signup stuff, and get the magic Tracking ID code. If you’re using Squarespace, follow the instructions here:https://support.squarespace.com/hc/en-us/articles/205815608 — otherwise, paste the snippet GA gives you into the footer of your site page template.
- Go through the property settings and flip “Demographics and Interest Reports” on.
- Connect Google Analytics to your Webmaster tools console. If that breaks, try again in an incognito window — for me at least webmaster tools was loading with the wrong Google account
- Add your teammates, giving them the right permissions.
- Once you have AdWords set up, come back here and enable Adwords Linking. And once you have Facebook/Twitter/YouTube/LinkedIn etc set up, go to “Social Settings” and add your identities from each.
- Load your site with adblocker off and visit your website then jump over to Reporting > Real-Time and see the 0 switch to a 1!
- Slack for group discussions. Because otherwise all your knowledge gets trapped in emails where nobody can see it
- Basecamp (or pivotaltracker or JIRA or whatever) for task management
- Google Voice — Pick the most responsible founder and as punishment have them register a google voice account to redirect to their phone.
- Dashlane or LastPass to hold passwords for all the accounts you’ve been creating. Signing up for their team plan makes sharing seamless, but we chose to each continue with our own password vaults. All that matters is that as a team you commit to following these rules: (1) passwords are only stored in password vaults; (2) do not reuse passwords across sites; (3) do not ever send passwords in email or any other way. Share them in person or in an off-the-record google chat when necessary.
Marketing and Other Tools
- Medium.com for blogging
- Twitter, Facebook, LinkedIn, YouTube, natch.
- UserEcho so that our community can tell us what to improve. UserEcho seems 90% as good as UserVoice (the pioneer here) at a fraction of the cost — $600 a month for UserVoice vs $480 a year for three agents on UserEcho. Domain name aliasing was easy as pie — go to ideas.vigilantebar.com and tell us how to excel!
- Google AdWords, Youtube Ads, and Facebook Ads are important places to start validating your business. Blog posts on that coming.
- MyFax for the odd time you need to send or receive faxes by email. I’m using them for the first time, so don’t take this as a recommendation in full yet.
- OpenTable, UrbanSpoon, or whatever industry-specific portals are appropriate