Go Down

Topic: Interest in overhauling the IDE user interface? (Read 20014 times) previous topic - next topic

Graynomad

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
Rob Gray aka the GRAYnomad www.robgray.com

eried


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
My website: http://ried.cl

Graynomad

Rob Gray aka the GRAYnomad www.robgray.com

Josh Marinacci



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





Graynomad

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
Rob Gray aka the GRAYnomad www.robgray.com

westfw

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...

Boffin1

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

westfw

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.

Boffin1

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

westfw

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.

Boffin1

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..

_Leo_


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.
Leo

Project "ALTDuino" - A homemade altimeter for model rockets.
http://www.altduino.de

Josh Marinacci

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.




CrossRoads

"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
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Jantje

@crossroads
Thanks for this link. Looks like something I wanted to know about earlier :-)
Best regards
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Go Up