Interest in overhauling the IDE user interface?

Its a shame the STM8S didn't have a user group like Arduino.

Oh yes; there are any number of pieces of hardware that theoretically had very similar features to Arduino, and trying to figure out why they failed to get much of a following, while arduino DID, is quite philosophically challenging. One supposes that despite the complaints on various fronts, the Arduino folk must be doing something right.

Perhaps it was the quaint offpitch terminals pins that swung it :slight_smile: , whatever it was it got me out of 40 years of designing with 4000 series logic !

I still havn't got onto v1 yet, too put off by changes to libraries that I dont understand..

Boffin1:
What bugs me is the "Screen of Custard " when trying to select a couple of lines of text :frowning:

...

I've got the same frustration. It's an IDE problem. I don't have it with any other program under Windows 7.

I've got another update to the project. For now it is named ArduinoX (I'm guessing 'arduino' is trademarked so we can't use that in the final IDE name).

Code is moved to github and split into two projects.

ArduinoCompile is a small standalone lib which does the actual code assembly, compilation, and downloading to hardware.

ArduinoX is the new IDE

The newest version doesn't look too much different other than the dropdown to select a serial port. The serial port list is filtered (on Mac) to remove duplicates. You can also choose to remove extraneous ports that will never be used like the Bluetooth modem. If there is only one port left (the common case) then it will automatically be chosen. The serial port setting is saved on a per-sketch basis in a settings.properties file.

Other improvements include:

  • new sketch action
  • dirty buffer checking to warn you if you quit with unsaved files
  • Window menu works correctly, listing all of the open sketches you have

At this point is it time to move discussion to one of the other forums instead of the "Suggestions for Arduino Project" category? :slight_smile:

I also had another fun idea. It's common to use an arduino as a way to get sensor data on to a computer, at least in the initial stages of a project. Would it be useful to have an easy to use graphing system in the IDE so you can monitor the values of the sensors you have hooked up, and then save to CSV file for later? This wouldn't replace standalone tools but would get you going faster.

"Would it be useful to have an easy to use graphing system in the IDE so you can monitor the values of the sensors you have hooked up, and then save to CSV file for later?"

I think this does that. Or at least part of that. Maybe use as a starting point.

http://www.negtronics.com/simplot

@crossroads
Thanks for this link. Looks like something I wanted to know about earlier :slight_smile:
Best regards
Jantje

Didn't read through all since im in a hurry, but something that i really think is lacking in the IDE is to save the project file separate from the source file(s).
When im writing a big project with classes and stuff, i want to have the code neatly organized in different files which are all referenced when i load the project file.
That way other stuff could be saved in the project file too, like the board version and compilation options, without affecting the source files.

Hey Josh,

I'm actually a UI designer who got into creative coding and inevitably into hardware stuff, so the IDE kind of drove me crazy after being used to a lot of designer designed UIs. I actually have dug around on the IDE files and managed to hack into a few things. I did a writeup today here: http://hellowoo.com/arduino/dark-ui-theme-syntax-highlighting/ since it was generating some interest and also have a thread going here: http://arduino.cc/forum/index.php/topic,120268.0.html feel free to add to it or poke the developers for some suggestions :slight_smile: maybe they will implement some of the changes.

I have managed to do a few things like: smooth fonts, change UI colors and Icons, change the syntax highlighting. It would be nice to have a tool writing in something like processing that would allow to write to the file I edited so edits could be seen easier too. Still a lot to be desired, but its a start.

As a side note, read up on your arduino IDE project, and if you need design, hit me up. I would love to help.

I use ino and Sublime Text 2. They are a match made in heaven. Sublime's awesomeness and a simple "ino build && ino upload" to the command prompt.

I use Martin Oldfield's make files and Emacs for the same effect. One of the nice things you can do in Emacs is type M-x compile, and it executes the makefile automatically and displays the output in a separate window. Clicking on any compiler error message with a file name and line number will take you to that file and line number, opening a new window if required.

There's also an emacs plug-in for Arduino .ino/.pde files, that is basically a tweaked version of the C/C++ plug-in so you get all the syntax highlighting, automatic indentation, brace/bracket/parenthesis matching etc.

Mind you, I think Emacs has been doing all this stuff for at least the last 25 years or so, so it's hardly revolutionary, lol. You can also use the gdb debugger seamlessly in Emacs, of course, so if there is ever Arduino support for that, you would actually have something resembling a real IDE.

In the meantime, Emacs + make does OK. Best thing of all is that it bypasses completely the buggy Arduino IDE "Arduno language to C++" preprocessor, or whatever they call it, lol. I assume you would also get that advantage using the "inotool" build scripts.

I love the look. Did you do a new syntax highlighting scheme as well? What I have working in my new IDE so far is functional and fast, but ugly as sin. I could really use some help on the visuals side.

If you are interested I'm doing a private alpha release this weekend. Send me an email at joshua@marinacci.org if you want in. Thanks!

  • Josh

hilukasz:

[quote author=Josh Marinacci link=topic=120882.msg910281#msg910281 date=1346435084]
I love that there are professional quality alternative IDEs but that is no reason to let the main Arduino developer tool atrophy. We are talking about the first thing that a new user experiences. It should be as good as possible.

I suggest a two phased approach. First, implement a bunch of small fixes and improvements that increase usability without fundamentally adding anything new. Things like:

  • Smooth fonts
  • Resize fonts with a shortcut (cmd+ and cmd- usually)
  • Match native key bindings. Right now certain keybindings are available in native apps that aren't there in the IDE. Ctrl-A for start of line, for example. (on Mac)
  • Serial port names. When the IDE asks you for the serial port of your Arduino it gives you a list of names that contain no useful information. There must be some way to fix this. Perhaps if there is only one serial port attached we don't even ask you, just assume the default.
  • Add a "Window" menu showing the currently open windows
  • line numbers in the gutter
  • a selection of nice alternative color themes
  • make the toolbar look nicer (new colors? gradients?)
  • switch to nicer icons from the Noun project.
  • make the serial port dock-able with the main window
  • support fullscreen mode on OSes that support such a concept.

The second phase would tackle deeper issues

  • syntax highlighting and code completion
  • a sidebar with inline help for the language reference
  • a sidebar with docs on each library you have imported into your project
  • a way to discover and add new libraries from within your IDE. Perhaps a repo of common arduino libs?

thoughts?

  • Josh

Hey Josh,

I'm actually a UI designer who got into creative coding and inevitably into hardware stuff, so the IDE kind of drove me crazy after being used to a lot of designer designed UIs. I actually have dug around on the IDE files and managed to hack into a few things. I did a writeup today here: http://hellowoo.com/arduino/dark-ui-theme-syntax-highlighting/ since it was generating some interest and also have a thread going here: http://arduino.cc/forum/index.php/topic,120268.0.html feel free to add to it or poke the developers for some suggestions :slight_smile: maybe they will implement some of the changes.

I have managed to do a few things like: smooth fonts, change UI colors and Icons, change the syntax highlighting. It would be nice to have a tool writing in something like processing that would allow to write to the file I edited so edits could be seen easier too. Still a lot to be desired, but its a start.

As a side note, read up on your arduino IDE project, and if you need design, hit me up. I would love to help.
[/quote]

I downloaded a Sublime Text plugin to use with Arduino lang although is very bugged. Would you mind to make a small tut with inotool?

Thanks a lot.

I dont know if this was included in ideas about the port, but I have 2 Arduinos on the bench at the moment, trying an IR link.

I have 2 IDE windows open, one for the Tx and one for the Rx.

Whenever I make a change to either, I have to remember to check to see which port is open or I sometimes write Tx data into the Rx and vice versa.

If the port would switch to whatever port was last used when you activate each window it would save a lot of hassle.

I'm attaching the serial port panel to the code editor window so there is neve any doubt about which port goes with which sketch. This makes it easy to use two ports at once.

That will be great

I've overhauled the build system and set up a server to make the builds repeatable. That means we now have a Windows version as well as Mac. Here's the zip:

http://hudson.joshy.org:9001/job/ArduinoX/lastSuccessfulBuild/artifact/dist/ArduinoX-win.zip

Just unzip it and run the EXE. It has Java and the compiler bundled with it. It runs on Windows 8. It should run on older versions of Windows down to XP, but I haven't actually tried them yet since I'm using Win8 for my job.

This build only has support for a few devices and examples, but it's easy to add more. Please try it out and tell me what bugs/features you want next.

Thanks.
Josh

seems nice, one thing that bugged me was hitting enter did not move the cursor to the new line

Could you clarify? I don't understand what you mean.

Osgeld:
seems nice, one thing that bugged me was hitting enter did not move the cursor to the new line

at the end of a line I would hit enter, a new line would be made but the cursor stayed at the end of the old line

Osgeld:
at the end of a line I would hit enter, a new line would be made but the cursor stayed at the end of the old line

I've just pushed out a new build which should fix this and a few other issues.