notacoward 5 years ago

Nice to see VisiCalc getting some recognition. A lot of people seem to credit Lotus 1-2-3 as the original spreadsheet, but people had already been buying Apple computers primarily to run VisiCalc for four years when 1-2-3 came out. It's hard to appreciate, looking back, what a mind-blowing thing it was to make changes in one part of a spreadsheet and have the other parts automatically update, and for this capability to be in the hands of ordinary people instead of specialists (or those who could afford to hire specialists). No programming required. Suddenly, a whole lot of people could do a kind of modeling and projection that had been out of reach before. "Killer app" definitely applies.

  • msla 5 years ago

    > No programming required.

    I'm of the opinion that spreadsheets are programming and, in fact, represent their own paradigm of data-focused, document-centric programming with tons of implicit parallelism and, as you mentioned, implicit control flow similar to declarative languages.

    It's sneaking pure functional programming in through the back door, in fact, and it's only a conceit that it somehow isn't programming.

  • jkaptur 5 years ago

    Another amazing fact is that, once you take inflation into account, the Apple computers they were buying cost around as much as the just-announced Mac Pro!

    Well over $5,000, and people paid it - for a spreadsheet.

    • bobochan 5 years ago

      I paid close to $2,000 in 1984 to buy my Apple //e at the Harvard Coop with the disk drive, monitor, and extended 80-column card. To put it in perspective, my private college expenses were $8,000 the same year.

  • totoglazer 5 years ago

    I feel like VisiCalc is better known than Lotus 1-2-3 and we’ll acknowledged as one of the key killer apps for personal computers in the 80s.

    • ci5er 5 years ago

      THE killer app for businesses. Math types, simulator types (even the Human Genome Project did early work on the Apple ][), computer hobby-geeks and gamers (with too much extra coin) were natural markets, but all small.

      For business, a word-processor, at the time, you could take it or leave it, because a good pool typist and a dictaphone was all an executive needed. But, being able to do "What-If" on various business assumptions, in real-time, was a game-changer (esp. w/ all the consolidation M&A happening w/ conglomerates at the time).

      You couldn't even buy that with real money before...

      • derefr 5 years ago

        > For business, a word-processor, at the time, you could take it or leave it, because a good pool typist and a dictaphone was all an executive needed.

        You could also buy a literal "word processor"—a piece of hardware much cheaper than a general-purpose computer, akin to a fancy electronically-buffered typewriter.

        The full power of a computer with pixel-framebuffer display, wasn't really needed for what we today think of as "basic word processing" tasks. The goal of early word-processing software was either just to save you the trivial expense of an electronic word-processor (sort of like a calculator app saves you the expense of buying an electronic calculator); or to be full-blown desktop publishing software.

  • amrrs 5 years ago

    I felt ashamed that throughout my career I never got to know Visicalc. I recently read 'The innovators' and got to know from it. It's good that some authors putting effort in researching better to attribute the credits in the right way.

    • jhoechtl 5 years ago

      My introduction to spreadsheet applications was through SuperCalc. Didn't hear of Visicalc until recently.

tunesmith 5 years ago

Man, I remember my Dad excitedly showing me Visicalc on our Apple II when he came home from working at Kodak. He loved it and I remember playing with it a bunch as well. There's something pretty magical about it.

And I still think there's room for innovation. Not something cloud-based, but something that lies in the middle between a classic spreadsheet, and other concepts like Jupyter or the Mac's "Calca" app.

What I don't like about spreadsheets is that you can't document them, like literate explanations about what the calculation is or why. You can do that in Jupyter documents, but bringing in reactive calculations to Jupyter is still a very hacky affair, akin to invoking "recompile entire document" after every adjustment.

If I could have something that was more like a spreadsheet, meaning reactive calculations as a first class concept, but still one step away from the grid UI with room for documentation and explanation, I'd be very happy. Literate Spreadsheets, basically.

  • Areading314 5 years ago

    I'm working on something along those lines: http://www.solvifier.com

    You can create financial models and turn them into APIs. The model-building aspect is basically as you describe and supports markdown documentation.

  • refrigerator 5 years ago

    We're working on something like this: https://causal.app :)

    I think just having proper names and descriptions for entities (variables, charts, etc.) will be a big improvement over unnamed cell references (E5, AA2) when trying to understand how a model works, and being able to document + audit changes to the model/data is the next piece on top.

  • tomjen3 5 years ago

    You can do literate Spreadsheets in Org mode, and you can even combine it with lists, or output of other programming languages, possibly mixed and chained.

    However at that level of power you have a useful tools as a programmer, not something that can be used by mere mortals.

  • AnIdiotOnTheNet 5 years ago

    > What I don't like about spreadsheets is that you can't document them, like literate explanations about what the calculation is or why.

    You know that both Excel and LibreOffice Calc have a notes feature right?

    • tunesmith 5 years ago

      Yes, but it's not sufficient.

      Apple's Numbers had possibilities in this regard in that you could have multiple spreadsheet tables within a larger document that might have surrounding explanation, although you're wrestling with text in a text box for that. And Numbers itself is pretty inadequate for even intermediate spreadsheet usage - for instance it doesn't have XIRR or XNPV.

      Take Jupyter's flexibility, add in tables, multiple sheets-per-documents, and reactive calculation, and allow it to run offline or as desktop software, and you're getting close.

miki123211 5 years ago

I think spreatsheets (nowadays Excel and Google Docs) are a much underappreciated tool. I neither fully appreciate nor fully understand them myself, but I'm starting to see the potential. Accountants and other business people already know them well, but I don't think the average HN user realizes what they could do with them, even for personal use. I think they're useful for all things of tracking, from to do lists to even recording time spend. Combine that with some simple scripts that work with csv, and you have a powerful setup with little programming.

  • toomuchtodo 5 years ago

    Excel is the ultimate REPL, and is ubiquitous on business workstations. Your "code" can literally run anywhere Excel exists (hence why you see complex worksheets and excel files built and copied around orgs).

    Obligatory Joel Splosky "You Suck At Excel" link [1]. Mandatory viewing in my opinion!

    [1] https://www.youtube.com/watch?v=0nbkaYsR94c

  • kstrauser 5 years ago

    Whatever you (justifiably) think of the guy, Martin Shkreli is insanely good with Excel. He uploaded quite a few videos of himself doing stock analysis. For example: https://youtu.be/jFSf5YhYQbw?t=211

    I have a few decades of experience writing software, but I still aspire to one day be as good with my tools as he is with his.

    • llao 5 years ago

      I skipped through it and the only impressive stuff I saw is his APM with clicking, copying and reformatting. I also saw him copy and paste whole columns of values and then manually replacing some with new values, which is super error-prone. What should look at to understand your impressions?

      • thedudeabides5 5 years ago

        Well, maybe what’s he’s doing isn’t just moving data around and copying formatting.

        Maybe try answering a similar question using code and see how easy it is

        • llao 5 years ago

          If it is more than that, and you sound very sure of it, please show me. I am honestly interested.

  • nissimk 5 years ago

    I still prefer Excel to esoteric regular expressions in vim for parsing complex text to copy paste. For example extracting individual pieces of data from a bunch of log file lines or reformatting text into syntax valid in some programming language.

    You can work up the correct syntax in the top cell with mid, left, right, etc. And then just copy down once you have it right and copy the resulting values to your editor.

    There's also "text to columns" for parsing separated or fixed width text.

    • anjakefala 5 years ago

      If you pipe your output into VisiData[1], it will structure fixed width text for you into a tabular form. =)

      Just type `blah | vd -f fixed`

      [1] http://visidata.org/

  • Torwald 5 years ago

    Apple and OSS also do have spreadsheets on offer

cek 5 years ago

I got my first computer (Apple ][+) by conning my dad into thinking he needed VisiCalc.

The rest is, as they say, history.

paulfitz 5 years ago

You can download VisiCalc from Dan Bricklin's site at http://www.bricklin.com/history/vcexecutable.htm and run it using dosbox. Tip: a formula is something like "+A1" instead of "=A1".

  • bobbiechen 5 years ago

    There's also this online emulator from PCjs: https://www.pcjs.org/apps/pcx86/1981/visicalc/

    You can see some behavior differences compared to modern spreadsheets, notably: there's no operator precedence in VisiCalc. 1 + 2 * 3 = 9 (instead of 7), because this imitated the behavior of simple calculators. Bricklin realized VisiCalc was competing against people with paper and calculators, and anything that made it harder or slower than that would hurt adoption.

janci 5 years ago

Things I miss in modern spreadsheets:

  - Formula references (to be used as function references)
  - Formatting formulas (directly in formula section, not via conditional formatting)
  - Format-querying functions (as isBold, cellFontFamily, textcolor)
  - better non-macro controls
  - in-cell controls (instead of floating control objects)
  - dynamic ranges (ie. you can paste any number of input values and all connected ranges will expand to the needed size)
  - better external data handling
  - serialization formats native support (json, xml) - no more error prone string pseudoparsing and manual concatenation without proper escaping
  - HTTP(S) client for executing API calls from formulas
  - (above requires selective manual re-evaluation instead full-auto/all-manual options we have)
wolco 5 years ago

I have an original copy. The best is the leather so thick and such great quality. Now we are lucky to get a plastic thin case.

ghaff 5 years ago

I sometimes wonder if the spreadsheet (or really the modern office suite with word processor, spreadsheet, and presentation maker) form was more or less inevitable given how desktop/laptop functionality evolved. And how much they influenced each other.

Obviously, these aren't the only programs that people use but individual bells and whistles aside, all the products in this space looked more alike than different by the early- to mid-80s. Even the advent of Windows didn't really change the basic model all that much.

pstuart 5 years ago

I worked at Arthur Anderson around this time, and when Lotus 1-2-3 came out it was like accountant crack -- they could start building complicated models and optimize for return value.

While efficiency is normally considered good, I think that this set the stage to reduce human activity to a couple of cells on a spreadsheet that can be easily deleted to bump up the numbers. It's the equivalent of killing people by high-altitude bombing -- they're not people anymore, and the only concern is "yield".

  • dv_dt 5 years ago

    I can't help thinking whenever I see a "be wary the coming automation/AI" article, that they missed the root cause and disruption by decades, as spreadsheets were the fundamental abstraction & automation advance needed apply algorithms economically with less and less regard to impacts on individual humans.

mlukaszek 5 years ago

To me, its a real shame he's not making more money from this, as they don't hold a patent because because at the time of invention (1979) it just wasn't common for software to be patented. He would be crazy rich otherwise. http://www.bricklin.com/patenting.htm

  • kstrauser 5 years ago

    Thank god. Can you imagine how far behind our current technology we would be if people had patented fundamental concepts in computer? That would have been financially ruinous.

anderspitman 5 years ago

I recently enjoyed Rich Harris' talk "Rethinking Reactivity"[0]. He nicely ties spreadsheets into the current trend in "reactive programming".

[0] https://youtu.be/AdNJ3fydeao

dvdhsu 5 years ago

VisiCalc is really cool. I think it was probably the earliest "killer app" — you would buy a computer literally to use VisiCalc.

As an engineer... I've always struggled with understanding spreadsheets. To me, it always seemed that writing code was strictly better. For example, as somebody mentions further down the thread, spreadsheets don't a) connect to external datasources easily, b) are very limited in terms of their UI (cells only!), and c) are impossible to manage, version control, and distribute.

It's why I started working on a project called Retool (https://tryretool.com). It's basically Excel, but every cell is a React component. And we don't store any data ourselves — we connect to whatever datasource you want to connect to — whether a database (postgres, mysql, etc.), or a HTTP / REST API (stripe, salesforce, etc.). And it's hosted by us on the cloud (or by you, in your own AWS), so distribution is easy: we handle deployments, authentication, authorization, etc. for you.

The goal is to let developers build a certain class of software really fast (for us, custom internal applications). Most internal applications are incredibly boring (tables, textinputs, buttons, etc.), and all do similar things (CRUD, basically).

It looks like there are a lot of hardcore spreadsheet users + engineers here... if you guys have any feedback, that'd be really appreciated. We just got started, and are looking for literally any feedback :). Thanks!

  • bitwize 5 years ago

    I'm not an engineer, but my father was -- a mechanical engineer -- and back in the 80s if you put a spreadsheet in front of him he wouldn't know what to do with it. Maybe some basic home finance stuff. He took to BASIC, though, and that became his MATLAB. He used it to run calculations and physical simulations and plot charts, it was awesome. All with 1-2 years of mainly self-teaching. There do seem to be technical people (not necessarily in software) for whom code > spreadsheets, but finance people take to Excel like ducks to water.