New on Beta: IDE 1.47

Electric Imp Developers:

We have just updated the IDE Public Beta to v1.47, which is now available at https://beta-ide.electricimp.com/.

It includes the following improvements -

Release 1.47 continues the evolution of the IDE’s design. This release removes the Model Navigator from the left-hand column and adds the facilities it incorporated to the new, top-down, three-tier UI. This makes access to the IDE’s features and information more straightforward, and the UI better able to support the new features that are coming to the IDE.

The following notes will show you how to access the model and device lists previously found in the IDE’s Model Navigator.

Models

IDE 1.46 introduced the ‘Models’ tab. Selecting this tab presents a list of your models.

Devices

There are multiple ways to locate your devices.

The devices button (chip icon) in the Top Bar presents a list of your devices in the IDE Workspace:

A pop-up menu allows you to list all your devices, or just the assigned or unassigned ones.

The list can be sorted by clicking any of these columns: ‘Name/ID’, ‘Model’, ‘Owner’ and ‘Status’, and re-clicking the column name reverses the sort order.

The ‘Actions‘ column contains two icons: the first () takes you to an assigned device’s code, the second () invokes the ‘Device Settings’ panel for that device.

The Tab Bar device search panel, introduced in IDE 1.46, can also be used to locate a specific device and view the code it is running or its settings. Just enter the name or ID (or a fragment of either of those values) to search for a device or devices.

Code

Accessing a model’s code from either of the lists presented by the ‘Models’ tab or the devices button puts the IDE Workspace onto the familiar code view:

The devices already assigned to the model on view are now listed beneath the agent and device code panes:

Until a device is selected from this list, the Workspace remains in ‘model mode’ — the ‘Build’ button is displayed to upload updated model code to the impCloud™, and no log messages are presented in the panel to the right of the device list.

When a device is selected from the list, the log area displays the selected device’s most recent log messages as before. The ‘Build’ button becomes ‘Build and Run’, as before. The online status of the device and its agent are now indicated above the log, as is the agent’s URL.

Each device in the list is presented with the device’s owner, which may be useful if you are working on a shared account as its owner or a collaborator. To the right of each device’s name is a gearwheel icon () which when clicked pops up the ‘Device Settings’ panel.

If a device is selected from the code view list, the code view remains in device mode. To return to model model, ie. to see the ‘Build’ button not ‘Build and Run’, reselect the model from the ‘Models’ tab list. If you come to the code from the main devices list (ie. by first clicking the devices button in the Top Bar), the code view will already be in device mode.

Log in to the updated IDE here

I saw the email and had a quick look. It’s very good. Well done.

I notice that the Device and Agent online status is just above the development device logs. As these are now placed here, how about making a change where “Device” and “Agent” are clickable links, which when clicked will filter the logs for me. E.g. Click on “Agent” and only the [Agent] logs show, click on “Device” and only [Device] logs show. Thanks.

Overall very good!

It’s a bit more cumbersome to move 4 devices from one model to another. Would be helpful if sorting and filtering of models could be remembered.

Also, while accessing a models code, long device names in the device list down left are cut very short. More important to fit small screens, but perhaps the device names could have dynamic length beyond the current fixed size, if there is room on a particular screen size. Or the names could have an extra line.

Thanks.

Is there any way you can make the fonts used in the top half of the screen (menu’s / project title etc.) non-scalable as I like to use the windows 10 screen zoom (125%) in order to see my code better. I now lose a 3rd of my screen - see attached picture. If I zoomed in further it is even worse (@ 175% you lose half your screen).

The alternative is to allow me to set a bigger font for my code. At the moment you have a settings option for code, which is just “Tab Size” and “IDE Theme”. May be you could add this here (font size).

Edit… ok I now see that clicking on the Full Screen icon helps too :slight_smile:

Thanks for the feedbacks on the code editor.

We are working on some other exciting features which you will start to see next year, so we will have to put all the code editor improvement requests into the backlog.

  • Add filter by device or agent in log pane
  • Dynamic device name pane in the code editor
  • Configurable font size (we worked on this one but other items got higher priority)

@Thrmtht - we will have a better mechanism to move devices among models soon.

@Kenny - did you see some of the comments at https://discourse.electricimp.com/discussion/comment/24249/#Comment_24249?

Ditto on @deldrid1’s comment. The device ID is AWOL and needs to come back. I thought I’d found it on beta when I last looked but it’s definitely not there now.

@deldrid1 - I saw your comment but didn’t have a chance to address them.

Re: Missing DeviceID - I am not sure if we’re on the same page. Can you take a look at the attached image here, I highlighted the DeviceID currently shown on the code editor, could you see / use that? Or are we talking about a different page where DeviceID is needed?

That’s the device name, which defaults to the device ID. If you give the device a name, there’s then no way to find the device ID.

@Hugo @deldrid1 - got it, my bad I didn’t realize that was showing device name. We will update it.

@hugo @deldrid1 - can you help me to understand the use case so we can come up with the right solution?

  • you want to rename the “Device Name” back to its “Device ID” back at some point?
  • you want to reference it in the IDE using “Device ID” instead of “Device Name”? if that’s the case, can you rename it back to “Device ID”?
  • different use cases?

Thanks!

I have names for some of my devices, but when in doubt, having access to the device ID (aka MAC address) removes all ambiguity (and is something most of my physical devices are labeled with).

Is there a pain point in having it in the IDE where it used to be that I’m missing?

@kenny, it’s about having access to the device ID as well as the device name.

So, I would suggest adding a field ‘Device ID’ to the header panel right above the device log in code view, ie.

“Device: offline | Agent: offline | Agent URL: https://agent.electricimp.com/a1b2c3d4

becomes

“Device: offline | Agent: offline | Agent URL: https://agent.electricimp.com/a1b2c3d4 | Device ID: AbCdEdGh_12334”

@smittytone I like the suggestion.

Thanks @deldrid1. We understand the use case now, and @gerrikoio, the solution will look similar to what @smittytone suggested.

We will have that in IDE Beta sometimes soon.

Just out of curiosity if you click on the settings icon of device (bottom left of IDE screen) does this dialog not split out the device id and device name (see attached)

currently that displays the device name (see screenshot)

That was the reason why I raised the earlier question, it depends on the use case to determine where it makes the most sense to place the Device ID. Nonetheless, we will also update the “Device Settings” to also display DeviceID in addition to Device Name, but in later releases.

Our QA department just pointed out that Device ID is shown in the URL field when you have the device selected (see screenshot), so I would suggest this to be the workaround until we put in the latest update.

Aha. Thanks for clarification @kenny.

We have released a minor release to IDE Beta where the Device ID is now visible on top of the log panel.

The same change will be applied to IDE Public in a week.

Does “Build and Run” now apply to all devices using a model? Previously I think it only pushed the new code to the selected device?