7/11 & 7/25 ShoesFests with Why The Lucky Stiff

June 27, 2008 § 3 Comments

why the lucky stiff and friends invite all interested Ruby hackers — and wannabe hackers — to join them for two 24-hour ShoesFests: 

  • Friday, July 11th noon GMT to Saturday, July 12th noon GMT
  • Friday, July 25th noon GMT to Saturday, July 26th noon GMT

< 8 AM New York / 5 AM San Francisco / 9 PM Tokyo / 3 PM Amsterdam >

The goal of these events is to write and share fun little applications using Shoes,  a clever little cross-platform GUI toolkit written in Ruby. This will allow us to test, document, and file bugs on how the various Shoes features work on the different supported platforms (Linux, Windows, Mac), in preparation for our next major release on July 31st, 2008.

No Ruby — or programming — experience is required; we’d love to find out how easy it is for novices to learn Shoes!  Of course, if you happen to know the Ruby C API, expert help is always appreciated.

The primary interaction will take place on the Shoes IRC channel: #shoes on irc://irc.freenode.net
You can participate using any of the many web– and native– apps for IRC.

Shoes comes with its own built-in manual.  Use `shoes -m` to bring it up.  (On OS X, you can do ⌘-?.)

Additional Resources:

Spread the word!  Everybody could use a nice set of Shoes. 🙂

Building a GUI for MacPorts

March 24, 2008 § 5 Comments

In a fit of enthusiasm/hubris, I volunteered to be a mentor for MacPorts participation in the Google Summer of Code. Specifically, I’m taking on the issue of Graphical User Interfaces, because I once wrote one for DarwinPorts (the predecessor to MacPorts. Unfortunately, the code seems to be long gone; FreeBSD mirrored the dp-cocoa and PortsManager projects, but all the folders appear to be empty. :-(The current “state of the art” in MacPorts GUIs is the clever Port Authority by Kevin Walzer.  Kevin did a fine job,  but there is community interest in something that is:

  1. Native Cocoa
  2. Fully Open Source (and thus free, not shareware)
In addition, I personally believe the biggest challenges to  greater MacPorts adoption are:
  •  removing the need to run as root
  •  installing built packages, rather than needing to compile ports
Thus, I believe the most important task for this GSOC is not so much writing a pretty GUI (though that’s essential!) but devising a compelling user experience for “non-geeks” to use MacPorts; which may well mean co-developing the necessary infrastructure!
 
Anyway, the steps I would recommend to anyone interesting in this are:
 
  1. Installing and using MacPorts, both via the command-line and Port Authority
  2. Comparing that user experience with Fink Commander (from the parallel Fink project)
  3. Exploring the internal Tcl libraries used by the port(1) command-line tool
  4. Identifying the key functionality to provide to user, both now and in the future 
  5. Designing an Objective-C (or Ruby, or Python) wrapper for those Tcl calls (perhaps leveraging Objective-C/Tcl or tclobjc.)
  6. Developing a reusable MacPorts Framework, for both this GUI and potentially other projects
  7. Working with the MacPorts team (perhaps including other GSOC members) to address the pre-compiled packages and non-root-user issues
  8. Building a simple GUI to “prove out” the framework 
  9. Develop an extensible architecture (palettes, services, etc.) for future GUI development
  10. Integrate nifty Leopard features (Core Data? Animation? Scriptability?)

Of course, that would be a lot to do in one Summer! For those submitting applications (due March 26th, I believe) the key is to demonstrate that you understand the larger problem and what you can realistically accomplish within the time available — and how others can build on it in the future.

Where Am I?

You are currently browsing entries tagged with gui at iHack, therefore iBlog.