I’m trying to create a project in the Google Marketplace (details revealed when the project is live).

I’ve done all the coding and testing for it. But it’s going to take probably another 4-6 weeks, if ever, for it to be seen on the internet.

Why Google Marketplace?

People use the Google Workspace / Google office tools as a way to do work. My company specializes in creating tools for helping people to be more productive. That’s why I made Wraith Scribe, a tool that’ll help side-hustlers/freelancers/bloggers write / edit faster.

It’s easier to convert people who already trust the Google name and use your tool than it is complete(ly cheap) strangers on Reddit.

So that was the play:

  • A bigger market
  • Less convincing to convert

Why You Shouldn’t Make Apps For Google Marketplace

To be clear: You shouldn’t make apps for Google Marketplace if you’re banking on it for your main source of money.

If it’s just 1 of 12 projects you’re doing this year, it doesn’t hurt if it never works out. But let me get straight to the reasons why.

Google Apps Script Is Serverside

Google wanted to be cute for some reason and the only way you can interact with Google Docs/Sheets/Slides is to use Google Apps Script (.gs).

It’s mostly Javascript, but instead of being able to manipulate the DOM with native Javascript, you need to relearn all the helper functions. Things like getting selection to creating range to getting / manipulating nodes are similar, but the syntax is not the same. Likewise, JS fetch() is UrlFetchApp.fetch(url, options), where the options are in a different format than fetch.

So basically, you need to use very-similar sounding functions but relearn all of them from scratch since the syntax isn’t the same.

It’s also hard to debug because .gs is run serverside, so you can’t console.log anything. You can, however, return some object in .gs, feed it to your .html, and then console.log it in HTML. This is annoying.

Further, serverside JS is annoying because it is slow AF. Any DOM manipulation you want to do = user waits. Whereas clientside JS is nice because you just modify things just feel good.

Google Documentation Sucks

Every thing you want to do, you’ll only need to read 1 document.

Except that 1 document points you to 5 other documents.

And those 5 other documents point you to another 5 documents.

And so on.

You’ll almost never find what you’re looking for which is ironic considering what Google does. And you’re forever following the rabbit holes of indirection / YouTube tutorials.

ChatGPT doesn’t help here because even an AI that’s a great language model learner doesn’t know how it works, so it just gives you wrong syntax / function that don’t exist in the .gs ecosystem.

Google Development Ecosystem Sucks

It’s completely unclear what the requirements are to publish a Google Marketplace App. And when you do follow every single last document and publish it, you still get rejected.

Only in the rejection email do they give you specific instructions on what else is needed to be compliant. But why isn’t all the requirements in 1 place so I can just do it right the first time!?

No clue. But apparently, if you do a Google Workspace App, there’s 3 places you need to declare your OAuth and they all need to be identical:

  1. Marketplace SDK (what is this use for? Nobody knows)
  2. App OAuth (permission for app).
  3. OAuth (for login screen to use the app).
    1. If you add your permissions here, you’ll need an additional 4-6 weeks for your app to be approved.

App OAuth permissions is automatically generated from your Apps Script code. Except, it doesn’t declare the permissions for you. There’s an appsscript.json that you need to explicitly show in the .gs editor, and that won’t have the permissions put in there for you, even though it’s automatically generated for you and shown in your Settings in your Apps Script code.

If Google requires minimum permission as is good practice, WHY DON’T THEY JUST AUTOMATICALLY FILL IN THE PERMISSIONS IN ALL 1-3 based on my code?

Seems dumb to have to go through rounds of Apps Script submission to 1) know where to add the OAuth, and 2) add the OAuth required by the app anyway.

The actual app, developed and tested, took about 3 days to create. I reckon the process to submit the app to the marketplace and get it published will be 4-6+ weeks, if ever.

Google Is Bad To Startups

Google App Script / Marketplace development isn’t too bad. The publishing of the app is very stressful and is a high-latency situation.

So if you want to create a product and rapidly MVP / test it, Google’s the worst place to do it. If you can create a product where you can host a webserver on some domain and then just get users / get feedback from them, you should just do that instead of trying to integrate with the Google ecosystem.

This is because speed is king in any startup, and if your startup depends on Google politics, then by the time you’ve published your app, a competitor could have built another product and got a good customer base with a few iterations of feedback already.

Example:

  • AI-powered Google Slides app: 5 days to develop, 12 weeks to publish.
  • Create your own powerpoint AI-powered generator / editor and just allow users to export it to .pptx / slides: 6 weeks to develop (a lot more work), 1 day to publish (no bureaucracy).

TLDR if you’re a startup don’t develop for the Google ecosystem because they’ll waste a ton of your time and by the time you get to what matters—customer feedback—your competition beat you already.

In Conclusion

The code is done for this 2nd product of the year, but I’m not going to be able to showcase it by the end of February (so I’m behind schedule). Frustratingly, this is because of annoying submission processes than the actual technical issues with the code itself.

Thus, going forward I’ll either:

  1. Give a lot more lead time to Google-integrated products. OR
  2. Just build products that don’t involve Google (most likely for the next project).

I hope Microsoft beats the shit out of Google and they go bankrupt.