Owning It
I started Twocanoes Software in 2012 to own the code I wrote so that I could build on what I created and have control over what I worked on. To own it. I soon learned that the desire for ownership would extend to all the content I created, including our website, customer relationships, and payment processing. This is about my fight to keep ownership and control of what I create.
I recently discovered that the philosophy for keeping control of posted content has a name: POSSE. It stands for “Publish [on your] Own Site, Syndicate Elsewhere”. I first heard the term POSSE from Molly White and she wrote about it on her website in a post titled POSSE. It resonated with me as it meant I could still take advantage of the closed networks to get our word out, but not allow the whims and algorithms to solely determine who gets to see our content.
Before we released our first product, Winclone, I had to decide where to host our website, how to sell it and how to promote it. I knew I wanted to keep as much control of the process as possible, but it wasn’t easy. There were app stores, social networks, and payment processors who wanted to control how the software got out into the world and how I could promote it. The web can be an empowering force but in the effort to make things easier, it also meant giving up control.
I found out a long time ago that the only way that I can get content in front of people is to create content. It seems obvious, but I tried to hire marketing agencies, services, and even hired folks directly. Those all work fine if they have content to work with. And the content came from me. I could explain what we wanted to do and expected that videos, posts, and social media postings would begin appearing. It really came down to having someone knowledgeable about what we were doing to create the content. And that turned out to be me.
So I started creating videos, posts on our website (like this one), social media postings (first on Twitter, then on Mastodon), posts and newsletters on LinkedIn, and updates from our mailing list with Mailchimp. Creating new content for all those channels is overwhelming. The platforms want your content and engagement to be on their platforms, but it was clear to me that the people who cared about our content were our customers and ourselves, not the platforms themselves. The platforms wantd ad revenue and viral posts. It seemed impossible to create content on each platform or reuse content specific to each platform.
The POSSE philosophy resonated because it gave me a methodology for creating and distributing content, all through the lens of owning the content. I set about to change how we post content.
Posting Content
No matter the content and how it is shared, the first posting goes on something we own and control.
Website
Product information, support articles, and videos go on our website. We used to use Zendesk to host our support articles, but it became clear that we did not control the content. We moved support articles to Echo Knowledge Base, a WordPress plugin-based support article system hosted by a paid provider, Flywheel. We still use Zendesk for our day-to-day support with customers, and we love it. Customers contact us via our website or our email address, so we control the support channel. We can change website providers or support systems if we have to, but we don’t have to because our goals are aligned. The hosting providers are providing us a service, not the engagement or the customers.
Selling Software
Most of our software is sold directly from our website, and the payment provider is Paddle. Most of our software cannot go on app stores, as most of the software we make generally requires administrative access on the computer it is running on. We have put some of our apps in the app store, but they didn’t provide much revenue and the store charged a large fee (15% to 30%). The larger issue, however, is ownership of customer information. On the app store, you don’t get a list of who purchased, you cannot process refunds, and you have very little control over how and when the app is posted. Also, the payment schedule is very difficult for smaller businesses. Paddle pays us within 3 days for the prior 2-week period. A purchase at the start of a month will be in our bank account after about 20 days. Shopify is even better: They pay us the next business day. The app store takes much, much longer. They pay us at the end of the month for the prior month. A purchase at the start of August won’t see our bank account until after October 1st (over 8 weeks). This can cause some serious cash flow issues and highlights how little control we have over our customer sales on the app store. We found that the app store is great for free apps that support our paid products.
Selling Hardware
We have been selling hardware since 2016. We started selling iBeacon hardware through Amazon. It seemed obvious to use Amazon as they handled shipping, storage, and fulfillment. However, it became clear that we didn’t have a direct relationship with the customer. Amazon obfuscates the customer names, and you have to communicate with the customer through the Amazon interface using Amazon as a proxy. But the big issue was the cost of returns. Since Amazon makes it so easy to return a product, customers rarely contact us and just sent the product back. It was common to have the customer mark the product as defective to get free shipping for the return. However, it wasn’t free to us. We had to pay for the shipping back to Amazon from the customer, and since the customer marked it as defective, it couldn’t be resold, so it had to be sent back to us at our cost. Even our small return rate ate away at our profits.
When we started selling Automatons and Smart Card Readers, we wanted to own the customer relationship. We started selling through Shopify and did the fulfillment ourselves. After sales increased, we outsourced it to White Graphics, an awesome master printer in Naperville.
We make sure our customers are happy, and if there are any issues, we process the refund promptly. We always offer to work with the customer to resolve the issue or get a refund. Most of the time, the customer is open to working with us. Once we resolve the issue, we write up a knowledge base and post it on our website. This results in fewer returns and happier customers. Our customers trust us because we want their business and don’t want an intermediary. Amazon and the App Store do not give us that opportunity.
Microblogging
Microblogging is important in my development process. I post interesting projects I am working on and talk with people who have similar interests. I started doing this back before starting the company by posting what I was working on to Twitter. However, it became clear that all social networks have algorithmic feeds. The platform’s algorithm decides what gets seen, not the user. Twitter became user-hostile, and I moved over to Mastodon. One of the wonderful things about Mastodon is that it is a distributed social network that is not controlled by a single company. I set up our instance at mastodon.twocanoes.com through Mastohost. They are just a hosting provider, so we control the content. I started posting at https://mastodon.twocanoes.com/@tperfitt and have managed to get the same type of engagement as I had on Twitter. I found, however, that I engage with a broader range of people now and it is a lot more enjoyable.
Syndicating
Posting to services we control is great for owning the content, but I needed to engage with our customers where they were. Closed platforms are not great for owning and controlling the content, but they are great at finding ways to get the content in front of people interested in it.
The first one we got for free just by posting content. One of the amazing things that Google does is find content and make it available to others. When we post a product update, a new knowledge base, or even a mastodon post, Google will index it within 24 hours. There are lots of ways to help improve on Google search results (like ads & SEO), but nothing beats content. Google loves content and we start to see traffic almost immediately to new postings.
Zapier
The Zapier service is amazing. It allows you to take content on the internet and use it as a trigger and share it elsewhere. It is the glue that binds many of our systems together. Whenever someone buys something on Shopify or Paddle, Zapier adds that purchase to Quickbooks. If the customer opts into getting emails from us during the purchase, Zapier puts the contact into Mailchimp.
We have also started leveraging tags on all the posts on our website to trigger Zapier. When someone goes to a product page, purchases a product, or gets a license, we offer to sign them up for product updates. If they sign up, they are added to a list that gets emailed once a week with any new articles with that product tag. I can then write a knowledge base article or post on our website and tag it with the product that is related to. Each tag has an RSS feed associated with it, and Mailchimp sends an email once a week if there is any new content on the RSS feed.
Mailchimp
Email is very important for our relationship with our customers. We get an email address from every customer who purchases from us. Regardless of whether it is from our own website, inside an app, or from one of our payment processors, we get their email addresses. If the person opts in for information, they are added to our email list by product. If we have a product update or security issue or just want to ask our customers some questions, we have a way to contact them directly.
LinkedIn has a feed and a newsletter-type feature. Whenever a posting on our website has the #social tag, a Zapier task posts it to the feed on LinkedIn with a link back to the original post on our website.
For longer-form social posts like this one, I’ll log into LinkedIn and create a newsletter-type posting. We have found that we get more engagement with the longer form posting on LinkedIn. We always include a link back to the original post on our website so customers can look there for related content.
YouTube
YouTube took a while to figure out. I love creating 15 to 20-minute videos on projects I am working on, and they generally get a decent number of views. We used to post videos to YouTube and then embed them on our website, but that was a bit problematic. I didn’t want YouTube ads on our product pages, so I turned off monetization in the videos. We also didn’t have control over what ads were being shown, so we might be promoting a competitor’s product right on our site. We have now switched to a POSSE philosophy. Once the video is completed, I upload it to AWS S3 (cloud storage), create a posting on our website with the video embedded, and write up the related content. This helps Google index the page. I then upload the video to YouTube, use the same content from the page on our website, and link it back to the site in the description. The video also contains a link back to twocanoes.com. We organize the YouTube videos by playlist so folks can find related videos more easily. We also turned on monetization to motivate YouTube to share the content more widely. It works, as one of my videos had over 250k views. I also tag the page on our website and it gets sent out with the weekly email to customers interested in the product related to the video.
Slack
We also have a presence on MacAdmins Slack. Like microblogging, it is a great way to engage with customers. It is a proprietary system, but it is a community that many of our customers are a part of (and I have many friends there as well). One of our steps, when we release new software, is to post on the associated Slack channel to let the community know. We also link back to the product page.
Lessons Learned
This POSSE model is far from perfect and could be more scalable. It primarily focuses on how a small team can spread the word about interesting products and solutions. It also reduces the risk of a platform changing its model and destroying our business. We depend heavily on customer word of mouth and as long as we can reach our customers and they know where to find us, we can continue to make great software and grow the business.