One more in the personal beef with conference planner tooling department…
Last week I received an e-mail stating the absolute importance that all attendees of JavaOne 2006 must use Schedule Builder. Just typing the name of the wretched tool makes me shiver. Here’s a quote from the e-mail that I received: “We’ve heard your concerns about being able to get into the sessions that matter to you most so we’ve introduced a new tool that lets you pre-enroll before you arrive on site! You must use Schedule Builder to ensure you get into your preferred sessions. It is one of the best ways to make the most of your Conference experience”.
Alright, this quote needs a little clarification. First of all it seems that the conference organization is in fact listening to “your concerns”. Unfortunately, they decided to be picky, and did not listen to all concerns. Especially the one about a certain schedule builder tool. But…next chance, next year… Make sure you complain about it though! :o)
Second, I’m a little worried about the “..it is one of the best ways to make the most of your Conference experience..” part. Sigh….the Schedule Builder tool is an absolute horror, and most of all it’s an insult to all developers attending the conference….come again?!? Yes…this is a developer’s conference, and showing us tools like these is a disgrace!
If you’re new to this…log in to Schedule Builder, select a few sessions and see what happens when you try to save them to your personal schedule. Especially when selecting sessions that are in the same timeslot. Since Schedule Builder guards that you cannot attend multiple sessions in the same timeslot you are only allowed to save your selection if there are no conflicts reported. Oh, and be careful not to use the back/forward buttons of the browser, since all of your selections will be lost. Come on…web 0.1 style applications like this were common in the early nineties, but nowadays even the simplest web framework offers you tools to handle behavior like this. The nightmare really starts in the following situation: you managed to select some sessions for Tuesday for the Java SE track and saved them into you personal schedule. Now when you select sessions on Tuesday for the Java EE track and there are conflicts reported, you are not allowed to save the newly selected sessions unless you resolve all conflicts. Conflicts however, can only be resolved by removing the “new” sessions. All of the “old” sessions – already saved in your personal schedule – are marked as “added” and cannot be removed from this view. This makes you go back and forth multiple times, using pencil and paper to remember session ids until all conflicts are resolved. I managed to loose all selections twice, because I used the “back” button on my mouse. If this is going to be the best way to make the most of my conference experience…mind you…I’m *not* impressed!
So, consider this blog entry as my yearly dose of (Java) community service. Actually I’m getting used to it now. So here goes…
As the Session Builder prohibits selecting multiple sessions within the same timeslot, I cannot offer you the “sessions at a glance” feature anymore. This dresses down my original MySchedule tool to a simple MySchedule.CSV to fancy HTML converter and as a tool to convert your personal schedule into vCal events for e.g. Outlook, or you Pocket PC or Palm handheld for that matter. Since CSV still didn’t manage to conquer the enterprise, let me guide you through a few simple steps to convert your personal schedule into something useful:
1. Open a browser and head to the fantastic Session Builder tool at the JavaOne website. Login with your personal JavaOne id, and use the infamous query tool to select all sessions, or BOFs that you find of any interest. Take your time to check out the abstracts if you’re not immediately seduced by the session’s title.
2. When you’re done, add your selection to MySchedule. Maybe the tool starts nagging that you have selected multiple sessions in the same timeslot. If so…you are on your own…good luck fighting the tool. Courtesy of JavaOne.
3. Select the MySchedule tab and click ‘Save MySchedule’ and notice the truly awesome ‘export to CSV’ button. Use it to download the CSV file containing your schedule and save it to disk.
4. Next, unleash the power of Microsoft Excel on the CSV file. Open the CSV file with Excel and use File -> Save As… -> Save as type: XML Spreadsheet (*.xml) -> OK. Exit Excel.
5. Download the new and improved MySchedule Converter tool source code here. Use it with your favorite Java editor to convert the XML spreadsheet that you’ve created in the previous step into an HTML session overview and a series of vCal events. You need JDOM in order to be able to compile the source code. Get JDOM here. All you have to do is change the hard coded final static Strings to point them to the files and locations of your choice. Put the logo into the output directory. After that, get it to compile and run it. Here’s a preview of what the HTML overview looks like:
6. The converter also generates a series of vCal event in a single vCalendar file. Use Microsoft Outlook to import the VCS file into Outlook’s Calendar. When you’re done use ActiveSync to synchronize Outlook with the PDA and you’re all set! If you happen to own a Palm instead of an iPAQ, you can also use the Palm Desktop application to handle the VCS file for you. Here’s the final result showing in Outlook:
Please note that since the location information is not yet reported in the Schedule Builder, you should perform this whole operation again as soon as you will be notified by e-mail that location information is available.
While experimenting with the converter I noticed that all of the General Sessions, Lunch, Pavilion and other events have also disappeared from the Session Builder. Too bad.
See you at JavaOne 2006!