o_nate 5 years ago

Not to be too nitpicky since it looks like the author is a developer and not a writer, but referring to the person building the spreadsheet as the "admin lady" throughout the piece sounds a bit awkward. Maybe just give her a made-up first name?

  • natalyarostova 5 years ago

    Looks like the author is from Taiwan, where the vernacular 'lady' is a common suffix for admins. Although it's good feedback for someone marketing to a non-Asian culture.

    • uranusjr 5 years ago

      I am from Taiwan but have trouble reverse-translating this back to Chinese. What is the vernacular title you are referring?

    • OJFord 5 years ago

      That's oddly specific. It's just English, doesn't read out of place to me at all (British).

z3c0 5 years ago

I haven't tried this yet, but if it works well, the implications towards rapid Business Intelligence development are great. In the past, when a user has needed some 15-year-old, macro-infused spreedsheet turned into a more streamline, business-wide process, any data entry components would require roping in webdevs to get the job done, as BI developers don't usually come with a web skillset. The idea that BI developers could just use the spreadsheet to generate a web app not only cuts down the expertise needed, but also solves the problem of training old-timers to use the new process.

  • ecocentrik 5 years ago

    Excel and its open source variants achieved total market dominance by providing a seemingly future proof technology platform and a generally maintainable (usually by a single human) solution for business. The biggest hurdle with converting these programmable documents into applications has always been long term the maintainability of the replacement solution. Even Microsoft had it's fair share of failures developing simple programmable database solutions (Access, Visual Fox Pro) to meet the needs of businesses and governments that "just needed a little more than what Excel could provide". It's a marketing pitch that never fails because it underplays the cost of maintenance of the new solution and the real value of the spreadsheet.

    I welcome solutions that serve this need for "better than excel" without succumbing to its pitfalls but I'm not holding my breath. Even this article just outlines a solution that could be implemented in Excel with a little extra knowledge from the user, making it "no better than excel" for the specified use case.

    • mtone 5 years ago

      Interestingly, Excel et al. achieved that status without the "no-code/low-code" mantra that is the rage in sales these days, where "citizen developers" are expected to relish in GUI editors severely limited in the logic they can accomplish.

      On a turing-completeness spectrum, they live on the opposite half of where VBA+formulas stand proudly. Therefore, it is no surprise that for anything beyond "out-of-the-box", it is expected that an experienced IT developer/consultant will be needed to figure something out.

      A decent reason to disallow custom code is that these platform are to be upgraded regularly, yet every major version seems to bring its lot of breaking changes while my decade-old macros still run like a champ. Oh the irony.

  • Flyer1 5 years ago

    What you describe here is exactly what we are doing with a tool called EASA. It enables us to very quickly create web apps using an existing spreadsheet as the logic module. You don't need to be a dev to do this - our BIs find it straightforward - the closest you get to code is a bit of SQL.

    It works well - we have successfully applied this to about 20 really critical spreadsheets for functions such as pricing, deal valuation, risk analysis, and even for engineering analysis. Users simply use a web app (that can look like the underlying spreadsheet - or not). The system is also integrated with SAML, so authentication is there, and you can also integrate the apps you create with 3rd party systems - we are looking at launching Excel-based pricing apps directly from SF.com, for example.

    Anyway, the site is https://easasoftware.com/ - there are some vids there which probably do a better job of explaining it than I have done here. It's not just about putting an app on top of a spreadsheet, but really putting an app on top of processes that involve spreadsheets. And you can use things other than Excel as the logic module, like Matlab, R, Python - in fact we are dabbling with using EASA to deploy ML models created in Python.

  • scomp 5 years ago

    I don't know if a BI Developer with a web skillset would solve this problem. I worked as a BI Developer and was solely hired because I had mucked around with the COGNOS and its API's and written a few analytics based web apps. The reality was that the rest of the team didn't want to support anything outside COGNOS/MicroStrategy nor did the project managers foresee web apps as a solution to any problem.

  • bluedino 5 years ago

    Companies like Celigo created an industry out of allowing Excel users to shoehorn pretty much anything into a spreadsheet and then have it interact with their major accounting/ERP systems.

  • peteradio 5 years ago

    Lol, instead of one developer now you need two developers one who fucks with spread sheets and one who jiggers the shitty tool to make the web app.

    See basically "no dev needed", perfect for old timers who can't code. Or not.

    private void placeAnOrder() { listSheet.unprotect(""); Range costCell = spreadsheet.getRangeByName(exchangeSheet.getSheetId(), COST_CELL); if (!costCell.toString().isEmpty()) { Double cost = costCell.getRangeValue().getCellValue().getDoubleValue(); if (cost > 0) { Double amount = spreadsheet.getRangeByName(exchangeSheet.getSheetId(), "amount").getRangeValue().getCellValue().getDoubleValue(); Range orderTable1stRow = spreadsheet.getRange(BOOK_NAME, listSheet.getSheetId(), "C6:G6"); orderTable1stRow.getEntireRow().insert(Range.InsertShiftDirection.ShiftDown, Range.InsertFormatOrigin.RightOrBelow); orderTable1stRow.setValues(DateUtil.getExcelDate(new Date()), cost, destinationCurrency, destinationRate, amount); } } listSheet.protect(PROTECTION); }

    • dang 5 years ago

      Can you please not be snarky in HN comments? You have a good point here, but please follow the site guidelines.

      • peteradio 5 years ago

        Ya I'll delete it if I can.

      • world32 5 years ago

        It was a snarky comment, but also amusing.

    • z3c0 5 years ago

      I thought it was clear in my original comment that it would require more than one developer before - one for the BI process and at least one for the data-entry component. Given that most BI teams don't have a web developer, that also spreads the process over multiple teams, which can slow down maintenence. And I'm not sure why you think it'd take a whole other developer to manage this tool. BI developers are used to picking up new tools and languages (my BI job requires that I know how to use SQL, python, MDX, and C#, and numerous third-party applications).

      And when I'm referring to "old timers", I'm referring to users, not the developers. Why would a user need to understand that snippet? Are we even talking about the same thing?

    • zhte415 5 years ago

      I can see exactly what that code is doing on a first read. It's pretty procedural. I don't like the range reference.

      > "C6:G6"

      I think the bigger problem is it's not going to be a developer maintaining this. It's going to be a pretty literate VBA user and nothing will go wrong. Inevitably they will move on and pass over the code, the 'user application' to someone who will feel reassured they can read it too, but then when it comes time to make a change, they won't be able to. And then it'll be passed over again and become a black box.

      A developer (if there's funding) will not like picking up something undocumented, then it becomes a project (less funding). The process, a magical black box that may or may not have stopped working also loses documentation. Governance is lost. Particularly but not exclusively in financial applications, potential for misuse and loss, either accidentally or fraudulently, has been introduced.

      So, the above looks (mainly) OK to me. But only because I know to insist on maintaining a manual backup or otherwise maintaining knowledge of how the black box works.

  • oneplane 5 years ago

    The problem usually isn't the webdevs or the BI developers but the fact that it's logical thinking and engineering skills that make a supportable application. Without those skills, bad software gets made, and bad Excel spreadsheets can be just as bad as bad webapps.

danny8000 5 years ago

You can do some of these tricks with Excel 2016 or later and SharePoint Enterprise or Office 365 -- which many corporations already have.

You can embed an auto-updating Excel file in a SharePoint webpage using a "webpart" that renders as HTML. (Microsoft is getting away from web-rendering Excel with Silverlight,and allowing more functionality without the need for a browser plug-in.)

The trick is to setup the Excel data connection using the "Get External Data" -> "From Other Sources" -> "OData Data Feed" and not use the "Data Connections / Microsoft Query" method. Note: Microsoft Query connections won't update server side, the Excel file needs to be opened, data connections refreshed, and re-saved.

It does require a bit of Excel expertise to setup, but there is no need to create a Java application to get it to run.

  • oneplane 5 years ago

    I'd rather have my Java expertise than Excel expertise.

andreyazimov 5 years ago

Nice! Spreadsheets have a lot of advantages over coding your own website, especially for people that don’t have the skills.

I made an app called https://Sheet2Site.com which takes your spreadsheet of items/objects and translates it into an app, with filters.

  • EGreg 5 years ago

    Wait so what exactly is it?

    Components of different types, corresponding to rows of different schemas? Where first column says the type? Or is it one sheet per type of object?

    And then you import them? And have a page with a bunch of components with data from the sheet?

appleiigs 5 years ago

The first step should have been to call the bank. For businesses, banks usually have a website that she could log into to: 1) get more up-to-date or more indicative rates, 2) execute the trade. Will save dev & maintenance time.

  • bradknowles 5 years ago

    Maybe they are the bank and everyone is calling them?

rorykoehler 5 years ago

They invented Google sheets api for excel. I've built apps using Google sheets as the dB (via api). Slow but work well enough for personal tools

pier25 5 years ago

It amazes me to see companies big and small that basically run on Excel.

Why do you think Excel is so ingrained into all kinds of companies and processes?

  • crispyambulance 5 years ago

        > Why do you think Excel is so ingrained into all kinds of ...
    
    Because it works.

    Programmers underestimate and put down excel all the time, but I think it's actually how many projects they end up with get started.

    Someone had a problem, solved it for themselves using excel, got noticed, expanded the solution to other problems until the excel solution itself became the problem and then... it ends up as a project for you.

    There's nothing wrong with that. It does the job, and it's not like the first course of action when there's a problem should be to assemble a scrum team with a cast of characters like a sitcom, and blow a million dollars to implement a bespoke software solution. Sometimes excel is just enough (and then some).

    • plafl 5 years ago

      My first job consisted in updating Visual Basic code behind an Excel file that specified the hydraulic circuit for an aircraft. It was a simplified version of the circuit for use in a simulation that was used to calculate pressure loss based on several valve and pipes parameters. The results were exported to a txt file to be loaded by the simulator.

      Also in the same project I remember another Excel file with mechanical calculations that actually updated a nice graphic that simulated all the linkages and different extensions of the actuators and computed forces at different points. The unholy alliance of elegant Lagrangian mechanics with Visual Basic.

      I hope to never touch Basic again but it was a valuable lesson about getting things done and I'm glad I took it so early in my career.

  • SonOfLilit 5 years ago

    Because spreadsheets are at the sweet spot of most complicated programming language that non-technologists can reasonably be expected to learn on their own.

    Because you should have a reeeealy good justification to write a single line of code for something that can be done in Excel much cheaper, and mostly you don't.

    • SonOfLilit 5 years ago

      I guess what I'm trying to say is: it's a feature, not a bug, and it's really important for entrepreneurs to understand this because otherwise they might think they have no competition where their competition is with the most useful piece of software humanity ever produced.

  • jyriand 5 years ago

    You only need one tool to run your business. You can use Excel for bookkeeping, inventory, salaries, invoices, project management, budgeting, presentations, planning, forecast, brainstorming, timetable, to-do list and so on. If you would use a separate app for each of these you would go insane. Easier to learn one powerful tool than hundred small ones.

    Take a look a talk by Joel Spolsky called You Suck at Excel. It's on YouTube. It will give you a quick glimpse into how Excel powerusers are using it and how fast you can create something useful.

  • mmckelvy 5 years ago

    - Because a spreadsheet is the best UI for many business applications (far better than an HTML table on a webpage).

    - Because Excel allows the user to (i) perform ad-hoc calculations, (ii) audit the input and outputs, and (iii) easily modify the functionality in real time.

    - People don't like filling out forms and most web apps are basically filling out forms.

    • all2 5 years ago

      Points 1 and 2 sound like a REPL.

      Say we had a REPL that also had a table (like excel, each cell has an address... a 2D stack if you will).

      Say we interact using a mouse to select a cell or in the REPL to specify what cell we want to write to. Then, if we use a Lisp, we have tabular code and tabular data...

      I might code this up for fun.

      • jimbosis 5 years ago

        I don't know if it is what you are envisioning, but there is a spreadsheet program called Scheme In A Grid (Siag) [1] (part of Siag Office [2]).

        From the "Introduction" [3] of its Online Documentation: "Siag is an X-based spreadsheet for Unix. It uses Scheme (a Lisp dialect) both for expressions and as an extension language, which makes it easy to create new functions (for native Lispers, that is). There is no requirement to know Scheme to use Siag, expressions can be entered in traditional spreadsheet syntax as well."

        [1] http://siag.nu/siag/

        [2] http://siag.nu/index.shtml

        [3] http://siag.nu/online-docs/siag/intro.html

        • all2 5 years ago

          That's about what I imagined.

      • airstrike 5 years ago

        This is fine and dandy for small sheets, but if you're trying to build a sheet with multiple tabs, circularity, self-referencing IF statements, or lots of data, it will get really hard

        Also, the #1 Excel rule in Wall Street is "never use your mouse"

        IMHO, I think the better project is an equivalent of an RMarkdown / RStudio tool that generates a final report from a declarative set of instructions.

      • opportune 5 years ago

        This exists already - Jupyter + Python + Pandas.

        Or a spark interactive cluster with a notebook interface if you have more data than can fit on a single machine

    • pier25 5 years ago

      I agree on points 1 and 2.

      About point 3, isn't a spreadsheet basically a sophisticated form?

      • mmckelvy 5 years ago

        With formulas, custom formats, charts, etc. I think you can make a pretty solid case that Excel is far more than a form.

        But even if you are just using it as a form, with bulk operations and keyboard shortcuts, it's usually much easier to fill out an Excel form vs. a web / app form.

      • baq 5 years ago

        That’s the point, why spend a week on some fancy web app if excel is already there?

        • pier25 5 years ago

          In terms of UI, maybe, but not in terms of data.

          I've seen it countless times. Somebody sends an excel file over e-mail and it is either an old outdated version of the file, or the persons that receives it hangs on to it for months as a source of reference.

          • mmckelvy 5 years ago

            With shared spreadsheets, this should become less and less of an issue going forward I would think.

            • Symbiote 5 years ago

              With a conventional LAN with a fileserver, it is already easy to keep one spreadsheet. I don't think people can edit it together.

              MS Access is much better for allowing simultaneous editing, especially (IIRC) if it's backed by an RDBMS, since it will use row level locks.

              My previous employer had several databases with read-only web interfaces, but Access editing interfaces. They're very fast to develop, and support all the usual database features (constraints, keys, search etc), and could be set to load a form-editing view by default.

  • Gpetrium 5 years ago

    Excel allows for the democratization of technology, decreasing the barriers to entry and allowing for easier user experience.

    People/teams/companies need different degrees of security, complexity, data, etc to their day-to-day operations. Someone may be interested in fiddling with data without others seeing, others may not want to share certain data broadly (answering your point below). Excel has served as a way to unify these needs for the most part. Some other options available tends to fall on the outer-layers, where excel may not be optimal and someone felt a specialized tool could improve speed/quality/cost.

  • discordance 5 years ago

    It's accessible and empowers the individual.

    Not everyone can code, but everyone can transform data in a spreadsheet and email it off to the next person.

    • pier25 5 years ago

      I guess everyone accessing the same data at all times is not so valuable after all.

      I've seen people having multiple versions of the same excel file and not remembering which was the last one...

  • wvenable 5 years ago

    Most programmers mistake the majority of the use of Excel as the creation of software. It isn't. It's mostly just construction of reports; sometimes just for one-off purposes.

    I would theoretically be possible to write some software/reporting solution for every use of Excel but it wouldn't be an efficient use of resources.

    • ben509 5 years ago

      And even the one-off reports represent the ability to do coding in tiny increments, precisely tuned to the demand. You can find some report from months ago and just open it up and add to it.

      And as you're adding features, you instantly see the results; even as you type if you use the formula builder.

      If you're working on any kind of software tooling, watching how people work with Excel is incredibly insightful.

      • sethhochberg 5 years ago

        Anybody being able to quickly make a significant change has its ups and downs, though... On more than one occasion I've caught word of some fancy spreadsheet a different team in a company has been using to draw insights for months, only to have nontrivial critiques of the source data or interpretation of the data that caused big changes in the results - stuff we would have ideally caught in a dev team's code review or QA workflow, but those processes are entirely bypassed when someone on the marketing team makes a spreadhsheet on their computer and dumps audience data from an advertising platform to seed it.

        Spreadsheets are nontechnical users' version of "move fast and break things". Often times that can be useful, even essential, but there are many more cases where the primary utility of working that way is also the major flaw. Its faster than traditional report development because it skips any kind of review or QA.

    • cr0sh 5 years ago

      > I would theoretically be possible to write some software/reporting solution for every use of Excel but it wouldn't be an efficient use of resources.

      One company I know which did this was called "Actuate"; that was years ago, a quick googling shows they were bought, now called "OpenText" (?) - also had something to do with MongoDB and something called BIRT (Business Intelligence and Reporting Tools)...

      Last I had any involvement with them for a company I worked for, it was with their reporting suite of tools; the company I worked for became a VAR for them, so anytime the tool had a bug, we could quickly get them in an IRC chat (told you it was a while back) and get a patch within a few hours to a day or so, depending on the issue.

      The reporting system was fairly unique for the time; a basic WYSIWYG drag and drop editor, ala VB - and for more complex designs, a VB-like object-oriented "reporting design" language. It was essentially what VB6 should have been on the OOP side of things, but geared entirely toward reporting.

      Reports could pull data from any number of different sources, from flat ascii files, to excel documents, to database engines, ODBC, etc.

      One of the last things I heard from them, at a seminar they put on that my company sent me to in Santa Monica, was this idea of reforming people using Excel spreadsheets. They called the whole sharing and copying of such spreadsheets, such that there was no one single authoritative source - a "spreadmart". So they wanted to do something about it.

      They came up with some kind of Java-based solution with a custom front-end that looked exactly like Excel of the time, worked just like it - pivot tables, whole nine yards. But it interfaced to a backend using these "business logic" modules. The idea was all instances of the "spreadsheet" could see the same data via those modules, and those modules would be created by an IT staff (or DBA or something), and anything interacting with them in a company would have to go thru them - reports, gui, excel spreadsheets, etc. The idea was to present one cohesive view of the data for all users.

      I don't know where it ended up - if they launched the product or not (we were being given a sneak peek at it at the seminar - it was a pretty nice demo, overall for the time).

      A couple of weeks after coming back from the seminar, the company let me go (I'd worked for them for about 8 years - missed the whole "dot-com" thing because I believed in this company so much - lived and learned).

  • ako 5 years ago

    Because it allows business to get shit done:

    * No need to depend on an IT department which is already overbooked

    * No need to find budget to fund a project

    * No need to wait forever for the IT project to finish.

    It gives an business person control, as they can do it themselves.

  • jpindar 5 years ago

    People use Excel because their manager wants them to use Excel.

    Their manager wants them to use Excel because all their past managers have wanted them to use Excel. And so on.

    Also, it's already there on all the computers.

  • ww520 5 years ago

    Excel is declarative programming at its finest in practice.

  • dustingetz 5 years ago

    it grew that way from inception. no inception -> no growth

dlojudice 5 years ago

Excel is a great tool for MVPs. It's much cheaper to test internal automation within a company with Excel than to build a entire platform, and some users can do it without the need for professional developers.

edwinyzh 5 years ago

Congrats on the product! And what a coincidence, I'm about to launch a product that 'Turns a (bunch of) Word files into static website': https://docxmanager.com

We are both building a software basing on Office :)

hiccuphippo 5 years ago

I didn't get if some of the code shown on the page is written as macros in the Excel file itself or are all of them external. Some of it like the cell protection stuff seemed like within the sheet?

It seems you still need to code the plumbing to get the sheet to work and serve it in some webserver, so you might not be able to get rid of your developers any time soon. And I didn't see any mention of it but it seems to be using Java (since it mentions mvn in the example's GitHub page).

zarker 5 years ago

This does not work for me on chrome 74. https://keikai.io/demo/editor

  • visionPASSION 5 years ago

    There is a known issue that the current beta version works with only 100% zoom level. Please check your browser and OS display zoom level and make it 100% to try it out before the fixed version is uploaded.

    • Wistar 5 years ago

      Speaking of zoom, it'd sure be nice if the keikai web site didn't kill zoom on the ipad. Pretty hard to see the screen shots, etc.

kevas 5 years ago

I can't wait to post what I've been building with Excel... from the reaction here, there's going to be some cringing happening.

One thing that I've found amazing is that if you build from scratch, you can have a cross-platform native desktop application that runs on software that's pretty much installed on all company computers.

  • delusional 5 years ago

    "Cross platform". If cross platform means "pretty much installed on all company" then sure, but if it means ubiquitous among all platforms, then decidedly know. Excel is a huge piece of software, and it will probably never be cross platform, simply because it would take longer to port than the lifespan of the platform you were to port it to.

    • kevas 5 years ago

      You're correct in saying that Excel is not cross-platform, but I'm referring to my application that lives on top of Excel. If the user is running Excel 16.0 64Bit, my app can run on Windows or Mac... does that not make it cross-platform?

mandeepj 5 years ago

> Turn an Excel file into a web application

Why?

Just because you can do it, does not mean you should.

There is another group of people who favor storing html pages in a db.

  • Cederfjard 5 years ago

    I think just wanting to do it is an excellent motivation for any intellectual pursuit.

    • sixstringtheory 5 years ago

      Probably very similar to my desire to climb mountains. I just wanna see what it looks like on other side... aka curiosity.

      If you’re only doing things other people tell you that you should, it’s worth taking some time for self-reflection to figure out why, and to find out what you _yourself_ are interested in.

      Nature walks are great for that kind of thing :)

      • eye900 5 years ago

        > ... my desire to climb mountains. I just wanna see what it looks like on other side... aka curiosity.

        I wonder for some period of time why people like to climb, so I am excited by your answer. Given all the documentaries, news and travel ads, one can reasonably imagine what it looks like on the other side, don't we? Moreover, its geometry would remain the same in one's life time, for any specific mountain. One can get a pretty close idea from Google Map's terrain view. If one is not that into the details, like the precise curvature for each piece of a mountain, then they are largely the same.

        I find myself not attracted to climbing for exactly the reason that they are not different enough from each other to satisfy my curiosity.

        • sixstringtheory 5 years ago

          Ah, I used to think this way, it’s kind of a “peakbagger” mentality... bag the peak and move on. I’m all for seeing new mountains, and actually there is a _ton_ of variation in what you can find due to altitude, aspect, geographic location, etc etc. In the same valley I’ve walked down lush green forest on one side, and walked up dry baking desert on the other. I think the more I’ve trained my eye, the more unique qualities I see.

          In the last year or two though I’ve realized that every climb is it’s own experience, even on the same mountain. The season, the plants and animals that come with it (or snow!), the weather that particular day, whether it’s a dry or wet year, the time of day. Some days you get turned back before you reach the peak. Maybe an avalanche happened overnight. Or you time it just right to get a view of sunset/sunrise/aurora/milky way. There’s always something new to learn even if it’s your 100th ascent. They actually change much more than you’d think.

          I always thought it would be tough or impossible to, say, get all the 13ers/14ers in Colorado, or all the 4,000ers in the northeast. Now I realize I could spend a lifetime just getting to really know a handful of them. I find a strange comfort in that. Maybe I’m getting older.

          Also, I love to ski and snowboard. Gotta get up to ride down! But I’ve never lost the desire to go around one more bend, or over one more peak, to see what I can see beyond.

      • mandeepj 5 years ago

        By all means, please go after any pursuits that you like and also climb any mountain, that you wish. But, please do not write 'web' and 'excel' in the same sentence. There are bigger and better problems that we should be going after.

viana007 5 years ago

For this tasks, I like to use Google Sheets, runs in the cloud, have a good mobile app and runs in any device.

1-6 5 years ago

It's 2019 so you came along and took her job! In 2029, an android will come along and take your job!

mettamage 5 years ago

Wait, isn't this particular problem solved with something like Google Sheets?

Other than privacy issues of course.

  • kingosticks 5 years ago

    And you might want to still use it in x years time after Google decides to kill-off Sheets. You must be very wary when building anything on a Google service.

    • jjuel 5 years ago

      And what happens if Keikai fails long before Google gets rid of sheets? I get that Google has a habit of killing things off, but they are often things that are unpopular. Sheets is far from unpopular.

      • kingosticks 5 years ago

        Yep, I agree it's always a risk; but if you were really concerned you could perhaps acquire a small outfit like Keikai and protect yourself. Your money just isn't interesting to Google so that's never an option.

        And I don't believe it's true to say they've only killed unpopular things. Anything outside of the core business (and I will argue Sheets/Docs is outside) is up for the chop.

        • fauigerzigerk 5 years ago

          >but if you were really concerned you could perhaps acquire a small outfit like Keikai and protect yourself

          Only one customer can do that, not all of them. As a small provider of enterprise software I would offer to sign a source code escrow agreement.

          • kingosticks 5 years ago

            Yes, that's a far better way to protect your investment. Thanks for pointing that out.

        • jjuel 5 years ago

          So 4 million G Suite business customers and 70 million educational G Suite customers is outside the core business? I would say 74 million customers is a major part of any business.

          • kingosticks 5 years ago

            G Suite is a lot more than just Google Sheets. And while it's not advertising, I think you are right and I was a bit hasty to declare it as outside their core business.

            They do not have 74 million paying customers. However, I agree that the "free" version is safe for as long as the enterprise offering continues to do well (5 million PAYING users as of Feb 2019: https://cloud.google.com/blog/products/g-suite/5-million-and...).

  • fit2rule 5 years ago

    Not all websites are for general public application.

donatj 5 years ago

We used something like this to build configurators for clients at a previous job some 10+ years ago. I always thought they should have sold it as a service rather than just internal tooling the clients didn’t know anything about.

abrkn 5 years ago

A simple solution to an easy problem, and you saved someone time. Good job!

_raoulcousins 5 years ago

The world's most popular database becomes the world's most popular web framework. Makes sense.

tekni5 5 years ago

Your demos break or don't even load if page zoom level is set above or below 100% in Firefox btw.

dpau 5 years ago

I love spreadsheets. But not like this. Take a step back and really look at it. This is horrible web UI design. Even as just a spreadsheet it could use a lot of work. For example, it would probably function much better as a single sheet rather than having to cycle through three screens for each conversion.

revskill 5 years ago

Excel is fine until you have to work with nested data structure/relationship.

  • x38iq84n 5 years ago

    Or until a member on the team has an older version of Excel that causes compatibility problems for the rest of the team.

    Or until a spreadsheet is edited in Excel that uses language other than English - formula functions will also take nationalised names.

    Or until multiple people make changes to a spreadsheet, but there is no version control in Excel.

    • simonh 5 years ago

      Version control is a big one for financial institutions, because there's no way to verify what the state of a spreadsheet was when a particular analysis was done.

      One place I worked at created a Python library called the DAG (Directed Acyclic Graph) for this. It enabled an easy way to translate a chain of Excel cell functions into Python code, which can then be version controlled, diffed, code reviewed, etc.

  • kfk 5 years ago

    And this could be the true Excel killer. If we figure out a paradigm for nested structures (or simple sql relationships really) that is as easy to work with as Excel we would have a very strong case for moving users away from spreadsheets. Every time data is interrelated in Excel it becomes a hot, very manual, mess.

    • jsmith99 5 years ago

      Excel allows creating primary/foreign key relationships between tables using the Data tab, but you can only use these relationships to produce pivot tables, not in normal formulas.

      • froindt 5 years ago

        Admittedly not great, but you can complete that join, output it as a table, and then apply formulas as desired if you use Power Query.

        Power Query solves many cases where a macro was previously required, but relatively few people are aware of it.

      • collyw 5 years ago

        But buy the time you get to understand how to do things like this in Excel, why not just use the proper tool for the job - a database.

        (I haven't used it in many years but MS Access was a pretty efficient way to get an application together).

  • Scarbutt 5 years ago

    I think this is why the invented Access.

velcrovan 5 years ago

Does it support charts?

kissgyorgy 5 years ago

Doing something like this for learning, innovation and fun? Sure! But otherwise I don't understand why people are doing things like these, especially with Excel.

  • hiccuphippo 5 years ago

    Boss asks you for currencies of several countries, so you present a table with the data. The easiest way would be to make it in Excel. Then they ask you to keep a record of the currencies they are buying/selling. Again, the easiest database to do that is an Excel file. You have something that works and didn't need the help of anyone to do it.

    The important point would be to recognize that when they ask you this for the second or third time it might be time to automatize it.

dontbenebby 5 years ago

Excel is the new emacs. Both contain robust scripting abilities, can edit text, and begin with the letter 'e'.

pietrovismara 5 years ago

Or don't please, I think it's a terrible idea to abuse spreadsheets like this.

I'm being forced by my manager to do this for a client due to a close deadline (the idea is to implement a spreadsheet as interface to make it quicker than a classic web app), lbut they keep asking me to implement advanced features that would be 10 times faster to implement with a regular interface or sometimes not even possible on a sheet. Spreadsheets have a precise use case and it's not to replace web apps.

  • lloeki 5 years ago

    I had a situation in a certain business field where the calculations the customer designed and implemented in a spreadsheet changed so regularly that implementing them in code was unworkable because by the time the code was out if was both late and outdated. I designed[0] a solution that recursively parsed and resolved the formulas from a list of input and output cells, built an AST out of it and transpiled it to actual code or bytecode. The prototype worked beautifully and made the result diffable, extendable with, and easily embeddable within real code. My then boss found the solution useless and NASA-class, outright rejected it, and had another team just spin up some Excel, calling it with OLE or whatever and called it a day, which had abysmal performance, reliability, and runtime cost (as in $$) which ended up killing the deal with the now irate customer.

    [0] Actually since I had the idea waaaay before the business need and project, I had a personal MIT-licensed clean room toy implementation of it sleeping somewhere on my hard drive and used that for the business prototype.

    • jarym 5 years ago

      Nice work! Would you consider publishing that on GitHub?

      • lloeki 5 years ago

        Thank you! That's the plan since the onset as soon as I have some time to turn this into not a glorious hack that basically only runs on my machine. Just the Excel and OpenDocument formula parser (using PEG via treetop in Ruby, can't recall what I used for Go, got a Python thing too) could be very useful to some already.

        • IggleSniggle 5 years ago

          Honestly even as a horrible hack that only runs on your machine, I think I’d be interested in seeing it. PM me and I’d be happy to help make it not-so-hacky. I say this as someone who has plenty of projects in the “drafts” bin that often just needed a conspirator to have a reason to push things over the line.

  • fit2rule 5 years ago

    I'm not sure I completely compel with your idea.

    The reason is, I don't think there is a single website out there, which couldn't be described in a spreadsheet.

    What I suggest though, is take a look at this, and throw your companies sheet at it in a 30 minute hack session. If this proves unfruitful, I'd be happy to hear all about it.

    Spreadsheets are a terrible way to make web-sites, though.

    One of the bits I agree about, is that we should be very wary that we, developers, don't get replaced by one.

    • TeMPOraL 5 years ago

      > One of the bits I agree about, is that we should be very wary that we, developers, don't get replaced by one.

      Friendly reminder that this is literally the whole point of the job. Automation. Making people stop doing tasks that can be done by machines - which often means replacing people with code. Sometimes even ourselves.

      • fit2rule 5 years ago

        Yeah, I know:

            Spreadsheets > Web.
  • tomyeh 5 years ago

    Abuse or not. It is always great if we can re-exploit the value of thousands of existing/legacy Excel files.

  • x38iq84n 5 years ago

    This, exactly. Spreadsheets have received enough abuse already.

  • _pmf_ 5 years ago

    > I think it's a terrible idea to abuse spreadsheets like this.

    It currently maintains millions of business software jobs.

    • Nextgrid 5 years ago

      Telemarketing also maintains millions of jobs. Doesn’t mean it’s a good thing to keep around.

      • _pmf_ 5 years ago

        > Doesn’t mean it’s a good thing to keep around.

        Well, too bad the smart guys in Silicon Valley are busy perfecting their yak shaving, otherwise I'm sure they would have found the holy grail of business software that us foolish dark matter programmers have failed to deliver on for several decades in no time.

collyw 5 years ago

Stop encouraging people to use Excel for tasks where it is a poor fit. I have wasted so many hours of my life because of Excel and people using it for non-spreadsheet purposes.

  • throwayEngineer 5 years ago

    You may be a dying breed.

    As much as everyone wants to build full stack for every application, Excel is fantastic for complex math out of the box.

    Excel is the average persons database.

    I have found being able to expand on this has been incredibly useful and modular.

    And as a note, VBA is definitely a real programming language, it up to the developer on how to treat Excel.

    • newaccoutnas 5 years ago

      I must be part of the dying breed too. Having been involved in migrating very broken Excel/Access/VBA into properly formed web applications for companies I've worked at, the problem is people using the wrong tool in the first place. It may meet their immediate need but with no viewpoint on it's future usage, then fragility sets in and it costs the company more in upkeep and resource. I can see how that happens, but perpetuating it seems a bad idea.

      • pacoWebConsult 5 years ago

        Worked on a project last winter to add a fully featured compliance management system to a state regulatory agency in Access. They have moved to a sql server backend but the support for database operations is incredibly limited by the Access JET DB engine. Ended up just using ADO in my VBA scripts for everything instead of the Access database tools because it was not capable enough for the complexity. This client doesn't have the budget to migrate from Access, but has the budget to continue slapping garbage to it every year. At least as the primary NGO involved works with other states to create a web-based solution, my client might be able to move away from Access by 2025? I would say the majority of orgs that encounter this really have no choice in perpetuating the use of bad systems.

      • fauigerzigerk 5 years ago

        Looking at it from the perspective of a developer tasked with making a proper app from a spreadsheet, you're bound to come to that conclusion. But that's with the benefit of hindsight and with a massive dose of survivorship bias.

        Of all the spreadsheets that start out exactly like the ones that need to be converted to an app, how many were thrown away having served their temporary purpose just fine? How many of them never outgrow the immediate needs and skills of its creator?

        Perhaps spreadsheets should be seen as tools for business process prototyping. Starting a proper software engineering project only after a task has outgrown its spreadsheet based implementation may be a pretty efficient approach.

    • stingraycharles 5 years ago

      I share your opinion. As a developer, I do not like Excel and the scripting environment around it, but I realize that I am not the target audience: it’s an incredible tool for analysts, managers and whatnot to explore and analyze data.

      I work with a lot of data in my daily life, and see most BI tools struggling to recreate the same functionality that Excel offers, often failing in the process.

      People try to recreate the Excel experience online too much, forgetting that Excel itself is a really solid solution and it’s worth taking serious.

    • cannonedhamster 5 years ago

      Excel has some real limitations with large datasets and multiple users accessing it. It's far better to use something like Access or SQL for these purposes. It's also nicer in access when creating a form for people to use that pulls data from multiple input tables. For smaller data sets or sharing access quickly Excel is a champ and even when it fails it tends to try to do so gracefully. VBA does add a great amount of usefulness and is wonderful as an entry scripting language.

    • TAForObvReasons 5 years ago

      A surprising number of people have difficulty understanding Java or JS or Haskell or any "traditional" programming language but immediately grok complex Excel workbooks with VBA macros

    • KurtMueller 5 years ago

      VBA might be a real programming language, but imho, its syntax and tooling are awful.

    • goatlover 5 years ago

      Why would VBA be better than Python, Julia or R for handling complex math? Seems like the language would be really cumbersome and lacking in libraries relative to those languages.

  • jtbayly 5 years ago

    I once worked for a company where the owner had written a Point of Sales system in Excel. It handled mixed orders where some product was given to the customer immediately, some they could come back later and it would be packed for them to grab, and some would be shipped after the event. There were hundreds of SKUs, up to 8 computers taking orders, and most scary of all, they were networked together so that another computer running excel could collect sales data and help the production team figure out how many of each product they should make next. Also the order fulfillment team used the same collected data.

    It was brilliant. Excel was also the wrong tool. We constantly had problems with file locks, network shares, etc. After one year I worked with another guy to rewrite it as a web app.

  • SonOfLilit 5 years ago

    My coworkers have wasted years of their life because people decided to write software that could feasibly be a medium-complexity spreadsheet.

  • ken 5 years ago

    I've wasted years of my life because of the web and people using it for non-scientific-paper-publishing purposes.

    • collyw 5 years ago

      your point being?

ivanhoe 5 years ago

It's worth noting that the described flow could've been fully automated from within the Excel itself, with just a few macros and formulas. I've created a spreadsheet doing very similar thing (grabbing the exchange rate from net and generating invoice) like a decade ago, so it's not even something new. The main issue people have with Excel is the same as with vim, majority of users just don't use it properly and know only the most basic functionality - which results in them doing a lot of repetitive things manually. I don't mind using tools like keikai, they're one approach to solve the problem, but perhaps companies could also try to send their employees on a proper Excel course first.

  • gcmrtc 5 years ago

    I've been able to learn vim because the web is full of high quality content that will teach it from the basics in a way that's compatible with my mindset.

    I never had the same experience learning Excel, maybe the problem is my mindset. The only learning experience I enjoyed about excel is 'You suck at Excel' by Joel Spolsky.

    Can someone recommend a good Excel learning path for someone in this situation?

    • CamelCaseName 5 years ago

      The best way to learn Excel is to use it at work. I thought I was fantastic at Excel/VBA until I got my first finance role. Learned more in 3 months than I could have learned in 3 years on my own.

      One secret I'll let you in on: most people use plugins like KuTools to do the heavy lifting. There are tons of industry-specific plugins. When you really can't find a plugin to do what you want, then, and only then, should you be writing macros and saving them to your xlsb.

      But what if you're not able to use it at work? Then I recommend picking up pet projects and continually look for ways to improve. Just keep asking, "could this be easier?"

      Whenever you get stuck on Excel issues, I recommend watching Excelisfun [0] who has thousands of hours of video content on every Excel feature you can think of. If you have difficulties with VBA, check out MSDN help docs.

      P.S. Don't write a fuzzy text matching algo yourself. You will drive yourself crazy and Microsoft has one for free to download.

      [0] https://m.youtube.com/user/ExcelIsFun

    • jimnotgym 5 years ago

      Yes, get a job in finance and learn off your colleagues. Sorry but that seems to be what most people I know who ate good at Excel did. In reality it is just like programming, practice solving real problems with a team of experienced people.

    • ProZsolt 5 years ago

      It's not just you. I had the same experience, with the exact same video.

  • dgudkov 5 years ago

    The described workflow can be entirely designed in a visual tool like EasyMorph* (https://easymorph.com) without any need for scripting at all. Plus the benefits like support for version control systems, auto-documentation, scheduling, etc.

    *Disclaimer: I'm the founder.

  • Waterluvian 5 years ago

    How do you do version control with code embedded into spreadsheets? Am I not better off making code that generates a spreadsheet (or CSV or whatever formats I care about)?

vianneychevalie 5 years ago

There is a solution developed in France, WeMaik [0]that is very similar. We've used their solution in the consulting firm I'm a part of.

The clients are very satisfied, because the web app that's outputted by WeMaik is so easy to design and produce that they're produced by industry-knowledgeable consultants, and not web developers.

We go from idea to actionable mock-up in half a day, present it to the client, and then build the real solution assisted by WeMaik. The connections, queries, logic are not no-code, though, for this solution. We describe the specs in the spreadsheets we send to WeMaik, and they configure it.

[0] https://www.wemaik.com/

krm01 5 years ago

I’ve built http://upstart.me entirely on Google Sheets. Haven’t had any issues and works really well. This allows me to collect data from newsletter through a Google Form - which gets stored in a Sheet - that I can then curate, copy & paste to an other sheet that is used as the DB for the Live website.

Im also working on an internal CRM tool for http://fairpixels.pro with a sleek frontend that can be used as a browser homepage (showing key business stats) all while the same Sheet is used to manage customers.

I highly recommend looking into this because it allows for a simple to manage backend for those that live in Sheets.

  • mathnmusic 5 years ago

    We were recently considering quick prototyping using Google Forms but ran into two key limitations:

    (1) Getting a _validated_ email address of the submitter. It does support an email field, but makes it a free-form text input with no way of enforcing ownership of that email.

    (2) Pre-populating some of the fields when we send the user to a form via a link. Without this, the user ends up filling the fields even though they have already submitted that information in another form.

    Are there any powerful (forms + spreadsheet) products out there that solve these (and are cheaper than, say, AirTable) ?

    (2)

    • davidpolberger 5 years ago

      Calcapp may be what you're looking for. You can validate text fields using regular expressions and there's an example of how to validate an e-mail address here: https://www.calcapp.net/learn/beyond-numbers.html#validating.... Fields can be pre-populated with either values you know ahead-of-time or through Excel-like formulas.

      (I'm a co-founder of Calcapp.)

      • mgkimsal 5 years ago

        > enforcing ownership of that email.

        I believe the GP was talking more about "click here to confirm your account" type validation, not "does it have an @ in it".

    • theothertom 5 years ago

      You can generate URLs that pre-fill Google Forms, they're just ugly and have the all the pre-fill in the URL as query parameters

    • EGreg 5 years ago

      Yes. We can make one in 30 minutes with https://qbix.com/platform . But what is the goal of this? I want to understand since it sounds like you need real PROFILES for reusable personal data.

  • mritchie712 5 years ago

    I like Upstart, can you give me an idea of the price range to sponsor a data science newsletter? e.g. cost per impression.

ubermonkey 5 years ago

DEAR GOD NO.

There's already a huge tendency for folks who discover automation in Excel to stop learning anything else, and then do ALL automation tasks in Excel. Even stuff that has no business being in Excel, or things that should be managed in a more robust system.

(This is an older phenomenon than Excel, but it does seem to attach to spreadsheets; I first saw it with Lotus macros in the late 80s.)

IOW, this is absolutely a place where yes, you CAN do something, but you absolutely SHOULD NOT.

mastrsushi 5 years ago

>Offers to do her job free of charge

>Consistently refers to her as "Admin Lady"

Dude what the actual fuck

delusional 5 years ago

Excel is a dead-end road. I view all software as a vehicle to achieve more software. In other words, the solutions of today become the platforms of tomorrow. To that end, anything made in Excel is completely worthless. You can get some way by using excel, but at some point you want to build something on top of it, and at that point you will have to throw your entire excel solution out the window.

Excel sheets are nothing buy a worse version of bash scripts, at least in my opinion. At least bash scripts let you plug them into something bigger using standard process operations.

  • caseyohara 5 years ago

    Spreadsheets are a great way for non-programmers to prove an algorithm or calculation. I always encourage non-technical people to start in a spreadsheet, because if they can model it in a two-dimensional spreadsheet, a programmer can very easily extract that out into working code. Spreadsheets are a perfect working reference.

  • GavinMcG 5 years ago

    I suspect you've never worked in a non-software business environment. Your statements live up to your username. I'm sure you're an intelligent and skilled person, but you're speaking outside your wheelhouse right now.

    • bishala 5 years ago

      LOL at that second sentence :)

  • mistermann 5 years ago

    > To that end, anything made in Excel is completely worthless.

    I suspect this lady and her employer find worth in this approach, which would make your assertion incorrect.

    I've also seen numerous $100k+++ "proper" software projects advocated by people who share a similar mindset as you, when a mildly complicated spreadsheet that could be built in a week or two could accomplish the same thing and more.

  • unethical_ban 5 years ago

    You took your logic train too far. Thousands, nay, millions of people and groups stop somewhere past "I need to table some data, do some calculations and conditionals and dashboards" and before "We need this to be a multi-user application with app and data tiers".

    Bash scripts don't visualize. Bash is harder to learn than Excel.

    Go to vertex42.com and tell me that everyone who could ever use any of those templates will invariably need to throw it all away and ask a developer to build a custom tool to replace it.

  • challenger22 5 years ago

    The OP's application is a bit of a shoehorn for a spreadsheet, but do you foresee alternatives to excel beating it at its own game at some point in the future?