Thinking about developing a modern and simple CAS

Hi guys!

Two years ago we talked about the current market offering of engineering software and how widely excel is being used for that.

Modern Algebra Software for engineering needed? - Engineering Software general discussion - SimpliEngineering

I have thought a lot about this and am actually thinking about developing a new simple CAS. I’m just not that satisfied with the existing programs and I think, it is time for a modern and simple CAS. I have these corner stones in mind:

  • User experience as first priority. A lot of engineering software is not very intuitive to use in my opinion. I am thinking about a block based editor where you can easily rearrange and format formulas, text, pictures and graphs. So kind of in-between a free canvas like Mathcad and an editor based approach like calcpad.

  • Web based but with the latest technology for offline use. So also installable as app. This would also mean, cloud based at a later stage with full edit history, live collab and stuff like that. For those who don’t like cloud or SaaS stuff, the standalone offline app will always be available!

  • From scratch written live math formula editor with MathML output. MathML was only recently fully implemented in browsers and I’d like to take advantage of that. This would mean, screen readers in browsers could finally correctly interpret math formulas! I am already working on that currently.

  • I completely agree with you @mgreminger about the importance of open source software, so I too would develop this under an open source license.

I have a lot more ideas and plans for this but this would be my main focus in the beginning. I want to create software, that is a delight to use and doesn’t get in the way of the user. Something you can fire up at any moment and quickly throw together a nicely documented calculation. In other words, what a lot of us doing right now in excel.

I would love to receive some general feedback and ideas on this, I am prepared to develop it full time, if there is enough interest in such a program.

Thank you for your time!

As I noted on the last thread, I use Excel when it is simple, and Octave when things get complicated. Octave is a complely functional computer language. It is interpreted, so I don’t know how fast it will invert a 10Mx10M matrix, but I will not be doing that any time in the foreseeable future.

I use LaTeX for some documents on home projects. I can make Octave output its results in LaTeX, so I can integrate the calculations with my document. This is cool, but very messy. You need to understand Octave’s C style formatted output, and you need to be good at LaTeX

Would it be possible to write an analysis language that worked inside a word processor like Microsoft Word, or LibreOffice?

1 Like

Hi Howard,

I’m not sure about analysis language but have you looked at wordmath?

As for your workflow, this is kinda what I want to solve, removing the friction.
I wouldn’t implement any form of functional programming in the beginning though. More like a traditional CAS.

I am still clinging desperately to my copy of MathCad 13, but bending to the winds of change and I have mostly adopted Smath for algebraic analysis jobs. I check on the price of MathCad Prime every few years or so - sanity has not returned.

I am aware of WordMath but I haven’t tried it yet. It looks much more useful than the base model equation editor, so I might give it a try.

Blockpad offers the “blank canvas” like MathCad and SMath, and is still in development and receiving major improvements as we speak. A little easier to get started since is pairs with Excel.

Calcpad has a programmer’s interface, much simpler to use than Octave IMO.

Mathematica is still out there (has been forever).
Maple recently introduced Flow, and it’s definitely intended as a competitor to MathCad. Not sure how aggressively it’s been developed because it was released years ago, but when I tried it 2 years ago it still had some holes to be patched. Much could have improved in a couple of years, meaning I should go back and see.

So there are lots of choices for engineers to pick from. If you intend to compete, you need to distinguish yourself. From the upstarts, not just the incumbents. Can you come up with a user interface different from these, and that engineers would enjoy using? It’s a fascinating challenge.

What’s intuitive to a user really depends on what they have learned to use before. That’s out of your control. IME there are young engineers who “get” the SMath and MathCad interface, and others who don’t. To some degree, the difference is parallel to the engineers who have a passion for math, science, and making things, versus those who only see it as a job.

I would love it if a normally algrebraic style of software (like Mathcad or SMath) could insert regions with extensive spreadsheet tables, or a user-friendly programming interface. Technically you can write programs in MathCad, but it really takes some getting used to.

If you look at it from a user-experience point, I think having tools that look like a spreadsheet would make it widely appealing to users who are unsure if they want to make the commitment.

If you are trying to understand an audience, and find out what appeals to them before you target your software’s user interface, then for many reasons you may find yourself leaning toward a program editor/interpreter interface. If your audience is in science, mathematics, academia, that might be what they lean to.

What is a CAS?

Computer Algebra System.

Thanks Steven for your long and thoughtful answers!

I agree, intuitiveness can be subjective. However, there are common design practices that greatly improve UX, especially in webdev.

I’ve tried blockpad several times but somehow it just feels very heavy to me. I get the learning curve but still after playing with it for some time, I felt a lot of friction. That’s what I want to do better, not the most versatile tool in the market that blows the competition out of the water in all areas, but something that can be used instantly and without a steep learning curve.

My target group would be engineers who currently use excel to calculate and document their design decisions. As you said, science and academia tend to use programming languages and document their results with latex. As far as I know, some classes even enforce the use of latex.

To follow up, the niche I want to target is the following:
A LOT of engineers use excel for internal calculation tools at the moment. My company does it all the time. Yes, you can use named cells and other methods to increase readability and decrease risk or error creep, as Howard pointed out in the last thread. But in the end, excel was never built for that purpose - unit tracking being one of the obvious flaws.
On the other hand, in all the companies I’ve been as an agency worker, nobody used Mathcad or something similar for documenting design intent to share with others. Most of them didn’t even have a license.

I think, there is a gap to fill and one could provide real value and time saving.