[HN Gopher] Show HN: Quadratic - native JavaScript support in a ...
       ___________________________________________________________________
        
       Show HN: Quadratic - native JavaScript support in a spreadsheet
        
       We built JavaScript natively into a spreadsheet as a cell language.
       Use JS to analyze and work with data in a high-performance
       spreadsheet built on Rust and WASM. Quadratic also supports SQL,
       Python, and formulas.  The goal with Quadratic is to build a
       modern, high-performance, source-available spreadsheet for
       everyone. From technical developers to users who have never written
       code.  Sharing our JS launch with everyone today to see what you
       build in Quadratic.
        
       Author : Manchego79
       Score  : 102 points
       Date   : 2024-09-27 15:24 UTC (1 days ago)
        
 (HTM) web link (www.quadratichq.com)
 (TXT) w3m dump (www.quadratichq.com)
        
       | dest wrote:
       | Interesting product. We would use that as a backoffice that would
       | be self hosted, fetching from and pushing to backend APIs. Is
       | that use case on your roadmap?
       | 
       | Basically an alternative to Google sheet with JS macros in it.
       | Gsheet is no good for us because we have data protection
       | requirements.
        
         | Manchego79 wrote:
         | Yep, we're currently rolling out pilots for self-hosting. If
         | you're interested, feel free to reach out via the contact page
         | on our website.
        
         | trog wrote:
         | You can run JS in Excel now too though, I believe?
         | https://learn.microsoft.com/en-us/office/dev/add-ins/referen...
        
       | cloudking wrote:
       | How does your product differentiate from Google Apps Script? I
       | see you can execute JS within a cell, but why is that a better UX
       | than keeping the code separated like Apps Script does?
        
         | Manchego79 wrote:
         | Quadratic is built for doing analytics, and a native JavaScript
         | experience where you're in the weeds with the data just felt
         | better. We wanted JavaScript to be a first-class citizen in the
         | spreadsheet, as formulas are treated first-class in most
         | spreadsheets.
         | 
         | When they're separated, the experience feels bolted on (to us).
         | Being native means supporting existing libraries like Fetch for
         | APIs, chart.js for charts, brain.js for ML, etc., not to
         | mention performance!
        
       | Onavo wrote:
       | Note that they have a GitHub but they are not open source.
        
         | Manchego79 wrote:
         | Correct, our license is Source Available to be as open as
         | possible while reserving commercial rights, which we believe
         | will ultimately enable us to build the best product for users.
        
           | victor106 wrote:
           | What does "Source Available" mean exactly?
           | 
           | Does it mean all our source code is on Github but you cannot
           | use it to host your own instance for commercial purposes but
           | okay for personal projects?
        
             | dest wrote:
             | More probably code available on demand but without any
             | license attached
        
       | sahmeepee wrote:
       | Datat visualizations?
        
         | Manchego79 wrote:
         | For visualizations, we support Chart.js. You can also use our
         | built-in AI to help write the code.
        
           | sahmeepee wrote:
           | I'm referring to the typo in your very first heading, unless
           | datat visualisations is a term I don't know.
        
             | Manchego79 wrote:
             | Thanks for the heads-up on that.
        
       | fshafique wrote:
       | It's like taking the data-science notebook model (eg. Jupyter
       | Notebook) and using spreadsheets instead.
        
         | freshlentils wrote:
         | yeah - seems like in enterprises ppl still want spreadsheets,
         | but more and more people also want code, spreadsheets + code
        
       | fermuch wrote:
       | I've tried to use `fetch()` and it works. How did you handle that
       | from WASM? Or is it cached?
        
       | mpweiher wrote:
       | See _The Analytic Spreadsheet_ from 1986.
       | 
       | https://dl.acm.org/doi/abs/10.1145/28697.28737
        
       | pmarreck wrote:
       | That's a neat idea. How did you lock down security?
        
         | Manchego79 wrote:
         | Is there anything specifically about security you're curious
         | about?
         | 
         | We're also offering a self-hosted version you can deploy on
         | your own cloud, env., or Docker container.
        
           | pmarreck wrote:
           | I guess, since all the JS runs locally, you don't have to
           | worry as much about things like privilege escalation?
        
       | mattlondon wrote:
       | Genuine question: How is this different from Google sheets? I
       | don't see much here that I've not already been doing for years in
       | Google sheets (except native python I guess - JS, SQL, fetch()
       | etc has otherwise been there for ages and it's all free)
       | 
       | Also the logo looks a lot like Microsoft? I am not colourblind
       | but it might look even more similar if you are?
        
         | attilakun wrote:
         | They seem to execute JS locally in the browser. Google Sheets
         | makes a network call for this, which results in a laggy
         | experience. I ran into this while I was developing my own
         | Google Sheets add-on [1] which allows inline definition of JS
         | within Sheets but the lag makes the UX subpar.
         | 
         | [1]: https://www.evaljs.net/
        
         | Ashwinning wrote:
         | This looks really awesome! But same question here:
         | 
         | GSheets has let me write JS (Google Script) in the spreadsheet
         | (w/ multiplayer, free db & API hosting like features with a
         | little bit of JS, ++) and now has some Gemini support rolling
         | in.
         | 
         | Excel is rolling out support for Python and Jupyter as well.
         | 
         | I'm trying to wrap my head around who the ideal user/customer
         | is here w/ a hair on fire problem, and what problems are being
         | addressed that are overlooked by the 2 most popular spreadsheet
         | tools.
        
           | mcdonje wrote:
           | I can't speak to Google Sheets, but the Excel support for
           | Python is currently severely lacking and poorly thought out.
           | 
           | People want VBA to be replaced with Python, JS, or something
           | else widely used and respected. Typescript would be good.
           | 
           | That's not what's happening. They're adding in piecemeal
           | functionality that doesn't necessarily solve any problems or
           | fit into the ecosystem.
        
       | oliveralbertini wrote:
       | Can you get through https api the data on the spreadsheet ?
        
       | xiaodai wrote:
       | These approach has been tried so many times and has failed so
       | many times that it's not funny
        
         | etbebl wrote:
         | I guess I wasn't around to see it; do you mind saying why it's
         | failed? Well, I don't know if it's commercially viable, but
         | just speaking for myself I've been looking for something like
         | this for a while.
        
           | ies7 wrote:
           | The ones who use spreadsheet usually don't write code well.
           | 
           | The ones who code usually don't like spreadsheet.
        
             | etbebl wrote:
             | What gets me is that even if you don't code much, if you're
             | using a spreadsheet with formulas, in that moment you are
             | writing code, and doing so in an awful, awful language.
             | Sure, "SUM" is easy, but the moment you have any kind of
             | conditional logic it gets pretty hairy. Maybe there's
             | something about traditional spreadsheet languages that
             | makes them easier than, say, numpy for non-coders, but I
             | don't see it.
        
       | TheTaytay wrote:
       | I've been looking for exactly this. (For Python to be specific,
       | but I see you support that too.) Nice!
       | 
       | What are the limits on number of rows, data in cells, and number
       | of columns? I saw you say "infinite" on one blurb but couldn't
       | find reference to limits anywhere else.
        
       | halfcat wrote:
       | Does it export to Excel?
        
       | zelphirkalt wrote:
       | Emacs org mode with org babel allows you to use many programming
       | languages in its spreadsheets, for at least small sizes of
       | spreadsheets, or multiple spreadsheet throughout the document.
       | There can be some friction though, converting strings to other
       | types, to perform calculation.
        
       | babyent wrote:
       | Nice. How long you've worked on building it? Is it released
       | today?
        
       | attilakun wrote:
       | Do you evaluate JS using a web worker in the browser?
       | https://github.com/quadratichq/quadratic/blob/qa/quadratic-c...
       | 
       | How effective is this as a sandbox, are there any know (security)
       | tradeoffs? I was using QuickJS for my previous projects but I'm
       | wondering if yours is a better solution (it's certainly more
       | performant).
        
         | mitemte wrote:
         | This might be of interest https://github.com/asvd/jailed.
        
       ___________________________________________________________________
       (page generated 2024-09-28 23:02 UTC)