Hey, Stencila developer here. Thanks to the original poster for sharing the link and for all the interest. Unfortunately, the site is not handling all that interest too well (R session hosting instances filling up, timeouts,...). I'm working on it but please bear with me while I try to stabilize things.
I've been shifting a bunch of data analysis out of spreadsheets (and some adhoc SQL) to Jupyter/Pandas, and we've found some unexpected tradeoffs on both sides.<p>The lack of testability and version control (and really, long-term maintainability) is what drove us out of spreadsheets into Jupyter. We've found though that the workflow in Jupyter, even with Pandas, is not great for exploring and getting a feel for data --- we end up missing the very quick "poking around" you can do in excel or in a good sql client.<p>I'd have to use Stencila more to know if it strikes the right balance for the kind of analysis work I do, but I'm glad to see such a thoughtful attempt to try a new balance.
Lotus 1-2-3 got people to use computers. One could argue that spreadsheets are the single biggest business innovation of the late 20th century. I don't think they're going away that easily.<p>I know people who type whole letters in Excel. I know an accountant in particular who I showed how to use MS Word for writing letters, but he prefers Excel. He writes full documents in Excel, prints them out and mails them.<p>Laugh if you want but spreadsheets are not going away in my lifetime.
I think the more usual form of that phrase is "Spreadsheets are dead, long live spreadsheets!". And that captures the truth of the situation better.<p>Despite all the known weaknesses of spreadsheets, it is sheer hubris to believe that they will be supplanted by reactive programming (or databases, or anything else for that matter). It seems that users will give up their spreadsheets only when they are pried from their cold, dead hands.<p>European Spreadsheet Risks Interest Group has some great links to articles about the pros/cons/whattodo of spreadsheets:
<a href="http://www.eusprig.org/" rel="nofollow">http://www.eusprig.org/</a><p>Jocelyn Ireson-Paine has done lots of work with spreadsheets and their problems. Lots of links to spreadsheet sites from there:
<a href="http://www.j-paine.org/" rel="nofollow">http://www.j-paine.org/</a>
Spreadsheets can be a pain, but be careful what you ask for to replace them...<p>Having contracted at two big american banks (<i>cough jp, cough boa</i>) that decided to build their own proprietary technology sinking ship solutions (<i>cough athena, quartz </i>), it is a horrible experience.<p>The business get sold on the idea of the "benefits" of this new "solution" so they pay lots for it. Lots and lots. Then all tech projects are guided towards it, otherwise it becomes a "political" problem if you don't use it, even if you can present a technical case.<p>Basically, it works, just about, if you are building the equivalent of a simple option spreadsheet pricer. Even then, the effort required should ring alarm bells. Still, job for life for those that maintain it...
I think notebook environments like iPython provide greater flexibility in terms of programming. I don't think they can replace spreadsheet nor spreadsheet would develop functionality to replace notebook environments.<p>The missing link is a seamless experience between spreadsheet and reproducible data analysis (programming).<p>My team is working on <a href="https://nxsheet.com" rel="nofollow">https://nxsheet.com</a>. We look to provide this seamless experience. For example: Generate normal distribution - <a href="https://nxsheet.com/sheets/56e845da4030182e337c6c2b" rel="nofollow">https://nxsheet.com/sheets/56e845da4030182e337c6c2b</a><p>Stencila looks interesting. Great work!
Iteration on spreadsheets is great, and there's opportunity for tons of innovation in this space. But this suffers from the same problems that most spreadsheets have. Errors like not averaging over the right set of data (which you pointed out) don't come up because the code can't be diffed in git. They come up because there's not enough clarity in whether a set of cells are consistent or not. Making this text-based doesn't add clarity because ultimately there will be too much text to read.<p>Here's a test for the most common kind of error. If I add data in A5 and B5, will that data be represented in the chart? How about in the averages? Will I be able to even see that?<p>Here's the pivot: Break your data into regions, where regions have repeated elements. Something like this:<p><pre><code> A1 = 'Height
B1 = 'Width
C1 = 'Area
A2:C2 = Region {
C1 = =A1*B1
}{
A1 = 2
B1 = 3
A2 = 4
B2 = 5
}
B3 = 'Average
C3 = =sum(C2)/count(C2)
</code></pre>
This could be used to generate:<p><pre><code> Height Width Area
2 3 6
4 5 20
Average 13
</code></pre>
The dataset associated with that sub-block can be clearly annotated to an editing user as such, with simple tools for adding a row to that dataset, or sorting it without effecting the rest of the sheet. Within the dataset, there's no corruption of the formulas (the third row's C cant be different than the second's), you've still got your diffing (probably better because it's clear that data changed but formulas different) and it's extremely hard to make the calculated average come out wrong.<p>Yeah, that exact representation isn't great. Maybe a "view" metaphor, so that headers and footers can be attached to the dataset instead of floating outside it. But once you've gone this direction, there's all sorts of amazing things possible by sharing datasets, linking them, transforming them, etc.
This article reminded me of an interesting video by Chris Granger, co-author of the Light Table code editor, titled "In Search of Tomorrow: What does programming look like in 10 years?" He's designing a visual/code block hybrid editor.<p><a href="https://www.youtube.com/watch?v=VZQoAKJPbh8" rel="nofollow">https://www.youtube.com/watch?v=VZQoAKJPbh8</a>
Spreadsheets somehow hit a vein with the public, so that tells you something. I've been kind of obsessed with the Tup build system, and in trying to distill what it does into one sentence, I find it helpful to say, It's like a spreadsheet for files, where the formulas are shell commands. Even though I can grok FRP on its own, I still find that analogy helpful.
I am personally a fan of Calca, not only does it do live coding, it can also do some powerful math:<p><a href="http://calca.io/" rel="nofollow">http://calca.io/</a>
Exciting stuff. I'm a financial analyst and I spend most of my time in Excel because I'm not about to send an R script to our executive team. Everybody understands spreadsheets.<p>But spreadsheets are terrible at everything except their original use case (small bore financial modelling).<p>Right now I'm transitioning a lot of my workflow to MSFT's Power BI tools, but I'd love to have a justification for using more R at work. Stencila could be that.
Has anyone here ever used Lotus Improv? Does this program solve some of the flaws that this article highlights? I keep on hearing how Improv was one of the great programs that never took off, and I'm curious to now try it.<p>For those of you that don't know (or weren't even born yet), Lotus Improv was a spreadsheet alternative that was released for the NeXT computer in the early '90s that was well-reviewed but never sold well. It was eventually abandoned when IBM bought lotus in the mid-90's.
This looks very sexy, and I don't say that often about technology. This is something I've wanted to see for a long time - the ability to seamlessly move from a spreadsheet to an application<p>Edit: Quick feedback<p>Cell names appear to be case sensitive. While this makes sense from a programming standpoint, if I can't have a cell named "a1" the application should convert that to "A1" for me.<p>Not being able to tab between cells is annoying. Was there a decision made not to capture the tab event?
It seems, perhaps, Resolver One's time has finally come. Alas, Resolver One (and Resolver Systems) died a slow death and ceased to be in 2012. Perhaps this will fare better.<p>I always thought Resolver was a brilliant idea, but they never gained any traction against the heavy weights (Excel).<p>Edit- Add link to Resolver One wikipedia article
<a href="https://en.wikipedia.org/wiki/Resolver_One" rel="nofollow">https://en.wikipedia.org/wiki/Resolver_One</a>
I think another change is needed for spreadsheets to be a more reliable tool.<p>Right now a sheet is a full document thing. Meaning that it starts with A1 in top left, and spreads out from there.<p>but what if you could break a "sheet" down into units?<p>So that you can have say a constants unit, with its own A1 to whatever as needed, and then another unit, perhaps called results, that hold the formula in their own A1 to whatever, each unit movable and extendable on the screen at the same time.<p>Now if formula A1 wants to refer to something in constants A1, the entry would look something like constants(A1).<p>This way one would have everything on screen, while avoiding the worry that as the sheet grows and one move things around to make it more readable, the formulas are referencing the wrong cells.
One project I've recently been wanting play around with is Beaker, which touts itself as a polyglot data science notebook tool. The pitch is that you can use the right tool for the job, no matter what questions you want to ask next to each other. It looks like an iPython notebook on steroids.<p><a href="http://beakernotebook.com/" rel="nofollow">http://beakernotebook.com/</a>
<a href="https://github.com/twosigma/beaker-notebook" rel="nofollow">https://github.com/twosigma/beaker-notebook</a><p>Disclaimer (or not): no involvement, but looks very handy.
Off-topic: how do people make those animated gifs like the one in the blog post (<a href="https://stenci.la/stencila/blog/introducing-sheets/screencast.gif" rel="nofollow">https://stenci.la/stencila/blog/introducing-sheets/screencas...</a>)?
This kind of makes me want to brush off POI and attach it to Scala to develop a git-able way to create spreadsheets.<p>Create your spreadsheet, import it to an IDE, and create a way to intelligently create reports that can be connected to business intelligence suites... Someone must have done this.
Can you make this in your spreadsheet software:<p><a href="http://www.quertime.com/article/arn-2012-08-22-1-25-drawings-and-games-made-with-microsoft-excel/" rel="nofollow">http://www.quertime.com/article/arn-2012-08-22-1-25-drawings...</a>
very well done! a plaintext spreadsheet. I think it has a lot of appeal, and for all the reasons outlined. Looking at it raw, is fairly understandable. Awesome! Coolest thing i've seen all month on HN.
hi - quick question. Is your Dockerfile open source ? We have been building an R powered backend for one of our analytics services and it's been a struggle getting a scalable R-based infrastructure going.<p>BTW - another killer usecase would be an easy way to build database backed spreadsheets. instead of the TSV, it would be cool to figure out how to interface to postgresql for example.
OT and just my opinion: it seems to exists an unfortunate trend in the promotion of new ideas where, instead of simply exposing the virtues of the idea on its own, it first needs to knock down the (proven and world adopted) predecessor as something unpolished, unplanned, untested and, in general, a bad idea from the start.<p>Compare this trend, for instance, with the first Linux announcement by Linus Torvalds [1] below.<p>It is an unfortunate trend because it ends up polarizing and creating unnecessary division among the early adopters of the new idea and the current userbase of the old one.<p><i>From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)</i><p><i>Newsgroups: comp.os.minix</i><p><i>Subject: What would you like to see most in minix?</i><p><i>Summary: small poll for my new operating system</i><p><i>Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI></i><p><i>Date: 25 Aug 91 20:57:08 GMT</i><p><i>Organization: University of Helsinki</i><p><i>Hello everybody out there using minix –</i><p><i>I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).</i><p><i>I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-)</i><p><i>Linus (torvalds@kruuna.helsinki.fi)</i><p><i>PS. Yes – it’s free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.</i><p>[1] <a href="http://www.thelinuxdaily.com/2010/04/the-first-linux-announcement-from-linus-torvalds/" rel="nofollow">http://www.thelinuxdaily.com/2010/04/the-first-linux-announc...</a>
Since that title is baity, we changed it to something more neutral in accordance with the HN guidelines:<p><a href="https://news.ycombinator.com/newsguidelines.html" rel="nofollow">https://news.ycombinator.com/newsguidelines.html</a><p>If anybody suggests a better title, we can change it again.
Spreadsheets are optimized for data entry. Try entering CVS data manually using a text editor.<p>Without Excel there would be no way for my sales/marketing team to give me valuable data to process at the backend.<p>If you have been doing programming in excel for the past 20 years then you are simply a fool - sorry.