Personal feedback list about mbed (0xc0170)

14 Sep 2013

Hello mbed users,

I have been finally using online compiler to publish my own libraries (most of them are offline at the moment though). I am going to add my findings, what I have encountered so far.

  • Imports counter - If I (owner) import own library, why does count increase?
  • How to import folder to a library? When a user wants to import, there are two options - program or library. There's no add folder with following files. I had to add program/library and moved files to created folder, manually.
  • How to update already a published library, a program? Let's assume my scenario : library has 23 files, I work mostly offline, changing 8 of them. Do I really have to download my already published lib and do diff offline to find out what I have changed and copy paste those files (if many changes) or just lines? What I attempted to do was to import all files again to new program, then moved to my published library (failed due to same naming). Consequently, I copied/pasted text to all library files which was time consuming. Am I missing something?
  • Will be split screen supported in the online compiler? Most of us have to switch between an interface and an implementation regularly, would be time-saving to have a split screen. What do you think?

Perhaps those I included, are not bugs at all and there are ways to do what I needed, any suggestions are welcome.

Regards,
0xc0170

14 Sep 2013

1. To make me feel better when no-one else uses the library :P. But yeah probably shouldn't increase

2. AFAIK a library = a folder which you can import and revisions are tracked seperately. But there is no restriction that a library for example needs .h and .cpp files. So I think you can just use a library for everything that you would want to use a folder for.

3. Probably because all those things were mainly intended to work together with the online compiler. Ideally I guess it would also be nice when you can directly download published libraries from the site if you are working offline, and also upload them directly again. And even nicer would probably be a plugin which does that for you.

14 Sep 2013

Hi Martin,

To address your questions:

1. Yes, it probably shouldn't increase for self-imports.

2. You can nest libraries - so you can simply put the entire library in your library which is automatically a folder.

3. We are now supporting external access to your published mercurial repository for selected users. This means that you can clone your repository offline to your PC, work on it, make commits, merges, etc, and then push it back to mbed. Let me know if you are interested in trialling this and I'll get you set up.

4. This is a good idea, not one which has really been brought up much before. I suspect it won't be trivial to implement so we will have to see what we can do about it.

Thanks,

Dan

14 Sep 2013

Hello Dan,

sorry, but I found few others. Here are my comments to previous list:

to 2: I want to import folders to my program (I don't see that option there, had to do it manually (moved all files from imported "unwanted option" library to a new folder).

to 3: However I haven't used mercurial, seems to have similar syntax than git. I'll go for it ! How can I update , let's say 20 files at the moment? What do users do? I hit a wall when I attempted to do it.

adding new ones: 5. If I import a library and I rename the default name (Import name), it does not work, it gets imported with the default one. Must rename it afterwards.

6. How to import a new file to the root directory of a program? It does not allow me to leave the Import name empty.

7. Why am I not able to import a library with not defining any New Program box. I have to fill out the New Program ???

Regards,
0xc0170

14 Sep 2013

Hi,

2: Not sure I understand what you are trying to do. When you say you want to import a folder, what do you mean precisely? Import a folder from where?

3: Yes, it is pretty much equivalent to git in function, and the syntax is straightforward. I will have to publish a guide on how to use it. As for updating 20 files, it would work exactly the same way as if you wanted to update 20 files on one of your github repositories. Just imagine that the mbed site is github. I will have to contact you directly for instructions on how to participate in the trial.

5: Sounds like a bug, I will raise it

6: Same as 5

7: A library cannot exist outside a program within the online IDE. Libraries do not normally compile or do anything useful without a program and a main.cpp, so this seems to make sense.

15 Sep 2013

to 2: Sorry to not explained it in details. I have a demo which has this structure: my_program - folder1 - folder2 main.cpp Folder1 and folder2 should be folders, not libraries. How to import files which are inside those folders? I did the following: imported files inside a folder 1, this step created a library inside my program, I manually created a folder and move all files there (this is a limitation I was talking about).

to 3: I meant that how do you update 20 files at the moment (without mercurial) ?What's the flow? I just copied the code inside each one and copy/paste. Do I have any other option without mercurial?

to 7: I understand then. I take this back.

Thank you Dan for your replies ;) I was having a hard time with the online compiler yesterday, it's quite intuitive but sometimes as I explained with my points, it's not that straightforward as I would expect.

-deleted-
15 Sep 2013

Hi Marin,

Converting a library to folder is as easy as right-clicking the folder and selecting "Convert to Folder". This effectively de-versions your library and turns it to a simple folder, which means you can no longer use separate versioning for it, though it is still versioned in the parent program (or library if the folder parent is a library).

to 2: If you are planning to import from your computer, then you can open the Import Wizard and switch to the "Upload" tab, where you can click "Add" to browse and select files from your local machine. Once ready with the files of your choice, just click "Import".

Alternatively when using Chrome, Firefox or Opera (basically every browser except Internet Explorer) you can open your OS file manager (Windows Explorer on Windows, Finder on Mac) and just drag and drop multiple files from your local machine directly over your workspace in the mbed IDE.

In both upload methods uploading a folder is not permitted due to browsers (and standards) limitations. If you wish to upload a folder or a whole structure of folders then just ZIP it and use either of the described upload methods above.

You can find detailed information on how to fine tune the import/upload process in the Import Code handbook page.

You can also watch the Introduction to the mbed Online Compiler video if you haven't already, which briefly covers the life cycle of a code - from revision control and publishing to distributed version control, collaboration and a lot more.

Cheers,
Mihail

-deleted-
15 Sep 2013

Hi again,

to 5: Just tried it on all major browsers, Chrome, FF, IE, Opera and Safari, and on all of them I got the import name changed as expected/specified.

Can you please give us the exact steps to reproduce this?
Thanks.

Mihail

15 Sep 2013

-deleted- wrote:

Hi again,

to 5: Just tried it on all major browsers, Chrome, FF, IE, Opera and Safari, and on all of them I got the import name changed as expected/specified.

Can you please give us the exact steps to reproduce this?
Thanks.

Mihail

I add main.h file to the import list, click on the Import button, the dialog pops up, I change the default import name to my_import_name (the left pic), then click on the Import button. The result is on the right picture. I tested this on FF (23.0.1) and Chrome (29.0.1547.66 m). I have approximately like 20 programs at the moment imported in my compiler.

/media/uploads/Kojto/mbed_import_01.jpg /media/uploads/Kojto/mbed_import_02.jpg

I don't know how could I help you more, write me a pm if required.

Thanks for you explanations ! I overlooked the "convert to folder" option. By the way, If it's easy to add an option to the Import dialog (besides Program and Library) to add as Folder, it could be useful.

-deleted-
16 Sep 2013

Hi Martin,

This is now fixed.

Thanks for the detailed bug report!

Cheers,
Mihail

16 Sep 2013

-deleted- wrote:

Hi Martin,

This is now fixed.

Thanks for the detailed bug report!

Cheers,
Mihail

Hello Mihail,

can you possibly check also my 1st and 6th on the list if those are bugs as well?

Regards,
0xc0170

11 Oct 2013

As Martin already mentioned the imports counter, I will post my question here instead of creating a new topic:
When we import programs or libraries containing dependencies, only the import counter of the root item is increased.
Why not also increase the import counter of the dependencies?