4 ms·
I have to argue against this, because spreadsheets are a real pet peeve of mine. It can be hard sometimes to see _why_ a spreadsheet is broken. Spreadsheets sim
by nulagrithom 9y ago
I have to argue against this, because spreadsheets are a real pet peeve of mine. It can be hard sometimes to see _why_ a spreadsheet is broken. Spreadsheets simply don't scale (and I don't mean lolwebscale or whatever.)
If two business processes interact through a spreadsheet, or more than two people edit, you're going to immediately run up against the rough edges. Multiple people editing the same sheet inevitably ends in error. It can take a really gross amount of time to update the data when you're pulling/pushing from two sources. It may seem small on the surface, but even 2 hours a week adds up to nearly 3 weeks of work over a year. Can you replace this spreadsheet in 3 weeks?
I've seen this play out many times at large and small scale. The first example that comes to mind is a 10-hour day trip my wife took to go out of town and manually update a whiteboard because somebody messed up the shared spreadsheet. She was very unhappy, and this wasted a precious day during a _very_ busy period. Initially, the whiteboard and spreadsheet worked great, so they didn't "fix" it. It didn't scale to the busy times and really screwed them over.
At a much smaller scale, I wrote a quick SQL query to get some business metrics for the CEO. He asked if I could run it for him every week. Since I didn't have a good place to put this query, I just ran it manually and emailed it to him at first. Then he wanted to share it with someone on the opposite coast outside our network, so he asked if I could start putting it in a shared spreadsheet. My initial thought was to bang out a page they could pull up instead, but I figured it wasn't worth it. Then he wanted another metric. And another that required a bit of logic that couldn't be done in SQL. Pretty soon I was spending an hour a week manually running SQL and copying the results in to a spreadsheet. (We're a Google Drive shop. No way to connect Sheets to DB2.) That's simply not worth my time. I should've listened to my first instinct.
The initial investment in a spreadsheet isn't large, but the ongoing maintenance can really rack up hours. I think it's very often worth investigating any spreadsheet that users have been maintaining/recreating for more than a quarter.
- TuringTest 9y ago> Spreadsheets simply don't scale This means that if your computing problem doesn't need to scale, a spreadsheet may just be the perfect tool. However, I agree with you. The next Facebook might be of whomever builds a spreadsheet that scales.
- retreatguru 9y agoCheck our Air Table. https://airtable.com https://airtable.com. I’ve not used it in production yet but it looks like a good excel replacement for database type info. The UI is very slick. I tried smartsheets but it’s more calc centric. Asana is great if you are task centric.
- Piskvorrr 9y agoIt never needs to scale - until one day you find out that it has overgrown this stage many months ago.
- flavio81 9y agoThis, a million times. I can't count the many times a business process is done (poorly) by inputing lots of data in an excel file, running a huge (poorly written) macro, and spending the file via email to the next person and so on...
- thaumaturgy 9y ago> We're a Google Drive shop. No way to connect Sheets to DB2. FWIW, Google has an API that can be used to get data into and out of things like Sheets. The documentation for it is abysmal and there are only a few libraries out there, most of which aren't complete. But, I've done it, and have some rough (but easy-to-understand) code that can "import" Sheets into MySQL. Going the other way should be a matter of tweaking the Google account permissions and calling a couple of different functions. It's in PHP, but it's not gross PHP, so you can probably translate it into whatever you're familiar with.
- IanCal 9y agoI use pydrive. If you're doing something reasonable once a week it'll easily be fine. I had problems trying to push a few hundred thousand things in a short time, but otherwise I highly recommend this as a first step for sharing data.
- falcor84 9y agoThere's another really cool way that I've started using lately - doPost[0]. You can set up a js (appscript) function with that name and then publish it for anonymous use (such that the long endpoint url is the secret key). You can for example set up a cron job to post some json to that endpoint and have the js validate it and update a sheet accordingly (or even create a new one). [0] https://developers.google.com/apps-script/guides/web https://developers.google.com/apps-script/guides/web
- chrsstrm 9y agoHere's a freebie that I wrote in like 15 minutes and use in multiple prod situations. Treat any Google Sheet like a JSON data source. https://gist.github.com/chrsstrm/3fb0ce6820acecf62c5490d220d4ec5f https://gist.github.com/chrsstrm/3fb0ce6820acecf62c5490d220d... Yes, the App Script API is kind of limited, but also extremely powerful for simple services or to glue services together.
- tammer 9y agoThe issue is the constant need for new features. Much more cost effective to add a tab vs. modify code. I think something lost in this conversation is how spreadsheets are largely a part of general primary school curriculum. Generally people have a feeling of confidence around them that is lost with other tools. Particularly "easy database" applications that attempt to replace spreadsheets.
- manigandham 9y agoWhat's not worth your time? You're being paid for this all the same aren't you? 1 hr/week would be 52 hours for the whole year, are you able to create something that much better in less time? And will that maintain all the flexibility? There's a reason Excel is so powerful, but it can't magically solve for people lacking a process and most software solutions solve it by using complex permissions, versioning and collaboration features. You can just easily lock down the shared spreadsheet to readonly and have 1 or 2 people who are designated editors and get the same effect, or just have the changes done on a new tab and compare that way. Even the most amazing software can and will get screwed up by users who don't have a process.
- hobs 9y agoMaybe today, but its going to keep growing until you hear it groaning under the weight of features that have more and more risk, and generally an unknown amount because those Excel methods are getting creakier and creakier over time as you try to accomplish more with the same tools. The problem isnt Excel or any useful tool, its the misapplication of the tool and seeing people driving that same road already extremely well traveled. http://www.laputan.org/mud/ http://www.laputan.org/mud/
- NotSammyHagar 9y agoWe programmers are paid for the time we do at work, but side projects like this very often aren't taken into account for the things we are expected to do during the regular work week. That is it's own problem, but this happens to a lot of people. You are paid for doing "the big projects", but then someone asks you to do this little thing on the side that gets bigger and bigger, but it's taking away time and focus on the big projects. Your boss probably doesn't think the side thing is what your job is.
- manigandham 9y agoThen take ownership and communicate so that they know. If there's a better way then suggest it, or at the very least document the time and effort spent on these reports. If they are that critical (which they usually are for decision making) then it shouldn't be an issue when planning future work.
- gleenn 9y agoCheck out Google BigQuery. Not sure if you can do exactly what you need, but we use it as glue between some dbs and Google sheets.
- Noumenon72 9y agoDBVisualizer can export any query you just did to a spreadsheet...
- rdlecler1 9y agoThey don’t scale well, but you don’t want to over engineer a solution until you really need it.
- mabbo 9y ago> Spreadsheets simply don't scale You've never seen panic like a multi million dollar business discovering that excel doesn't allow more than some fixed number of rows (1m?).