Category Archives: Start-ups

Localize Zendesk Help Center, and Make PDFs Too

We needed to internationalize the user documentation for Gaia GPS recently, so I wrote some open source scripts that automate Zendesk+Gengo localization. I found this to be a delightful task as a programmer – it was a finite problem, with a clear cut solution, and I could just kind of code away and see it come to life without many issues.

These scripts (in Python) let you select a chunk of your Zendesk Help Center, post the articles to Gengo for translation, retrieve the translations, and post the localized articles back to Zendesk.

When I started working on this, I found the blog post that Zendesk wrote about using their API for localization. That code was a big help, but it produces static files to hand off to a localization firm. I wanted my scripts to do a bit more:

  • totally automate the round trip between Zendesk and Gengo – i.e. script gives English to Gengo, and script posts locales back to Zendesk
  • allow us to localize a chunk of our voluminous Help Center, and later a different chunk with just some configuration
  • estimate the cost of the localization that was about to be requested

PDFs Too

The main reason I did this project was to better localize Gaia GPS for international users, but I also wanted to generate nice PDFs of the help docs, to cache in the app for users to read while offline. For example, here’s the Gaia GPS Help Center, converted to PDF, in Russian. It also generates an inventory of the PDFs too.

image (1)

 

This script now runs as a cron job for Gaia GPS, so the PDF manual gets updated each night. This is a good hack to give our users an offline version of the user manual, both in the app, and also for printing (surprisingly common request). Hopefully Zendesk will make their SDK (cough, ahem, closed source, or I’d fix it myself) work offline someday, but the PDFs will do until then.

Localization Usage

You can follow along the docs on Github, but the gist is this:

  • edit project_settings.py
  • add your Zendesk/Gengo credentials
    • configure which categories, sections, or articles to translate
  • run the script in Gengo’s sandbox
    • make sure the articles and cost are what you expect
    • the Python script estimates the Gengo cost, but you can double check in the sandbox too
  • run the script in production
    • run the package and post steps
    • wait for Gengo translators to do their work
    • run the retrieve and update steps

PDF Usage

See the PDFing docs on Github, but again, the gist is:

  • edit project_settings.py
    • beyond what you configured for localization, add info about an S3 bucket to post the manuals to if you want to use the “post” command
  • add your own custom name, logo, and background image.
  • run the script with “create” and again with “post”
    • create – generate PDFS for all languages locally – one for each language/category pair
    • post – puts the PDFs on S3
  • if you use the default “User Manual” title provided, the script will localize the title automatically, using the included data

Aside: Make a Business Out of These Scripts

As I wrote these scripts, it occurred to me that companies would pay hundreds or thousands of dollars to use a simple web interface that wrapped these scripts.

I don’t think this is a billion dollar idea, but I think a good hustling programmer could make a few hundred thousand dollars or a few million even making Gengo↔Zendesk automatic and easy for non-programmers. If Gaia GPS wasn’t keeping me so busy, I might give it a whirl, but anyone who comes across this code is welcome to try.

Semi-related: Transfer a Uservoice Knowledge Base to a Zendesk Help Center

We found that UserVoice didn’t have a capability to localize our Knowledge Base, so that’s why we moved to Zendesk (though, p.s., we also now like a lot of other things about ZenDesk).

So, this code also includes a Python script to transfer your Uservoice KB to a Zendesk HC, if you find yourself in similar need.

The Drones are Coming

I’ve been looking into drones recently. I went to the SF Drones Start-up Meet-up, where I met the most bullish people in the UAV market, and I’ve been doing other meetings and research too.

I’m almost as bullish as the drone start-up people are – it’s a pretty wild-eyed group, but they are right all the same. I met everyone from a guy who is not delivering pot with drones, to a guy who made Uber for drone pilots, and saw a presentation on a high-powered tiny computer that’s like an Arduino on steroids – a little computer I might need for my drone idea. I got a chance to learn about a piece of radio hardware that will let most anyone fly a drone with an iPad from Fighting Walrus. I also met someone I already follow on Twitter, Colin Snow the Drone Analyst.

Seeing the demo of a drone fly and land on its contact charging pad (SkySense) was a thrill too – SkySense uses a clever hex pattern to ensure proper connection of charging contacts.

Photo from SkySense of a Farm Drone

Photo from SkySense.com, of a Farm Drone

Drones will see commercialization and widespread use in the next 5 years, and drones will likely be the most common robot, kicking off the robotics age with a bang. The major tech advance that made this possible is the advent of cheap multi-copters. Unlike traditional remote controlled and autonomous airplanes and helicopters, multi-copters can withstand mechanical failure in flight without falling out of the sky, withstand high winds and hover in adverse conditions, and can be produced at such low rates that they can be sold for as little as $400 dollars, or even $1000-2000 for best-in-class consumer drones from 3D Robotics or DJI.

A drone from 3D Robotics, the canonical drone company.

A drone from 3D Robotics, the canonical drone company.

You can fly one of these cheap drones around for 40 minutes at a time with stock hardware, and fly it for 50 hours without need for major mechanical repair. As these numbers creep higher and maintenance gets easier, drones will become more and more useful for doing daily or weekly tasks.

The most obvious use for commercial drones is information gathering. This includes maps, photo imagery, real-time and recorded video, and even multi-spectral imaging for purposes like farming (e.g. to detect fungus on crops for treatment). Drones will widely replace security personnel, be used to make farming more efficient, and inspect remote infrastructure like pipelines and dangerous places in nuclear plants. The sweet spot for this new class of multi-copter drone is applications where you need to run a drone day in and day out, repetitively. That’s why drones will come to replace security guards and help farmers in ways that older styles of autonomous flying vehicles weren’t appropriate for. We’ll continue to use fixed-wing drones, airplanes, and satellites to do imaging that doesn’t require as much recency and repetition, but multi-copters are the thing you put on a cron job.

Similarly, doing routine non-surveillance tasks like watering crops and delivering fertilizer will also get droned, just at a slower rate because it’s a harder challenge with more stuff to build correctly. Before you see Amazon delivering packages with drones, you’ll see businesses using drones on private premises for mechanical tasks.

For my part, I’ll leave the hardware to everyone else. I see a lot of room to make software for this emerging drone market, and I might know more about maps, sensors, and software for remote places than the people in the market, even if I don’t have a drone.

How to manage a micro-business without an accountant

I don’t think a lot of micro-businesses in California need an accountant. If a business is just a few people, the owner/manager can use simple tools to do all business stuff, and hire a tax professional once a year.

We have been in business for 5 years in California, and we have a 4 full-time employees (including Anna and myself), and 3 regular part-timers (around the country). This stack of tools has evolved, and now I think it makes life pretty simple.

  • We use ZenPayroll for payroll, to send all employees and contractors money. ZenPayroll then takes care of sending out tax statements to the people you pay, getting them to fill out an I-9, and your California EDD stuff. It’s the best payroll service for California companies, and it’s the same price as everyone else.
  • For tracking time and invoicing, we use Harvest. It makes time-tracking easy, flexible, and cross-platform, and it makes invoicing easy and professional. I also admire the UI design.
  • For bookkeeping, we use Outright (now GoDaddy Bookkeeping). This is lightweight – it will  auto-import your transactions from banks like Wells Fargo or BoA, and help you to categorize them. This is all you need to do for book-keeping – if you run all of your payroll through ZenPayroll, and categorize all of your expenses (takes a few minutes a week) – congratulations, you’re a book keeper.
  • At the end of the year, taxes are simple. You dump the raw data and reports from outright.com, and send that to a CPA. I have been able to have my corporate (C-Corp.) taxes done for for about $200, and the same accountant does my family’s taxes (also about $200). TurboTax is only marginally cheaper than a CPA, so I think most people who own a small business (LLC, S-Corp) should use a CPA, and go ahead and get them to do your personal taxes (they’ll use something like TurboTax by the way, but do a better job and give you random tax advice).

That’s it really. If you do all of your transactions through one corporate bank account, and all of your payroll through the payroll system, then you should mostly be a good citizen. This works for my little software business at least.

Also, business is about money, and by managing your books yourself early on, you’ll deeply understand your own cash flow and balance sheet, and be able to hire a competent accountant later on. I also think you’ll naturally make more money this way.

The Robot Prism

When I start thinking about a topic in depth, it makes me see the world through that prism. It’s happened to me with games like chess and go, and I’ve been thinking a lot about robots these days, and I am seeing robots everywhere.

As I came out of Nick’s Pizza this evening with my takeout for Anna, the baby and I, I noticed how my body reacted to the steep step down. I hadn’t seen the step at first, but I didn’t quite stumble or fall. Rather, my foot noticed the terrain was uneven before I descended too much. I sort of naturally wiggled my foot, glanced down to confirm there was an unexpected steep step, and left more or less gracefully with my stack of two pizzas, two salads, two cookies, and a glass bottle of coke.

So it’s sort of amazing that a human can do this – juggle an unwieldy stack of objects, and quickly (at least compared to Darpa Robotic Challenge robots) scamper along uneven and unexpected terrain. Klutz that I am, I’ll make the best bipedal robots look like fools in a dance competition, or a running-across-arbitrary-terrain challenge.

It’s an innocuous moment – an unexpected scamper down a step, that is – but when you think about what it might take to have a robot navigate steps, it’s a fun and interesting rabbit hole. You can think about how to mimic a human and what sort of algorithms and sensors and servos that might take, or you can think that maybe it would be easier if the robot was a tank or a soccer ball.

I see robots everywhere, in my stumbles, and in my 15-month-old son Adlai’s little struggles and triumphs with the physical world. It’s such an interesting thing to explore, robotics – movement and sensing and manipulation, that we take so many years to get right as animals, but we hope to be able to synthesize and conjure up in our machines.

It doesn’t seem odd to me, somehow, to suppose that millions of robots might walk and fly and buzz and zip among us in just the next few years. In fact, I’m starting to think its certain.

grasper-bot

 

Here’s a review of Nick’s Pizza too, while I’m at it.

Economy – iOS Card Game with Source Code

My project to make a digital collectible card game may not be dead – here’s the source code for “Economy“.

I mustered the will to update the code while Anna and I were traveling over the holidays, so it runs on iOS7. I also rolled it back to what I like to call the “last fun commit.” At one point, when I handed the game to people, they sort of “got it” and wanted to play a few games, despite the graphics sucking and the game being unrefined.

So, if I do put a few more hours into this, I think I will start at the last fun commit, and throw away the baroque work I did later that didn’t improve the game. Despite what it looks like, this was kind of fun:

Screen Shot 2014-01-11 at 1.54.02 PM

BitRated: BitCoin transactions you can trust

The game is totally afoot now. BitRated, the latest creation from a BitCoin entrepreneur, exploits the technological underpinnings of BitCoin to enable buyers and sellers to revert transactions in the same way that traditional payment networks like VISA do.

This starts to address two of the core arguments against BitCoin – that transactions are too final for consumer purchases, and that BitCoin is too hard to use for consumers.

We’re now getting to the point where BitCoin transactions will be insured by trusted arbitrators, and that big companies like Amazon can essentially self-insure (which neatly avoids the tax they pay VISA today). As far as the consumer is concerned, it will be just like using a credit card if they stick with trusted/insured merchants.

We’re now seeing cryptocurrency’s value expressed through the computerization of trust. Having computers and distributed networks of people handle trust will, I predict, prove more efficient than the existing mechanisms, which suffer from corruption and imprecise incentives for market players.

Color Wheel – Extending the Flashlight Experiment

If you read my blog post from yesterday, then you are familiar with my iPhone App Store experiment. I built a simple application (a Flashlight), and now I’m trying to improve sales by listening to users and evolving the app – nothing more, nothing less. It’s a flashlight today, but tomorrow it could be anything.

During launch yesterday, A Flashlight! sold 13 copies, probably about half to friends and family who I coerced into buying it. While I haven’t gotten any feedback from real users yet, I did get some ideas from the Hacker News discussion that ensued. A thread full of people commented that the app could be construed more as a rave toy than a flashlight, with its ability to flash any color at any speed, and they suggested I work on syncopating the flashing colors with sounds and other people using the app. So, if I don’t get any more feedback on the matter, I guess that’s what I will probably do.

Beyond the pure experiment of responding to users requests, after I spent a day on Flashlight, I also got interested in applications around images and color and how I could use the Color Wheel UI element I cooked up. So, I decided to create a separate application called ColorWheel! As it says in the app description on iTunes, ColorWheel lets you select colors and then it provides you with RGB and hex values. It also lets you grab colors from photos, type in hex/RGB, email colors, and adjust the opacity of the colors.

Here’s a screenshot of the two apps side by side – as you can see, they are very similar.

So, now this experiment has two forks. On the Flashlight side, we’ll see how response to user requests drives the development of the app and how that affects sales. On the ColorWheel side, we’ll see if my random idea for evolving the Flashlight speeds things up and leads me to a market faster. For both A Flashlight! and ColorWheel!, I plan to just respond to user requests, but I think ColorWheel is a much more targeted app (for designers, programmers, etc.), so I wonder what the difference in their evolutions will be.

As the final step in this experiment, I’m also pushing an app that starts out just as a feedback box. It’s ready to ship to the App Store now, but I’m just wondering what to call it. Blank Slate? Or maybe just TBD if I can get away with that.

My Agile Experiment – A Flashlight on the iPhone

A couple weeks ago, I spent eight hours in XCode, Photoshop, and iTunes Connect, and I submitted A Flashlight! to the iPhone App Store. As it stands, the app is very simple, yet it is also unique among flashlights. You can use a Color Wheel to select a color, and a slider to select strobe frequency. It also remembers your settings between uses. You can view it on iTunes here.

A Flashlight! is intended as an experiment in agile, user-oriented development. I just want to see if a) I can sell any flashlights and b) if I can improve sales by doing whatever users say to do. Today, this app is a flashlight, but I intend to do whatever users request and let this app morph into whatever it becomes. Maybe it will become some weird chimera, or maybe it will become a really tricked out flashlight, or maybe it will turn into an RPG or something.

I chose to start with a flashlight app because they are simple to build and seem to have a natural market on the iPhone – there are 100s of flashlight apps, and even one in the top 20 in the Utilities category. So, these factors make it easy for me to get my app out quick, and hopefully ensure some feedback from users on what I should build.

Either way, it will be fun to see where the natural current of the App Store takes A Flashlight!, and I’ll write a few blog posts about it.

In Search of a Good Idea

I’m a long-time reader and contributor to Hacker News – not the most prolific, but I lurk a lot. When I first moved to San Francisco about 3 years ago, my friends introduced me to Hacker News, Reddit, Seth Godin, and a lot of other influences that eventually drove me to leave my job and found a company.

Hacker News has been a tremendous resource for me. First, it was a source for inspiration, ideas, and philosophy. Later on, when we started building something, Hacker News became a sounding board for ideas, a way to get a critical review of products. And then even later, Hacker News helped us launch and market new software.

Hopefully I’m not being greedy, but now I want something else. I want business advice, and maybe even a CEO. After dreaming and scheming for 18 months, and working full time on this company for 10, my two co-founders and I have finally gotten to what we all know as “ramen-profitable.” In the next of paragraphs I’m going to lay out the history and stance of our business, TrailBehind, in hopes that someone out there has good ideas on what we should do next. If you have advice to impart, please read on, and give us some commentary on HN. If you have really good ideas, don’t need much money, and are interested in leading our company’s business strategy, please contact me at[email protected].

TrailBehind, Inc. – History

My girlfriend and I first dreamt up TrailBehind hiking through the woods about two years ago. I don’t know if computing or hiking is our favorite thing, but it’s close either way. We started the company intent on making a great hiking website – we weren’t quite sure what that meant, but we knew it was tough to find good information on the web, and we didn’t really like any of the community sites out there either.

The result of this was www.trailbehind.com – a mixture of a hiking search engine and social site to help people “find great places to hike.” TrailBehind.com is a moderate success – it gets about 300-400 visits a day and helps us market our new products, but we haven’t worked on it in months. It was enough to win us a $25,000 fbFund grant and secure about $35,000 in other angel funding to get us started, but the internet is a tough market, especially for a niche media product with nothing to sell. So, eventually we turned to the iPhone platform in search of revenues.

Our first iPhone product, TrailBehind, launched last May and earned us a few thousand dollars. TrailBehind basically took TrailBehind.com and brought it to the iPhone, selling for .99 a piece. It was built by our first hire (Feb ’09), and a person I consider to be one of TrailBehind’s co-founders even if he came to the party a few months in – my friend from college Tim Bowen.

Finally making some money was a great morale boost for us, but it still wasn’t enough to keep the lights on. With that in mind, we took another look at the Navigation market on the iPhone and concluded that we needed to address a broader market – not just hikers and climbers and bikers, not just people who spend a lot of time in the woods. We needed a product that people in the city would use – people who run, people who drive, and people just walking around. And so, Gaia GPS was born.

With Gaia GPS, we wanted to build on the unique search capabilities and map overlay capabilities from TrailBehind.com, and incorporate features we knew there were a broad demand for – specifically GPS recording, offline mapping, and related functionality. And that’s where we are today. Gaia GPS launched almost a month ago, and it’s now one of the top 20 apps in Navigation. We now have loads of feedback from users, we are pushing steady releases, and sales and our ranking are climbing. Besides Gaia GPS, we also have our original TrailBehind app, and also Gaia Maps and Gaia Places – which are individual features of Gaia GPS as standalone, less expensive apps.

Today and Tomorrow

Besides just pushing releases and trying to generate some press, we are anticipating more incremental growth in our sales. We now have (in review by Apple) an international version of the app, which is quite a large percentage of the market for GPS apps. We also have in review the “Lite” version of Gaia GPS, which seems to be a proven strategy for selling more apps. So, as far as survival goes, I think we’re there. We still have about $15k from our investors in the bank, and we’re cash flow positive, so that number is now slowly growing. The three of us live a very affordable life, sharing a cabin in Truckee, grocery bills, and keeping expenses to a minimum.

What I am sort of at a loss for now is how to make an order of magnitude improvement in the business. We intend to keep working on Gaia GPS and climbing in the Navigation category, but this app alone will never be worth more than a couple million a year, and it won’t be worth more than a couple hundred thousand next year. I yearn for more.

Pretty quick here, we need to figure out what else we can do. We’ve been working a lot recently – once you launch a product, there is a lot more to do than just code, between talking with users, marketing, keeping your books, and all the day-to-day administrative trivia of owning a business. But, soon we’ll add a few more features to Gaia GPS, iron out bugs users report, and get that product down into a steady release cycle that doesn’t tax our resources completely.

I’ve been thinking a lot about what that next project should be. The major candidates are as follows:

  • Gaia Quest – Develop a game built on top of Gaia GPS, based on exploration and map-making. I have drawn up a rough sketch of what this game would look like. 
  • Military Applications – Build a military oriented version of Gaia GPS. Seek grant funds to from DARPA and similar. I have started to discuss this with a DoD contractor and a VC contact from one of my board members, and this seems like a real possibility, but a big divergence for us. 
  • Work on Search – Use the runway provided by our iPhone revenues to re-focus on our efforts to build a geographic search engine. This capability is perhaps the most unique thing about all of our products – aggregation and presentation of geo-data. However, it was sidelined because we needed to make money, and we had no clear route to monetize this. 
  • Other Mobile platforms – Build Gaia GPS for new platforms, such as Palm, Android, or Blackberry. Seek marketing incentives from these platforms to migrate the software, otherwise this is probably not a reasonable path for us right now. 

So, I guess I’m just unsure what to do. As is the common Silicon Valley attitude, I have come to believe that ideas are mostly worthless, and execution is king. But while we have managed to execute a few products and make a few dollars, I’m grasping for a good idea. I wonder what to do next. I wonder how much to focus on incremental progress for Gaia GPS. I wonder if we should be aiming to go from making $70,000/year to $200,000/year. Do I shoot for a goal I know I can reach, or is it time to double down and shoot for the stars? Maybe you have a better idea than me.

Please Help

If you go on Hacker News and you are a business guy with a great idea but no software development expertise, you will get asked poignant questions and probably laughed out of the forum if you come looking for hackers to help you execute. Hackers believe that that it all boils down to the software. This is only partially true. All of you idea men quietly lurking in the shadows of HN, this blog post is for you.

Today, my company has plenty of hackers. We all program, led by Anna, who is a truly gifted (and pedigreed) hacker. But we lack vision I think. Today, I need advice, strategy, and ideas. I have discussed this heavily with my board and co-founders, but I’m still not sure what to do.

Before I came to the Valley, I thought of myself as an idea-man, but today I think I know myself a bit better. I’m pretty good at accomplishing a goal, but I’m not so sure I’m great at deciding what goal to focus on. I have a business degree, but I’m not sure I have the requisite flare for marketing. Give me a feature to build, a bug to fix, or even a reporter to call and land a story, I can do that. But if you ask me what’s the next thing TrailBehind should be working on, I fear my ideas aren’t correct. Maybe once I started to lose respect for the strength of the “idea,” I lost the ability to have good ones. Recently, I’m thinking that what I need and have undervalued is a good idea.

So, I guess that’s the end of my rambling. I’m hoping that someone out there can set us on the right track. If you want to know more, if I left out some important details, please ask away on the HN comment thread, and I’ll try and fill in the blanks. If you have ideas or commentary on the state or direction of our business, please post those.

Also, if you think you might be able to steer this ship to grander adventures, drop me an email at [email protected]. There’s a lot of stock to go around, but not much money. Maybe you can change that.

Fixing the App Store with Measure of Credibility

iPhone apps live and die by the reviews they get, and it’s an extremely competitive market, filled with people lusting after stacks of cash.

To be an iPhone programmer these days, you better have some friends, or some “marketing” dollars. If you don’t, you might succeed, but you are going to be at a marked advantage to both the teams that know lots of people with iPhones, and the companies with dollars to hire PR firms to juice their rankings.

Having PR firms, friends, and family boost your ratings is absolutely pervasive in the App Store, and not just in the high-value games category. However, I think there’s actually a pretty easy way to fix a lot of this, or at least make it harder to cheat.

If you are a savvy iPhone App buyer, then before you trust a review, you know to click on the reviewer’s name and see what else they have reviewed. You know that you have to be particularly mistrustful of five-star reviews, and that if you click a name and that’s the only review the person ever left, it’s probably not sincere.

So, if Apple has any interest in getting trustworthy information to App buyers, then they could simply list the number of reviews a person has submitted next to their name. Instead of a review “by andrewljohnson” they ought to have the reviews show “by andrewljohnson (2).

Some might argue that Apple already helps establish credibility by letting users rate whether they found a review to be useful, but this system only contributes to the problem. As it turns out, if you have 30 people willing to write reviews for you, you also have 30 people willing to downvote the bad reviews, and upvote the cooked reviews, so this system ends up reinforcing the fraud.

I do believe in the end that the good apps end up on top – most fraud strategies end up being unsustainable. However, they do lead to some dollars ending up in the bad guys’ pockets, drained from the bank accounts of the less capitalized companies, where a few dollars matter the most. Most importantly though, a lot of consumers get duped into buying crappy products, even if the rankings come out right in the end.