
Visualise the structure of a spreadsheet - crrashby
http://www.slateforexcel.com
======
pseut
From the video, this looks like a graphical spreadsheet debugger. That is a
fucking fantastic idea. It's been a while sine I used a lot of excel, but this
would have been great.

I think you'd want to target non-programmers who use a lot of excel (so people
in "business") and just bring them more debugging features. An excel IDE would
be an ambitious potential next step.

~~~
crrashby
I'm not sure I agree with the second point. Excel has tons of debugging
features, too many. It means most people don't know about all the tools and
they're all really badly designed. This is about getting rid of all that and
creating one new feature, the tree view. Which offers way more functionality
on it's own.

~~~
thegranderson
While Excel has SOME debugging features, they really don't work well at ALL
for large formulas. I don't need something to help me debug some
multiplication.

But when I'm offsetting to an array upon which I'm selecting and summing a
subset of these cells with an if-driven sumproduct, and maybe dynamically
looking up all of the ranges with more index/matches.... its impossible to
look at in the little formula tracing box.

I can't wait to try this out.

------
crrashby
I've been working on this myself and would really love to get some feedback.
Would this be useful for the problems you have with Excel?

~~~
bjoerns
it's a great idea - much better than the old built-in formula dependency
tracker. definitely loving your idea! I've been in the Excel _business_ myself
for years (having worked in finance) and always love when someone comes up
with a fresh tool for the mighty Excel (yeah, I know most developer's views on
Excel...). I've recently started www.spreadgit.com which is a GitHub-like
service for spreadsheets. looking forward to playing around with your service!

~~~
crrashby
It looks really cool, I think the two tools kind of go hand in hand. Sharing
sheets and understanding them.

~~~
bjoerns
yup. feel free to drop me an email if you want to touch base (i've just done
the sign-up)

~~~
crrashby
Cool. I'm chris@slateforexcel.com btw

------
nostromo
I love the way you've presented the underlying structure so much, I found
myself wishing you would replace the spreadsheet itself!

~~~
crrashby
Well, maybe one day...

~~~
zackmorris
You are just a small step away from the concepts in Subtext:

[http://www.subtext-lang.org](http://www.subtext-lang.org)

I highly recommend watching the screencasts, especially the demo:

[http://www.subtext-lang.org/demo1.html](http://www.subtext-
lang.org/demo1.html)

I have wanted a graphical interface for functional programming in environments
like Excel for a long time. In my experience, most of the pseudo-programming
that has dominated software engineering (object-oriented/MVC/message-based,
patterns, best practices) goes away when you can model something directly.

Nobody has been able to successfully apply proven engineering concepts from,
say, electrical engineering or VLSI to software engineering. I think it's
because the leap from imperative code is too long.

But nobody has successfully made functional code approachable either, because
too often it's contaminated by syntactic sugar that's too symbolic, various
handcuffs that make even the simplest tasks arduous (poor handling of global
state), or learning curves that can't be scaled when it comes to interacting
with real-world time-based data (monads etc).

For the most part Excel has none of these issues. You can stick an imperative
macro in the middle of your functional code and it works just fine, as it
should in any other functional language (as long as you follow certain rules
like, no globals). Then you can write another macro to load CSV data into your
spreadsheet, or even spit it out to a folder that has a shell script watching
it to transform the data again. I think it's more productive to work in that
unix-like manner (of a bunch of small tools that do one thing well, pipelined
together), than it would be to try to integrate notions like dynamic data into
Excel. But the achilles heal of Excel was always obfuscation.

We need to get away from language when we're thinking about functional
programming, and focus more on data and transformations. Slate looks like a
great start, kudos!

~~~
andrewflnr

      ...nobody has successfully made functional code approachable
    

I'm not totally sure what to make of this statement. I think of functional
programming as an extension of the expression-based computation almost
everyone (in the first world anyway) learns in pre-algebra. What could be more
approachable?

Yet I always have trouble recommending a specific functional language to
someone who's curious. I'd say scheme if sexprs weren't so intimidating, ocaml
if the syntax weren't so annoying, Haskell if it weren't, well, Haskell (not
that I've really used Haskell myself). So for now I just tell people to learn
Python and show them map() and closures.

Is there a semi-practical functional language with C-ish call syntax,
especially with dynamic typing? And don't tell me Javascript, that's still
mostly imperative. Rust seems close (closer than Python at least). I might
start recommending that when it stabilizes.

~~~
PeterisP
I use Haskell, but for many data manipulation problems it is still clearer to
do them in Excel, mostly because of the bigger emphasis on the data itself,
easier visualisation and eyeball-verification intermediate results, and
simpler data-garbage-fixing in case a data point "raises an exception".

------
gadders
Oh good. An autoplaying YouTube video with audio.

 _closes tab_

~~~
crrashby
OK I've disabled the autoplay again. I was just trying to get people to watch
the video.

~~~
ChrisNorstrom
Oh don't you dare! Run an a/b test first, before you disable autoplay. If
autoplay gets more signups then keep it. You're not here to be our friend and
drink tea, you're running a business.

From a design point of view, I LOVE your desaturated forest look with the
logo. It's all very memorable

~~~
gadders
Fair point. My miserableness may not be typical.

~~~
ChrisNorstrom
I know what you mean though. I have chrome plugins installed that prevent
autoplay, flash, widgets, facebook, and a whole lot of other things. It's
awesome I can have 40+ tabs open and not have to worry about lag.

------
borplk
Is this an Excel plugin or an independent/standalone software?

------
shorbaji
Interesting. As I understand it, you use a spreadsheet as input and then
create the data flow diagram. I certainly see how seeing the data flow diagram
means better clarity and error-finding. So here is a question for you? What if
we take it a step further and have users actually entered their complex
spreadsheets in a tidy graphical data flow diagram which mapped back?

~~~
jackgavigan
Like Livesheets, you mean?

~~~
shorbaji
Yep. Livesheets more or less.

------
davidgerard
WARNING: CONTAINS AUTOPLAY SOUND.

------
kbar13
> try to look at the prezi thing

> id: 1100 the reason is: Event [Event type="fontLoadError" bubbles=false
> cancelable=false eventPhase=2]

~~~
crrashby
I'll look into it, thanks

------
graham1776
We would certainly use this at our company...In the real estate finance world
we exclusively use Excel for financial underwriting, and at times, cells and
formulas get lost in the fray. As the analyst around here, I know how to audit
a spreadsheet just looking at the formula (if I built it...), but the guys in
the field using our models have no clue how cell A links to cell B. I vote for
online solution, as us corporate types have no ability to download or add
software (even as Excel add-ins...) Ugh.

~~~
crrashby
Do you not have any issues with uploading proprietary information?

~~~
graham1776
I don't personally, but I could imagine our company might. That being said, we
use Box and other "insecure" places to upload files. I argue that as long as
you have a policy in place that what is uploaded isn't shared without
permissions given, I'm sure we wouldn't have problem uploading.

Thinking about it more though, keeping it integrated into excel or offline has
its merits. We have 20mb+ financial models that would take forever for your
software to churn through.

------
while1
This looks awesome! I quite often stumble upon the task of automating or
porting spreadsheets into code. This is always a pain as it might in some ways
be hard to visualize the flow in a chart. This tool would greatly simplify the
task. Looks really sweet!

------
epo
The problem with Excel spreadsheets is that the overwhelming majority of users
are not programmers or engineers, they are clerical workers with no real
understanding of what they are doing. Knowledge, such as it is, is passed on
in a monkey see, monkey do, fashion, producing imitation without insight.

This proposed tool is for engineers, not clerks. You download it and use it
locally right? Because if it requires the spreadsheet to be uploaded then that
is another technical hurdle and one which breaches most people's security
requirements.

Excel already does most of this, the problem is that people can't comprehend
what it is telling them, your tool is no different.

~~~
crrashby
Almost all Excel users are not programmers, you're definitely right. If by
clerical workers you mean people who are just entering data into the sheet or
reading an output then, yes, they don't need to understand what the sheet is
doing.

However there are loads of people who build there own sheets: analysts,
consultants, managers, marketing, accountants and yes engineers. These are the
people who spend the most time using excel. Excel let's you build a very
complex model formula by formula. It's often a model more complex than you
might be able to map out initially. Whilst they are not programmers they are
still smart enough to understand the sheets they've built. The issue is Excel
right now is so opaque about what its doing and where the numbers come from.
It makes this task much harder than it needs to be.

------
filearts
I do financial modelling at a Big4 and can easily see the value of this type
of visualization tool.

I wonder if/how you are able to visualize INDEX/MATCH type lookups, SUMPRODUCT
and array formulas? Obviously, these types of formulas are not in every model,
but for my usecase it would be pretty important.

Also, since others have asked but the answer watn't too clear: is any data
uploaded?

You mention that you have plans to move to a model where things happen in
reverse: models would be defined as flows and the spreadsheet could be
generated. What progress (if any) have you made on that front?

~~~
crrashby
-A formula such as INDEX or MATCH is shown as a box with an arrow coming in for each parameter of the function. Hovering over the box gives a breakdown of which cell is being looked up for each row.

-None of the content of the spreadsheet is uploaded.

-We're not looking at building the model as a tree right now but it's a cool area to explore.

~~~
filearts
We have some pretty powerful in-hourse tools for visualizing information flow
within a given worksheet. It will overlay borders around contiguous blocks of
identical (R1C1) formulas and color code based on whether the cell has a
value, a formula an off-sheet formula and cross-file formula, etc...

However, where our tools fail, and where your tool really shines is
transforming the spreadsheet visual paradigm into something that more closely
resembles the intent of the model. Very cool! (I signed up)

------
nether
I was JUST thinking about something like this a week ago. I termed it "formula
explorer" and was going to ask some people if something like it was in Excel
2013 (at work we're on 2003). This would be great for my mechanical
engineering work. We often have formulas that reference many sheets with many
constituent formulas. To check them I usually have to create another sheet
that shows the flow of values concisely on one sheet, basically a manual
version of what Slate does. This tool would automate that, looks fantastic.

------
analog31
An Excel to LabVIEW converter. ;-)

It seems like a really cool idea. For better or worse, Excel has emerged as
the de facto "programming" tool for small scale computation and database
tasks. It's an annoyance that you can't see your entire program at once,
especially for checking correctness, finding bugs, and understanding someone
else's work.

------
crrashby
I can be contacted on chris@slateforexcel.com if anyone wants to get in touch
btw

------
rjsamson
Very cool! I've got two bloated excel spreadsheets that need to be ported to a
web app and this looks like it would be really helpful. Is this available yet
to use or still in the early stages?

~~~
crrashby
Yeah it's still quite early stage.

------
IAmFledge
This doesn't seem worlds away from LiveSheets.

[http://livesheets.com/](http://livesheets.com/)

------
sesm
Great! I hope one day someone will make a similar plugin for LibreOffice Calc.

------
hleszek
Any idea of the price ?

~~~
crrashby
We haven't really decided yet. What would businesses be willing to spend?

~~~
jczhang
mmm they wouldn't unless many individuals push for it. This wouldn't be used
by management, so people below would have to push for it. I would recommend
some type of freemium model.

------
lancefisher
Wow! Microsoft needs to buy this. Great addition to excel.

------
symr
This looks great!

