CounterMarch Systems

comfortably self-assured


We used to blog more before twitter came along.

CASE Benchmarking Toolkit featured on Adobe Flex Showcase

One of our systems has been included in the Adobe Flex showcase on the newly relaunched Flex.org website: the CASE Benchmarking Toolkit.

The toolkit is a Flex and ColdFusion application used by CASE and select member 'communities of practice' to develop, collect and report on common performance metrics for fundraising and alumni relations in the world of higher education. This system is used by decision makers in thousands of institutions worldwide. You can read more about it in the Benchmarking and Analytics Toolkit for Higher Education post I put up a few months ago. Needless to say, this is very exciting!

I wish I could give you a direct link, but I'll give you directions instead. Flex.org -> What's Possible -> View Full Showcase. We're in there somewhere. There's plenty of design inspiration to be taken from the other apps listed as well.

Benchmarking and Analytics Toolkit for Higher Education powered by Adobe ColdFusion and Flex

Earlier this year one of our projects went from soft-launch mode to officially "live" mode: The CASE Benchmarking Toolkit, a system we designed and implemented for CASE, the Council for Advancement and Support of Education. CASE represents over 2000 institutions of higher education worldwide with over 75,000 members.

Technical Specs

Interface: Flex 3.3
Backend: ColdFusion 8
Database: Microsoft SQL Server 2000

Integration with their member management and AMS/CRM system, iMIS.
Consumes data provided by IPEDS.

The Toolkit enables the CASE research division and interested communities of practice1 to build quantitative benchmarking surveys, collect data, generate reports (text and graphical) and design summary dashboards through an easy-to-use interface. We wanted to share a little bit about what it does, why this is great for the alumni relations and advancement profession and why we as Adobe fans are so proud to have built it.

History

The origins of this project start back in 2005 with our friends at PCUAD. We implemented a surveying and benchmarking system for them that reduced the amount of time required to collect, output and analyze the data gathered from thirty higher education institutions. The "Alumni Relations Assessment and Measurement Program" (ARAMP) was the first attempt by any community of practice organization to quantitatively measure the performance of an alumni relations operation. It was an overnight success and continues to be used by PCUAD. About a year later we replaced the HTML UI with a Flex-based UI for use by the North East Alumni Relations group (NEAR).

Word got out pretty fast that PCUAD had not only created a great survey to 'measure' Alumni Relations but also the software to back it up. PCUAD was all too happy to help us get connected with the team at CASE to see if we could push this forward as a global benchmarking system. Once the decision was made to move ahead, we set about redesigning everything - the data model, the middleware and especially the user interface to work seamlessly with the CASE CRM system (iMIS - also a ColdFusion-powered product!)- using the experience we gained supporting PCUAD and NEAR to inform our decision making.

We delivered the system to CASE in February 2008 for beta testing, flipping the "go-live" switch in May.

Perhaps more importantly, we delivered the system to them on time and under budget.

Fast, integrated survey creation

Administrators can whip up a survey in next to no time. The CBT supports a wide variety of question types including question matrices. The system strongly encourages question reuse and enables the cloning of questions, sections and even entire surveys. It is through this capability that year-over-year data can be compared and analyzed. Since the user directory is fully integrated with iMIS, assigning permissions can be done anywhere within CASE which makes provisioning and access control a piece of cake.

Pain-free survey taking

For starters, this product is not Survey Monkey. Responses to surveys are intended to reflect institutional (not individual) performance; for any given survey many people from an institution can work on it but there is only one submission per school. This allows us to aggregate and filter the reports by specific institutional characteristics. Assistive text is available for each question in a survey, which when it comes to financial reporting is absolutely crucial. There are many ways to tabulate donations, donors, volunteers and many other aspects of a modern-day advancement organization.

Reporting and Exporting

Reporting is also a breeze. We know that advancement professionals use a lot of Word and Powerpoint documents in their line of work so we made it really simple to get exactly what they want from the available survey data. Not only can you select which of the available criteria to filter on, but you can view charts and graphs, calculate aggregate values and export it all to Excel (report data) and jpg (charts). We found that using ColdFusion to generate the appropriate data and Flex to render it was a very efficient, powerful combination.

Filtering report data was done through a very straightforward interface based on research and design we did for our RecruitWeb product. Criteria are displayed down the left side of the screen for selection; each item carries with it additional parameters that are user-defined. Use of colors to indicate active filters and the translation of selections to "plain English" gives the user a very good idea of what they can expect to see in the requested report.

Aggregate values are calculated for multi institution reports and privacy is protected for specific types of surveys under certain circumstances. We learned just how protective advancement professionals are of their financial data yet found a way to present actionable and useful information without compromising privacy.

Screenshots


What's ahead

Overall, we're extremely pleased with what we were able to deliver. ColdFusion made the middleware and business logic a snap. Flex allowed us to prepare a rich, responsive user interface. Using Flex also provides the server with some additional scalability. Similar to an ajax-powered application, the less we have to generate and send over the wire the more resources are available to support a larger number of connected clients.

Thinking ahead, it would be great if we could deliver an AIR application to enable push messaging - new survey notifications, even faster desktop reporting and possibly even survey completion alerts. The more data this system contains the more valuable it becomes to all of the CASE member institutions. The more tools we can provide that encourage people to participate the better!

 

 

1. A "community of practice" is an assembly of peer institutions connected by similar characteristics like alumni population, annual fund budget, or undergraduate population - not the traditional groupings like "Ivy League" or "Big 10." This ensures an "apples to apples" comparison of data for each discipline represented by the toolkit.

Fun with Flex, Modules and Embedded Fonts

Short version: I had the same problem this guy had. A nice, functional Flex 2 app, recompiled under Flex 3 suddenly lost the labels under the columns in a ColumnChart. Our resolution was no solution at all.

Apparently a ColumnChart in a Module is unable to use/find/render embedded fonts (wouldn't it be great if this triggered an exception? we thought so.). We tried dropping a hidden ColumnChart in the root module which didn't work (though had been a handy resolution to other singleton vs. module issues in the past) on the off chance it would somehow capture the proper font settings.

Rather than continue to fight, we realized that Arial was good enough for chart labeling so the simple resolution was to just set the fontFamily on the ColumnChart and leave the rest of the app to render in Gill Sans. Happily enough the app looks good, the client is no longer upset about the lack of chart labels, and we didn't have to spend a day digging through the Flex framework to resolve the issue.

So...if you run in to this...take my advice and drop down to a common font like Arial for your chart labels. It'll be interesting to test this more thoroughly under Flex 4 with all of the improvements you get with the text layout framework. For now, though, Flex 3.x + embedded fonts + charts in modules is a combination best worked around.

Adobe Community Expert

Adobe Community Expert I got some great news yesterday from Adobe informing me that I've been invited to join the Adobe Community Experts group for 2009!

The community experts program (and forgive me if I quote directly from the site here) "is a community based program made up of Adobe customers who share their product expertise with the world-wide Adobe community." Kinda like what I used to do with the Philly CFUG, but on a broader scale. We're expected to attend and present at conferences, write frequently (on actual paper and online), and make ourselves available to others in the community who want to learn more.

I'm happy to be a champion for ColdFusion and Flex (and other Adobe tools) and look forward to making an even more active contribution to the community this year!

Flex Fundamentals - Philly Flex User Group

The Philadelphia Flex User Group is hosting the first of several "Fundamentals of Flex" meetings this Thursday, January 15.

Location: Huntsman Hall @ the University of Pennsylvania
Room G60
Time: 7-11 PM
Prizes: Books, Shirts, etc

Let 'em know you're coming by responding to the post on their Google Group. Should be a worthwhile outing for those who are new to Flex development and even those who are looking to refine their basic skills a bit.

Flex Builder 3 for Edu

Adobe is now offering Flex Builder 3 for free for ALL qualifying education customers.

This is an upgrade from the previous offer (faculty and students only). Now staff can get in on the action too!

If I were on staff at a university. I sure would jump on this ASAP!

Flex Builder 3 Impressions

I'm now on day 4 of the official version of Flex Builder 3 and I like it a lot!

The beta versions were plenty stable to get work done. Every now and then it would spin off out of control. but that was to be expected. The release version is rock solid and feels faster too.

Installing CFEclipse was a piece of cake (Help->Software Updates->Find and Install->New Features->CFEclipse). Bam...it just works. We use subversion. so getting Subclipse going was essential too. Remember. FB3 is built on Eclipse 3.3 so use the "http://subclipse.tigris.org/update_1.2.x" update site.

One minor gripe that I'll have to get over is the overwhelming number of plugins for Eclipse in general. Some of them have odd dependencies on one another that aren't trivially easy to work out when selecting them from the updates screen. With a little more time spent learning I'm sure I'll figure it out. but for now I'm going to keep it simple. The Web Tools Platform is certainly an attractive upgrade that I wouldn't mind installing sooner rather than later!

Great job. Flex Builder team! Looking forward to keeping this as my primary IDE for CF and Flex development. I promise to pay for the upgrade before the trial expires!

Optimizing with Flex 3

We've been doing a lot of Flex work lately. but didn't compile any of our production apps under Flex 3 until yesterday - we shouldn't have waited!

One application we've been working on contains 9 modules and one "main" application. Under Flex 2. each of these modules was compiled as its own application - building in the Flex framework and Cairngorm code on every compile. This jacked up the swf sizes considerably. but since we were largely under 500k. it was tolerable. Not great by any measure. but it would do.

Yesterday. I opened up the project in Flex Builder 3 and adjusted the Flex project settings to optimize these Flex modules against the main application file. I was just poking around the project settings and figured that if it was "optimizing" it would either a) work out well or b) crash spectacularly. It was amazingly easy to set this up...and then I ran the build. The file size differences were amazing! I was seeing swf sizes that were anywhere from 10-35% of the original size - a MASSIVE improvement! The best part is the application still runs - no coding changes. just a configuration tweak and now our app is a fraction of its former size. Be careful. though...optimizing will prohibit the compiled module from being loadable by any other Flex app. This is not usually a problem (in our case it isn't).

The next natural step was to mess with the Runtime Shared Library feature. In this application. we can encapsulate the Flex Framework in a shared library that will only ever need to be downloaded ONCE by the client. The savings here weren't quite as great. but I think there's more optimization I can do to that as well.

Here are the stats (all numbers in KB):

Module Flex 2 Flex 3 Flex 3 w/RSL
A 343 34 46
B 579 98 110
C 471 56 70
D 634 156 98
Main 810 581 466
E 466 87 66
F 307 26 38
G 436 26 83
H 337 33 45
I 743 224 187
Subtotal 5126 1321 1209
Framework RSL N/A N/A 526
Total 5126 1321 1735

We've still got a good bit of work to do on this app. but the initial sweep suggests we're going to be able to really cut down on the data traffic from our initial build. Can't complain about that!

Lies Flex Builder Told Me

Every now and then. despite all evidence to the contrary. Flex Builder gets caught lying to me and it's kinda frustrating!

Get ready for "boom"

The blog has been dark for about a month. but the office has been anything but.

We've been working a lot - way more than we expected - to get our projects done. We've done great at delivery. with upgrades to our faculty evaluation system pushed out the door on time (followed by a trouble-free reporting cycle). a brand-new award nomination system launched last night (basically a build-your-own form generator) and a soon-to-launch software project documentation/lifecycle tracker for one of our favorite clients (you know who you are!).

We're now in the final 48 hours of work on a slick Flex-based benchmarking survey suite. The final 48 hours of a 7 month project that has cost Matt more than enough sleep and both of us a nice slice of youth. HOWEVER...it's a beautiful thing and will give our client the ability to support and encourage the growth of their clients in a way that hasn't been done on this scale before. I can't wait to post screenshots and show off what we accomplished. This application integrates data from two outside databases. compiling and calculating additional data on top of it. and providing a rich reporting UI that includes Excel export and on-screen chart creation. Flex makes the graphical and user interface elements of the project so much more attractive! We're also expecting a heavy load. which we're feeling more comfortable about supporting through the offloading of a lot of work to the client through the use of Flex and web services. Can't wait to get it pushed live!

Also coming down to the final week is our long-discussed Online Community project. We've been focused on making it a stunning and useful experience and at the same time adapting features to meet last minute shifts in requirements. This isn't another Facebook/MySpace/Ning site - this product is for colleges and universities to use. The OC provides a high-content. simple-to-use and CRM-oriented platform for alumni to reconnect with one another and their alma mater. Lots of time has been spent balancing the integration needs of the institution (always interesting) and ease of use - at this stage I'm convinced that few other online community vendors in this space have considered these issues as thoroughly as we have.

The OC has been previewed to a few people (and they've been impressed). but next Saturday is the "big one" - the feature-complete dog and pony show that will either excite the heck out of them or make us wonder where we went wrong. Early indications are positive. but we've got a ways to go to be ready for it. I'm going to steal as many ideas from Steve Jobs as I can for the Powerpoint portion of the talk - possibly even the attire!

So that's where we've been: working on a ton of Flex. kicking out a little bit of inspired ColdFusion and spending lots of time in meetings. A couple weeks from now we'll post screenshots (and probably put the community up on Labs for folks to play with). Our clients are eager to get these projects wrapped up. so back to work I go. We're doing great and we'll be doing even better after go-live!

More Entries

About the blog

Celebrating our 5th year!

CounterMarch Systems is a professional consulting firm specializing in Adobe technologies with a special focus on higher education.

2771 Red Oak Circle
Bethlehem, Pennsylvania 18017
610.280.3455
Contact Us