EngineerJS is a free computing environment for scientific and engineering calculations.
We have been working on it for more than a year now.
It will address many shortcomings of engineering calculation tools by:
The collaborative features are currently being implemented.
You might understand the need for such a system if you have ever messed up the units in your Excel/Matlab calculation, reimplemented a calculation that had already been implemented by other engineers, or had to click a thousand times when trying to use standalone tools.
We imagine a Wikipedia-like collaboration where engineers can create and share their own (open source) libraries such as design tools, formulas for analog ICs, physical properties of materials, numerical methods or even fully automated design processes.
// For example, one can define the Body Mass Index function like:
bmi = @(weight, height) (weight as kg) / (height as m)^2;
// And then use it with units:
bmi(86 kg, 190 cm)
bmi(142 lbs, 5.24 ft)
Fast response and light server load is achieved by moving all calculations to the user side. The actual code that runs is standard Javascript which is compiled from a special extension of the language. This extension allows for convenient definition of matrices, vectors, quantities, special operators, etc. in a format inspired by Matlab.