Support for XML and MWEditor

Hi Chris,

I hope all is well!

In chatting with my lab, I understand that there are plans to eliminate xml and the editor in the next release - is that correct? If so, what is the rationale?

Everything we’ve done has been built on this, and so if true, it would be an unfortunate burden for my group.

Thanks!

Nicole

Hi Nicole,

In chatting with my lab, I understand that there are plans to eliminate xml and the editor in the next release - is that correct? If so, what is the rationale?

This is only partially correct.

XML-based experiments are and will remain fully supported. Any XML experiment files you have will continue to load and run, without modification, in the current release of MWorks and all subsequent releases. I have no plans to change that.

However, MWEditor is indeed gone. It was removed from the MWorks nightly build just over two years ago, and it was not included in MWorks 0.10, which was released last September.

The rationale behind the editor’s removal is pretty straightforward: It was difficult to use, almost universally reviled, and, as a result, had been only barely maintained for many years. Rather than use MWEditor, most MWorks users opted to edit their XML files manually in a text editor. If you’ve ever done this, you know how awkward and unwieldy it is to read or write XML by hand. The fact that folks overwhelmingly preferred this approach says a lot about how poorly MWEditor served most users’ needs.

That said, I wouldn’t have removed MWEditor without providing a better alternative. That alternative is MWEL, which was first released in MWorks 0.8. Like the docs say, MWEL was designed to be read and written in a text editor and is optimized for conciseness and clarity. At run time, MWEL-based experiments are converted into traditional MWorks XML, which is then parsed and loaded exactly the same way as XML-based experiments. (This is one of the reasons why XML support isn’t going away.)

If you’re not yet familiar with MWEL, I’d definitely encourage you to check it out. In addition to the docs, I recommend looking at the current RSPV demo experiment, which is written in MWEL. In addition to its readability, MWEL supports many features that XML-based experiments don’t. In particular, macros and file inclusion are very powerful tools for reusing code and structuring your experiments in sensible, maintainable ways. There’s even a tool for automatically converting XML-based experiments to MWEL, which makes it much easier to transition existing experiments to MWEL. (But just to reiterate, this is not required. Your existing XML-based experiments still load and run just fine as is.)

I hope this info addresses your concerns. As always, if you have any additional questions or feedback for me, please don’t hesitate to ask/share!

Cheers,
Chris

Hi Chris,

This all sounds great - thank you for the thoughtfulness, and the clarification!

All my best,

Nicole