Thursday, July 25, 2013

Roadmap for Simulator for Arduino

The other day, we received an email asking for a Roadmap. Well, there was a plan from the start and while the plan didn't quite .. well go to plan, the feedback has been encouraging.

Simulator for Arduino was originally started to fill a gap. Arduino is a great development platform and cuts the time to development down to ridiculous levels. As an example, we recently purchased a gyro from Pololu and expected it to take at least four hours to figure out. Well there were four wires to be connected using a breadboard and an example sketch to be downloaded. 30 minutes later or less, there was the Gyro spitting out values to the Serial monitor. And we also used it to break code protection an a code protected micro - that took a bit longer - around a day and a bit. But while using the Arduino kit, it seemed strange that there was no real Simulator or development tool. We can understand that building an Emulator is not trivial but a Simulator should be possible. Well, there were lots of Simulators out there but most were half day weekend projects and didn;t really work. Just download the zip file , compile and so on. The compile word really gets me - if someone writes a program just distribute the .exe file not the source code. No-one wants to compile a program - it should just run. I guess this is the ugly side of open source.

Anyway, the plan from the start was to get 10k purchased licences in the first year and while that didn't quite happen, we did manage almost 15% of that so not a complete fail. One of the problems is the current high level of pessimism and the unwillingness to spend money. Well, there may be a lot of horror stories in the news but in perspective, things really have never been better overall. Companies which are willing to spend like Apple have really done extremely well, and anyone willing to take a chance stands to make it big. Anyway, currently we have 2257 paid Professional licences and when we reach 2500, we will bump the price up to $15.

And for the future. Well, we plan to do one release every two months for the rest of the the year, and then maybe one every three months next year. With the Simulator, there are so many features and options to add, it is just a matter of time and priority. Anyway, here is the priority list:

  • Keep getting the bugs out and do a release every two months
  • Get to 2500 Pro Licences and do a new YouTube video
  • get the Cross Platform program working - this means a major rewrite of top-level code
  • Add in scale and rotate for the Arduino board picture
  • Add in a RAM memory map pointers
  • Add in automatic error testing - probably try unit testing
  • Improve help
  • Really get the classes and custom libraries working
  • Try to setup an automatic error log using Indy?
  • Get more outside professional help
  • Get an iPhone app going - not sure about the level of difficulty here but x-platform compiler support iPhone/Android
  • Improve the Logic Analyser
  • Improve the Serial Logger to have multiple traces
  • Retire when all the bugs are squashed.
With all this, there is a dependency that no-one writes a super A-grade professional Simulator for Arduino. At this stage, we are competing with Virtual Bread Board which sells for much more and Visual Micro which we haven't had a look at. Codeblocks for Arduino seems to work well but only has a very limited Serial monitor output so it not really a contender. The iPhone and iPad apps are all laughable - we tried adding a line int i =10; and the iPad app crashed. The iPhone app is just a training video and you can't do much with it. Anyway, while we get good feedback we will keep going forward. We do have the odd annoyed user so we do our best to help and we ask for positive criticism - if you don't like something, tell us what, why and how you would fix it. Our mantra at the moment is constant improvement and we are very careful to try not to break any code when doing changes. Hopefully, everyone has forgotten the recent howlers like the break instruction not working. Happy simulating.