This sort of thing is why I consider Excel a programming environment for non-programmers, likely the best ever created. Of course most users will never use it to it's full potential (which might well be boundless..) but it nevertheless is simultaneously powerful and user friendly in a way that lets people who are ostensibly non-programmers perform novel computations that the creators of Excel never anticipated. Many consumer applications, particularly modern ones, keep their users on rails. Predefined UX paths that execute pre-defined algorithms on data provided by the user. The user is typically hopeless to solve any problem not explicitly anticipated by the creators. They can't extend the functionality of the program simply by interacting with it. Conversely a program like Excel blurs the demarcation line between user and the developer by empowering the user with a novel graphical programming language (and tricking people who think of themselves as non-programmers into learning how to use it.)
Sometimes I wonder if spreadsheets had not been invented until today, could you convince the gatekeeping UX experts employed by major tech companies to let you bring such a product to market?
> Many consumer applications, particularly modern ones, keep their users on rails. Predefined UX paths that execute pre-defined algorithms on data provided by the user. The user is typically hopeless to solve any problem not explicitly anticipated by the creators.
I like to describe this is the difference between “tools” and “solutions”, in the sense of a company saying they “build solutions”. Most of these solutions are frontends to a database with views hard coded based on requirements during acquisition. In my place of work, it’s common to copy the data from the “solution” into excel so you can manipulate it in newly required ways. Excel is a tool.
I don’t think companies build short sighted solutions for lock-in reasons primarily. I think they and the acquisitions team think little of the office workers’ problem solving abilities. So they make “solutions” that try to let the office workers pile in data and pull out answers without thinking.
I think the answer is more Excel-like tools. Just about any office worker could learn to query a database if that became mainstream (and there was an intuitive interface.) I bet you could design an everyman API interface, too, that a non-programmer could get proficient at. (I haven’t used Apple Shortcuts but it sounds like that’s what they’re trying the design.)
If I ever get into a position in a company where I could test these ideas, I’ll probably try to pilot new tools for normies and see if they take off.
I built a full CRM for my wife's tutoring business like almost 2 years ago in Airtable. It only took a couple of hours and it's powered her business ever since. Airtable is an incredible tool.
Given this, have you or anyone else heard of a "programmer's spreadsheet" that allowed for more advanced computations? I know that the beauty of Excel is that it is ubiquitous, but there's a lot of historical baggage that could be cut out and it could be integrated with a more proper programming language (and potentially SQLite or another database as the backend).
Maybe org-mode in Emacs? I know that can function as a spreadsheet of sorts, and I expect it probably gives you access to the full power of elisp. (I have minimal experience with using org-mode in this manner though.) This gets a bit further away from the everyman-programmer ideal embodied by Excel though.
I have been personally experimenting with user-extensible software backed by sqlite designed for organizing files by tags. I've found that given the right primitives, the right DSL, extending the program to create novel queries is a lot of fun and possibly even approachable for 'non-programmers'.
User-extensible software to organize files, based on SQLite? Have you looked into Fossil SCM? It’s a version control system built on SQLite, but it has additional features like wiki, forum, scripting , and an extensible ticketing system.
I'm familiar with fossil albeit not the technical details.
Mine is not a version control system and it doesn't actually store files. Rather, it maintains an association between filenames (absolute paths) and sets of tags. There are some tradeoffs with such a scheme, but my priorities were that it should be non-invasive and keep filesystem access to a bare minimum. Something that you can use to organize a cluttered nfs-mounted NAS without actually moving the files (in case you later decide the system is not for you, everything is in the same place as before you started.)
Resolver One¹ /was/ an interesting take on a programmer's spreadsheet. Reading about it again still feels a little exciting.
I remember loads of people talking about it at PyCon, ƛdon, and -- I think -- AngloHaskell(Haskell confs often feel like ~50% quants to me). Don't really recall anyone actually using it for real work though.
The worst thing about excel is the standard Excel library, and the perlishness nature of the UI's "render text into data types by heuristics, not simple consistent rules"
At my last job billions of dollars of revenue flowed through an ERP that had a problem: onboarding a reseller in it was a tedious, error prone process that if done improperly would cause the same system to grind to a screeching halt. Apparently a software company realized this and built a series of Excel sheets and macros that handled everything: a customizable interface if you wanted, bulk import, full validation and export - all in Excel.
It was probably the most loved part of the Oracle ERP implementation because it worked for everyone.
Excel files on a network drive will always be the lingua franca of business.
Sometimes I wonder if spreadsheets had not been invented until today, could you convince the gatekeeping UX experts employed by major tech companies to let you bring such a product to market?