Mbed Studio doesn’t seem to have changed very much over the past year. Small bits of functionality added, yes, but there are some pretty serious usability issues that haven’t changed in ages.
I’m trying it out again now, and some of it is extremely confusing and user-unfriendly, with very poor discoverability of features. I won’t list them in this post - later, perhaps - but they suggest to me that ARM has turned its attention away from Studio recently.
All my feedback will be constructive. The nature of my enquiry is this: Studio has been in beta for a very long time, and basic shortcomings with the UI still haven’t been addressed. So is it genuinely worth generating a long list of suggested improvements? Are you still willing to make significant changes to the UI? Or are you mostly in the maintenance phase of Studio now, where you make small changes to Studio in response to new boards coming along, etc.
An honest answer would be really appreciated - I genuinely want to invest my time and effort in Mbed, but Studio feels awfully unfinished to me and if it’s going to stay that way I’ll have to think again.
If proactive development really is continuing, then I’d be willing to put some work in to offering a range of suggestions.
We will review your feedback and add it to our backlog.
Of course we are willing to make changes to the UI, so suggestions are welcome.
Ultimately, we will make UI decisions based on what works for the majority of our testers (you’ll often see polls pop up on the Mbed website to test new functionality, and we have a beta tester program).
I would disagree on this. It does seem that they’re changing things, and fixing various bugs. I pretty regularly get notifications to upgrade Mbed Studio. It looks like they just recently added a Linux port of Mbed Studio.
The main improvements that I’d like to see, IMHO, is better debugging support (both in terms of board support as well as reliability) for e.g. the STM32H7.
I acknowledge what you say, but this sort of activity is typical of software in its maintenance phase, as I say. It looks to me like the big stuff, like the UI and basic functionality, are now pretty much set in stone.
It’s such a shame - I can’t remember using any other software with such a poor UI. It breaks every convention of Windows UI design, and I rather think of Linux UI design, as well. Presumably its using a so-called cross-platform UI suite. It never really works well.
I realise this is to allow easy porting to other platforms (Apple and now Linux), but there are other ways of doing this that are much better - see for example the outstanding RemObjects suite:
Of course, it’s possible to learn any UI if you put the effort in, but stuff like this puts off people like me who are very familiar with Visual Studio (for example), and find Mbed Studio obscure, unintuitive and clunky.
Even some of the basics are badly broken. Every program you create in your workspace takes up well over 1GB on the disk! Even Blinky! This is because the entire library is included with every program. So 99% of the code in each program space is identical to that in every other space. This really isn’t good and it’s the reason they default the workspace to directly under your username, because they know it would overwhelm most backup and sync engines if they put it under ‘Documents’ where it logically should be.
This latter point, in fact, is why I’ve decided to uninstall Mbed Studio - I want to back up the programs I develop, but not at the cost of 1GB for each.
I don’t want to seem unkind to the folks developing it, but I feel I should give honest feedback.
My understanding is that Mbed Studio is based off of Eclipse Theia. As a result, I’ve kind of assumed that any UI changes would be coming from the “core” Theia team, as opposed to Mbed Studio developers.
As for bloat – if it uses Electron as its runtime, all bets are off . Keeping a complete copy of the Mbed OS source happens in Mbed CLI as well. For me, this layout has been helpful, as I’ve found myself modifying some of the OS code for my project.
I’ve been reading about Eclipse Theia since your last post, Dan. In truth I don’t know how much ARM have modified the basic code and it’s probably too much trouble to investigate, as I’m pretty sure I won’t be able to make enough of a case to encourage further polishing.
I accept that it probably isn’t necessary. Products like Mbed Studio are used primarily by geeks and nerds, who are highly tolerant of obscure and unintuitive UIs! I’m in the minority for wanting to actually enjoy using my daily tools, and I like using well-crafted ones even though the more clunky ones like Mbed Studio do exactly the same job in the end.
I’ve uninstalled Mbed Studio now, not only because I don’t enjoy using it but also because of the 1GB-per-program thing I mentioned above, and have now gone back to the online compiler. However, I’ve applied to join the online Studio beta, and am really looking forward to trying it.
Thank you. We are always open to honest feedback and ideas for improvements and/or new functionalities. Let me provide a little bit more information:
1 GB size of the program. We understand how problematic it is for many users. As @faydrus correctly pointed out this is not specific to Mbed Studio. The Mbed build system is currently designed to use a full copy of Mbed OS for each program. This issue was reported to us by many users. We are working together with other teams to improve this behavior.
That is correct. Mbed Studio is built on Theia IDE. Our team is primarily focusing on adding functionality specific to development using Mbed. At the same time, we are also actively contributing to the Theia project.
As @JoeA mentioned we are always open to feedback about Mbed Studio UI and User Experience. We often ask users about the feedback for particular functionalities both before and during a development life cycle.
Apologies if new functionalities are not coming as fast as it used to in the past. We are actively working on improving Mbed Studio. The team was busy with a few big tasks that are difficult to see until they are fully completed. Including already mentioned: browser version of Mbed Studio and first Linux release of Mbed Studio on desktop. The upcoming version of Studio on a desktop will also have many changes and new functionalities. I’ve already mentioned a few of them on other forum threads.
From what I understand most of the “bloat” comes from the extensive git history pulled down with each clone of the mbed-os repository.
Perhaps the default could be to clone the mbed-os repository with a command like: git clone --depth 1 to remove the bloat of the repo history.
The one caveat would be that if the user makes a change to mbed-os they can’t directly contribute it back. They’d have to clone the full history to make changes AFAIK.
I would love Mbed Studio to be good enough to switch too. I’m sick of the eye-bleedingly-mid-2000’s UI I am still stuck with in regular Eclipse. Eclipse has a lot of features and I know where they are. If Mbed Studio had the same feature set I would be willing to spend time learning the new UI so I can step into modern day.
This is not currently the case. As with Git’s GUI-based version, I find it easier to just do things with full control through the command line than to fiddle with buttons when doing advanced operations.
Hopefully when Mbed’s tooling is reworked Studio will be able to more clearly present all the options available through the command line.
Thank you for the feedback. Let me provide a few answers for issues raised:
git clone --depth 1 - We investigated it in the past. We found this option not to be flexible enough so instead decided to go with a different approach. We accelerated our work on a shared version of Mbed OS. We are planning to allow to share Mbed OS across multiple programs in the workspace. This additional option during program import should allow to greatly reduce the size of the workspace.
We have also a long term solution in mind that will greatly decrease the size of Mbed OS and reduce the compilation time of programs. We are still investigating it and making sure that tools fully support it.