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.

Johannes,
Here’s an example of Mathcad fitting into the presentation of a report that I once collected from the internet. The report substantiates the safety of a radio tower structure. There’s a mixture of hand-written sections, typed documents, scans of spec sheets, and Mathcad print-out. This makes for distinct sections and approaches to defining and solving the problem. While I happen to work on aircraft, I kept it as an example to refer to. It’s not the most beautiful but it has a very pragmatic simplicity and gets the job done - what I am usually going for in my reports.
If you are targeting engineers, then this is an example of a way your users will want to use it.

DesignComparison.pdf (3.6 MB)

Johannes,
Here is another example, from my own use of Mathcad for my own projects. For a long time I have been building wind turbines in my spare time. Despite it being a hobby, I’m taking an engineering approach because it interests me greatly.

Here is an analysis that I prepared which started with bench test data, generated models of the performance based on the curve fit of the data, then derived a number of working parameters that I could measure once it was installed. You’ll see inside a number of “note to self” comments; points I don’t want to forget after I measure its performance and return to verify it worked as predicted.

Toshi_Prop_Matching_PS48V (2022).pdf (60.5 KB)

The datalogger produced mountains of data collected over days in 1/3-second increments to build the dataset needed to validate this model. I resorted to Excel for the final result. Also I admit that my bench-test data was compiled in a spreadsheet, too. So Mathcad was the bridge that joined one set of numbers to another.

I would only want to build a model like this in Mathcad, not Excel. SMath wouldn’t be bad, but more limited. I could do it in a programming language like Python, but it would take a lot longer to incorporate the curve-fitting, which would require me to learn a lot of sci-py modules.

The thing that makes this example stand out for me is the graphing. Mathcad graphs are so crisp and technical data is easily presented. That’s why I wanted you to see this.

There is also TEDDS, which used to be an add-on for MS Word or a standalone. It has been many years since I used it.

Tekla Tedds - Structural Analysis Software | Tekla

Steven,
thank you very much for your comprehensive answers and the documents, I appreciate that!

Yes I agree, we need a pragmatic approach for creating calculation sheets.
In my opinion, for your first document I would always use a word processor, it’s just better suited for long text documents with a lot of formatting. Especially if it’s a report, where all calculations are “final” and you can paste them in as pdf or image. I don’t think I could compete in the near future with such a large scope of functions like word or libreoffice writer offer.

But your second document really intrigued me, it is exactly what I’m going for. A document where all the calculations that drive your design live. The more dynamic the calculations get (e.g. changing input parameters), the better you are off with software like mathcad and the likes. And if you have the possibility to compare data curves created by datapoints with the mathematical projection, it would be even better! The real USP for me is a nice user interface that incorporates these features, so engineers can get their job done and don’t have to worry about programming syntax or dragging formula blocks on a white canvas so it looks good.

In my line of work, it is considered good practice to hand over CAD files with a proper feature tree to your colleagues, so they can always tweak parameters or master sketches to update the design. They would be pretty angry, if I handed them just a step file. I see the same need for engineering calculations, that’s why I’m not too fond of hand calcs.

Didn’t know about that one and will look into it more thank you! I reckon it is mostly catered to the needs of civil/structural engineers?

As I said, it has been a good while since I used it. Yes, they standard forms and templates it shipped with are aimed at structural engineering but the original software was generic.

You basically used Word as your calculation editor and TEDDS provided a toolbar which enabled Word to function as a calculator, where you wanted it to do a calculation you just entered a ‘?’. It had tables, look ups etc.

I have no idea it it still works like this.