whether it's more efficient to stay in sync with the Processing project.

I think there is mileage in staying in line with Processing. I definitely see benefits to being able to point new programmers to it, and being able to say that it looks and works basically the same as the Arduino IDE, and the language is fairly similar too.

Of course, if we could persuade the Processing team to bring some of the useful features mentioned here to their IDE, then filter them across to Arduino, we could all benefit.

Two things i would like to see:1) the board and port settings stored kept individually to the ide window and stored with the sketch.2) a list of recently used sketches on the file menuOh, and3) the hex file kept in the sketch folder.

I've got more of my prototype running now. The working name is "Arduino X". See the attached screenshot. Note that this is definitely *not* what it will look like beyond the basic layout. This is just a test to prove I can properly style the text editor. Notice the line numbers on the left side and syntax highlighting in the editor. Keywords and comments are rendered differently than other strings. This is all done with the JSyntaxPane project. I'm also using a custom font (Ubuntu's monospace font). Now that I've proven we can style it we can start deciding what the default style(s) should actually look like. Which font, color scheme, etc.

In terms of functionality the prototype can now successfully compile the Blink example.

What other features would you like? It seems there is a strong desire to have settings saved on a per-sketch basis. What settings should be like that? Font size? Window location? USB port?

Yes, the first left one in a loop could be say green, and the very last one the same.

Then the second one could be blue, and its matching one blue, etc etc even if they are nested within other pairs.

At the moment we can only highlight one pair at a time, this way they could all show up at once, with their partner.

There could only be so many colours, but they can start repeating the sequence, I think it would be clear which is which partner.

When you want those colors on curly braces? I think if they are colored all the time, every sketch will look like a xmas tree adding noise and visual complexity. If is only on selection, makes sense. Same with parentheses

Yes , it would need to be deselected when not needed, as it would look like a Xmas tree, which is what I think would show which goes with which.

Or another way of showing the pairs, is to be able to select a way to have each pair a greater indent from the left margin ( and the text within them )I sometimes do this anyway, so that I can see each section, you would have to be able to return to normal .....

Just because it is pretty nice to visually match curly braces as you want, your example for me seem extremelly confusing at first glance. The only problem is if the function is very long, you lose the "tab" position reference. At least in Visual Studio (I guess those guys do lots of usability test) the matching brace gets highlighted and when you type "}" the indentation is fixed.

Most (all?) IDEs have some form of match ({[ function. Normally just place the cursor on one and it highlights the matching one. Sometimes you ^B (for example) to move the cursor to its match.

However it's done it's a very useful feature.

EDIT: We all have a preferred method when it comes to {}, it's not the job of an IDE to enforce that, or even help probably. If you use TABs properly the indentation is easy to follow. An editor that handles block in/outdenting makes life a lot easier in this regard.

Now of course, despite the indenting, digitalWrite() gets called regardless of the "if" result. This can be difficult to spot because your brain "reads the indenting" and skips over the fact that the two lines are not in a code block.