Arduino Forum

Development => Suggestions for the Arduino Project => Topic started by: joshmarinacci on Aug 31, 2012, 07:45 am

Title: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Aug 31, 2012, 07:45 am
Is there any interest and / or plans to overhaul the user interface of the GUI?  While it is simple it feels very dated and could be far more user friendly.

I am new to Arduino and hardware hacking, but I am a UI expert and worked on the Swing team at Sun for five years (the IDE is written in Java Swing).  I would love to help out on such a project.

Thanks,
  Josh
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Aug 31, 2012, 11:11 am

Is there any interest and / or plans to overhaul the user interface of the GUI?  While it is simple it feels very dated and could be far more user friendly.

I am new to Arduino and hardware hacking, but I am a UI expert and worked on the Swing team at Sun for five years (the IDE is written in Java Swing).  I would love to help out on such a project.

Thanks,
  Josh


What ideas do you have?
Title: Re: Interest in overhauling the IDE user interface?
Post by: Jantje on Aug 31, 2012, 11:47 am
Josh
There are already quite some alternatives for the IDE.
There are mods which extend the IDE's functionality (I'm not so knowledgeable about these)
There are other tools which provide the Arduino IDE functionality and more. For instance eclipse plugin, avr studio, visual studio plugin,...

So instead of starting a new initiative I would advice you to look at the current initiatives and help those out. I'm sure they can use a good programmer (I'm sure I can) This is probably the best place to start looking at what is available http://arduino.cc/playground/Main/DevelopmentTools (http://arduino.cc/playground/Main/DevelopmentTools)

Best regards
Jantje

PS As I'm developing the eclipse plugin, I discussed the "IDE's next to Arduino" last week with David Cuartielles who told me he directed his students to eclipse . :) A really nice way to flatter someone  8)
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Aug 31, 2012, 07:44 pm
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
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Aug 31, 2012, 07:56 pm
I agree with everything, maybe not interested in new color themes and Window menu.

Code completion += intellisense would be excelent, a small popup with info and some refactoring tools, like rename a var.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Jantje on Aug 31, 2012, 08:47 pm
Josh
sounds like great improvements really focused on the beginners experience. I wish you lots of success.
Best regards
Jantje
Title: Re: Interest in overhauling the IDE user interface?
Post by: Louis Davis on Aug 31, 2012, 09:23 pm
Josh,

You may be interested in taking a look at some of the previous discussions on the developers mailing list.

Several of your suggestions have been requested and discussed in various forums.

Here is a recent example of the direction the developers are headed: http://arduino.cc/pipermail/developers_arduino.cc/2012-June/006789.html
Title: Re: Interest in overhauling the IDE user interface?
Post by: dxw00d on Sep 01, 2012, 10:29 am
Josh,

If you could come up with some real usability improvements, then I'd be all for it, but things like 'smooth fonts', 'resize font keys', and 'nicer looking icons/toolbar/colour scheme' are just fluff. The IDE is a tool to do a job. Code completion can be useful, as can syntax highlighting, so that's where I would start.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Joe1011010 on Sep 01, 2012, 03:58 pm
Quote
...IDE is written in Java Swing...


The IDE seems to be a mixture of AWT, Processing and Swing. There also seems to be people who are "doing their own thing". I suggest you look at http://code.google.com/p/arduino/ if you have not already, as this is where you find the existing issues list and the developers mailing list; archives of this list can be seen without logging in and is updated very soon after postings.

A major direction change seems to be suggested here: http://arduino.cc/pipermail/developers_arduino.cc/2012-August/007100.html

Stay interested :)
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 05, 2012, 04:38 am
Thanks for the feedback. I'm looking through existing issues to find ideas for improvements (which is where I found the request for a Windows menu).

Here is a first mockup of what it would look like.  Hopefully the icons make sense.  The right sidebar contains help so you can learn about the language, functions, and any installed libraries right from within the IDE.

(http://)
Title: Re: Interest in overhauling the IDE user interface?
Post by: Osgeld on Sep 05, 2012, 04:41 am
looks like a winner to me
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 05, 2012, 05:57 am
I seldom use the IDE but would be the first to agree that it has it's place, especially with a few enhancements.

Quote
Hopefully the icons make sense.

So the guy running is the fire escape for when your program crashes and burns?

I like having line numbers, this is brought up ALL the time and frankly having a single number at the bottom of the window somewhere doesn't cut it, so that's good.

The help has potential as well, as long as it finally has a proper list of return and variable types for all core functions at least (unlike the official reference pages).

One thing that really irks me and I've never heard mentioned is remembering the window size over invocations. Programs have been doing this for maybe 30 years and to have to resize the bloody window every time is very annoying.

As to what chance you have of getting this officially adopted, good luck with that :)

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: Osgeld on Sep 05, 2012, 06:41 am
does it really make any more since than arrows in different directs

right = compile up with a little dotted line means upload down with a little dotted line means save, that makes no since compile and save are local functions but have different icons, upload and save are external and internal but share icons

sorry I am a noob, wth? and where are the line numbers? heh
Title: Re: Interest in overhauling the IDE user interface?
Post by: westfw on Sep 05, 2012, 07:30 am
Quote
I am a UI expert and worked on the Swing team

Oh; an expert to grill...

Quote
* Match native key bindings.

Is there an easy way to do that?  I do miss it, but the way I read the descriptions of Swing (I am not at all a Java programmer, other than being able to write C code in Java), the rejection of the native UI behavior is considered a "feature."

The other thing that has frustrated me is the abstraction of the "Serial Monitor" window.  I was trying to figure out how to get it to support "cursor positioning" ala VT100, but the way I read the current code, it would be very difficult to do this.  It's too much a "text panel of arbitrary size" rather than the (more primitive) "screen with X/Y coordinates of each letter."  Is there an alternative feature more like a "screen" ?
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 05, 2012, 06:52 pm
What bugs me is the  "Screen of Custard "  when trying to select a couple of lines of text  :-(

Perhaps my mouse control isnt as good as it was :-)
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 06, 2012, 05:58 pm
I don't understand what you mean by 'screen of custard'.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 06, 2012, 06:24 pm
when you try and select just a line or two of text, and suddenly you get a load of yellow lines selected -  perhaps its one of my settings ?
Title: Re: Interest in overhauling the IDE user interface?
Post by: CrossRoads on Sep 06, 2012, 06:28 pm
Nah - just heavy-handednes on the mouse  :smiley-mr-green:
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 06, 2012, 06:56 pm
could you post a picture of what you mean? Is it just that text is hard to read with a yellow selection?
Title: Re: Interest in overhauling the IDE user interface?
Post by: CrossRoads on Sep 06, 2012, 06:58 pm
What he means is that's way too easy to highlight a whole lot of text when only a couple lines were desired.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 06, 2012, 07:27 pm
Yes, it my be my slow reactons, but ofen I end up with a whole yellow page...
Title: Re: Interest in overhauling the IDE user interface?
Post by: CrossRoads on Sep 06, 2012, 07:52 pm
Me too, its not just you. Can't have a twitchy hand.
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Sep 06, 2012, 09:50 pm

Me too, its not just you. Can't have a twitchy hand.


Ohhh I see the issue too! never noticed because I never select with the mouse. I will check if there is some delay I can add so selection is more precise.
Title: Re: Interest in overhauling the IDE user interface?
Post by: CrossRoads on Sep 06, 2012, 09:55 pm
I'm usually working at  home on my Sony Vaio laptop with touchpad, have learned to sort of roll a finger along vs trying to slide.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 06, 2012, 10:36 pm
Thats a relief that it wasnt just me imagining the custard screen :-)
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 11, 2012, 01:27 am
I'm digging into the Arduino IDE codebase now. It's not too complicated but it really seems like a mess. Basic compilation is done in a fairly convoluted way. There are a whole lot of references to compiling Java code.  Is there a reason for this? I'm guessing there is a lot of history in this codebase, so I'm weighing fixing it vs replacing it.  So far I have built a straightforward class that can successfully compile a sketch to a hex file. Adding support for alternate cores, multiple libs, and the other stuff should be fairly easy.

On the GUI, I've done some more prototyping. I'm trying to decide between using Swing or JavaFX.  JavaFX is the future of desktop Java and a lot prettier. Unfortunately it doesn't have a robust text editor, so doing things like Syntax Highlighting won't be possible for a while.  If I go with Swing then I can put something together very fast that will look decent, but it won't have access to the new JavaFX features.  In particular, it won't have access to the nice WebView.  I was really hoping to use the WebView for inline help / docs.  Thoughts? Does anyone care what it's written in?

- J
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 11, 2012, 02:35 am
Quote
WebView for inline help / docs

Does that mean you have to be online to get docs or can it get files locally?

I'm all for using the newer JavaFX if it's better but personally I hate being forced to go online for documentation.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 11, 2012, 03:36 am
The docs would be local still, but using HTML would give us very nice formatting.
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 11, 2012, 04:29 am
That's OK then.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: westfw on Sep 11, 2012, 05:32 am
Quote
There are a whole lot of references to compiling Java code.  Is there a reason for this?

This is because the Arduino IDE is based on "Processing" ( http://Processing.org ), a "simplified"  programming system for the desktop.  Processing has similar principles, but creates "mostly java" code, where Arduino (or "Wiring") generates mostly C++ code.  The pieces of the IDE that would have compiled and run the Java "sketches" of Processing are replaced with pieces that preprocess, compile, and upload, the avr-gcc code of Arduino.

PS: a questioned "to be answered" is whether modifications to the Arduino IDE will be accepted at all, or whether it's more efficient to stay in sync with the Processing project...
Title: Re: Interest in overhauling the IDE user interface?
Post by: dxw00d on Sep 11, 2012, 08:53 am
Quote
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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Sep 11, 2012, 09:06 am

The docs would be local still, but using HTML would give us very nice formatting.


Go with the newest UI, can't you use scintilla? I will love to have autocompletion and menus with brief tooltips as reference. Every amateur will also learn much quicker with that.

I can help you in the Windows version
Title: Re: Interest in overhauling the IDE user interface?
Post by: bill2009 on Sep 11, 2012, 09:49 am
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 menu
Oh, and
3) the hex file kept in the sketch folder.
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 11, 2012, 08:28 pm
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?

-j
Title: Re: Interest in overhauling the IDE user interface?
Post by: westfw on Sep 12, 2012, 02:38 am
Quote
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?

Board type and port selection are the big ones.  I hope no one changes font info on a per-sketch basis...
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 12, 2012, 02:42 am
+1

Global font selection is good though. As for window size/location, probably global for that as well but please put it in somewhere.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 12, 2012, 03:26 am
I would like to click an  option to let each pair of curly braces be a different colour ?



Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 12, 2012, 05:20 am
Could you be more specific on the curly braces? You mean that braces are a different color than other text, or that each pair of braces is another color. Perhaps deeply nested braces are darker?

-j
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 12, 2012, 07:13 am
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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Sep 12, 2012, 08:02 am

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
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 12, 2012, 08:11 am
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 .....


void loop ()
{
if ( cost > x )
   { serialPrint ( cost );  if ( cost > 2x )
       {  digitalWrite ( ledPin, HIGH );
       }
    }
}
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Sep 12, 2012, 09:54 am
I know some people like (not sure why, maybe they get used to this using green-terminal displays with few rows of text)
Code: [Select]
function( ) {
}


But I like:
Code: [Select]
void loop ()
{
 if ( cost > x )
 {
   serialPrint ( cost );  
   
   if ( cost > 2x )
     digitalWrite ( ledPin, HIGH );
 }
}


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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 12, 2012, 09:56 am
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.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 12, 2012, 10:09 am
Quote
But I like:



Code: [Select]
void loop ()
{
  if ( cost > x )
  {
    serialPrint ( cost ); 
   
    if ( cost > 2x )
      digitalWrite ( ledPin, HIGH );
  }



Shouldnt there be another pair of curly braces after the 2x ?
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 12, 2012, 10:58 am
If you are referring to this

Code: [Select]
if ( cost > 2x )
      digitalWrite ( ledPin, HIGH );


Then no, braces are not required. They are however highly recommended as leaving them out can lead to subtle bugs later. For example you add a line of code.

Code: [Select]

if ( cost > 2x )
      x++;
      digitalWrite ( ledPin, HIGH );


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.

Another example

Code: [Select]

#define INC_STUFF   x++; y++;

if ( cost > 2x )
      INC_STUFF;


x++  is conditional, y++ is not.

This is bad coding on two fronts, the {} we're talking about and having a non-atomic #define.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Sep 12, 2012, 11:03 am
I usually don't use them in that case, it is visually pleasant for me. I am pretty strict with my code style. If there is a multiline else below I add the braces to make the code look balanced.

Of course what graynomad says is true, C can drive to convoluted stuff like the define thing, but I am 'porting' my C# style when I use arduino IDE and not viceversa.
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 12, 2012, 11:12 am
Quote
I usually don't use them in that case,

I confess that I don't a lot as well, but I'm trying to raise my game in regards to following some of these rules :)

In this example I think

Code: [Select]
if (cost > 2x)  digitalWrite(ledPin, HIGH);

Is neater, and allows you to see more code at a time on the screen. If you add another line you move them down and put them in {}.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 12, 2012, 12:02 pm
  .... and the more I find out,  the less I know .... :-)

but I am enjoying the learning !
Title: Re: Interest in overhauling the IDE user interface?
Post by: Jantje on Sep 12, 2012, 02:41 pm
For those interested
In my experiance the java style is:
Code: [Select]
if() {
  code;
  }
else {
  more code
  }


old C school style goes like (or was it pascal?)
Code: [Select]
if()
  {
    code;
  }
else
  {
    more code;
  }

the most dangerous bug I ever had with not using {} when having a single line is

Code: [Select]
#ifdef DEBUG
#define TraceLocation Serial.print("I'm here");
#endif

if()
  TraceLocation
Will_only_be_executed_in_debug();


A good IDE allows you to tune the formatter to how you like it.
In most of the error examples in the above discussion the formatter will give visual clues that something is wrong.
I use eclipse and  formatter works fine for me. The only annoying thing is that you have to select your formatting settings with each and every workspace.
Best regards
Jantje
Title: Re: Interest in overhauling the IDE user interface?
Post by: pico on Sep 12, 2012, 04:59 pm
"Old school" C (aka K&R)

Code: [Select]

if (boolean expression) {
 code;
 code;
}
else {
 code;
 code;
 code;
}


I've always used this, and like it visually because the closing braces line up with the opening "if". Saves lines, too.

I also like

Code: [Select]

if (bool exp) code;


because it saves lines (you see more on the screen at once... too much white space can be as bad as too little.)

And finally, for similar reasons, I will also use

Code: [Select]

if (b exp) code;
else code;


or even sometimes

Code: [Select]

if (b exp) code; else code;


Sometimes I'll vary it with

Code: [Select]

if (b exp)
 longer-line-of-code;
else code;


if it looks more balanced (and of course, just to annoy people like Jante ;-)

And to generalise, I delight in using

Code: [Select]

for (;;) code;


and

Code: [Select]

while (bool exp)
 code;


when it suits.

As an odd inconsistency (but also found in K&R) is the use of braces when declaring functions:

Code: [Select]

int myFunction(int avar)
{
 /* implementation in here */
}


Although it strikes me as stylistically a bit inconsistent, I've also decided I kind of like bringing the opening brace onto the next line for function declarations, rather than at the end of the line, as in a control block.

In short: Good enough for Dennis, good enough for me. :-)




Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 12, 2012, 05:24 pm
Thanks Pico,  it is all so clear now  :-)
Title: Re: Interest in overhauling the IDE user interface?
Post by: Jantje on Sep 12, 2012, 05:47 pm

if it looks more balanced (and of course, just to annoy people like Jante ;-)

Pico
Not sure what makes you think I would be annoyed by this. When I get code from a third party I dump it into my editor who reformats it for me.
Anyway it makes me happy you want to do something extra just for me  :D

Best regards
Jantje
Title: Re: Interest in overhauling the IDE user interface?
Post by: pico on Sep 12, 2012, 06:08 pm

Not sure what makes you think I would be annoyed by this.


Just teasing, my friend. ;-)

(I have had some Pascalians scandalised by some of my coding habits over the years. You are obviously familiar with Pascal -- I thought perhaps you might be just a little bit miffed at my complete lack of respect for unnecessary braces!)
Title: Re: Interest in overhauling the IDE user interface?
Post by: Jantje on Sep 12, 2012, 08:59 pm

Just teasing, my friend. ;-)

(I have had some Pascalians scandalised by some of my coding habits over the years. You are obviously familiar with Pascal -- I thought perhaps you might be just a little bit miffed at my complete lack of respect for unnecessary braces!)

Yes I have done pascal; fortran; (visual) basic (for application); c ; c++; perl script ; bash ; shell; java; and others.
I have seen to much code (and have become to old) to get hung up on the formatting style. My advice: take the formatting style you like and let the formatter do the translation.
There is 1 exception to this rule though. That is when you start being a team member and having version control. But I won't go into that though.
Nor will I let myself be dragged in a naming convention war (which is way out f topic).

Best regards
Jantje
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Sep 12, 2012, 09:03 pm

Yes I have done pascal; fortran; (visual) basic (for application); c ; c++; perl script ; bash ; shell; java; and others.
I have seen to much code (and have become to old) to get hung up on the formatting style. My advice: take the formatting style you like and let the formatter do the translation.
There is 1 exception to this rule though. That is when you start being a team member and having version control. But I won't go into that though.
Nor will I let myself be dragged in a naming convention war (which is way out f topic).

Best regards
Jantje



8) There are formatters for working with team too, not just minor indentation stuff, like this
http://www.jetbrains.com/resharper/

It is very strict, even with var names and makes your code very nice!
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 13, 2012, 12:02 am
I think formatting prefs is getting too in depth for this new IDE. I'm really targeting the new to intermediate developer. If you are a hard core user who wants to fully customize your development experience you should probably switch to a standard IDE like Eclipse.


Attached is the latest screenshot.  You can now open, edit, and save a sketch as well as compile and download it to a Diecimila (it's hard coded to the particular board I happen to have on my desk).  I've put the first code drop into a new repo on git hub here. Note that it's probably still not compilable by anyone but me, but you can poke around if you feel like it.

https://github.com/joshmarinacci/arduinox

In addition to the download feature it now has a standard font bundled in it (Ubuntu Monospace). The sidebar you see on the right is where the help text will go.  This *is* html loaded locally, but it is using Swing's text support which is a small subset of CSS 2. Still, it should be enough for nicely formatted help text.

Again the look and feel can be ignored for now. I want to focus on layout and features first, then worry about having a good color scheme, fonts, icons, etc.

So far the feature list is:

* create/open/save/download a sketch with minimum configuration
* intelligently save prefs for font size, window position, loaded tabs, USB port, etc.
* improve the layout, text editor, and tab system
* improve keybindings and other platform specific UX

What else should we have? 

* I really hate the current way you choose serial ports. Is there any way to know what device is connected to a serial port? Can't we detect if the arduino is an Uno vs Leo vs Decimila instead of having to ask the user?  I also hate having to use the /dev/usb blah blah names. On mac each port is listed twice and the bluetooth devices are listed, which is nonsense.

* Is there a better way to interact with examples?  What about common code snippets for novice users to use?

* code visualization? List the pins you are using?  Show a photo of your arduino board indicating the pins you are using.

Dream big folks!


- Josh
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 13, 2012, 01:07 am
Re the help. Can you have a hot key (F2?) to bring up the help for a function? Either based on where the mouse/cursor is or maybe you have to highlight the function.

Word boundaries. Currently the IDE uses inappropriate characters as word boundaries, for example

int in_Byte = Serial1.read();

If I double click on in_Byte because I want to copy it I only get "in" or "Byte", depending on where I click. In a programming language this should be considered a single word.

So either allow the setup of word boundary chars or just exclude some common ones like _.

This also applies to ^arrowing, if I ^ left arrow I want the cursor to skip the entire in_Byte, currently it's 3 key strokes to get over the var name.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Sep 13, 2012, 01:15 am

Re the help. Can you have a hot key (F2?) to bring up the help for a function? Either based on where the mouse/cursor is or maybe you have to highlight the function.

Word boundaries. Currently the IDE uses inappropriate characters as word boundaries, for example

int in_Byte = Serial1.read();

If I double click on in_Byte because I want to copy it I only get "in" or "Byte", depending on where I click. In a programming language this should be considered a single word.

So either allow the setup of word boundary chars or just exclude some common ones like _.

This also applies to ^arrowing, if I ^ left arrow I want the cursor to skip the entire in_Byte, currently it's 3 key strokes to get over the var name.

______
Rob


Current ide select whole var when I double click vars with "aaa_aaa" :O and CTRL+Shift+F opens the reference
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 13, 2012, 02:17 am
Quote
Current ide select whole var when I double click vars with "aaa_aaa"  :O and CTRL+Shift+F opens the reference

Not for me, but I'm using 1.0.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: westfw on Sep 13, 2012, 02:46 am
Quote
* I really hate the current way you choose serial ports. Is there any way to know what device is connected to a serial port? Can't we detect if the arduino is an Uno vs Leo vs Decimila instead of having to ask the user?  I also hate having to use the /dev/usb blah blah names.

This depends on whether java can access usb and/or registry-related system calls.  You can theoretically get the usb device information associated with a serial port, and figure out whether they are likely to be Arduinos, and if so which type of arduino.  (although, I wouldn't rely on this entirely, since it's common practice to use somewhat random usb/serial converter chips/cables/etc as a cost-saving scheme.)
There's an example (for windows, where things are worse) at https://github.com/WestfW/ArduScan
The double-listing on Mac's is Apple's fault; can you really guarantee that /dev/tty.usbserial-xxx and /dev/cu.usbserial-xxxx are the same piece of hardware?

Could you answer my earlier question about Swing vs local editing styles?  I'm genuinely curious...

You're missing the existing keyword-based highlighting of Arduino Functions (digitalWrite(), etc)), and I disapprove of the reduction of information in the compiler interaction part of the display.  "we" have been trying to get more information there (RAM usage in addition to flash usage, in particular.)

Listing pin usage would be interesting.  Sort of baby-steps to actual simulation at some point...
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 13, 2012, 04:17 pm
Oops, I take part of that back, CTRL+Shift+F does work if you highlight the entire word.

Double clicking aaa_aaa doesn't though.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: eried on Sep 13, 2012, 04:23 pm

Oops, I take part of that back, CTRL+Shift+F does work if you highlight the entire word.

Double clicking aaa_aaa doesn't though.

______
Rob


In what OS are you testing? double click works nice to me and I improved ctrl+shift+f feature in my modded ide (no requires full selection or even any selection), also I improved the copy and cut
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 13, 2012, 04:46 pm
Vista.

_____
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 13, 2012, 06:47 pm


Quote
* I really hate the current way you choose serial ports. Is there any way to know what device is connected to a serial port? Can't we detect if the arduino is an Uno vs Leo vs Decimila instead of having to ask the user?  I also hate having to use the /dev/usb blah blah names.

This depends on whether java can access usb and/or registry-related system calls.  You can theoretically get the usb device information associated with a serial port, and figure out whether they are likely to be Arduinos, and if so which type of arduino.  (although, I wouldn't rely on this entirely, since it's common practice to use somewhat random usb/serial converter chips/cables/etc as a cost-saving scheme.)
There's an example (for windows, where things are worse) at https://github.com/WestfW/ArduScan
The double-listing on Mac's is Apple's fault; can you really guarantee that /dev/tty.usbserial-xxx and /dev/cu.usbserial-xxxx are the same piece of hardware?



Could you answer my earlier question about Swing vs local editing styles?  I'm genuinely curious...




You're missing the existing keyword-based highlighting of Arduino Functions (digitalWrite(), etc)), and I disapprove of the reduction of information in the compiler interaction part of the display.  "we" have been trying to get more information there (RAM usage in addition to flash usage, in particular.)

Listing pin usage would be interesting.  Sort of baby-steps to actual simulation at some point...





Hmm. It sounds like I could make educated guesses based on HID info but it will always be iffy.  I was hoping there was a way to open the serial port and get some info from the board itself. No?
On Mac at least I can probably filter out the dupes. We could also do something like a button to "never show me this port again because I know it's not an arduino".

Historically Swing did everything in pure Java for maximum portability and reliability across platforms. Believe it or not it is common for large companies to want their software to look exactly the same on all platforms, regardless of the native conventions.  Eventually we introduced the so called 'native look and feels' because it turned out a lot of people *did* want a more native looking app. However, these decisions all date back to the mid-90s.  Today we now know that most people don't care if an app 'looks native' because they are used to so many different interfaces on the web.  They *do* care that the interface is good, of course, but not necessarily native looking.  This is all about *look* though. The *feel* is far more important. Things like keybindings and common menus matter a lot more that how an app looks.

So. How does this affect the new IDE?  I'm unsure of which Swing theme to use.  For now I'm going with Nimbus, which is a recent (4 yrs) cross platform look and feel that is pretty modern looking.  However, regardless of which theme we end up shipping with (I do think it's good to have just one theme, not switchable)  the feel must be platform dependent. That means patching up all of the keybindings to be appropriately native. Most of this we should be able to get from swing itself, but I might have to patch in a few parts.  We also need proper 'Window', 'Preferences', 'About', and 'Help' menus and should remember window placement.

In the end these details matter only in the context of the whole.  What is the vision for the IDE?  My vision is a beautiful IDE custom made for Arduino. Something that both new and experienced users alike will enjoy. New users find it easy to get started and helps them learn. Experienced users have powerful tools that help them be more productive, while not hindering the new users.  I'm trying to think the way that Apple does.  Every setting in the preferences dialog represents a failure. Ideally we would have not settings at all because we correctly predict everything the user wants. In practice that is impossible, but it's a good ideal to guide us.

I've decided to move away from the Processing IDE base. Ultimately Arduino needs it's own IDE. We need the flexibility to drive the interface in a way that makes sense for our users. The current codebase, while functional, makes customization a lot more difficult. I see why they started with Processing, but I think we can do better.


Okay. Rant off.   Back to coding.  :)

- Josh




Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Sep 14, 2012, 01:43 am
Quote
I've decided to move away from the Processing IDE base. Ultimately Arduino needs it's own IDE.

Good, I see no reason to be hamstrung by some backwards-compatibility issue. The IDE may have been based on Processing but it serves a different purpose and it's time to fork the thing and create a more useful product.

Of course you stand NO chance of getting this officially sanctioned, but no matter, if it's good and open source it will get a life of its own.

It is possible I guess that there will be a new IDE released with the Due, if so that may change the playing field a little.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: westfw on Sep 14, 2012, 01:44 am
Quote
I was hoping there was a way to open the serial port and get some info from the board itself. No?

Maybe.  But you MUST NOT do so.  Active probing of serial ports is a really bad idea, because you don't know what might be connected.  Also, for certain types of serial port (bluetooth, tcp, zigbee, etc) merely opening the serial port may take a significant amount of time.  Even on actual Arduinos, opening the serial port can/will cause a board-level reset...
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 14, 2012, 07:18 am
"I've decided to move away from the Processing IDE base. Ultimately Arduino needs it's own IDE."

Can you make it work for the STM8S-Discovery board too ?  I have a box of them in a cupboard, but only know a smattering of Ardunio programming :-)
Title: Re: Interest in overhauling the IDE user interface?
Post by: westfw on Sep 14, 2012, 08:10 am
Quote
Can you make it work for the STM8S-Discovery board too ?

1) That's not an "IDE User Interface" improvement.
2) It'd be very difficult, since STM8S doesn't have a gcc port.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 14, 2012, 08:21 am
Its a shame the STM8S  didn't have a user group like Arduino.

I bought in a box of them a few years back for an aborted project ( someone else was doing the software )

Then I found Arduino, and as they say, the rest is history  (  mystery sometimes :-) )
Title: Re: Interest in overhauling the IDE user interface?
Post by: westfw on Sep 14, 2012, 05:13 pm
Quote
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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Sep 14, 2012, 05:25 pm
Perhaps it was the quaint offpitch terminals pins that swung it :-) ,  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..
Title: Re: Interest in overhauling the IDE user interface?
Post by: _Leo_ on Sep 20, 2012, 01:39 pm

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

...


I've got the same frustration. It's an IDE problem. I don't have it with any other program under Windows 7.
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Sep 20, 2012, 09:37 pm
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.
https://github.com/joshmarinacci/arduinocompile

ArduinoX is the new IDE
https://github.com/joshmarinacci/arduinox

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? :)

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.



Title: Re: Interest in overhauling the IDE user interface?
Post by: CrossRoads on Sep 20, 2012, 10:29 pm
"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
Title: Re: Interest in overhauling the IDE user interface?
Post by: Jantje on Sep 21, 2012, 12:46 am
@crossroads
Thanks for this link. Looks like something I wanted to know about earlier :-)
Best regards
Jantje
Title: Re: Interest in overhauling the IDE user interface?
Post by: Cyborg666 on Sep 21, 2012, 07:02 am
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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: hilukasz on Oct 19, 2012, 12:44 am

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 :) 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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: giodamelio on Oct 19, 2012, 05:50 am
I use ino (http://inotool.org/) and Sublime Text 2 (http://www.sublimetext.com/). They are a match made in heaven. Sublime's awesomeness and a simple "ino build && ino upload" to the command prompt.
Title: Re: Interest in overhauling the IDE user interface?
Post by: pico on Oct 19, 2012, 06:20 am

I use ino (http://inotool.org/) and Sublime Text 2 (http://www.sublimetext.com/). 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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Oct 19, 2012, 10:04 pm
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



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 :) 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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: tomasi on Oct 26, 2012, 04:20 am

I use ino (http://inotool.org/) and Sublime Text 2 (http://www.sublimetext.com/). They are a match made in heaven. Sublime's awesomeness and a simple "ino build && ino upload" to the command prompt.


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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Oct 26, 2012, 04:52 am
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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Oct 26, 2012, 06:18 pm
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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: Boffin1 on Oct 26, 2012, 06:34 pm
That will be great
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Nov 14, 2012, 05:54 am
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
Title: Re: Interest in overhauling the IDE user interface?
Post by: Osgeld on Nov 14, 2012, 06:05 am
seems nice, one thing that bugged me was hitting enter did not move the cursor to the new line
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Nov 14, 2012, 03:18 pm
Could you clarify? I don't understand what you mean.


seems nice, one thing that bugged me was hitting enter did not move the cursor to the new line
Title: Re: Interest in overhauling the IDE user interface?
Post by: Osgeld on Nov 15, 2012, 02:56 am
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
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Nov 16, 2012, 08:02 am

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.
Title: Re: Interest in overhauling the IDE user interface?
Post by: CrossRoads on Nov 16, 2012, 08:19 am
Josh,
Have you & eried considered getting together?
http://arduino.cc/forum/index.php/topic,118440.msg998046.html#msg998046

This running update of 3 IDEs is a bit confusing.
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Nov 16, 2012, 11:08 pm
Hi Josh,

I downloaded the Windows version and got this error

(http://www.robgray.com/temp/ArduinoX-error.png)

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Nov 16, 2012, 11:10 pm
What version of windows are you running?


Hi Josh,

I downloaded the Windows version and got this error

(http://www.robgray.com/temp/ArduinoX-error.png)

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Nov 16, 2012, 11:19 pm
Vista.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Nov 16, 2012, 11:26 pm
Hmm.  32 or 64 bit?
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Nov 16, 2012, 11:43 pm
Sorry, 32-bit.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Nov 17, 2012, 07:41 am

Sorry, 32-bit.

______
Rob



Okay. That explains it. I'm currently only building the 64bit version. I'll work on a 32bit as well.

In the meantime, I've just pushed out a new build which fixes a ton of bugs and also remembers the set of open sketches between runs.
       
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Nov 17, 2012, 07:43 am
OK, thanks.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Nov 25, 2012, 07:07 am
I've published a 32bit version, along with a bunch of updates.  It's added to the build system so now we will always get both versions.  Please test it out here:

http://hudson.joshy.org:9001/job/ArduinoX/lastSuccessfulBuild/artifact/dist/
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Nov 26, 2012, 05:14 pm
Trying to compile "blink"

Code: [Select]
starting compile
assembling sketch in directory: C:\ArduinoX\win
using temp dir: C:\Users\Rob\AppData\Local\Temp\josharduinobuild1498449018706449586.tmp
generating C/C++ file: C:\Users\Rob\AppData\Local\Temp\josharduinobuild1498449018706449586.tmp\.cpp
error!
null
java.lang.NullPointerException
at com.joshondesign.arduino.common.CompileTask.assemble(CompileTask.java:130)
at com.joshondesign.arduinox.Actions$2$1.run(Actions.java:74)
at java.lang.Thread.run(Unknown Source)


Vista, 32-bit, Arduino 1.0.2 I guess but I also have 1.5 installed, how does it know which one to use?

Note the CPP filename.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: S_Flex on Nov 29, 2012, 01:34 pm
sounds like you all are updating the Arduino IDE now and taking suggestions?

Wish list suggestions...
- Option for numbered lines, maybe have the background for the number light gray
- Search option in "Edit" add "Find and Replace" with check able options to replace all or ask to replace.
- Option to drag & drop selected text
- Option to ask to save the sketch if it was edited before Uploading or Require the sketch to be saved before uploading
- Change font type


FYI: I'm using 1.0.1 on win7 64-bit
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Nov 30, 2012, 12:18 am
Hmm. I can't recreate this error.  Does it happen with other sketches too or just hte Blink sketch? Can you post the contents of the settings.txt in the sketch directory?

thanks.



Trying to compile "blink"

Code: [Select]
starting compile
assembling sketch in directory: C:\ArduinoX\win
using temp dir: C:\Users\Rob\AppData\Local\Temp\josharduinobuild1498449018706449586.tmp
generating C/C++ file: C:\Users\Rob\AppData\Local\Temp\josharduinobuild1498449018706449586.tmp\.cpp
error!
null
java.lang.NullPointerException
at com.joshondesign.arduino.common.CompileTask.assemble(CompileTask.java:130)
at com.joshondesign.arduinox.Actions$2$1.run(Actions.java:74)
at java.lang.Thread.run(Unknown Source)


Vista, 32-bit, Arduino 1.0.2 I guess but I also have 1.5 installed, how does it know which one to use?

Note the CPP filename.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: graynomad on Nov 30, 2012, 05:59 am
An empty sketch compiled OK. So I tried blink again and now it works. Go figure.

Note this line from the compile output

Quote
generating C/C++ file: C:\Users\Rob\AppData\Local\Temp\josharduinobuild1233808034218210217.tmp\test.cpp


it seems to be correct now.

Quote
Can you post the contents of the settings.txt in the sketch directory?

Don't know if you need it any more but there is no settings.txt.

______
Rob
Title: Re: Interest in overhauling the IDE user interface?
Post by: joshmarinacci on Dec 06, 2012, 01:12 am
Yeah, there probably won't be until you modify and save the sketch.  No worries. I'm glad it works for you now.

- J


An empty sketch compiled OK. So I tried blink again and now it works. Go figure.

Note this line from the compile output

Quote
generating C/C++ file: C:\Users\Rob\AppData\Local\Temp\josharduinobuild1233808034218210217.tmp\test.cpp


it seems to be correct now.

Quote
Can you post the contents of the settings.txt in the sketch directory?

Don't know if you need it any more but there is no settings.txt.

______
Rob