Developed Google App Script - how to sell it?

Joined
Dec 31, 2016
Messages
599
Likes
421
Degree
2
So I made a script that gets some data and updates it into a Google Sheet. Nothing major, just something that no one had done and I needed it. Think sales data across varying platforms. It seems like there is quite some demand for this kind of functionality.

I now am thinking of selling this sheet to others, but I am unsure on how best to do it.

The thing is, due to my health condition, I can't reliably meet deadlines and constant updates/support, so running it as a real stand alone app is not realistic on my own.

What I am then considering is simply selling it as a script + sheet + Google Data Studio template with installation, with no free support after that. I was thinking of charging $100-$150 one time fee for this package and then something like $75/hour for additional support if needed. Since I am getting this data from private (but free) APIs, the only updates needed would be if those APIs changed or if something changes in Google Apps Script. I suppose I could offer free updates the first year, then charge an additional fee. I honestly don't feel like doing this kind of work though, as I am not a full time coder, and the market is quite limited for this. I would guess no more than 100 potential customers, unless I am wrong. On the other hand, it would be a damn shame to turn down the opportunity for a real, recurring business.

How would you suggest I handle this, considering that it is a Google Script. Is there a plugin / app market for Google sheet stuff?
 

Steve

BuSo Pro
Joined
Dec 29, 2016
Messages
89
Likes
89
Degree
0
Write a proxy API, host it, have the sheets script call the proxy.
Now you can:
1. Limit access via API key
2. Fix 3rd party API changes in one place, rather than separately for each customer
3. Give the actual Google sheet away for free, with a limited trial (via a short lived api key)

Probably you can host the api for under a fiver a month
 
Joined
Dec 31, 2016
Messages
599
Likes
421
Degree
2
Write a proxy API, host it, have the sheets script call the proxy.
Now you can:
1. Limit access via API key
2. Fix 3rd party API changes in one place, rather than separately for each customer
3. Give the actual Google sheet away for free, with a limited trial (via a short lived api key)

Probably you can host the api for under a fiver a month
That's a great idea.

However...

Wouldn't that mean I had to rewrite the script in something else than Google App Script? I mean, it probably isn't too difficult or time consuming, but it would have to be done and that would delay "time to market". I know other solutions are on the way.

I could do it in Python though. Have it run on my Python Anywhere account. Then again, there we go again with having to learn new stuff. With an API, wouldn't I have to write something that could do multiple simultanous instances and such?
 

Steve

BuSo Pro
Joined
Dec 29, 2016
Messages
89
Likes
89
Degree
0
I'm not intimately familiar with Google app script, but the most basic way to do this is just replace the API calls in the script.

So where your script does a get request to some third party API, you replace it with a get request to your hosted API, that in turn calls the 3rd party API and returns the response.

So the Google apps script is basically unchanged.
Once you start though, you might decide it would be better to do the data manipulation in your API and reduce the complexity of the Google apps script.

As far as API programming language, that's up to you. Pretty much any language will be fine, but if you want a recommendation I would look at nodejs. I'm fairly sure Google apps script is based on JavaScript, so you should understand it easily enough.
It's event based model is very well suited to IO driven tasks like http proxing, and it's relatively light weight.
You can also host it for free on something like glitch.com, if you want a zero cost solution, or on a cloud platform (Amazon, digital ocean, hetzner cloud if your in the EU) if you want something more robust.

Using koa or expressjs as a routing layer, you could probably have it set up in a day

Oh and regarding simultaneous connections, any modern web stack will be fine. We have koa APIs on the smallest Hetzner cloud instances (3EUR a month) handling 15,000 requests a second. We have heavy laravel APIs on the same size instances handling around 1000 requests per second. I doubt a Google sheet with a 100 customers is going to hit more than a couple of requests per second, and that will be infrequently.
 
Joined
Dec 31, 2016
Messages
599
Likes
421
Degree
2
If I do this proxy api thing, is it an issue that I would essentially be able to see all data going through, including user names and passwords?
 

Steve

BuSo Pro
Joined
Dec 29, 2016
Messages
89
Likes
89
Degree
0
No idea, depends what type of data it is.
You might be able to avoid processing passwords (I presume for the 3rd party APIs?) with an oauth type setup.
Hard to tell without specifics.
 
Joined
Dec 31, 2016
Messages
599
Likes
421
Degree
2
I am now thinking about making this into a Premium Google Sheets Add-On. Isn't Supermetrics exactly that?
 
Joined
Dec 31, 2016
Messages
599
Likes
421
Degree
2
I'm almost ready to sell now. Just need to get my logistics in order. That and some legal mumbo jumbo, so people don't resell it.
The product is a spreadsheet+data studio template. $150 one off fee, with 1 year guaranteed updates, but no free support or customization(can be bought at $100/hour). I aim to make $3000 the first month in sales and $10000 the first year. We'll see.
I will promote this along with a blogpost about how to set up a Raspberry Pi along with Data Studio to get your own little "command station" on your office TV screen. This of course has added benefits of not needing a computer, tablet or phone to stream to Chromecast or similar.
I got it set up already myself, for about $60. Pretty neat.
I'm also thinking about moving into custom Data Studio solutions. I'm quite ok at this Google App Script thing now and I think data aggregation and manipulation is something I'm good at. Probably should look into Zapier as well.
Almost forgot, @Steve I did set up a proxy solution in PHP as you mentioned, but only for one api running SOAP (not really feasible in GSA). That was pretty easy since it was essentially just GET from url parameters called from GSA. However, what if 10 people called that php file at the same time, what would happen? Would they que? Get a 500 response?
 
Joined
Dec 31, 2016
Messages
599
Likes
421
Degree
2
I'm still really in doubt on how to proceed with this. I plan on launching at the end of this month.

Option 1: Sell the script one off fee + customization
Benefits is easy to get this done, don't need to figure out all the Add On and marketplace stuff with Google. Less need to be on top of updates, since people will essentially buy a "sold as is" product. Negatives is that I give up the opportunity to build a real recurring business, even if limited in potential scope. With this business model, I think customization and paid support (100USD/hour), would be a good option.
Option 2: Add on with Google markeplace
A real business, a recurring income. Negative is that I need to figure out all the stuff about how to build an add on, how to get it approved, scopes and stuff, need constant updates, because customers do not have source code.
Option 3: Sell the script as special limited offer, use that money to develop the Add On
I'm thinking I could sell the script to a select group, maybe 20 or 30 people that I know, at like $200 a pop and then use that money to develop the Add On for a wider audience and add some new functionality that I have planned.