Live data from Hacker News

Google Spreadsheets and Python

twilio.com

121–130 of 143 posts

Re: Google Spreadsheets and Python

#121
post #120
post #102

Earlier quoted context omitted.

One of the good things to come out of Google Wave was a better understanding of how to scale using (eg) operational transform. Even without that, scaling a mostly read only spreadsheet backend isn't as hard as you are making out.

Well, a spreadsheet used as intended is mostly read-only, that's no necessarily true if it's backing a website :)

Based on the read-write characteristics of every website I've ever built I'd say "mostly read-only" is a pretty good characterization.

Even things like forums have many, many page loads than new posts.

Re: Google Spreadsheets and Python

#122

I love Google Sheets. It is so much more powerful than 99.9% of the users appreciate. Here is how I use it at my day job as head of PM at New Relic: - Fetch deals closed and lost hourly from Salesforce - Fetch for each of our 14k+ paid accounts usage metrics using our Insights product - Pull both items into a nice color-coded business dashboard that is near realtime - Send said dashboard out as a PDF to a bunch of st…

I get all the good things Google Apps do. It's wonderful. Yet, until Google has a "contract with our users" that includes a level of customer service and human conflict resolution I would not touch them with a ten foot pole. Why? Because they could take it all away --and I do mean ALL-- overnight. Email, apps, etc. I've seen many people run into the Google ban for reasons not more complicated than not being experts a…

In terms of your anecdote about your client's experience - I can't speak to this, as I'm not directly familiar with this "Google for Domains" service and I don't have enough details from your post to comment.

However, I can assure you that Google definitely has a customer support department - I work with them every day =).

Also - it's important to distinguish between the free products we offer - and the paid products - where you actually give us money. In the latter case, there is nearly always a customer support hotline, and in many cases, a binding SLA agreement.

I work in Google Cloud, on the support organisation side of things - and I can confirm there is definitely phone support (along with chat and email), we do have SLAs on all of our products and you are definitely speaking to a human. It's not particularly hard to reach a person - either go through your admin panel (https://admin.google.com - click the big question mark), or all of our 24/7 support numbers for each country are right there on the website:

https://support.google.com/a/table/3247295?hl=en

That's on the business side. On the consumer side, the phone numbers shouldn't be too hard to find either on a search e.g.:

https://support.google.com/googleplay/answer/7100415?hl=en&r...

My own anecdote - several years ago before I started with Google, I subscribed to Google Play Music - I accidentally un-favourited a track once, and I couldn't find a way to find it again. So on a whim I rang Google Play Music support, and went straight to a person within seconds. She was very friendly, and tried to help me find the history - unfortunately it wasn't there, but the customer service was pretty damn good - a heck of a lot better than all of my experiences with several un-named mobile phone and broadband companies. (Hint: I'm in Australia)

Disclaimer: I work for Google.

Re: Google Spreadsheets and Python

#123

The big downside I've found using this a lot in the past is that Google has no SLA for sheets. Sure its Google, so it has high availability but things can quite often fail with no support from Google. So just be careful of building anything mission critical with this. The API can be wonky every once in a while. At one point it even took them like 6 months to fix an issue I had with the Apps Script API. If my business…

Regarding your claim about SLAs - there actually is an SLA for all of the paid Google Cloud products - e.g. the following would apply for GSuite, which covers Google Sheets:

https://support.google.com/work/answer/6056635?hl=en https://gsuite.google.com/terms/reseller_sla.html

If you mean the free products e.g. Google Sheets with a consumer account - AFAIK, there isn't a contractual SLA per-se, but the uptime is pretty good =).

You can also see a status dashboard with historical status here:

https://www.google.com/appsstatus#hl=en&v=status

RSS feed link is at the bottom of that page.

(Disclaimer: I work for Google Cloud, on the Drive/Docs/Sheets side of things).

Re: Google Spreadsheets and Python

#124

The big downside I've found using this a lot in the past is that Google has no SLA for sheets. Sure its Google, so it has high availability but things can quite often fail with no support from Google. So just be careful of building anything mission critical with this. The API can be wonky every once in a while. At one point it even took them like 6 months to fix an issue I had with the Apps Script API. If my business…

Regarding your claim about SLAs - there actually is an SLA for all of the paid Google Cloud products - e.g. the following would apply for GSuite, which covers Google Sheets: https://support.google.com/work/answer/6056635?hl=en https://gsuite.google.com/terms/reseller_sla.html If you mean the free products e.g. Google Sheets with a consumer account - AFAIK, there isn't a contractual SLA per-se, but the uptime is prett…

But does that cover the API and if devs break something during a release? That's where I see the problem often. New API gets released that breaks something but the broken thing doesn't get fixed quickly.

Re: Google Spreadsheets and Python

#125
I'm going to have to be a contrarian on this one.

On my team, we absolutely loathe Google Spreadsheets with a passion. Not necessarily the product itself. It actually is a truly capable and nice spreadsheet program. However, it encourages some extremely bad uses.

Because of the low friction of creating a spreadsheet versus, say, a database, business users have started using it as a substitute for something that should probably live in a database. For instance, I'm thinking of a particular portion of our sales organization that kept their business hierarchy in a Sheet, ie x person is on y team. Now, when you want to do analysis on the data you now have to use something similar to this library to retrieve the data and return it in a dataframe, which then pipes into the rest of your analysis and you end up with a finished product, be it a dashboard or some job.

What always happens is that you write your analysis, set it up to run regularly, and all of the sudden, three weeks later, you start receiving exception emails on the script. When you investigate it, inevitably some jackass business user upstream altered the "schema" of the document, breaking your downstream analysis.

In addition, once you have hundreds or thousands of these scripts running repeatedly, all reaching out to the Google API and in some cases retrieving 100s of MBs of data, Google very quickly rate limits you and you end up with dozens of scripts that broke.

Sheets is great for analysis and one offs, but you have to push back on your business users who will constantly try to use it as an operations platform because they don't know any better.

- "I need to see an analysis of xyz data."

- "Ok, where does the data live?"

- "Well, all of the facts come from this SQL table, and we pull from this web service, and finally we run it through this lookup table we maintain in Google Sheets."

- "Nope. Come back to me when you put that data somewhere else. Spreadsheets are not databases."

Re: Google Spreadsheets and Python

#127
Back at my previous company, which was a travel startup, there was a list of curated vacation packages that were created for every weekend. So, the itineraries team used to spend 5 days designing the packages and getting vendors on board, and then they used to fill up a google sheet with the details in it and the devs used to run a script, which used to populate this rows in the database and make any other updates required and it used to show up on the website. The reasons why this worked so well for us:

1. There were at the most 30-40 rows. Google Spreadsheets works amazing for small table sizes (although not as small as 30-40, I'd assume upto 1500-5000 should be fine as well).

2. All non-dev teams were EXTREMELY comfortable with Google Spreadsheets. For people with non-engineering backgrounds, a spreadsheet is an amazing, low-barrier entry to structured data which I believe is what made this solution amazing.

3. The dev team was completely removed as a dependency, and we had staging environments where they would run it first to ensure it was working properly, so a dev could be engaged only if their spreadsheet run wasn't working as expected or due to some other issue. The previous method was a huge email sent out to the devs, who would handcraft it into a JSON, which would then be passed to a script and then written to the database. This required every run to be effectively final.. there were only so many times one could engage a dev.

4. While we had to engage a dev to execute the script, it actually is very easy to integrate a menu option within the google sheets interface itself (if you are using Google Apps) for your domain, which would say something like 'Deploy to Staging', although we never got around to actually building this.

For startups where product turnaround time is required to be short, this works as an amazing solution as it makes so easy for non-tech guys to input data into the system. While there is no doubt that a fully developed panel for these operations would be the best solution, one doesn't always have the luxury of time.

Re: Google Spreadsheets and Python

#128
In a project I worked on the implementation of a very complex form (insurance company) with lots of conditions. Given the number of stakeholders and people involved having a say (legal, product owner, sales people, customer care, copywriter, etc) normal iteration (gathering feedback => implement => deploy => repeat) would simply take too long.

I very successfully used Google Spreadheets as a backend for this. Putting all text and the conditional logic in the spreadsheet, and allowing the form to be built as a web page based on the Google Spreadsheet data for instant preview. This allowed the different members in the project to even work in parallel (thanks to collaboration features) with stakeholders - and implementing the feedback immediately themselves DURING the meeting - to see if the results was what they expected.

I wrote a small blog post about this, unfortunately in Swedish, but hey - there's a video at least :) http://www.rebelandbird.com/hyperiterativ-prototypning-med-g...

Another powerful way I use personally is to use Google Spreadsheet as a data backend for Jekyll based static websites. Here is a Grunt plugin I did to deal with this https://github.com/stpe/grunt-gss-to-json - example usage; my retro games collection http://games.stpe.se/

Re: Google Spreadsheets and Python

#129
post #81
post #56

Earlier quoted context omitted.

Probably because they are in business to make money? Customers whose first priority is cost usually aren't good customers.

Right, but even their more expensive paid plan has a 50k row limit, which is low enough to preclude whole classes of applications. They do claim a "custom number" of rows in their "contact us for pricing" plan, but the 50k number suggests that anything higher than that would have serious perf downsides with their current architecture.

I read somewhere that AirTable is deliberately only targeting "human scale" data use cases.

Re: Google Spreadsheets and Python

#130
post #56
post #13

Earlier quoted context omitted.

Why are the row limits so tight?! 1200 rows for the free tier, and only 5000 rows for the first paid tier! That's crazy low, given that Google Sheets gives you 200,000 cells, or 10,000 20-column rows, for free. EDIT: That was from 2009. The current limit is 2,000,000 cells per sheet: https://support.google.com/drive/answer/37603?hl=en

Probably because they are in business to make money? Customers whose first priority is cost usually aren't good customers.

My silly little hobby spreadsheets that would benefit a lot from this are easily >1500 rows.
Post reply on HN