
Coda, a “next-generation spreadsheet” – from rows and columns to custom apps - wellokthen
https://www.theverge.com/2017/10/19/16497444/coda-spreadsheet-krypton-shishir-mehrotra
======
jasode
_> One of Mehrotra’s chief frustrations with the older generation of documents
was what he calls “the game of Battleship” — the need to describe rows and
columns in formulas using headings like “A1 to F7,” as in the old board game.
In Coda documents, rows and columns are named objects, making formulas both
easier to read and write. _

Lotus Improv from 1991 had "names" instead of rowcolumn coordinates. Quantrix
from 2003 also has named "items" instead of rowcolumn coordinates. Neither
product had widespread adoption.

It seems plausible that cryptic rowcolumns would be a major paint point for
most Excel users but maybe it isn't.

Quantrix found a niche in financial modeling so maybe that domain of users
(~50k users) value features like that enough to not use Excel.

Google Sheets continued the tradition of cryptic rowcols and has more adoption
than either of those alternative products. (Probably because it costs $0.)

[1]
[https://en.wikipedia.org/wiki/Lotus_Improv](https://en.wikipedia.org/wiki/Lotus_Improv)

[2]
[https://www.quantrix.com/QuantrixandExcelWhitePaper.pdf](https://www.quantrix.com/QuantrixandExcelWhitePaper.pdf)

~~~
jasoncrawford
It turns out that _not having to name things_ is a _feature_. Users often
avoid naming things and dislike being forced to do so.

The reason is what developers already know: naming things is hard! (Two hard
problems, etc.)

Of course, developers also know how _valuable_ good names are, so we like to
take the time to pick good names. Users would rather just skip naming
altogether and refer to things by letter/number or just by clicking on them.

~~~
jasode
_> It turns out that not having to name things is a feature. _

I think this is one of those great insightful points that's counterintuitive
and yet has abundant real-world evidence we can't deny.

I'd guess that vast majority (99%) of programmers that program in languages
requiring explicit variable names (Python, C, Java, Go, etc) will still use
Excel _without named cells nor named columns_. Yes, they will _label_ their
adjacent cells with freeform text (e.g. "TOTAL PRICE:") but they won't use the
Excel "named regions" feature to be referenced in formulas. How do we
reconcile the inconsistent attitude we have about the benefits of names?!?

It turns out that yes, naming cells is a form of "code documentation" and
helps avoid "spaghetti formulas" \-- but it's also a _friction_. If
programmers using Excel eschew cell names, it's a given regular users will
too.

It also doesn't help that "names" in Excel is not a 1st class feature. It's a
separate menu item and the name is a hidden "alias" for the cell.

With other products, the "name" of the cell is what you type into the box
right there on the sheet. The UI for giving a cell a name is more immediate.

~~~
cm2187
Range names come at a price. Try copying a sheet into another workbook that
has conflicting names. Or copy-pasting your table in the same sheet to do
something slightly different.

I use excel a lot and I found that the only convincing use case for range
names is if you need to refer to ranges from VBA, then this is the only way
for the code to find its way on a spreadsheet even if someone inserts some
rows and columns. Otherwise range names create more problems than they solve.

~~~
kamaal
>>Try copying a sheet into another workbook that has conflicting names.

This is really like copy pasting code from one namespace into other, with code
in both spaces having same variable names.

You really need to think of a spreadsheet as a function. It must have single
responsibility and must be called by another sheet to be used.

~~~
vertex-four
And now you're designing a system which has none of the benefits of Excel for
end-users, again.

~~~
kamaal
We are designing nothing, excel allows you to create variables with names
assured unique in a namespace(A single spreadsheet). You could use it any way
you like.

But if you are copying a formula that has things like variable names into a
new sheet, you have to understand that pasting the formula with its variables
pointing to nothing is like inducing a NullPointerException.

~~~
vertex-four
Yes, the point is, this is why people avoid naming things in Excel. Getting
them to name things removes functionality.

~~~
kamaal
In the following case:

    
    
         //B1 is renamed as first
         //B2 is renamed as second 
         _______________
          f(x)| C3 = first * second
         _______________
           A | B | C | D
          _______________
        1|___|_2_|___|__
        2|___|_3_|___|__
        3|___|___|___|__
        4|   |   |   |  
    
    

vs

    
    
         _______________
          f(x)| C3 = B1 * B2
         _______________
           A | B | C | D
          _______________
        1|___|_2_|___|__
        2|___|_3_|___|__
        3|___|___|___|__
        4|   |   |   |  
    
    

It barely matters if you copy paste the first one or second one into a new
sheet. C3 will be pointing to null. If anything its easy to trouble shoot
former because you can chose any cell in the spreadsheet and call it 'first',
chose another and call it 'second'\- Compared to say to having fixed cells B1
for first and B2 for last.

------
conceptoriented
> Coda is a next-generation spreadsheet designed to make Excel a thing of the
> past

There are many projects aimed at making Excel "a thing of the past" but they
focus on different needs:

o [https://airtable.com](https://airtable.com) \- use tables for data
organization (organize anything)

o [https://fieldbook.com](https://fieldbook.com) \- spreadsheet as a database

o [https://www.rowshare.com](https://www.rowshare.com) share data (share rows,
not data)

o [http://conceptoriented.com](http://conceptoriented.com) \- data
transformations and data wrangling (I am the author)

o Coda - integration with documents

It is interesting if one of these approaches will eventually dominate or we
will have a zoo of spreadsheet-like applications.

~~~
ryanmarsh
_There are many projects aimed at making Excel "a thing of the past" but they
focus on different needs:_

I think this is why Excel/Google Sheets still dominate and will continue to.

All of these products do one or a few things things that Excel or Google Sheet
do, but perhaps they make it little easier for a novice. I think what people
don't understand about Excel (and to a lesser extent Google Sheets) is that
it's an IDE. A novice can build interesting things, a power user can build
incredible things.

The only way to make Excel a thing of the past would be to make a blow-away
awesome replacement that does everything excel does but better. There's plenty
of blue ocean around Excel and I think each of the products you listed could
do just fine.

I would love all of Excel's power available to me but delivered like Google
Sheets. That would definitely kill Excel. So far neither Microsoft nor Google
seem really committed to this. Google Sheets is nice but just grabs the low
hanging spreadsheet fruit. Office 365 is anemic.

If I had the time and funding I'd love to make a true Excel killer that was a
faithful recreation of ALL of Excel's capabilities but delivered in a modern
way. I'd pay good money for this. I believe many would. Excel may be a
dinosaur, but it's still the apex predator.

~~~
martin_ky
I am genuinely curious to learn what do you mean by "delivered in a modern
way"? Which parts of Excel are obsolete and could be modernized?

~~~
mschaef
I can't speak for ryanmarsh, but I have a few thoughts.

* Excel really has two major ways of performing computations on data - formulas within the grid and actions upon the grid. Despite the utility of the formula based dataflow model, there are too many operations that have to be performed as one-shot operations via commands (or scripted via VBA). Having formula based approaches for sorting, dividing into bins, etc. would be very useful.

* It'd be nice if Excel cells could contain values other than scalars. (Arrays, tuples, lists, maps, matrices, complex numbers, etc.)

* VBA can be used to define custom functions, but there's a lot of marshalling overhead going to VBA and the programming model is slightly different. It'd be nice to fix both of those issues.

* There's no way to locally bind names within a cell formula, so often subexpressions have to be duplicated. (And I believe they're doubly evaluated too.)

~~~
zgao
Shameless plug: I'm a founder of Alphasheets, a company seeking to solve
problems like these! I couldn't resist replying after seeing these comments.

We make a collaborative (Google Sheets style) spreadsheet with Python and R
running in the sheet. You can define functions, plot using ggplot, embed numpy
dataframes, matrices and all that good stuff. We don't let people use macros,
all the code runs in cells because we think macros are too brittle. You can
check out the website at [http://alphasheets.com](http://alphasheets.com) .

We're seeing that many enterprises (for example, in finance) that have Excel
power users are moving to Python because of limitations like these, and are
running into adoption issues because people like spreadsheets so much. That's
generally where we come in and provide a bridge from the Excel world to Python
through a more friendly frontend.

We're also seeing that Alphasheets can help a lot with shortening feedback
cycles on more sophisticated data analyses- Excel is the most popular self-
serve analytics tool out there, but doesn't cover cases where you need
Python/R/fresh data.

~~~
ryanmarsh
This is very nice. Problem is, there are sooo many more features in Excel
you'll have to copy to get me to move. If you ask "which ones" I'll say "all
of them". I'm a power user. I build huge dashboards and analytical tools in
Excel. The thing I hate most is that all my work goes into a file that I have
to pray works on the other persons computer.

------
wlesieutre
Sounds interesting, but are they not worried that the name is taken?
[https://en.wikipedia.org/wiki/Coda_(web_development_software...](https://en.wikipedia.org/wiki/Coda_\(web_development_software\))

Web editor and web spreadsheets aren't exactly the same field, but that seems
close enough for a trademark collision.

~~~
bengotow
Yeah - in the macOS community Coda is a fairly well known text editor for web
development. The team at Panic should definitely stand their ground on this
one...

~~~
teaneedz
Yep. I use Panic's Coda on Mac and iOS platforms.

------
d--b
I really want to hate that project (too much hype and the UI looks like this
just another crappy and locked in office suite). That said there is someone
out there who is going to get it right. Excel has too major problems:

1\. Legacy: newer versions will always need to support VB6 and activeX and all
that garbage - that's quite a big drag.

2\. Inability to track changes easily. (Just move a table one row down, and it
becomes impossible to compare the 2 versions) which causes what people call
"spreadsheet risk"

That makes Excel "somewhat" vulnerable to asymmetric marketing attacks. It is
in fact surprising that this hasn't happened yet. I think one of the big
reasons is that most SV people don't use much Excel (not like we financial
guys do)

I'm just hoping that Mike Bostock and the 2 other guys as Observable HQ are
going to nail it. I'd much rather have a totally hackable front end that does
the DAG for me, than a cloud-based document-editing-with-formulae...

~~~
cm2187
It has many more...

There is no good way to share data between spreadsheets (linked spreadsheets
are a nightmare)

There is no good way to link a word or ppt document to a spreadsheet (an
extremely common use case, think reports, client presentations). Linked tables
are unstable (crash and unstable rendering) and you have to do all sort of
hacks to ensure the links are not screwed up if you ever modify one while the
other is closed.

Excel should move away from a single grid approach per sheet (Apple’s approach
makes a lot of sense).

What is depressing is that outside of ensuring it runs on new platforms,
Microsoft pretty much stopped development of new major features 10 years ago.
If you look at the past Excel’s what’s new, these are mostly
cosmetic/minor/maintenance changes.

------
manigandham
You can make a shopping list in Excel, and you can also run a $100M+ company
with it. It's probably the most important and powerful product Microsoft has
made, right next to Windows itself. Anything taking on Excel would have to be
able to do all that, while also offering so much more to overcome the friction
of switching.

Otherwise it's just a niche product, which is still valid, but not really a
next-gen spreadsheet. Coda seems like it would be great project management/CRM
tool rather than a spreadsheet app.

See also:

[https://airtable.com/](https://airtable.com/)

[https://fieldbook.com/](https://fieldbook.com/)

[https://quip.com/](https://quip.com/)

~~~
esteban85
and [http://documize.com](http://documize.com)

------
techwizrd
I was confused when I saw this. I believe there is a bit of a name conflict
with Coda[0] by Panic.

Nevertheless, this Coda looks quite interesting.

0: [https://panic.com/coda/](https://panic.com/coda/)

~~~
breadmaster
Replying for no greater reason than to shill for Panic. Coda is an amazing
tool.

~~~
Raphmedia
Panic's Coda has been around since 2007 and is a well known name. Their latest
release date June 2017 and is still very active.

It has over 100 reviews on the Apple store for their mobile version and their
desktop version has hundreds of reviews on independent download websites and
multiple blog posts by different developers.

Writing "Coda" on Google leads to Panic's software on the first page. So does
"Coda Software", "Coda App", "Coda Download" and "Coda Review".

Coda.io has been around since 19th of this month. You can get to it (well,
this article on The Verge) by writing "Coda Software" on Google, but it is on
page 3.

Surely naming it Coda was a mistake. It leads to confusion and hurts their
branding.

------
akhatri_aus
If something is going to be better than Excel because its "40 years ahead of
it" it ought to be a native app and be more powerful than Excel. Excels value
comes from its power features and ability to finesse with fine detail -
simplicity isn't always the answer.

------
projectramo
After reviewing this, and the coda site, I only have a vague idea of what it
does, or can do.

~~~
msl09
it really makes me wonder who upvotes those links that have no products to
show.

------
donarb
But can it open two files with the same name? If so, they have Excel beat.

------
abtinf
For people who need this kind of thing, FileMaker can be an extremely
effective solution. The article doesn’t really explain what is differentiating
about Coda.

------
mifeng
I was wondering how Coda differed from Quip, et al, but this article makes me
pretty excited about it. As someone who used to spend all day in Excel and
VBA, there's definitely room for a new "light coding" platform.

------
tehwebguy
The only feature required to beat Google Sheets in my book: smooth scrolling.

------
jsilence
The general idea of Coda, unifying document text and calcultion code is very
attractive. Jupyter notebooks do something similar in a different Domain. Yet
the result in Coda looks much more sleek and polished than Jupyters cells.

A smaller example of programs that go into the same direction would be Soulver
(on OSX), NaSc (on Linux) or CalcNote (on Android). Theese three of course
have a much smaller feature set and different goals than Coda.

The main culprit I see with Coda is the reliance on one closed source software
product maintained by a commercial company with a closed source file format. I
think Google (Reader) should have taught us something about relying on
software that you don't even remotely control or understand.

Jupyters next iteration, JupyterLab, is giving users more flexibility in terms
of screen estate layout, but it will look even more technical instead of more
elegant and integrated. Maybe inspiration for further iterations can be drawn
from Coda (and good old MathCAD) for a more integrated future version.

Until then staying with Emacs/Spacemacs and org-mode/org-babel gives you the
flexibility for output in a lot of different high quality formats AND the
guarantee that your carefully crafted documents will be accessible decades in
the future.

------
ellius
I think the next successful spreadsheet might be compatible with xlsx and
support a handful of fundamental clean data / database concepts. Things like
enforcing keys, tabular structure, NAs instead of blank fields, types. These
are simple enough you can teach them to average white collar workers and
powerful enough that they would dramatically improve data quality.

------
dgudkov
What these guys got right is that Excel is actually an app development
platform. The most successful one, ever. I wrote about it here: [http://bi-
review.blogspot.ca/2017/09/excel-is-application-pl...](http://bi-
review.blogspot.ca/2017/09/excel-is-application-platform.html)

------
aarpmcgee
Relevant [http://witheve.com/](http://witheve.com/)

------
legostormtroopr
Neat for some use cases, however the fact that its only online will cause
issues for some folks.

People process a lot of data in excel - sensitive, private data. Putting that
data into the cloud with a startup (regardless of pedigree) will be a bit too
much risk for some.

------
Aardappel
If you instead prefer your "next gen spreadsheets" simpler, open source and
offline, you may like
[http://strlen.com/treesheets/](http://strlen.com/treesheets/) ;)

------
Someone
_”We haven’t had an application creation tool like this since HyperCard. I
think we’re going to see lots and lots of good experiments.”_

 _”a collaborative document editor that combines a word processor and a
spreadsheet”_

I get the impression this is more like another attempt to do what Opendoc, the
various ‘Works’ products of the ‘90s, OLE, Ashton-Tate’s Framework, etc.
promised than a spreadsheet.

Question then is what would make this succeed at doing that where those
products failed. That many people think they want something like it isn’t
enough. Has the time for this kind of product come, is ‘collaborative’ the
killer feature, or what?

------
teddyh
“ _While Excel 5 was being designed, Lotus had shipped a “new paradigm”
spreadsheet called Improv. According to the press releases, Improv was a whole
new generation of spreadsheet, which was going to blow away everything that
existed before it._ […] _Of course, Improv is now a footnote in history._ […]
_Why? Because in Improv, it was almost impossible to just make lists. The
Improv designers thought that people were using spreadsheets to create
complicated multi-dimensional financial models. Turns out, if they asked
people, they would discover that making lists was so much more common than
multi-dimensional financial models, and in Improv, making lists was a
downright_ chore, _if not impossible._ ”

— Joel Spolsky

[https://www.joelonsoftware.com/2000/05/09/the-process-of-
des...](https://www.joelonsoftware.com/2000/05/09/the-process-of-designing-a-
product/)

Archive.org link:
[https://web.archive.org/web/20170606181942/https://www.joelo...](https://web.archive.org/web/20170606181942/https://www.joelonsoftware.com/2000/05/09/the-
process-of-designing-a-product/)

~~~
jacobolus
Disclosure: Spolsky worked on Excel for several years as a product manager,
and is biased.

The other reason that Microsoft Office tools succeeded is that Microsoft was
very good at all of the extra-technical stuff – business deals, marketing,
software bundling, legal fights, etc., some of it quite
underhanded/anticompetitive.

Lotus made Improv for NeXTSTEP originally, so there was a niche platform
problem for the first 2 years, and after it had been ported to Windows Improv
was competing against Lotus’s own previous spreadsheet program 1-2-3, creating
consumer confusion and confusion within other parts of the Lotus organization.

But the main reason is probably just inertia. Once people have learned one
tool that seems to work well enough for their needs, getting them to adopt
something else (especially if it isn’t conceptually identical) is twice as
hard.

~~~
Aloha
He probably is biased - but it seems they were building "spreadsheet for
advanced users" when most people who use a spreadsheet are not or will ever be
advanced users.

~~~
wruza
Apart from “home” use, Excel users usually lack functionality and tend to
build an unmaintainable mess in their spreadsheets. Quarter of my ‘system
integration’ work came from Excel users trying to automate and/or formalize
what they created in there for years. Sadly, these types of businesses take
hell of efforts to convert to good information systems; high failure rates are
normal there. For me, Excel is a heroin of a business world. It drags you from
reality and breaks you when you’re trying to get back into it.

~~~
cm2187
There aren’t enough trained programmers in the world to do in code what all
Excel users get done with spreadsheets. Let alone programmers who understand
the business of the company they work for.

~~~
threatofrain
It's the dream Microsoft Access should've been, but for whatever reason never
caught on.

~~~
pjmlp
Microsoft tried it a few times, the latest attempt was LightSwitch, recently
killed in favor of PowerApps.

[https://blogs.msdn.microsoft.com/jasonz/2010/08/03/introduci...](https://blogs.msdn.microsoft.com/jasonz/2010/08/03/introducing-
microsoft-visual-studio-lightswitch/)

[https://powerapps.microsoft.com/en-us/](https://powerapps.microsoft.com/en-
us/)

The thing is, with Excel the programming is gradual, you first just add some
formulas, followed by conditional formatting, small macros, until eventually
jumping into full VBA.

Alternatives, including Access, require good programming knowledge from day
one.

~~~
cm2187
But I still fundamentally agree with this approach. Perhaps not all users, but
most users should be given a path toward more programming based approach to
modelling.

I think lighswitch was stillborn when it wasn't distributed as part of office
(irrespective of its merits, haven't tried it myself). Asking IT departments
to deploy it was bound to fail. It needs to be available at the fingertips of
excel users, like VBA is, always there, running with Excel, and you know it is
available to everyone else so anything you do will run without having to
install anything on their machine.

------
holychiz
I'm going to stick with Excel for the row/column grouping feature. This
seemingly minor feature enables multiple level of abstractions so different
audiences can understand the spreadsheet in different views. As much as I want
to move my team to Google Sheet or any other major competitors for easy
collaboration, I simply can't.

------
nafizh
Seems like an extra layer of cognitive complexity. Docs and Excel sheets are
popular because they are simple but not simpler.

------
kovek
Would be interesting if cells of groups of cells in a spreadsheet could show a
subset of the UI of another graphical program on the system. If it could allow
user interaction with that graphical program then even better. That could
allow users to build a dashboard of their running graphical software. Has this
been tried before?

~~~
martin_ky
> Has this been tried before?

Yes, on Windows this technology is called OLE (Object Linking and Embedding).
It allows embedding (parts) of other applications' documents in a document.
Nowadays only a few programs besides the MS Office suite provide OLE
capability.

For example, you can embed a complete Word document inside an Excel cell by
clicking: Insert -> Object -> Microsoft Word Document. By double clicking this
object, the Word UI opens up inside Excel.

------
apokusin
I've begun to use the beta and see a lot of value.

One point of concern (and PSA): After creating a document, my browser blocked
a CoinHive miner. As far as I know, there isn't a "best practice" pattern for
passively mining, but personally, I like to opt-in to this sort of thing.

------
kisna72
quick question for the Coda folks - How is it different from quip.com?

------
thriftwy
I don't think eye candy is killer app.

Distributedly consistent spreadsheets maybe? Make inner mechanics of a complex
sheet easier to tackle? Add persistence and database capabilities that blend
in?

------
devhead
i suspect more fluff than substance since this has been in the media all week
with tons of fluffy articles about how much awesome it is. please prove me
wrong

------
bluetwo
It's about time someone re-invented FileMaker Pro.

------
zackkatz
I love AirTable, which operates on a similar concept.

------
teaneedz
Coda is a text editor.

------
Endy
What's wrong with pure CSV, again?

~~~
kristofferR
CSV is hell. Some idiot somewhere decided that Comma Separated Values in
certain locales should be based on semicolons (who would have thought files
would be shared across country borders!?), so when we open CSV files that are
actually comma separated all the information is in the first cell (until a
semicolon appears).

To get comma separated CSVs to show properly in Excel we have to mess around
with OS language settings. CSV as a format should have died years ago, it's a
shame so many apps/services only export CSV files. Many developers (mainly
US/UK based) are probably not aware of how much of a headache they inflict on
people in other countries by using CSV files.

~~~
jaclaz
Actually you can change the extension from .csv (that Excel believes it can
recognize) to _something else_ and open it, the "import wizard" will let you
choose the "separating character" and other settings that are very useful when
importing Comma (or other character) separated values (such as forcing the
"data type" by column). A good idea, however is to use TSV (TAB separated
values) that can be usually copy pasted directly, it still remains in many
cases the "feature" that Excel has to auto-identify data types, creating a
mess with a number of pieces of data (such as a columen with Hex values, half
of which will be "text" and the other half "numbers").

------
nodelessness
Trademark claim incoming from Panic, Inc.

