Nov 1 2007

Case Studies: Three Nonprofit Intranets

Laura Quinn has written the stories of three different non-profit organizations (NPOs) applying different technology to improve their collaboration.

It’s good to be reminded that technology adoption and culture change don’t happen overnight:

While there has been consistent growth in usage since the redesign, it’s only within the last couple of months (almost four years later) that ALA feels that they’ve reached a “tipping point” where it’s now simply an expected part of the job to consult and contribute to information on LungNet

To balance that, there are often benefits that can be realized immediately:

Don’t underestimate the allure of simple things, however. The lowly staff phone directory is often one of the most popular features on an intranet.

Read the whole article:

http://idealware.org/articles/nonprofit_intranets.php


Aug 15 2007

Mingle: Supercharged Index Cards

Thoughtworks describes its recently released Mingle products as a “new Agile project management application”. That’s “Agile” with a capital “A”, which is immediately apparent when you tour the product and see index cards arranged on the web page.

I would describe Mingle as “index cards on steroids”. Or maybe “index cards with superpowers”. This will delight the Agile faithful and quite possibly scare anyone who has never managed a serious project by sticking index cards to the wall. The data can be displayed in tables and summarized in charts, and you can create wiki pages with some effort, but the card metaphor is central and inescapable.

Model

Each project has its own set of attributes for cards. You can define transitions that are basically shortcuts for making frequently used changes to card properties. For example, the “Development Complete” transition might change the status value to “Ready for Testing”, and the transition might apply only to cards with a status of “Ready for Development”. This gives you the primitives to codify your team’s workflow.

View

The display is built with tabs, each of which holds a page with a different view of the cards. The cards can be viewed on a grid, sorted into different lanes by some attribute. Dragging a card into another lane changes the attribute, which is nice for activities like release planning. Or, the data can be displayed in a table with configurable columns. A tab can also hold a wiki page, which is probably most interesting when using the chart widgets to show summaries and charts of card data taken from database queries. This is nice for things like burndown charts.

Templates

If you have a project with card attributes, transitions, and views that are useful, you can create a template for creating new projects. Mingle has interesting potential for use outside of project management. For example, I’m pretty sure you could build some kind of strategy board game with the right grid view and transitions. Ok, that’s not the greatest example, but my point is that Mingle is really a generic system for collaboratively updating data.

Downsides

It seems to me that the card metaphor would become unwieldy when applied to large data sets, though that could be mitigated with a clever set of views. Certainly more scalable than physical index cards.

Links to cards can be made on wiki pages or card descriptions, but not from card attributes. This makes it a hassle to trace from task cards back to their corresponding story cards, unless the number of cards is small.

Mingle has an Excel import feature, but you need to need to paste into a text field from the clipboard. This reinforces my suspicion that Mingle is not for large data sets. Also, any newlines are lost in the import.

The wiki has no WYSIWYG editor, which will put some people off. At least in the initial release, it looks like wiki pages are only there to hold some charts maybe the team roster.

Technology

Mingle is built with Ruby on Rails, and deployed into a Jetty servlet container with JRuby. That’s cool. Response time is somewhat slow, even when running locally. Hopefully this can be improved in future versions of JRuby, because I’d like to see more integration between Rails applications and Java.

Recommendation

If your team can run with the index card metaphor, but you’re not in a position to use physical index cards, take a look at Mingle. If you’re looking for a more comprehensive or traditional project management application that works in an agile context, you might be better off looking at Rally Software or some other tool.

In any case, I hope that Mingle’s simplicity and slick user interface inspire other vendors to keep innovating in this space.


Jun 26 2007

Sharing Presentation Slides

After giving a presentation last night, I told a bunch of folks that I would post the slides… somewhere… and distribute the URL on a mailing list. Our Java User’s Group is just getting started, so we don’t have a way to post files yet. And I don’t currently have any hosting space that would be appropriate. What a great excuse to look at some free presentation hosting services!

There are two that I really like: SlideShare and Scribd.

Both are easy to use, and of course you can tag and search. They both have great resolution in the online viewers. Some other services get jaggy letters and diagrams, probably from less sophisticated processing or just being more aggressive about compression.

I highly recommend SlideShare for situations where most people will be viewing the slides online. The default size is just right for embedding, and the “related slideshows” it recommended for me really were relevant. If it could import notes from presentations and export to PDF, it would be perfect.

Scribd is excellent when you expect most people to download or print a copy after they’ve browsed it online. It can export to multiple formats (including MP3!) and there’s a convenient “Print” button. The embedded viewer (Macromedia Flash Paper) has some cool advanced features: zooming, search, copy to clipboard. It also does a nice job with word processing documents, which fall right into its sweet spot.

If you’re curious, you can see how my presentation came out:

It’s not an “apples to apples” comparison, since I uploaded the original ODP file (ODF Presentation, used by OpenOffice) to SlideShare and a PDF including the notes to Scribd.

This is a pretty useful way to share “traditional” documents. Are there systems out there that provide similar functionality within an intranet?


Jun 26 2007

Java Testing at SGV-JUG

The San Gabriel Valley JUG got off to a great start in Pasadena last night, taking the next steps from its beginnings as a study group. It was a good sized group, with excellent participation.

Here are the slides from my presentation, hosted by SlideShare:

Testing in Java

Here’s a version with notes at the end, and a PDF download, hosted by Scribd:

Testing in Java, with notes

I’ll put the example project code and configuration files somewhere in the next day or so.

Meanwhile, testing guru Brian Marick just posted some resources for test-driven development:

Workbook for Practicing Test-Driven Design

And Will Sargent recently posted example code using EasyMock to verify that a service makes the correct method calls to another object during some tests:

EasyMock Examples

Thanks to everyone who showed up!

UPDATE:

You can browse the code here:
https://sgvjug.dev.java.net/source/browse/sgvjug/UnitTestDemo/

If you have a java.net account, you can get it from CVS here:

cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout sgvjug

May 31 2007

Videos Introducing Wiki and RSS

Common Craft explains wikis and RSS quickly and clearly, with panache.

Wikis in Plain English:

RSS in Plain English: