Ruby GUI 2008 Survey Results

Towards the end of 2008, I conducted a survey of Ruby programmers about their use of and attitudes towards graphical user interaction (GUI) libraries used for creating desktop applications.

English | 日本語

Downloads

Summary of Findings

The survey received a total of 399 responses; 80% of these completed the whole survey. Respondents were evenly split into those who’d never done GUI programming in Ruby, those who had in the past but weren’t doing so now, and those who were currently doing so.

Most of those doing GUI development were working alone, either on “fun” projects or open-source software. One in three was using GUI libraries to develop in-house company tools; just under 10% were working on commercial GUI software.

The Ruby GUI “scene” remains fragmented: the survey found at least a dozen separate GUI libraries in current use. The most used toolkits were Shoes (21%), Ruby-GNOME2 (19%) and wxRuby (16%).

Of users naming a single preferred toolkit, Ruby-GNOME2 and Shoes were chosen by 26%, wxRuby by 17% and RubyCocoa 11%; no other toolkit received more than 10%.

There are striking differences between Japanese and Euro-American Ruby users. Among Japanese Ruby developers, Ruby-GNOME2 is the preferred toolkit of a majority (56%), whereas among Euro-Americans, it lies third behind Shoes and wxRuby in popularity.

Preference for one or other of the two leading comprehensive toolkits (GNOME2 and Wx) is not strongly predicted by the general importance attached to features of GUI libraries. This suggests their capabilities and range of potential applications largely overlap.

The emergence of new Ruby implementations and their associated GUI options has already had an effect on usage. MacRuby/Cocoa and, to a lesser degree, JRuby/Swing are well used and well regarded. MacRuby/Cocoa was the highest rated among all options for how well it met users’ GUI development requirements.

Ruby-Tk received the worst rating for how well it meets users’ GUI requirements, with a modal rating of ‘poor’. It was the only library for which fewer respondents said they planned to use it in the future than are currently using it. It seems its continued inclusion in the standard library is unjustified.

Among those with an opinion, there’s a 60/40 split against including any GUI library in the Ruby standard distribution.

The high degree of fragmentation has not served potential GUI developers well. Almost all see Ruby as a viable GUI programming language, but the immaturity of the toolkits is the commonest reason for not using Ruby for GUI work. The means of redistributing ruby GUI apps to end users is another obstacle.

The release of Ruby 1.9 addresses some perceived impediments to GUI development in Ruby, such as improved speed, and, more importantly, the availability of system-level threading. There is scope for the reference Ruby implementation to further improve Ruby as a platform for desktop applications, for example, by offering bytecode loading.

Further info

Thanks to all those who participated in the survey and to those who contributed to its development. Thank you to Kouhei Sutou for the Japanese translation of this page.

The report only presents findings from a selected range of questions; I’m happy to share the anonymised raw data with those interested in conducting further analysis. If you’re interested, please get in touch, describing your non-commercial use of the data and confirming that you won’t attempt to identify individual respondents.