Wednesday, April 23, 2008

Welcome back Rod Marymor!

Rod Marymor was the founder of RegWeb, probably the first online registration application for event planners, which he sold to Starcite in 2002. He is now getting back into event planning software with ScheduleFlex, a scheduling tool for large multi-session events (>50 sessions), which he will offer to both event planners and registration company resellers.

Background

They build ScheduleFlex for an enterprise software company that hosted a 4-day conference recently with about 4000 customer attendees, 700 employees, and 800 sessions. Rod's company Cardinal Communications worked with Mike Graves and Brad Neuman at metroConnections of Minneapolis to develop the application, which was written by the original RegWeb architect Stephen Chang.


"Flex" Architecture

The application was built using Adobe Flex, which produces a "Rich Internet Application" with a Flash-based front end. This allows users to have an experience more like a conventional desktop application (drag & drop text, select one option and dynamically update other options, etc.) compared to traditional web-based HTML forms. Cardinal uses a conventional configuration of Adobe ColdFusion MX as their middle tier and Microsoft SQL Server 2005 as the database.

Here are some screenshots showing the application. You really need to click on each image and view the full-size photo in order to appreciate the beauty of the Flex platform.

1. Attendee view of session scheduler, with filter-select-drag-drop capability to build your personal agenda.


2. After building your schedule, print a personal agenda as a PDF document.





3. The admin-side (for event planners) of the application uses Flex's features really well to manage the huge amount of information inherent in multi-session conferences.


Flex Performance

With the pilot event, several thousand attendees logged on simultaneously when the sessions opened, and Stephen Chang didn't notice an appreciable load on the web server running the application. This processing efficiency results from much of the processing occuring on the user's Web browser, which makes small, infrequent requests to the web server for data updates.

Integration with Registration Systems

Stephen built batch import routines to upload tab-separated values as text files for both attendee lists and session lists. For example, after the event completes preliminary registration, they transfer attendee data to the session scheduler and then begin the session management phase. Stephen also built an API to allow transactional import of attendee information, e.g., as each registration completes, the registration system passes that data to the session scheduler so that the attendee can immediately begin to manage their sessions. If any sessions have associated fees, then the session should be selected in the registration system and paid along with other fees.


Final Word

For more information about ScheduleFlex, contact Rod at Cardinal. They did a nice job building a simple interface for a complex problem in event planning, and I expect to see more use of Rich Internet Applications in the future.

Thursday, April 10, 2008

We're not in Kansas anymore, but we're close...

With a 3-week old baby and two six-month old puppies, I was enjoying a rare stretch of REM sleep Thursday morning when tornadoes hit the Dallas-Fort Worth area. Officially, the top wind speeds of 75-87 mph makes this a category 0 or 1 on the Fujita Scale, but I would not want to be around a category 5.

Perspective from the ground

I was sound asleep when the lightening flashes began at 3:30am. I laughed as the thunder rolled in, because I knew that the sleep was too good to last, but this time something was different. The sky was darker than usual, the lightening increased until it flashed without stop, and through the streaks I saw colors of blue and black that belong in bruises, not the sky. Next, I heard the sound of an onrushing train, followed by the shrill scream "Mommy!" coming from my 5-year old daughter upstairs. My wife was nursing our newborn so I ran upstairs, realizing that the power was out and with it our night lights. It was fire drill time - I sent Izzy crying down the stairs and pulled Cade out of his bed to follow. Then into Kyra's room to jerk her out of bed and drag her down into the tornado shelter we have under the stairwell in our closet. Mommy and baby sat in a heap of clothes while the other 4 of us huddled around the flashlight listening to the roar of the storm.

It was over in less than 5 minutes.

I went out to the garage to listen to the car radio (note to self: put an emergency radio in the shelter) and heard the news of the storm front travelling at 45 mph, already east of our town. The sirens had stopped, although frankly I had barely noticed them in the first place, and we began to lay out futons on the floor in our bedroom for the kids to sleep.

A New Day Dawns

The morning commute to school was a complete mess, with power lines and fallen brick walls blocking every other road. But we had a beautiful sunny day, and by noon my phone, Internet, and power were restored. I got to meet many of my neighbors as we all cleaned up the mess, and apparently no one was injured in the entire DFW region, which is amazing.

Here's a sample of photos around my neighborhood.


That's my 75-pound propane grill tossed into the middle of the yard.



There's a reason no sports teams choose "Fences" as their mascot - last night the score was Tornadoes 89,000 and Fences 0.


"Chimneys" wouldn't make a good team name either - this one didn't do so well.


I wonder if this is why my power was out...


This trampoline went through the bedroom window.


That black circle in the tree is my neighbor's trampoline, landed on the fairway 250 yards from home. Those who know me remember that's farther than any tee shot I've ever had.


But all's well that ends well - this is Wilson at 2.5 weeks old.

Wednesday, February 20, 2008

Can you achieve 100% up-time?

As an online registration provider, we strive for 100% availability of our event management software. This is very difficult to achieve in practice, and we occasionally have outages ranging from a few minutes on all servers to intermittent performance for hours affecting only specific customers. Our customers' reaction to these hopefully infrequent episodes ranges from understanding ("oh well, I have a lot of other things to do right now - I'll check back later.") to complete outrage ("I'm losing paid registrations! I have to get this report to the hotel now!").

The "New Normal"?

This article, On-Demand Outages the "New Normal"?, takes the interesting view that as people become more familiar with daily usage of Software as a Service (SaaS) such as our online registration technology, users will realize that these outages are inevitable and they will adjust their expectations and actions during the occasional downtime. No one is immune to the problem - the article references recent and period performance troubles at major SaaS companies such as Salesforce, Blackberry, and Google Apps.

My Old Friend, Who I Dearly Do Not Miss

blue screen of deathI remember the early days of Windows when the "blue screen of death" was an unwelcomed part of my daily routine. Reboot, stand up and stretch, login, get some water, wait for the programs to open, pick back up where I left off. The blue screen probably did me more benefit ergonimcally by interrupting long sessions slouched over at my PC than they caused me harm - that is, once I learned to control my temper.

Getting Better, but We're Not There Yet

I'm not excusing poor performance or saying that we won't get better (as we have in the past). But maybe we as users need to begin to consider intermittent outages of SaaS as unavoidable and expected, and thus we should create contingency plans for what we will do when they happen (besides freaking out).

Friday, January 04, 2008

Wow, we created a community - now what?

Our online registration and event management software is a behind-the-scenes tool. Millions of people register for events and receive email invitations and confirmations without knowing what application did the grunt work - they only know the name of the event they want to attend.

Several months ago, I sat next to someone on the airplane and through casual conversation discovered that he was flying to an event sponsored by one of our customers, and yes, he had registered online through Certain Registration. He pulled out his printed confirmation page and I recognized our handiwork - I know this is small stuff for most, but for me it was a prideful moment nine years in the making.

Then I realized - wow, we make a product that affects people's lives slightly, a product that they don't know they are using, one that they take for granted and only care about when it doesn't work. It seems that I now work for a modern utility company.


Supporting the people behind the curtain

Wizard of Oz (1939)Professional meeting planners will understand that feeling. They do the work behind wonderful, educational, and entertaining events but often cannot share their attendees' enjoyment because they are mired in the daily slog of details required to bring hundreds or thousands of people together for a short time. We want our application to make the lives of these people a little bit easier every day.

As our user base has grown, we find ourselves associated with a group of people who depend on our application every day in order to do their job. Their ability to use the software and figure out how to achieve their immediate task will determine their productivity for that day - and thus their earning potential and how soon they can get home each evening. We try to make our application "easy-to-use", and when it isn't intuitive we have Help files, and when those don't answer the question we add solutions to our knowledge base. Still, sometimes you just want to talk to other people who have done the same thing that you are doing now.


"Web 2.0" - Social Networking and Communities

I was at ground zero of Web 1.0 (San Francisco 1994-99), but lately I'm feeling a bit old-fashioned. I put up a page on Myspace at my youngest sister's request, but I don't use it. Most of the people who want to be my "friends" are trying to sell me stuff I don't need or show me stuff I don't want to see. I also have a Facebook page but don't poke me and I promise not to waste your time there either. I don't care what music you are listening to today, but if you have set up an online registration form using SAML-based single-sign on standards then you have just become my BFF (best friend forever, or at least while I'm working on this project).

So the online community I want to be in consists of my co-workers and clients who actively use Certain Registration. We rarely meet in person, but we want to talk to and learn from each other, and we need to know how to do something new, what features are coming out next, and what bugs have been exposed / how they can be avoided / when they will be fixed.

Several of us at Certain have been looking at some online community applications to support these conversations, and my favorite by far is Community Server. Their application allows you to set up forums, blogs, and downloads for your registered users. The great thing about the application is its flexibility - you can put photos, files, and even Web videos into the "Downloads" area to make it a truly on-demand interactive training resource. Blogs can be used for quick announcements, release announcements, scheduled downtime, etc. in addition to articles (such as this one). Forums allow users to post questions and look for answers from anyone in the community (instead of relying solely on our help desk during its normal business hours).

I'm looking forward to having a tool like this to help bring together our global community. But please let me know if you have another community-based application that you like better.

Friday, November 09, 2007

Online Registration: Life as a small fish in a big ocean

Last week Lauren Covington and Stephen Nold at Meeting Tech Online (MTO) published "Registration Tools: What’s New, What’s Next", describing the results of their research into the subject. The topic raised by meeting planners that was of most interest to me was their desire to integrate registration systems with their other back-office systems.

Background: Big ocean, small fish

I'm not sure how big the meetings industry is. Starcite's Web site refers to the $300 billion global events industry, while a January 2007 PhoCusWright study projects "groups and meetings revenue" at $175 billion by 2008. Either way, the market size is really big, but according to the PhoCusWright study travel (air, hotel, car, ground transportation, cruise, travel) accounts for about 54% of the total while non-travel (meeting rooms, catering, audio/visual) accounts for 46%. Starcite's research predicts a $1.5 billion market size by 2010 for meetings technology tools (which I assume includes event RFPs, meeting expense management, meeting planning, online community, and registration applications). If online registration tools accounts for 10% of that total, then $150 million is a nice market niche for a small software company like ours, but this size makes it tough for us to set the technology direction of companies that organize events and spend 1,000 times that amount holding them.

(Comment: Thanks to Michael Boult, Starcite's CEO, for his polite comments correcting my originally reported data and providing additional information.)

Living with multiple systems when you are the smallest of the lot

The result is that we enter systems integration projects from a position of weakness. Companies look at their CRM (Customer Relationship Management), Intranet, and HR employee databases as their primary applications that are critical to business operation. While event management software is crucial to a small number of meeting planners, the rest of the organization spends maybe 15 minutes each year registering for a handful of events. As a software company, we want to build interfaces that others connect to, give them the documentation, and have them go at it. More often, we receive a stack of documentation and are asked how we are going to fit our round peg into their square hole.

Love it or hate it, everybody has it

The first place we started was with Microsoft. By integrating with Internet Explorer (Certain Registration), Outlook (email and calendar appointments), Excel (reports and imports), and Word (labels, badges, and printable documents) - we connect to the tools that 90% of our customers regularly use. The open source movement and competition from Google, IBM, and others have forced Microsoft to expand their products' interoperability slowly but steadily. I expect that Certain Registration and similar products will continue to grow closer to these standard tools in the future.

The key to communication is to speak the same language

Two systems that speak the same language can communicate readily. Two systems using different languages must have an "interpreter" in order to communicate. In software, the cost of building the interpreter can be the difference between winning and losing the business. Because online registration is dependent upon larger systems, we have to learn the languages of the core systems.

When I wrote the second version of Certain Registration (Register123.com) in 2001, I corrected the mistakes of the late 1990s, but I did not have a standard framework to build upon. Now, the software industry has both a standard communication method (Web Services) and language (XML). I've written previously about my efforts to help define a standard language for the events industry through the Convention Industry Council's APEX initiative. I have recently had the chance to review Security Assertion Markup Language (SAML), an established XML communication standard for "Single Sign On", which is the practice of logging in once and being authenticated into multiple applications. (I'll write more on that subject in a future post.)

Eating the elephant one bite at a time...

The reason I spend so much time on XML standards and Web Services is that, while we have integration interfaces now, the future for "minor" applications like registration will be to natively speak the common XML languages of the core applications. Then my clients' developers will be able to select Certain Registration as an off-the-shelf component of the much larger system that they are supporting, and they will be able to quickly exchange data within defined boundaries between our application and their other components.

As I see it now, this is going to be the only way for most organizations to have an "all-in-one" system that includes a professional meeting management component.