Monday, July 9, 2007

R GUI Screencast

Some of the new GUI features are hard to get from screenshots so I decided to make a little screencast to show off a couple of the new features.



4 comments:

Emmanuel said...

Hi, I just discovered this blog thanks to the PlanetR aggregator posted on Rd. The new GUI looks fantastic! Wishlist:
- Tabs for consoles and the editor
- Workspace inspector shows class and dimensions (if appropriate) of each object
- Bracket highlighting and syntax coloring in the console
- Keep the console and editor in separate processes, so an R crash doesn't bring down both (I've switched to SubEthaEdit as the editor because memory bugs in dyn.loaded Fortran code cause segfaults and crash everything)

Thanks for all the work, and I'm really looking forward to this gui refresh!

Byron said...

- I knew it was only a matter of time before someone requested tabs. :-)

- the Workspace already has access to the information, it's just a matter of setting up the text string appropriately so as not to clutter things up too much. There will also probably be an Inspector panel with more detail.

- This we can do

- I use TextMate myself, but the console *is* living in a separate process and is unlikely to return. The console window and the graphics device are getting everything from RExecServer, which runs as a separate process managed from the GUI. RExecServer crashing might cause a brief delay in the GUI, but other than that won't propagate up.

Rob J Goedman said...

Hi Byron,

The screencast looks indeed fantastic. Can't wait until you update the git! Talking about external editors, do you plan to continue to support them? I do agree I started to use TextMate, SubEthaEdit, Smultron etc exactly for the crash issue, but have found project support (particularly as in TextMate) and support for multiple syntaxes (I'm thinking about e.g. a JAGS syntax) are other key advantages. The new Database Browser in TextMate is very helpful and so is your very own build script - often used!).

Although I implemented some of that stuff in the current R.app, I believe the only really important feature is the ability to send input to R GUI.

Regards,
Rob

Byron said...

The RExecServer's leopard branch was updated yesterday--I haven't moved it to master yet because I want to test it on Tiger. For the GUI itself, it's set up as a separate project ATM so I'll probably make two separate repositories (or not I haven't decided).

I definitely plan to port over the external editor support of the current R GUI as well as the Apple Script support sooner rather than later. I do 100% of my R development in TextMate and I'd hate to make that harder. In fact, I'm hoping that the fact that you can remotely connect to the R Server will mean better support since you could write, say, a TextMate plugin that actually asks a running Console for its completions.