If you are a municipality, you are probably familiar with Active Network’s Class application. For 30 years, it’s been a mainstay for organizations that manage recreational facilities and operate sports programs. It’s powerful, flexible, and completely conceived and developed pre-web. While Active Network has provided a “web interface” to the application, it’s a locked in format with no API, no mobile capabilities, minimal search and discovery capabilities, and a legendarily mediocre user interface.
The Active Network licensing agreement, that customers agree to, makes it difficult or impossible to extend the system. Some data can be extracted, but data cannot be written to the system, and no direct access to the database is permitted. Some organizations have managed to create enhanced interfaces, but in the end any customer who wants to actually register for a course online must be directed to the proprietary web interface provided by Active Network.
Why don’t cities just ditch Class and move to a better product? Two simple answers: 1) years of data entry and history; 2) there isn’t a competitor with a product so much better that it’s worth the cost and pain to migrate.
Several of our municipal customers were exploring ways to improve the user interface, improve accessibility, and improve access on mobile devices. While we still have ongoing enhancements and our own UX improvements we’d like to see, I thought I’d share some of the successes we’ve had and the approach we’ve taken.
Getting data where we can use it
While Class is a closed system, it runs on an Oracle database. Organizations that own Class will usually be running a modern version of Oracle and have Oracle DBAs on their team. And while the license agreement is very particular about what a customer can and can’t do with their data once it is stored in Class, there is provision to export that data directly from Oracle. So the building block of our approach is Oracle Views and using the power of the Oracle database itself to create the data structures we need. The license agreement restricts us from going direct to the database as a source, and it restricts us from writing back to the database; it does not restrict us from exporting the data for use in other systems.
Caveat #1: One of the liabilities of Class is that it does not provide a particularly rigorous data model for customers. Customers can pretty much enter data however they want, and if their organization does not do the extra work to plan, then the data you get out may not be well-structured and normalized. It may not even be consistent within the organization (i.e. different facilities like a city pool and a city hockey arena may enter data using different conventions)
Oracle lets us produce an export that is as well structured as the original data permits, and lets us pull it in an XML format or something we can pull into a web database. (Note: for many of our municipal customers we provide Hosted Solutions, where our team manages their core web infrastructure, so in my examples I’ll be referring to systems running in our private cloud infrastructure rather than internally hosted solutions). To pull data to the web server, we can use one of a variety of secure transport protocols, let’s suggest that it’s SFTP. The customer simply leaves a batch of XML files at a location in their environment on a schedule of their choosing. Our system pulls that data to the high availability web environment and does the rest.
Baking the presentation layer
We pull the XML data into a database. While we could simply publish XML direct to the web and transform it into whatever we want on the fly, we have some things we’d like to do first. Here are some of the issues we want to be able to address at this stage:
The structure of the data as it comes out of Class may not match the ideal user interface, so we may want to slice and dice it to meet different use cases.
We can’t be sure that the data is “good” and fits the defined use cases so we need to bring it into a platform where we can perform basic validation before we simply push it to a live web server.
The data may be large, so we may choose to break it up into chunks rather than put the onus on the client device to download, render and display various views.
Next we import the Class data into the content management system – in the cases I’m referring to here, we are using the OpenText Web Site Management (WSM) platform, but we could just as easily be using Drupal, Oracle WebCenter or any of the other systems we work with – and we turn the data into HTML. Why not just leave it all in the database? We have a few reasons for this:
We want the data to be available to content authors so they can grab chunks and use it as page content, i.e. “I want a list of swim schedules to include on our summer holiday promotion page”. So we need to make it available in a format that works well in a content management system.
We want the data to be indexed by the customer’s search engine, so we want to publish it in an easy to index format.
Some customers like to have the ability to audit web site content and verify what they were advertising on their website at a given time, so we pull the content into the CMS so that it is available to the versioning and/or records management capabilities of that system.
What we’ve built is a data management platform external to Class that lets us do all kinds of good things to Class data. We’ve created a series of external, web-based products that improve the experience of users trying to access municipal programs, while allowing cities to add value to their current investment in Active Network Class.
An open and shut case for Edmonton
We’ve worked with Edmonton for more than a half-decade now, as they have grown to be a world-class digital communicator. Their move to cloud technology, open data, and citizen engagement has gained them (us! – many Yellow Pencils live here) an international reputation as a web-first organization. While we started as the web design agency for the City, we’ve both grown. Our team is now a digital service provider to Edmonton, and Edmonton has built its own design, IA, analytics, and training team who are responsible for the user interface of their flagship web property, Edmonton.ca.
Edmonton uses Class to manage all activities at the many recreation venues they own and manage, from athletic training facilities to Olympic dive pools to hockey arenas (Go Oilers!). We deployed our platform for Edmonton and gave them the ability to pull recreation information out to their public website and incorporate it into web content published by the OpenText WSM system, and make it fully searchable by their Thunderstone search appliances.
Edmonton has developed an innovative “accordion” design standard for displaying progressive information, and this solution allows them to pull activity and facility content to their website and display it as accessible HTML. We worked with Edmonton to shape their Class data to their information architecture and design standards.
It’s never been easier to learn to play hockey in Edmonton, whether you hope to be the next Great One, or like me you just want to lower the total volume of heckling when you step onto the ice.
Surrey shoots for the COSMOS
The City of Surrey, BC adopted our Class platform as well. We also have worked with Surrey for several years, partnering with their IT, Marketing and Web teams to support them as they grow into a mature, web-first organization. One of the major economic drivers in Surrey is land development for green tech, transportation, industrial, and agricultural use. For this reason, Surrey has made a substantial investment into mapping technology, and they have developed their own platform called COSMOS.
Surrey wanted to go deeper with their web integration, so we worked with Surrey to create an easy to browse mashup of their Class data fully integrated with their COSMOS mapping application. We are publishing the content via the OpenText WSM platform and indexing the content and producing search results via the Google Search Appliance.
Residents can now search and browse for recreation and facility information, find it on maps and make decisions about where to attend beginner yoga based on the locations and times that are most convenient for them. They can also start searches based on where they are and expand their horizons, looking for new activities and sports. As one of Canada’s most multi-cultural communities, Surrey has invested in sports facilities that are less common across this country – you should see the Field Hockey venue.
We’re continually updating the Surrey.ca platform based on user needs, and we’ve just completed a full responsive redesign of the website. We’re continually looking for ways to make the Surrey.ca site the best in class experience for users – especially users of Class!
GoSurrey: A native iPhone App for Class
Beyond the web, Surrey wanted to explore what they could do with an iPhone app. While we are proponents of a web-first, mobile-first, responsive design approach, we do love apps when apps are called for! Some of the advantages we get with iOS that enhance what we could do with web-only are:
Using Apple Maps to add capabilities like driving directions that the Surrey COSMOS maps does not provide.
Using GeoLocation to show someone activities results that are closest to their current location.
Taking advantage of the powerful Apple VoiceOver assistive technology for improving accessibility.
Storing personal preferences securely on an individual device so that visitors can customize their searches and store favourite activities.
We developed a native iOS application that is available in the Apple iTunes store. Search for the GoSurrey app and see how easy it is to find activities. All the content is published from our data platform and is updated daily. We’ve built a high performance delivery system so that the data download is minimized for each request to improve app performance and to reduce the amount of data transfer a customer has to pay for.
Residents in Surrey can download the app, pick their current location or a favourite address, select their preference, and get right to the point of registration right within an iPhone app!
What we want to do next
We’re really pleased with what we can do with our Active Network Class data platform. From customized user interface for the web, to a native iOS app, we’ve enabled access to Class data for web visitors that we haven’t seen anywhere else on online.
We’ve got some plans for next steps, and we’re currently working with Apple Canada to see how we could extend our current work to better take advantage of the capabilities of iOS and Apple hardware to create an amazing user experience from the web to mobile to the facility itself.
Some of our ideas include:
OpenData Portal integration: We can currently provide our data platform in a way that could easily be integrated with open data portals used by cities. We want to create a standard integration so that municipalities can add their facilities data to their open data catalog.
Admin iPad dashboard app: We want to bring even more data out of the system and provide a complete, iPad-based administrator dashboard with charting and mapping to show what programs are filling up, where in a city people are registering for programs (and from where), and what trends and patterns are emerging.
iPad check-in terminal: We’re in conversation with Apple about how we could use their hardware platform to provide check-in terminals where people could use smartphones to check-in for programs, and then instructors could use the app to verify attendance and do roll-call.
Multi-pass app for any City Facility: check-in terminals and smartphone check-in leads to the idea of a smartphone-based multi-pass (I can only say this word in the voice of Milla Jovovich in Luc Besson’s 5th Element) where residents and tourists can pay for access to any facility.
We’ve got lots of plans and it’s all aligned to our focus on building the best web communication and service delivery tools for cities anywhere on the Internet. Are you a City who wants to explore how we could improve your implementation of Active Network Class? Send me an e-mail! firstname.lastname@example.org