Eventric Case Study

Eventric provides desktop, web, and mobile applications that are used by some of the biggest entertainment acts in the world, such as the Dave Matthews Band, Bon Jovi, The Eagles and Lady Gaga.  These applications are used to manage tour logistics in real-time.  This includes everything from travel and hotel to detailed technical production information and financial settlement.  (Download PDF)

Business Situation

Eventric was originally founded in 2000 and re-launched under a new brand in 2009. In the late 90’s co-founder, Ian Kuhn designed a File Maker database specifically for the Dave Mathews Band, for whom he was (and is) the monitor engineer.  Tour managers began to take notice of his database and it started to be used by other organizations.  As time went on a demand started to grow for more features and commercial support, which enabled Eventric to evolve organically.

The development team originally had a strong background in .NET, PHP and server-side Java, but had not previously worked with Flex. The design requirements were that the app needed to be both cross-platform and run offline.  After evaluating various platforms they chose Adobe AIR.  Some early prototype code was written using traditional XML-based web services on the server.  However, they quickly discovered the AMF protocol and how simple it was to pass objects back and forth from client to server.  Coming from a Java background the environment was somewhat familiar and they picked up working with Adobe AIR and AMF quickly.

Application Description

Eventric’s flagship product is “Master Tour”, a desktop application written in Flex/AIR that is used by tour managers to keep track of their tour schedule, travel information and production details.  The information is stored locally using AIR’s SQLite functionality.  All data is then synced to a central server.

The software is an event management application extremely fine-tuned for the needs of traveling entertainment groups.  A tour manager uses the Eventric application to enter all of the events (concerts) in a tour.  They enter travel, hotel, schedule, production and financial information. Their power users rely on their application and servers to collaborate and share information with their team in real-time.  Eventric also provides mobile applications for several devices that allow various members of the tour to view itineraries in real-time.

Problem Definition

In addition to the client side code, the team had to build a server infrastructure.  A major feature requirement of their app is that it runs offline, but the client data is synchronized with all team members via Eventric’s central server.  Due to the granular data syncing none of the existing data products were going to work out of the box so they were faced with having to write their own syncing code, regardless of the platform.  As they began looking at commercial solutions that could provide the syncing, cost immediately became an issue for any Java-based solution, so they decided to go the PHP route due to server licensing, in-house experience, scalability and the large development community.

Solution

Having chosen a LAMP stack for their server environment, WebORB for PHP was considered as a possible integration solution.  According to Jason Hinkle, VP of Development, “WebORB was the clear leader– it simply worked on the first install, which was not the case with all solutions.  We also like the fact that there is a commercial company behind the product in the event that we should need urgent support.  The documentation and amount of community activity on the support forums is good.  The management console is nice bonus too.  Eventric also chose RIA AppPuncher Debugger to help them debug the communication between client and server.

Benefits

From the moment the Eventric developers first started writing code until their first beta release was approximately 15 months and incremental updates about every two weeks and new development continues.  According to Jason, “Some of the most important benefits the Eventric team experienced using WebORB for PHP include: 

  • Reduced Development cycle – Developing new server-side functions has been simple because code doesn’t have to be written any differently than a standard PHP class.  Aside from a few complex data types such as Dates, WebORB doesn’t require any special code to make services available via AMF.  WebORB allowed us to quickly write Flex remote services in the language of our choice with almost zero learning curve.  It handles all the low-level AMF stuff so you can focus on your business logic.  Also, the developers like it because it’s just easy and unobtrusive, saving them a lot of development time.
  • Easier Debugging - App Puncher saved us a lot of time debugging services as well, because the Flex AMF responders didn’t allow us to see the details of un-caught server errors.
  • Better Performance – While we’ve only done informal benchmarking on our own servers, we did research AMF compared to HTTP based web services and found the performance benefit to be significant.
  • Scalability -  Since WebORB is pure PHP code without any special dependencies, we found it is  simple to deploy on more servers as needed.  We just package it up with our application code.
  • Commercial Support – We haven’t really needed much support, however the one time we did, a member of the Midnight Coders team got back to us quickly with a solution.  It’s a comfort to know there is a technical contact we can reach when we need to.

Concluding Remarks

Jason’s concluding remark was, “The greatest thing about WebORB for us is that we don’t need to think about it much.  It just works!”  

Server Environment

  • Virtual cloud-based servers hosted on Rackspace and running WebORB for PHP 
  • Appservers have 1 GB of RAM
  • CPU is virtual and scales up to 4 cores when needed
  • Supports 1,000 users per app server running at 10% capacity
  • APC accelerator & bytecode cache is installed on each app server
  • Data caching using memcached