Show Posts
|
|
Pages: 1 [2] 3
|
|
20
|
Development / Other Software Development / Re: Need testers for a new IDE
|
on: November 13, 2012, 10:58:46 pm
|
Yes, the downloads are a bit beefy still. I haven't had a chance to trim out unnecessary files from the JRE and gcc bundles. Thanks Josh, at 92Mb I'll just have to look at this month's data usage, but I'll grab it as soon as I can.
______ Rob
|
|
|
|
|
22
|
Development / Other Software Development / Re: Need testers for a new IDE
|
on: November 03, 2012, 07:56:28 pm
|
Yes. Per sketch. The port will be automatically closed and reopened when uploading a sketch. Something people have been wanting for a long time. One more thing, does the program remember it's size and position between invocations? ______ Rob
|
|
|
|
|
23
|
Development / Other Software Development / Re: Need testers for a new IDE
|
on: November 03, 2012, 03:41:46 pm
|
The serial monitor is attached to the code window, that way there is never any doubt about which serial port goes with which sketch. The port will be automatically closed and reopened when uploading a sketch. I like the look, nice and clean, better font, line numbers, reference on hand etc. But I'd rather chew my own arm off rather than use a Mac  Let us know when you have it on the PC. Does the serial monitor stay open so you don't have to relaunch it every time? ______ Rob
|
|
|
|
|
24
|
Development / Other Software Development / Need testers for a new IDE
|
on: November 02, 2012, 09:58:57 pm
|
|
I've been working on a brand new Arduino IDE written from scratch (though it borrows some code from the existing IDE). The goal is to be easier to use, clearer, and with some fun new features. (see attached image. note that the visual design isn't started yet.)
Right now the IDE is very alpha but I'm ready to start sharing it with people. I'm look for some Mac users who would like to test it. Don't worry, it will be fully cross platform but I've only built the Mac.app bundles so far. (With luck we can eventually get it into the Mac store tool!).
Interested?
- J
|
|
|
|
|
26
|
Development / Suggestions for the Arduino Project / Re: Interest in overhauling the IDE user interface?
|
on: October 19, 2012, 03:04:42 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.
|
|
|
|
|
27
|
Development / Suggestions for the Arduino Project / Re: Interest in overhauling the IDE user interface?
|
on: September 20, 2012, 02:37:26 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/arduinocompileArduinoX is the new IDE https://github.com/joshmarinacci/arduinoxThe 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.
|
|
|
|
|
28
|
Development / Suggestions for the Arduino Project / Re: Interest in overhauling the IDE user interface?
|
on: September 13, 2012, 11:47:31 am
|
* 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/ArduScanThe 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
|
|
|
|
|
29
|
Development / Suggestions for the Arduino Project / Re: Interest in overhauling the IDE user interface?
|
on: September 12, 2012, 05:02:18 pm
|
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/arduinoxIn 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
|
|
|
|
|