Help get Octave developed for Android! (like MATLAB, but free)
The MATLAB language has become ubiquitous in many fields of applied mathematics such as linear algebra, differential equations, control systems and signal processing among many others. MATLAB is a great tool but it also costs a lot! If you are not a student then MATLAB is a very expensive piece of software. For example, my own academic licensed copy with just 4 toolboxes cost more than the rather high powered laptop I use it on. If I left academia then there would be no chance of me owning a copy unless I found an employer willing to stump up the cash for a commercial license. Commercial licenses cost a LOT more than academic licenses.
Octave – The free alternative
The good news is that there is a free alternative to MATLAB in the form of Octave. Octave attempts to be source compatible with MATLAB which means that, in many cases, your MATLAB code will run as-is on Octave. Many of the undergraduate courses taught at my university (The University of Manchester) could be taught using Octave with little or no modification and I imagine that this would be the case elsewhere. One area where Octave falls down is in the provision of toolboxes but this is improving thanks to the Octave-Forge project.
Addi – The beginnings of MATLAB/Octave on Android
As Dylan said The Times They Are a-Changin’ and there is an ever-increasing segment of world-society that are simply skipping over the PC and going straight to mobile devices for their computing needs. It is possible to get your hands on a functional Android mobile phone or tablet for significantly less than the cost of a PC. These cheap mobile devices may be a lot less powerful than even the cheapest of PCs but they are powerful enough for many purposes and are perfectly capable of outgunning Cray supercomputers from the past.
There is, however, no MATLAB for Android devices. The best we have right now is in the form of Addi, a free Android app that makes use of JMathLib to provide a very scaled-back MATLAB-like experience. Addi is the work of Corbin Champion, an android developer from Portland in the US, and he has much bigger plans for the future.
Full Octave/GNUPlot on Android with no caveats
Corbin is working on a full Octave and GNUPlot* port for Android. He has already included a proof of concept in the latest release of Addi which includes an experimental Octave interpreter. To go from this proof of concept to a fully developed Android port, however, is going to take a lot of work. Corbin is up to the task but he would like our help.
[* – GNUPLot is used as the plotting engine for Octave and includes support for advanced 3D graphics]
Donate as little as $1 to help make this project possible
Corbin has launched a Kickstarter project in order to try to obtain funding for this project. He freely admits that he’ll do the work whether or not it gets funded but will be able to devote much more of his time to the project if the funding request is successful. After all, we all need to eat, even great sotware developers.
Although I have never met him, I believe in Corbin and strongly believe that he will deliver on his promise. So much so that I have pledged $100 to the project out of my own pocket.
If, like me, you want to see a well-developed and supported version of Octave on Android then watch the video below and then head over to Corbin’s kickstarter page to get the full details of his proposal. The minimum donation is only $1 and your money will only be taken if the full funding requirement is met.
Update (16th May 2012): The project (and this post) made it to Slashdot :)
Awesome – in for $50, thanks! -David
Thanks David :)
Typo: s/He feely admits/He freely admits/
Good luck with the project — having Octave on Android would be a great way for everyone to have a graphing calculator in their pocket (and to be fair, my phone is so much sleeker than my TI… :-)
Thanks Qubit..typo fixed :)
As for TI calculators…they are the subject of a whole other rant :)
http://www.walkingrandomly.com/?p=3418
Wouldn’t this basically eliminate the need for such a port?
http://www.ubuntu.com/devices/android
No. The site says ‘So users get the Android they know on the move, but when they connect their phone to a monitor, mouse and keyboard, it becomes a PC.’
So, this port is for when you are on the move with no monitor, mouse and keyboard. Much of the work will be sorting the interface out.
If you’re running Plasma Active or any other Maemo/Meego/Mer derivative, you can just run Octave natively. I’ve had it running on my N900 for years.
That’s great, thanks for the info. Most people don’t have Plasma Active though (I don’t for instance).
Very nice article, Mike, although I’m not sure if it really was Dillon who thought the times they were a-changing. His job as Marshall of Dodge City probably didn’t allow enough time for writing folk anthems ;-)
Thank Jeremy..Typo fixed :)
@Ohad
Please note, the goal is not to get Octave, as there is many ways to achieve this. The goal is to get it onto Android and in the Google Play Store. The reason for this is to serve the largest audience with an excellent tool. Also, the goal is to get it to people in developing countries, where Android is being used in education. I want there to be no barrier to their use.
It’s really good news regarding android, I’ve gotten a relaxing reading what Octave developed for Android. If you want to know something about moulding machines
then you can visit : “www.supermaxautomation.com”
The commands run well on octave, using the terminal emulator, the graphs look good generated by droid plot. But: I can´t save the programs, I can´t load an .m program, I can´t save the graph generated, I can´t send to a paint-like app the graph generted. I´m using a Qbex 7″ tablet. Any advice?? Thanks a lot.
I think this project certainly would be a great change to engineering programming on tablets and smart phones . Thanks a lot and good luck!