[HN Gopher] Show HN: We built the fastest spreadsheet
___________________________________________________________________
Show HN: We built the fastest spreadsheet
Author : gamegoblin
Score : 200 points
Date : 2024-02-29 15:57 UTC (7 hours ago)
(HTM) web link (rowzero.io)
(TXT) w3m dump (rowzero.io)
| breckognize wrote:
| Founder/CEO here.
|
| When I worked in AWS S3, I spent a lot of time in Excel. Even as
| a dev, it was the fastest way to explore data, build models, and
| share forecasts with business partners. My Excel usage was
| plagued by slow performance, poor cloud integration, and no
| first-class Python support. I loved the richness and
| responsiveness of Excel, but I had to give up too much power to
| get it. This felt like a false choice, so 3 years ago I started
| working on it.
|
| Today we're launching Row Zero. Row Zero looks and feels like
| Excel and Google Sheets, but 100-1000x faster. You can easily
| import gigabytes of CSV, JSONL, and Parquet files or connect
| directly to Snowflake, Redshift, Postgres, and S3. We also
| support Python natively. You can call Python functions that
| return pandas data frames and manipulate the results directly in
| the spreadsheet.
|
| Under the hood, Row Zero is a high-performance columnar engine
| written in Rust. Running in AWS lets us scale compute up and down
| and import quickly from S3 and Snowflake. When you open a
| workbook, we place it in the AWS region closest to you so it
| feels as snappy as a desktop application.
|
| The app is built by 5 ex-principal engineers from Amazon S3,
| Tableau, and Airtable. We're the team that wrote the file system
| that powers S3.
|
| We've been in beta for a year. Use us to refine big CSVs, build
| complex financial models, create dashboards, and share large data
| sets. We're also a killer Snowflake/Postgres client. Give us a
| try and let us know what you think.
| MichaelZuo wrote:
| Excel 2010 is several times faster than the latest Excel
| versions. What are the performance metrics compared to Excel
| 2010?
| gamegoblin wrote:
| It varies depending on what you are doing, but is probably
| 100x faster on average.
|
| Some things are literally 10000x faster because we are
| internally using algorithms with better asymptotic complexity
| than Excel, but there are a few edge cases where we are maybe
| only 10x faster
|
| (but we are always working to improve that -- half my job is
| just analyzing flame graphs and grinding out perf
| improvements)
| breckognize wrote:
| When we claim 100x faster than desktop Excel, we're looking
| at supported row counts, import speeds from Snowflake, and
| time to drag large XLOOKUPs. We'll do a deep dive on
| performance in another blog post next week. Stay tuned!
| MichaelZuo wrote:
| Thanks, what are the lower bound numbers you're willing to
| guarantee in writing? (assuming identical systems)
|
| I think putting that on the site would save business
| customers a lot of evaluation time.
| codegeek wrote:
| "We're the team that wrote the file system that powers S3."
|
| Your funding slide heading right here.
| Kluggy wrote:
| He was at AWS for 5 years from 2015 to 2020. It seems
| unlikely that he wrote the filesystem that powers s3.
| Improved, absolutely.
|
| His partner was a manager, not an engineer, per
| https://www.geekwire.com/2024/former-aws-engineers-
| raise-3m-...
|
| Personally I don't like this sort of puffery in funding
| slides nor announcements.
| gamegoblin wrote:
| All our backend engineers were on the S3 filesystem team.
|
| I'm Grant Slatton, founding engineer at Row Zero, and
| before this I designed and led the team that built S3's new
| filesystem, ShardStore (check out this paper
| https://www.cs.utexas.edu/~bornholt/papers/shardstore-
| sosp21...). Our other Row Zero backend engineers (Breck,
| Erich, Greg) were all on the team.
|
| Our frontend guy is ex-Airtable.
| codegeek wrote:
| VCs invest in people and not products/ideas from what I
| have heard/read. I think it is imp. to mention that you
| were on the S3 team if you are building something like
| this. Huge credibility factor.
| giancarlostoro wrote:
| I wont be surprised if someone acquires them. This looks
| really well engineered and it _gets shit done_ as they say.
| david_draco wrote:
| How does it compare to gnumeric in terms of speed?
| gamegoblin wrote:
| We haven't benchmarked against gnumeric, but will make a perf
| blog post in the next week or two (will post on HN too) and
| will see if we can add it to the comparison mix
| vcool07 wrote:
| How is this different from Power BI ? Or is this software on
| similar lines as Power BI ?
| breckognize wrote:
| We're a spreadsheet-first UI. If you're familiar with the
| Microsoft suite, we're more like a hosted Excel plus Power
| Query, but way easier to use.
| ant6n wrote:
| Do you sell a software or a service running in a browser? Is
| the computation happening on my computer or your cloud?
| gamegoblin wrote:
| All computation happens in the cloud. This is really nice
| because we can scale up and down to fit your data size.
|
| If you need a supercomputer for 30 minutes, we can get you
| one.
| ethanwillis wrote:
| What happens if your service is acquired and shut down? Is
| there any local fallback?
| lacoolj wrote:
| How does this compare to sheetsjs?
| chadash wrote:
| What I'd love to see is an easy workflow to make this supplant
| Google docs. Right now, let's say i want a shared spreadsheet.
| I need to:
|
| 1) Signup for an account
|
| 2) Create a workbook
|
| 3) Click share and put in friend's email
|
| 4) They get an invite
|
| 5) Now _they_ need to sign up
|
| 6) They can edit my doc
|
| I'm not a paying customer (or even a user... I just heard of
| this), so take this with a grain of salt, but what I'd love to
| see is a super-friction-less way for me to share a doc and make
| it editable without others needing accounts. Cut out as many
| steps as possible above. Doing this can be a great tool for
| marketing... what's better marketing than easily collaborating
| on a spreadsheet on a site that my friend is already using and
| that already looks very similar to tools I'm familiar with?
| warkdarrior wrote:
| This feature would be the fastest way for the company to have
| the least number of paying users. As a user, I'd pay for one
| account and then share new spreadsheets with anyone who asks
| for one on the Internet.
| SahAssar wrote:
| There are other billing models than per user if that's your
| concern.
| chadash wrote:
| If I'm the type of user who would ever consider paying, I'm
| most definitely not the type of person who wants to ask a
| stranger on the internet to setup a new spreadsheet for me
| every time I want to use one. I wouldn't even want to ask a
| friend or coworker.
| breckognize wrote:
| After you create a workbook, click the checkbox under Share >
| Anyone with link can view. Then your friend doesn't need to
| create an account.
| chadash wrote:
| This allows them to view but not to edit
| drivebycomment wrote:
| > make it editable without others needing accounts
|
| This requirement brings a very difficult mix of challenges
| around security, privacy, regulatory compliance and business
| priorities.
|
| As a toy / personal project it could work, but realistically
| this is unlikely to ever materialize in a way that you
| imagine.
| Terretta wrote:
| Starting from a place of "I want to start providing this to my
| employees yesterday"...
|
| I can't see how to adopt this at an info-sec minded financial
| services firm that would otherwise love to pay you for it.
|
| For example, the docs show the product wants static creds for a
| Postgres database or signed URL for S3 bucket instead of
| leveraging best-practice service-to-service identity and access
| management.
|
| Maybe you support what I want, and I didn't find it at first
| glance.
|
| This either ...
|
| (a) needs to support modern dynamic or token-based
| authentication (e.g. Oauth2.0 client credentials grant, JWT, or
| for enterprises ideally CSP native IAM in Azure/GCP/AWS such as
| share S3 by cross account bucket permissions policy instead of
| signed URL, etc.), or ...
|
| (b) allow firms to operate this themselves so the spreadsheet
| is run in the firm's security context, no creds are shared and
| data never leaves.
|
| As you are running in AWS, providing this to run in AWS IAM
| context could solve it, but it's likely worth your time
| collaborating closely with FS firms that have solved cloud-
| native infosec at scale for the world's most demanding
| regulatory environments such as GSIFIs/GSIBs, since if you can
| do that, it's secure for anyone. Similar for HIPAA or FedRAMP.
|
| If your customers can be fully best practice compliant within
| these regulatory regimes without having to lower their
| standards or get exceptions to use you, then it's above the bar
| for pretty much everyone.
|
| // Full disclosure: Although using all 3 of AWS, Azure, and
| GCP, I was an AWS CAB member for half a decade (as principal
| engineers you likely know what this means), with a native-AWS
| preference.
| fakedang wrote:
| Honestly, is it possible to decouple AWS from the app?
|
| >I can't see how to adopt this at an info-sec minded
| financial services firm that would otherwise love to pay you
| for it.
|
| Else this applies for us too.
| breckognize wrote:
| For S3 specifically, we support IAM-based role assumption. If
| you go to Data > Import from Amazon S3 > Add S3 Bucket, you
| can grant our AWS account permissions to read an S3 bucket in
| your account.
|
| We also have dedicated hosting options for our Enterprise
| tier.
|
| If there's a specific data source you'd like us to support
| OAuth integration for, let me know, and we'll add it.
| glitchc wrote:
| > you can grant our AWS account permissions to read an S3
| bucket in your account.
|
| That seems like a huge privacy hole. It sounds like you're
| offering spreadsheet-as-a-service, where you scale up AWS
| spot instances based on query size.
| Terretta wrote:
| Great to hear you can do the policy.
|
| Are you able to be "NSL-proof"?
|
| This means, if you are served a national security letter
| with a gag order saying to turn over my data without
| telling me, can you?
|
| If you are not NSL proof, are you able to demonstrate who
| from your firm can, and cannot, by technical guarantee not
| by policy in the "signed agreement" sense, see my data, and
| can I see in an audit log any time and every time any of
| those people do see my data?
| dmurray wrote:
| If you need protection from the US security apparatus,
| you're not the target market.
| Terretta wrote:
| On the contrary, that scenario (as well as, "what if your
| SaaS provider or CSP is hostile?"), are great
| "clarifying" questions to understand the security
| architecture of a product that is very likely to see some
| incredibly sensitive data.
|
| It is possible for the answer to be that a service is NSL
| proof -- with asterisks, and the asterisks are very
| interesting to discuss.
|
| And no, it's not about the US security apparatus for most
| firms, although if you take a look at AWS's security
| teams, you'll see there is a lot of experience exchanged,
| and AWS does secure the US security apparatus' data.
|
| They're quite good at it.
| ThrowawayTestr wrote:
| Can you make it a desktop application?
| breckognize wrote:
| We have development desktop builds. A few product questions
| for you:
|
| Would you be ok with a new file format or do we need to save
| to .xlsx?
|
| How important is Python in a desktop version? Would you need
| integration with conda or virtualenv?
|
| How much do you think we should charge?
| ThrowawayTestr wrote:
| 1. A new format would probably be okay, but make the icon
| for the application green so it looks like an excel file.
| It can open excel files right?
|
| 2. A lot of our sheets use VB/macros so a scripting
| language is pretty useful. Not sure about the other stuff.
|
| 3. No idea, around the price for an office 365 seat?
| otoburb wrote:
| This looks like something that I could use right away, but I
| wonder, since we can write Python, does this mean that we can
| write back to one of the native backends (e.g. Postgres)?
|
| Currently, the only way to do this from Excel (e.g. saving a
| snapshot of an analyst's current dashboard that they just
| built) is through a macro, which then starts the
| (understandable) descent into Excel's External Content and
| Trust Center permissions hell.
| gamegoblin wrote:
| You can technically use the Python to write back to Postgres
| if you are comfortable putting your creds into the code
| window. The downside of this is your creds would be viewable
| to anyone you share the workbook with.
|
| We have gotten a lot of requests for write-back-to-DB
| (Snowflake, Postgres, etc) so will be adding first-class
| support for this feature soon that will use the same
| connection creds which are stored encrypted in KMS and are
| not viewable to people you share the workbook with.
|
| Would love to chat about your use-case if you want to reach
| out to us at contact[at]rowzero.io
| al_borland wrote:
| It's worth noting that Excel supports Python now as well.
|
| https://techcommunity.microsoft.com/t5/excel-
| blog/announcing...
| andelink wrote:
| Looks like the Row Zero blog does a brief overview of
| existing Python spreadsheets, mentioning Excel support:
| https://rowzero.io/blog/top-python-
| spreadsheets#top-5-python...
|
| Would like to see a more detailed comparison than the one
| they've got in their blog, though.
| LoganDark wrote:
| Your spreadsheet experience was plugged by "no first-class
| Python support"? What makes Python special here?
| breckognize wrote:
| Nothing in particular. I'd have been happy with anything that
| has a real open source community around it, which VBA
| doesn't. For data tasks, Python's a natural choice. We've
| also had requests for R, which is on our roadmap.
| nolongerthere wrote:
| The power of excel is that everyone has it and most people have
| a ton of familiarity with it and there's a million results for
| anything you search Google that you don't know how to do.
| Basically, all the network effects, bec you're right if excel
| were a new product today it would lose to every single
| competitor that does it much better.
|
| Are you compatible with excel functions?
| breckognize wrote:
| Yes, Excel compatible: https://rowzero.io/docs/spreadsheet-
| functions
|
| If we're missing any formulas you need, message me at breck
| at rowzero.io and we'll add them (usually within 24 hours).
| lancewiggs wrote:
| You'll also need formatting to be the same to get adoption.
| e.g. I wanted to format numbers as currency, and got
| USD$x,xxx as a result, and no obvious way to change that to
| $x,xxx.
| breckognize wrote:
| Sounds like a bug, but I'm having trouble reproducing. If
| you share repro steps with breck at rowzero.io, we'll get
| it fixed.
| croisillon wrote:
| and the translations in the millions localizations not
| compatible with english formulae
| benpacker wrote:
| Why build a custom arrow based columnar engine in Rust instead
| of using Datafusion or Polars?
| gamegoblin wrote:
| Datafusion, Polars, and us are all based on Arrow. Datafusion
| is more targeting database users, Polars is targeting Python
| programmers/dataframe users, and we are targeting spreadsheet
| users.
|
| They are all ultimately just different UIs on top of Arrow.
|
| They're complimentary tools. We can take data out of the
| spreadsheet and put it into Polars instantly (you can do this
| in the Python code window if you want), etc.
|
| Regarding why not implement our spreadsheet built on top of
| those: spreadsheet allow for heterogenous types in columns,
| so that requires a lot of extra infrastructure to manage,
| whereas Datafusion and Polars require homogenous column
| types.
| tiffanyh wrote:
| Hi.
|
| Your product looks great.
|
| Would you mind helping me understand the differences between
| RowZero and something like Equals.com?
| breckognize wrote:
| Equals and Row Zero are in the same space. They've put more
| effort into their suite of cloud data connectors, while we've
| focused on performance and first class Python support. We'll
| be adding more connectors in the coming months.
| pax wrote:
| Excited to see this. I built quite a few data-rich projects /
| dashboards with gSheets as backend/api - or as input UI,
| fetched to SQLite.
|
| I'd be looking very much forward for: data validation,
| conditional formatting (including heatmaps) and - what gSheet
| doesn't offer natively, multiple choices cells via data
| validation or values from another column/sheet.
|
| <s>I was surprised I couldn't way to view a spreadsheet as a
| DataTable, or back as a DataTable</s> (LE: found later how in
| documentation). And no sticky/frozen header row, ugh.
|
| Cherry on top would be gSheets like SQL flavoured QUERY.
|
| LE2: to add the wishlist, a potentially killer feature to/for
| some, dashboard type of sheet, with minimal/layout options
| -rows & columns blocks that can host charts & text (headings &
| paragraphs), with global filters - it would add a feature or
| two complementary to what gSheets offers. And at some point
| maybe, comments - per sheet or column only.
| gamegoblin wrote:
| Conditional formatting is high on the to-do list
|
| If you're open to it, email us at contact[at]rowzero.io and
| we would love to do a call to talk about your use case, what
| features you want, etc. We love doing customer calls and
| adding delightful features.
| gamegoblin wrote:
| Hello all, I'm Grant, founding engineer at Row Zero.
|
| Working on this spreadsheet engine has been one of the most
| exciting, complex, and stimulating engineering experiences of my
| career.
|
| Feel free to ask any technical questions about the product. We're
| really proud of what we've build and what's on the roadmap!
| orliesaurus wrote:
| Tell us about the stack you're using to build this. Also the
| biggest tech challenges you've faced and solved? But most
| importantly, does your family still use Google Spreadsheets?
| gamegoblin wrote:
| Google Sheets is banned in our households, we planned our
| neighborhood block party in Row Zero!
|
| Tech stack:
|
| Everything runs on AWS
|
| Frontend: TypeScript + some Rust compiled to WASM, our own
| virtualized custom canvas magic
|
| Backend: Rust, Apache Arrow
|
| The biggest tech challenges... where to start.
|
| 1. As with any editor application, Undo/Redo is devilishly
| hard
|
| 2. A spreadsheet is modeled as a Directed Acyclic Graph where
| cells depend on other cells down to some root cells. There
| are a TON of fascinating graph theory algorithms you can
| bring to bear here. Some of the hardest problems I have ever
| worked on. My whiteboard looks like an insane person's with
| crazy arrows between cells and stuff.
|
| 3. Sometimes there really is no magic bullet and you just
| have to run benchmark, get flamegraph, chip away 3%, repeat,
| do that 100 times and you are very fast. Gotta grind.
| sidcool wrote:
| How is the data modelled and persisted? What database and
| how is conflict handled? CRDT?
| gamegoblin wrote:
| We use Apache Arrow data format, so it's fairly columnar.
| We have built some custom layers on top of Arrow as well
| to handle some fancier data types.
|
| For storage and orchestration we use S3 and Dynamo.
|
| Yes exactly, we use CRDTs for multiplayer stuff.
| ramoneguru wrote:
| Nice work, did you start off by looking at any previously
| built canvas-like spreadsheets or was it straight to
| "virtualized custom canvas magic"?
|
| I interviewed at a spreadsheet company (for a frontend
| role) and they asked, "how would you go about determining
| what cells need a border when a user clicks an individual
| cell, clicks a cell and selects multiple cells, clicks a
| cell next to an already selected cell." Fascinating problem
| and we talked about solutions for a little bit.
|
| Noticed that you can't unselect a cell once it's selected?
| I'm on a Mac with Chrome (latest, no updates available).
|
| Repo steps: 1. Select a few cells ([?] + click) or an
| individual cell 2. Try unselecting ([?] + click) those same
| cells clicked in #1 3. Cell is not unselected
| billylitt wrote:
| Row Zero frontend dev here -- when architecting, we
| looked at some off-the-shelf canvas-based table tools,
| but ultimately rolled our engine for more control &
| flexibility with our growing feature set. We elected for
| canvas over DOM for perf among other reasons (eg DOM
| scrollbar virtualization is hard when MAX_ROW *
| ROW_HEIGHT exceeds the maximum allowed browser element
| height).
|
| Great interview question. Tons of nuance to drawing
| borders on adjacent cells, how to handle varying
| thickness, etc. Once you start looking closely, you
| notice the pixel differences between how this gets
| handled by various spreadsheeting tools.
|
| Thanks for the report! This one's already on my list
| actually (selection negation & unique selection deduping)
| -- look for a fix soon.
| alooPotato wrote:
| Did you look at https://grid.glideapps.com/ by chance for
| rendering? Curious what it didn't support if you did.
| billylitt wrote:
| I don't remember looking at Glide, although it looks
| really nice & full-featured. I'll have to play around
| with it sometime. I do remember trying out
| https://www.npmjs.com/package/@deephaven/grid.
|
| One pivotal feature that is difficult to map onto 3P
| tools is our data table UI, which is a separate
| scrollable grid that floats on top of the main sheet.
| That, combined with the complexity of formula selection,
| inserting buttons into cells (header dropdowns, filter,
| sort), led us to decide that rolling our own solution for
| full control was the right choice.
| atlas1j wrote:
| Do you support the equivalent of Excel's Iterative
| calculations?
| gamegoblin wrote:
| Not yet, but we can add it if customers want it.
| wesm wrote:
| I was especially excited to learn that RZ is built on Apache
| Arrow internally, which makes it easy to integrate with other
| Arrow-based applications and the emerging "Composable Data
| Stack". Really exciting stuff, they're just getting started!
| wardtb wrote:
| I've been using this for a few months and from a user
| perspective, it feels really fast and intuitive.
| chatmasta wrote:
| This looks really promising, and I love that you make a demo
| available with no account. But I don't have time to track down
| some sample data to test it with.
|
| I'm guessing this post is going to the front of HN. If you've got
| some sample data, you should put it into the demo sheet ASAP. Or
| at the very least, provide some links to s3 files the user can
| manually add to test it themselves.
| breckognize wrote:
| We've got some sample data sets in S3 if you go to Data >
| Import from Amazon S3. The bucket rowzero-public-datasets has
| some neat ones.
| chatmasta wrote:
| Oh, cool! I saw that menu option but I didn't click it since
| I assumed I'd have to enter some details. I'll check it out.
| Thanks :)
| jasongill wrote:
| This looks really promising. We generate about 1gb of financial
| CSV files per day for finance/accounting/audit teams and the
| number one response is "wow this data is great, but my computer
| just can't handle it".
|
| The biggest issue that I think I would run into in my
| organization is that all of the spreadsheet lovers are Excel die-
| hards and they refuse to even use Google Sheets, not to mention
| something else that isn't Excel.
|
| But maybe they could finally be convinced to stop complaining
| aboutrequesting huge files with something like this...
| gamegoblin wrote:
| We try really hard to be Excel-compatible with all our formulas
| and hotkeys, etc. If there is a formula or hotkey we are
| missing, let us know and we will add it (usually with < 24 hour
| turnaround time!)
|
| The use-case you describe is exactly what we built it for.
| There are a lot of people who have data that is no longer
| human-scale and won't fit into Excel, but they still want to
| use their Excel skills.
|
| We love Excel and spreadsheets, but when working at AWS we
| found we just had too much data to fit into it.
| samstave wrote:
| This is just a fun FYI ; This is 8 years old! (as of
| yesterday!!) but its pretty amazing:
|
| https://www.youtube.com/watch?v=VI_riscmviI&list=PLJsVF3gZDc.
| ..
|
| Its Martin Skreli (yes that one) -- but see how fast this guy
| is with excel... this is what I imagine when I think of excel
| power users...
|
| (But also, he does a lesson in DD on investing and doing
| calcs in Excel - so aside from awesome Excel input, there is
| good investing info here - recall this was the guy that
| bought a medical company and immediately raised the price
| 7,000% or some such (he then bought the Wu Tang Album whilst
| imprisoned)
| sbensu wrote:
| I've found that while people don't want to change out of Excel
| they are forced to by the size of new files. The more data is
| generated by computers, the less likely it is to fit in Excel
|
| I imagine many professions won't be able to use Excel in 10
| years based on this trend.
| layer8 wrote:
| Unless Microsoft invests in changing that situation.
| yau8edq12i wrote:
| I'm curious, which ones of these limits are you hitting?
| https://support.microsoft.com/en-gb/office/power-query-speci...
| If your answer is "Maximum number of rows filled to worksheet",
| you should understand that this means exactly what's written,
| rows filled to the worksheet - you can still have more rows in
| the source and do your transform/queries on that.
| antisthenes wrote:
| Help me understand this.
|
| You generate 1gb of critical financial data...that most of your
| Excel die-hard users can't actually use because their computer
| can't handle it.
|
| How does your org complete any work then?
| skadamat wrote:
| Honestly, I'm really excited about this next generation of
| spreadsheet software.
|
| - Causal.app
|
| - Rows.com
|
| - Equals.com
|
| - and at least 50 others I've found
|
| I'm waiting for someone to create a really high performant
| spreadsheet engine that runs in WASM to power even more
| spreadsheet-y applications. The direct manipulation of
| spreadsheets is super underrated.
| WillAdams wrote:
| Are any of these multi-dimensional?
|
| Still looking for a replacement Lotus Improv (can't justify
| Quantrix Financial).
| breckognize wrote:
| Row Zero supports Python pandas, which handles multi-
| dimensional data. So you can process your data with Pandas in
| the code window and then view "2d slices" of that data in the
| spreadsheet UI. Feel free to message me at breck at
| rowzero.io if you'd like to do a session together to get you
| started.
| ozim wrote:
| I just wonder how come there is market for these when Microsoft
| has Excel online. Any company that has O365 has Excel online as
| well.
| gamegoblin wrote:
| Excel is really great if you don't have too much data. We
| love Excel! But we just had too much data for it, so we built
| the solution we wanted.
|
| We can handle 100x more data than Excel (online or desktop),
| Google Sheets, etc.
| sidcool wrote:
| Excel online is not a pleasant experience. Google sheets is
| much better. Row zero seems way better.
| elforce002 wrote:
| Gsheets and Excel are hard to beat, so I assume they're
| focusing on big companies.
| skadamat wrote:
| Excel online still struggles to work with databases _well_.
| In classic disruption theory (the real theory by Clayton, not
| the TechCrunch 'disruption'), these products have less
| features but are simpler and can win the low-end of the
| market then move up-market over time.
|
| I suspect that people glued to M365 ecosystem are the LAST
| ones to consider leaving Excel online, but that's okay!
| eichin wrote:
| https://spreadsheets-are-all-you-need.ai/ has a 1.5G (in excel-
| binary save form) spreadsheet that would make an _entertaining_
| benchmark (not a particularly relevant one for your target
| market, unless you want to get into "frightening educational
| tools for AI researchers" which is not a notably excel-friendly
| space - just a hilarious one.)
| gamegoblin wrote:
| I have a demo I will post soon that runs MNIST in Row Zero, we
| should be able to handle all of GPT2 without too much trouble,
| probably a lot faster than Excel, we may have to try it!
| jcuenod wrote:
| This deserves its own Show HN!
| gamegoblin wrote:
| I will post it next week! It's very fun to play with. Also
| a good demo of Row Zero's templating capability -- I can
| make a template so when you click the link, you get your
| own copy you can mutate and play with.
| sdenton4 wrote:
| A similarly important benchmark is DOOM fps:
| https://youtu.be/J2qU7t6Jmfw?si=YNuNBDS7ti8gmpqc
| airstrike wrote:
| I'm a bit obsessed about spreadsheets and as someone who's
| building something similar (but not identical), it feels great to
| see all these next-gen spreadsheets on HN.
|
| Spreadsheets are hard to do and even harder to do right, so
| congrats on launching--although given your backgrounds I don't
| think you ever lacked the manpower to let this be a technical
| challenge ;-)
|
| My initial reaction:
|
| * It does feel pretty fast
|
| * but spreadsheets on the browser always represent an inferior UX
|
| * the data tables / formula tables are a solid idea
|
| * no self-hosting outside of Enterprise makes switching to this
| harder than it ought to be
|
| * limiting the free plan to 3 sheets feels like a strange
| decision
| pimlottc wrote:
| > * but spreadsheets on the browser always represent an
| inferior UX
|
| What do you mean by this? Inferior to a standalone app?
| Inferior to some other design in general?
| airstrike wrote:
| Inferior to a native app. Navigating it with the keyboard is
| clunky, the UI is never as crisp and responsive, it's harder
| to save and open files... the list goes on
| dustingetz wrote:
| Is it true? Google sheets is great, google docs is great,
| and hyperlinks! How much native app fast UX is due to using
| local state on disk? The future is not on local disk!
| airstrike wrote:
| Google has the benefit of having all of Google drive
| around it
|
| But even then, the benchmark is Excel. Nearly every Excel
| user is saving files to disk. Companies like to own data
| in a shared drive on a network. Maybe making networked
| drives better is another problem that needs solving, but
| I don't think spreadsheet applications should disregard
| that and just hope everyone moves to online. At a minimum
| you should give users a choice (which Excel/Office does,
| by the way)
|
| And we still haven't talked about navigating the UI with
| the keyboard. Limiting power users to online-only is like
| telling vim users they have to use Notepad++. Sure, they
| can do everything they could in vim, but it's overall
| objectively worse
| dustingetz wrote:
| > Companies like to own data in a shared drive on a
| network.
|
| Do they actually _like_ that? Or is that the weight of 30
| --no, 50--years of legacy momentum? shuffling files
| around is the worst part of knowledge work!
|
| pseudo-files are the worst part of Google Docs, i want a
| unified graph!
| airstrike wrote:
| I agree 100%, but you still need to give them the option
| so they can transition from legacy to next-gen
|
| And we still haven't talked about keyboard navigation!
| dustingetz wrote:
| Ok, you're right - i don't think a smooth transition is
| possible in the office market - but I also don't think
| you can disrupt Office from within. Example: the thing
| that disrupted the New York Times was not a better
| newspaper, rather Facebook
| airstrike wrote:
| I agree! Which is why I'm not building the next Excel,
| but rather something different which offers (or "will
| offer") ~feature parity with Excel spreadsheets but
| approaches knowledge work and document authoring from an
| entirely new angle
| layer8 wrote:
| The benefit of files is that they are a consistent,
| application-independent abstraction. You can copy, move,
| rename, backup, version, and generally organize them
| however you want, restrict or grant access, without being
| constrained by what the respective application supports.
| Importantly, you can organize files from different
| applications together without those applications having
| to know anything about each other. Hyperlinks are no
| substitute for the object-like, independent nature of
| files.
|
| Applications that are not based on files create their own
| little separate universe, or rather island, that isn't
| really interoperable.
| dustingetz wrote:
| > files are consistent and application-independent
|
| I see diverse, inhomogenous state schemas that are deeply
| coupled to the originating application (internal data
| structures serialized to disk!) and have arbitrary legacy
| structural constraints ("document") as well as seams
| between application silos
| layer8 wrote:
| You're talking about the file contents, not about files
| as objects.
|
| Regarding the file contents, how is that different when
| the data is proprietarily stored in hidden SaaS
| databases?
| dustingetz wrote:
| I sense a trap, but i'll bite - APIs and schemas and
| other logical data models can be remixed, at least in
| principle. Physical data models (i.e. coupled to storage
| layout) are too low level to be useful, all you can do is
| load them back into into their originating app.
| jeffbee wrote:
| > the benchmark is Excel
|
| That's certainly true among a subset of users who demand
| Excel power features, but it is not a universal
| benchmark. People who more highly value collaboration
| might prefer Google Sheets. There are tons of users and
| use cases where the choice of local storage is irrelevant
| or even a drawback.
| wdh505 wrote:
| Microsoft teams has the option to open all shared files
| in the browser so you can have multiple "teams" Microsoft
| files open at once. This is the direction spreadsheets
| are going.
|
| I agree it feels clunky to me who grew up on excel the
| application. I memorized a few dozen keyboard shortcuts
| that are all broken in the "teams collaboration browser
| spreadsheet" sigh.
| datadrivenangel wrote:
| Team's files is sharepoint under the hood, which is why
| it sucks.
|
| Sharepoint would be so good if the UI was faster and more
| consistent. Also why is the search so impressively bad?
| _trampeltier wrote:
| In Teams you can not work on a Excel Sheet shared in a
| chat. You have to share it in a Team .. you have to ask
| the IT to create a Team for you first .. great.
| Cyberdog wrote:
| Indeed. In addition to the UI issues, there's no way this
| product can be "the fastest spreadsheet" when it's browser-
| based. By definition it runs at least ten times slower than
| native apps will.
| samstave wrote:
| For certain apps, it feels much more comfortably mentally
| compartmentalized when that focus is not in browser... (this
| is just my opinion), but I find that I typically have so many
| tabs open - I like to have certain things on not my browser
| (at times a tab can crash the whole browser)
|
| Attempting to import from various sources (urls and upload)
| and it fails:
|
| https://i.imgur.com/YV865bw.png
|
| It also stalls for a really long time arttempting to link to
| large CSV URLS... and it fails on JSON.
|
| This 37kb CSV file took over a minute to load:
|
| https://i.imgur.com/tHN4Wq0.png
|
| It has ONE ROW.
|
| I assume im holding it wrong, the local CSV has thousands of
| rows:
|
| https://i.imgur.com/fujf1p5.png
|
| ---
|
| I had to reload the session to get it to allow import, and
| this 37... and it took 24 seconds to import the data:
|
| https://i.imgur.com/LnFIgL3.png
|
| Linking to a URL and hitting import it thinks for a bit or
| fails....
| breckognize wrote:
| We wrote our own CSV parser to get fast import performance,
| and we do occasionally encounter novel encodings and
| weirdness. I sent you an e-mail to get more details.
| nickjj wrote:
| At the time of this comment (edit: since this comment, they
| addressed this, check the replies), on your pricing page you have
| "SOC 2 Type II Security Compliance" not being checked off on the
| free tier but it's checked in the others. The same thing applies
| to "HIPAA Compliant and BAA" except this isn't enabled for free
| and pro plans.
|
| What makes the free tier different here? Are you storing free
| data in a different area with many less restrictions on who has
| access to it? How do I know what I upload is safe from being
| analyzed or sold? Are you using this data to train any data
| models but only in the free / pro tiers that aren't SOC 2 or
| HIPAA compliant?
| otterley wrote:
| IME working at SaaS providers in my past, there's no practical
| difference in the underlying implementation; it's market
| segmentation. It's a great way to help SaaS providers attract
| more revenue. Customers who care about these compliance regimes
| are the target cohort and are more likely to pay for the ticked
| box.
| breckognize wrote:
| There's no difference in how data is stored or processed
| between the tiers. We updated our pricing page to address the
| confusion. We only provide the SOC 2 report or BAA for Business
| accounts.
| nickjj wrote:
| Thanks, I do see a difference now. Both compliance types are
| checked on the free tier.
|
| Can you please answer the question about how our data is
| viewed and or used internally?
| breckognize wrote:
| We do not use customer data. From
| https://rowzero.io/security: "Row Zero does not use
| customer data for any purpose."
| tptacek wrote:
| Generally: the free tier won't get you the documentation --- to
| get the SOC2 report or the BAA, you need a paid plan. Which
| makes sense as a segmentation strategy. Especially in the case
| of SOC2, where providers really should charge for that report.
| otterley wrote:
| Flagging for title change as it currently reads like a marketing
| boast.
| pid-1 wrote:
| > SSO
|
| > Contact US
|
| Yeah no thanks.
| strongpigeon wrote:
| As someone who used to work on Excel, awesome work and congrats
| on the launch! I get that it's easy to bash on VBA, but I'd argue
| it's what made Excel what it is today (though maybe not the
| language/runtime per se, but rather the ergonomics).
|
| I feel pretty confident saying that probably 5% of the world's
| economy runs on VBA macros that were started by some eager worker
| that was tired of doing repetitive tasks and wondered what that
| "Record Macro" button did. I've heard that same story personally
| from so many users, about how they learned to code by hitting
| "Record Macro", doing something and looking at the resulting
| code. Their macro then grows and grows and ends up powering the
| entire business, but becomes an unmaintainable mess.
|
| If you add the ability to record macros and maybe a VBA -> Python
| cross compiler, that would probably be killer for a lot of
| people. Though honestly, I've seen some stuff in VBA that's
| probably best left alone (e.g.: a self-rewriting VBA macro).
|
| That being said, I'm sure your biggest hurdles are going to be
| cultural rather than technical. Excel is just so ingrained in so
| many business. But I genuinely wish you best of luck and am
| rooting for y'all!
| padjo wrote:
| VBA macros were my route from teenager in a warehouse to a 20+
| year career in software development
| gamegoblin wrote:
| I want to hear more about this self-rewriting VBA macro
| strongpigeon wrote:
| From what I remember (that was almost almost 10 years ago, so
| a bit foggy now), it was some finance/trading people (the
| crazier stuff is always from finance people) that were doing
| some optimization work and found they had better performance
| by putting back the values in the macro itself and rerunning
| it. Something to that effect. (Or was it for versioning? I
| forgot the details honestly)
|
| I _think_ they were using file system calls with some tools
| to rewrite the file directly. But IIRC it 's possible to do
| it just via the API.
| gamegoblin wrote:
| As the guy who wrote most of the Row Zero backend engine, I
| pray to god I am never asked to implement anything like
| this :)
| datadrivenangel wrote:
| This is absolutely finance-tier insanity. I bet it made
| them a lot of money.
|
| This is like running into issues with non-converging
| iterated calculations...
| tacone wrote:
| Me too. Just wondering if it will finally awaken and try to
| destroy humanity :)
| specialist wrote:
| Early '90s, VBA was awesome.
|
| I never understood two of Microsoft's owngoals:
|
| 1) The lack of a migration path from workgroup (LAN) to client-
| server for Access et al. So dumb. SQL Server should have become
| a first class citizen of Access. Or Access become a viable
| front-end end to SQL Server. Where swapping JET and MSSQL was a
| drop-in no-brainer. (Maybe that happened later...)
|
| 2) Not unifying tabular data. And then make Excel and Access
| "modalities" (?) for accessing that data. Lotus' Symphony
| (successor to 1-2-3) was so awesome; hybrid database and
| spreadsheet. aka The Correct Answer(tm). And Symphony was on
| DOS! (Lotus' Improv was even cooler. I wish I knew why it
| didn't succeed.)
|
| I guess all this ML data pipeline Parquet NumPy stuff finally
| separated tabular data from how it's used. Yay.
|
| I haven't used the Microsoft stack in anger since late '90s,
| when Java emerged, so maybe the .Net/CLR reboot mooted my
| complaints.
|
| I never had the chance to use Borland's tools (Paradox,
| QuattroPro) in anger, so don't know if they did any better.
| cyrialize wrote:
| One of my previous work places with an auditing data set
| company.
|
| We'd collect data sets from various sources (like public
| filings from the SEC) and the we'd send them over to different
| research teams to enrich the data in various ways.
|
| That company was very Excel heavy - which made sense, we had
| data entry, accountants, and other people who worked in
| finance.
|
| My CTO told me a story about how one day a member of a research
| team asked for a new computer. The old computer worked fine,
| but the employee wrote a VBA script in Excel that would crunch
| data... and wouldn't finish until 3 days later.
|
| This employee wanted a new computer so that he had one to use
| while the other one was crunching data.
|
| We ended up taking his VBA script and putting it into our
| codebase.
| CiTyBear wrote:
| Looks really nice. Too bad you take businesses into hostage
| regarding the SSO. This is even one one the main argument in your
| Enterprise plan. I know this is common behavior but I find it sad
| to have such an important security feature proposed only on
| latest plan.
|
| Hope this trend will end soon.
| serjester wrote:
| I'd love to see a generative AI integration (hopefully something
| far better than Google's attempt). I tried to figure out how to
| write a python function and quickly got lost. Seems promising
| though.
| gamegoblin wrote:
| It's very high on the list for post-launch feature additions
|
| Copilot for formulas, auto-write python, etc, it'll all land
| soon!
| sidcool wrote:
| Congrats! This looks awesome. I would love to get a sneak peek of
| the underlying architecture. It takes a lot of confidence to say
| faster than Google spreadsheets by a 1000x!
| fakedang wrote:
| Make this a desktop app, and I'm sure you'll have a bunch of
| finance nerds like me waiting in line. This looks really well
| built.
| breckognize wrote:
| Can you reach out to breck at rowzero.io? We've heard this a
| few times and would love to learn more about your use case.
| polskibus wrote:
| Can you share performance comparisons to duckdb and clickhouse?
| gamegoblin wrote:
| We have not tried clickhouse, but are probably comparable to
| DuckDB. DuckDB is also backed by Apache Arrow the same as us,
| but is targeting database users, whereas we are targeting
| spreadsheet users. They are very complementary.
| csjh wrote:
| Is the number crunching running fully locally via WASM? Or is it
| more of a websocket pushing commands thru to the backend type
| setup? I'm guessing the latter because of how fast the S3 import
| was but the former would be super interesting as well. Great
| demo!
| gamegoblin wrote:
| All the compute happens in the cloud, you're exactly right
| about the websocket pushing commands.
| spacehunt wrote:
| Is there a way to push data into it, rather than have it pull
| data from data sources? I have some use cases where users want
| <3s latency from source data updates to the display being
| refreshed. For reference, I managed to get to ~10s using Google
| Sheets' API.
| gamegoblin wrote:
| Not yet, but we could add that feature. Feel free to contact us
| at contact[at]rowzero.io so we can learn more about your use
| case. We could also maybe do some kind of webhook situation?
| Lots of options.
| imaurer wrote:
| R2 support for egress $$ reasons?
| gamegoblin wrote:
| We will add R2 support soon!
| nwhnwh wrote:
| Can this be used as a 3rd-party lib?
| prometheus76 wrote:
| Excel has a top-to-bottom, left-to-right calculation order of
| cells, which can mess things up if you aren't careful.
|
| How does your engine handle calc execution order?
| breckognize wrote:
| The spreadsheet DAG is derived from the formulas. See
| https://en.wikipedia.org/wiki/Topological_sorting. Let me know
| if I'm misunderstanding!
| 7thaccount wrote:
| A better Excel sounds nice, but the problem is Excel is already
| on my computer and used by everyone. It's a universal format for
| most people in the business world. If your product is really that
| superior, I wish Microsoft would just buy y'all out and rewrite
| Excel from scratch using your product. I guess they can't do to
| infinite backwards capability needs as half the world prob runs
| off Excel spreadsheets.
| breckognize wrote:
| The reason we launched a hosted product first is to get around
| the chicken and egg problem you describe. You can create a
| workbook and just share a link with a colleague - they don't
| have to install anything. If you turn on link-sharing under the
| workbook's "Share" menu, they don't need an account either. The
| cloud also provides some powerful performance advantages.
| 7thaccount wrote:
| True, but then you have private data on the cloud which a lot
| of folks either aren't happy with or in some cases maybe
| can't do.
| runningamok wrote:
| Congrats! As a sheets user I appreciate that rows are seamlessly
| added as you scroll past the initial sheet size.
| billylitt wrote:
| As much as I love clicking "Add 1000 more rows", we thought
| continuous scroll might be appreciated :)
| elforce002 wrote:
| Interesting concept. Are you planning on offering an interactive
| embedding alternative (add the spreadsheet to an existing app)
| soon?
| gamegoblin wrote:
| We have definitely gotten requests to embed spreadsheets in
| webpages (e.g. as dashboards, etc), it's on the roadmap
| elforce002 wrote:
| Nice. Is there a way to access the roadmap or to be on the
| loop regarding new features?
| gamegoblin wrote:
| Email us at contact[at]rowzero.io, we should probably set
| up some sort of newsletter now that we are launched
| mring33621 wrote:
| 1) looks great so far
|
| 2) row zero people seem awesome
|
| Wishing you all the best!
|
| Pssst -- seems like a lot of useful apps/screens can be modeled
| as forms on top of spreadsheets...
| laborcontract wrote:
| I'm an Excel power(max?)(ultra!?) user and the only thing I want
| from an alternative to microsoft word on windows is a drop in
| replacement to their alt shortcuts. Those are the air that I
| breathe when using Excel and fast isn't fast if you're working
| slow.
| billylitt wrote:
| Row Zero frontend dev here. Totally understand where you're
| coming from; we've heard this request from others and are
| interested in exploring a seamless solution for `alt` reliant
| power users like yourself.
|
| Drop me an email if you'd be interested in user-testing a
| solution! billy[at]rowzero.io
| m1117 wrote:
| But then I have to work faster
| amelius wrote:
| Never understood spreadsheets. Why would you assume data fits in
| a 2d-array? And why put heterogenous data in that 2d-array in
| blocks at different x,y offsets?
|
| The future is tensors ;)
| gamegoblin wrote:
| We have native dataframe support that encourages homogenous
| types, but we also want to meet Excel users where they are!
| Probably half the world's economy runs on Excel, it's the
| world's most popular programming language :)
| fallingsprings wrote:
| Out of curiosity, do you support/have plans to support the
| broader set of Excel shortcuts that reference the ribbon? (Alt +
| <Key Sequence> shortcuts). Lots of excel power users more or less
| exclusively use the keyboard to navigate, and so have muscle
| memory for almost everything they do, including more niche
| operations (Insert Line Chart = Alt N N 1, or Change Column Width
| = Alt H O W).
|
| Will be a very hard sell to banks/other financial services corps
| if you can't match that aspect of excel. (They will probably also
| want local files and a native app).
| billylitt wrote:
| Good question - we've heard this feedback before and have some
| ideas for how to bake alt-shortcuts into the app for the muscle
| memory crowd. So, not yet, but its very much on our radar.
| cha42 wrote:
| Do you have any simd-optim in parsing all those large files ?
|
| I have read that you write some of your own parser for perf
| boost.
|
| (I am one of the author of https://github.com/V0ldek/rsonpath)
| gamegoblin wrote:
| No SIMD in the parser path... yet... :)
|
| The main win from writing our own custom parser is writing
| directly into the final in-memory format from the parse stream
| without any intermediate allocations or data movement.
|
| Awesome project! Adding it to my list of things we may plug
| into in the future.
| cha42 wrote:
| Sealable spreadsheet is also awesome ! Congrats for the
| delivery.
| sa46 wrote:
| Is the pricing per user? $15/mo for an entire org sounds too good
| to be true.
| NickBEnd wrote:
| The business pricing is $15 per user per month. We will clarify
| that on the pricing page.
| jkaptur wrote:
| Quick bug report: I set A0 and A1 to 1, then set A2
| =SUM(A0:A1)+A0+A1. As expected, A2 evaluated to 4. Then I right-
| clicked on the 1 row header and inserted 1 row above.
|
| Expected: A3 should become =SUM(A0:A2)+A0+A2 and evaluate to 4
|
| Actual: A3 becomes =SUM(A0:A1)+A0+A2 and remains 4 until it is
| edited, at which point it evaluates to 3.
| gamegoblin wrote:
| I just tested in Excel and Google Sheets and our behavior
| matches them here, unless I am misunderstanding the repro
| steps.
|
| For me, A3 becomes =SUM(A1:A2)+A1+A2 and remains 4 as it should
| be.
|
| The action I am taking: A0=1 A1=1
| A2=SUM(A0:A1)+A0+A1 (evaluates to 4)
|
| Right click A0 and click "insert row above"
|
| Now I have: A0=empty A1=1
| A2=1 A3=SUM(A1:A2)+A1+A2 (evaluates to 4)
|
| Thank you for trying to find edge cases! I have put literally
| hundreds of hours into stuff like this. Let me know if you have
| different repro steps.
| jkaptur wrote:
| > Right click A0 and click "insert row above"
|
| Instead, right click _A1_ and click "insert row above".
|
| Google Sheets (and, I'm 99.99% sure, Excel) adjust the range
| inside the SUM to be three rows high.
|
| I've put quite some time into this sort of thing too :)
| free_bip wrote:
| This would be a heck of a lot cooler if it was a local-first
| desktop application. It's still cool mind you, but it could have
| been a heck of a lot _more_ cool.
| runningamok wrote:
| Agreed. Even better if it was a local-first web application.
___________________________________________________________________
(page generated 2024-02-29 23:01 UTC)