Compiler function dropdown

26 Oct 2012

Hi!

I have a suggestion for an improvement of the online compiler that could be really handy if using code files containing many functions.

In the VBA editor (press ALT-f11 in excel to enter it) they have a drop-down menu (see screenshot) from which you can jump to any function defined in the current code file (known as module in VBA). This would be really handy to have also in the mbed compiler as it would reduce the time it takes to find a function that you want to edit.

- Axel

/media/uploads/akohonen/vbaeditor-functiondropdownsmall.png

-deleted-
26 Oct 2012

Hi,

Thank you for the detailed suggestion!

We are already working on several Editor enhancements related to code inspection, code suggestions (methods, functions, enums, typedefs etc) and multipurpose code processing.

JavaScript is simply slow compared to native desktop/tablet and Java-based applications, and even though very recently some browsers introduced JIT-like solutions for their JavaScript engines (google IonMonkey, Chrome V8, Safari Nitro), it's not a straightforward process to deliver handful solutions like the one you suggested. Also, one cannot use process management, threading/forking for background tasks, which is another great minus.

The major reason to be cautious about the introduction of code editing features in the Editor is the user experience - which is our top priority.
We are not parading around the fact that the Editor runs on the ancient Internet Explorer 6, and in the same time it does on the latest WebKit touch enabled browsers for Android/iPad, and that compatibility comes at a the price of utilizing only the common functionality that would work great on all platforms and deliver consistent user experience.

Rich text-processing features require significant amount of CPU power and if the user's platform cannot achieve the minimum for a particular editing functionality, that would cause micro-freezes. Imagine how irritating it would be if the Editor freezes in little hiccups, interrupting your mind flow and even causing typo errors as you are in creativity cycle of making a neat feature come to life. It might not happen to you in particular because of your PC spec, but it might for others, and we are doing our best to make sure the experience is consistent for all mbed users.

New Editor features have the potential to affect every single keystroke of every single mbed user, thus the feature you suggested might use a workaround through server side processing on user request (e.g. refresh button next to the dropdown), rather than updating the dropdown contents live as one is editing. That might not be as interactive as the VBA but it would do the job and it would work for everyone despite their platform spec.

Thanks again for your suggestion, I'll file it to our dev team and let you know if/when it gets approved.

Mihail

26 Oct 2012

Thank you for the detailed description, which makes very much sense, and for filing the suggestion to the dev team!

A solution working with refreshing of the page would probably work well as the dropdown does not need to be updated very often. In that case I would suggest a partial refresh however (if possible) as one has to open the code files that were open previously otherwise and that could be rather annoying.

-Axel