31 comments

[ 4.1 ms ] story [ 68.1 ms ] thread
That's amazing. How do you do it?
They'd probably answer, "With Haskell."
I would be satisfied with that answer.
In fact it is probably all Javascript. The formula editor at the top is an Ace editor, the spreadsheet itself is based on https://github.com/openfin/fin-hypergrid, which is an incredibly enourmous piece of software I had never heard of and which I don't understand at all what it is trying to accomplish, but I can see it renders to canvas.
CEO of AlphaSheets here! Javascript is our frontend, but the backend is Haskell :)
So the computations are server-side? Or are you doing some Haskell-to-JS-transpiling?
Yes, the computations are all done server-side, which lets us parallelize big computations. It also keeps our thorny evaluation logic crisp and maintainable, because Haskell. =)
what's your opinion on various spreadsheet like JS frameworks like Handsontable, Crossfilter, NxSheet and fin-hypergrid ?

As someone who has built an internal dashboard using Handsontable, I am yet to find a truly reactive JS framework for spreadsheets.

What do you mean by "truly reactive" in this case?
Formulas that get recomputed if the cells are relevant. A spreadsheet is inherently reactive.
We're actually built on top of fin-hypergrid, which we chose for its speed. We're handling all the reactivity in the backend.
(comment deleted)
I am friends with one of the cofounders --- these guys have been working hard on this for a while. It looks great!
Awesome demo. I've seen a few others with Python but I'm looking forward to using R with this.
You can't put "Show HN" on something that isn't ready for people play with. Signup pages are explicitly excluded: https://news.ycombinator.com/showhn.html.

When it's ready for people to try out, by all means do a Show HN then. In the meantime we've taken that out of the title.

Hey! I'm Alex, a cofounder of AlphaSheets. The three gifs on the page link to spreadsheets that you can play around with, with a majority of features already functional. Is that not fair game for Show HN? (I will admit that this isn't immediately obvious, so I apologize for any resultant confusion.)
Ah, I missed those. Ok, we've put 'Show HN' back in the title.
For Python use, what would be the case for using this over something like xlwings -- what are the main benefits over xlwings?
xlwings doesn't let you write Python code straight in the cells and have it immediately Just Work. It requires you to install a plugin and write commands in a separate file to execute Python. The UX difference is key here.
Also if you want shared sheets.
The demos all look really great!

I got really excited at first, wondering if this all took place inside Excel. Realizing now that's not quite what is going on here but probably aiming for a similar experience.

You can click on the examples and see and edit the actual sheets behind.
Thanks. I edited my comment - wasn't able to get through to the spreadsheets before, but I see what's going on now, I think.
We're taking that as a compliment. From talking to users, a key piece of feedback we've gotten was that the experience of using AlphaSheets has to be really similar to that of using Excel.
It's impossible to do these things inside Excel, I guess. Things like xlwings or https://www.blockspring.com/ try to make Excel better, but there are way too much assumptions going down there.

The experience with "objects" with the Blockspring add-in, for example, is terrible terrible.

Very cool. Looks elegant and professional. Good luck to you guys.
Does this support sharing and collaboration ?
Yes, it does. Live updating already works (i.e. if A and B have a sheet open and A updates it, B sees the updates at the same time as A). And you can share links with others. These features are disabled for the demo, though.
Looks pretty good. Great job!