Home  >  

"When is good" - a simple scheduling RIA

Author photo
| | Comments (6)
AddThis Social Bookmark Button

When is good is a minimalist web app designed to help you schedule meetings. As the meeting organizer, you pick a set of times you'd like to meet and then email others asking for their availability. As users select times they're available the possible meeting time is paired down.

Screen grabs:
Starting a meeting is a simple and easy process:

Starting page
Starting page

setting up the meeting
setting up the meeting
selected availability times
selected availability times

This is what attendees see when they visit my meeting's URL:

this is what attendees see
this is what attendees see

Our first attendee selects their availability:

an attendee selects their availability
an attendee selects their availability

Now the interface is updated for all future attendees:

the meeting's "view" interface now shows the available times for both me and the first attendee
the meeting's "view" interface now shows the available times for both me and the first attendee

After four attendees have entered their meeting times, the available time has diminished to a very small portion of the original area. This is the time we should probably have our meeting:

the available time after four attendees have given input
the available time after four attendees have given input

rolling over a user's name shows their comments and availability
rolling over a user's name shows their comments and availability

A final user visits the meeting's url and enters their availability. Unfortunately, it doesn't match up with any other user's available time! Our meeting will never happen!

a user's unavailability has cleared all of our available times
a user's unavailability has cleared all of our available times

Things I like:
This application is best for what it doesn't do - it doesn't let you edit attendee comments, remove attendee's information, send emails to the group, or just about anything other than schedule a meeting. It takes scheduling and pares the task down to the bare minimum, leaving an intuitive and simple interface that feels incredibly clean and focused.

The application is easy to use and focuses on common simple metaphors like seeing dates and times displayed in a grid and highlighting them to select. The interface has so few elements that it's almost impossible to get lost or spend time searching for a feature that isn't there - if the interaction want isn't staring you in the face, it's probably not in this application.

The application also doesn't require any of the normal login/password stuff that belabor most Web 2.0 apps. As the meeting organizer you provide an email address where you're sent a URL for your meeting - that's it. You send that URL out to anyone and everyone who you're interested in having attend, and you're emailed periodic updates about their availability.

Things I don't like:
In general, this application requires too much interaction to get the information I want out of it. It's nice that everything is so simple, but this application is fundamentally about conveying information and not about manipulating it, so getting that information shouldn't require rolling and clicking.

More specifically, the application currently makes it difficult to sort availability by user. The interface only shows the combined availability of every attendee at once, so it's difficult to discern who has what problems with the meeting time. The application allows you to see individual availablility on roll over, but this makes it hard to compare user's schedules. Rather than giving you the information you need to answer the question "when else is good?", Whenisgood makes you start over again from square one.

If a user correctly chose every possible available time when setting up the meeting it seems like this use case might not be as prevalent, but it's still an issue - we all know some person who's schedule is always full, and this guy can easily make it look like no time works for your entire group (as in the case of "sandbagger!" in my above example.) If they're one of 50 invitees, it'd be nice to easily filter them out.

The "drag+select" feature also seems a little broken. In the main interface I can drag and select multiple rows and columns at once, but rolling back over a selected time doesn't unselect it - unselecting requires a re-click. For responders, dragging to select works across multiple columns but not multiple rows when the rows and columns aren't contiguous. This doesn't make it unusable, but it breaks the normal drag-to-select metaphor.

The comment area could also stand to be a little bigger. Giving only a single line with maybe 200 visible characters for the comment area nicely constrains the interface, but a user who wanted to give more feedback to the group would be impaired.

Lastly, I hate to say it, but this application really didn't need to be done in Flex. Flex has one big maturity problem: the loading screen. If this application were done in AJAX, users would have more or less the same interface without having to wait for a loading screen. This application doesn't require or use any of the rich features Flex provides so Flex really offers no advantages here - correct me if I'm wrong.

Final thoughts:
"When is good" is a great step in the right direction. By staying focused only on the important task at hand, it removes a lot of the unnecessary clutter. The application needs some minor tweaking and possibly an expanded view set, but otherwise it's refreshingly clean and clear.

Read more from RJ Owen. RJ Owen's Atom feed rjowen on Twitter

Comments

6 Comments

Josh said:

Great analysis, I agree with every word. Try www.scheduleonce.com for an application that correctly addresses some of the pitfalls you mentioned.

Keith Harris said:

Developer of WhenIsGood here. Thanks very much for the review. Some very interesting observations.

One quick thing to clarify. It may not be clear enough in the interface but there is indeed a way to deal with the 'sandbagger' situation without starting over. Just click the name of any participant to temporarily exclude them from the analysis. (I'll add an alert when viewing such results to make this clearer. And perhaps we need something to show which respondents are most flexible.)

Flex - point taken completely. The main driver originally was avoiding browser differences (like a lot of people, I've spent oh-too-many hours fixing a web application for IE only to find that it broke it in Firefox) but, sadly, discovered the thing still renders in subtly different ways across Windows/OSX/Linux anyway. May well switch the whole thing back to HTML at some point.

Josh, I have to admit I've only just spotted your app - my (limited) research only uncovered a couple of others (like doodle and timetomeet.info). Looks like you have a great utility there - lots of great features, but somehow not too cluttered. I guess that is the contradiction we face: people want all the functionality, but at the same they want it to stay super simple. All of the sophistication, none of the complexity. Quite a challenge.

RJ said:

Keith - thanks very much for stopping by. The "click to exclude" feature is great - maybe even just providing two lines of text at the bottom of your app on the main viewing screen ("roll over to see a user's availability; click a user's name to toggle their exclusion") or something like that would help. I actually didn't find even the roll-over feature until my second time using the app. :)

Flex is great - I love Flex, and it certainly does cut down on the development time. I just think it's important to think about when it shines and when it doesn't, and without making use of it's rich feature set you ask users to accept a loading screen so that you can build it faster. That's not in and of itself wrong, but it seems like a mature industry ready app shouldn't have a loading screen unless the features it requires force one on us - that's all.

Balancing features with simplicity is always tough. I think your approach of getting the core functionality out the door as quickly as possible is the right one though, and I look forward to seeing how this app matures. If you make any big improvements feel free to drop me a line at rj [dot] owen [at] effecitiveui [dot] com.

Mielno said:

Great - I agree - congratulations.

juan said:

I don't think the comments on Flex are quite fair. As a user, I agree 'less loading time the better'. But this app loads quickly enough and as long as it stays cached, the loading is none existant. Most users don't empty their cache with frequency, so they get the payoff of an RIA for the price of a 'one-time' load.

The idea of providing a production application that is consistent between browsers is 'fantasitic' from a developer standpoint, and also from a user standpoint. I hate as a user when I have to open a page in IE because it doesn't work in Firefox or Safari or whatever browser I'm using at the moment. And it happens with suprising frequency in 'production quality systems'. Now only if flex delivered on the idea 100%.

There is also the 'zoom' feature which does make use of Flex's power. And it is useful. It would be a lot less graceful if done using different technology. But I agree the application doesn't 'show off flex'. It just does what it does in very straight forward manner.

I think flex is a good option since it provides quicker, less error prone development, which translates into allowing the developer to focus on useability and creativity of design. And in the future, if a richer interface is required, as a developer, you keep adding to what you have. You don't end up putting a bunch of ajax in the garabage and start a rewrite in flex.. Plus it is easier and less costly to overhaul the interface as required. There is always financials and time limitations in production quality system. If it is hard and therefore more costly to maintain, features don't get added frequently, bugs get fixes slower etc.

gochi said:

Flex is a highly productive, free open source framework for building and maintaining expressive web applications that deploy consistently on all major browsers, desktops, and operating systems. While Flex applications can be built using only the free open source framework, developers can use Adobe® Flex® Builder software to dramatically accelerate development.

Leave a comment


Tag Cloud

Poll: Mobile Features

What feature do you use most on your mobile phone?

Vote | View Poll Results | Read Related Blog Entry

Latest Features

Recommended for You

@InsideRIA on Twitter

Archives

  • Or, visit our complete archive.  

About This Site

Welcome to the premiere community site for all things RIA sponsored by O'Reilly Media and Adobe Systems Incorporated.