While at Adobe MAX, I had the pleasure of talking with one of the customer keynotes, Adam Mollenkopf of FedEx Custom Critical. His team had worked on a Flash Platform and LiveCycle driven console for tracking high-dollar shipments and monitoring just about every aspect of the shipment itself. I’m always searching for stories of why an RIA (here, Flash) was used over Ajax or traditional GUIs, and I think in Adam does a good explanation of why they came to pick the Flash Platform over Ajax in the first part, the interview. We then sit down and he walks us through the demo of the console in action.
(Update, Dec 4th, 2009: I’ve added a transcript for the interview portion.)
Interview
Adam first tells us what FedEx Custom Critical does, and then we jump into a discussion of how they came to select the Adobe stack for implementation of their shipment tracking console. They not only chose Flex and LiveCycle for the rich interface, but also for the high-speed data transfer between front-end and back-end. Adam really likes the data management that comes with the stack, esp. being able to use “true push” to the client.
Transcript
Michael Coté: Hello, everybody here we at Adobe MAX 2009 in the lovely Los Angeles. Not Los Vegas and this is Michael Coté of course, with RedMonk and we’ve got a guest with ourselves. Would you like to introduce yourself?
Adam MollenKopf: Hi, I’m Adam MollenKopf. I work for FedEx Custom Critical and glad to be here today.
Michael Coté: I was talking with you little bit before the filming and we were going through the pretty interesting demo that we are going to see in a little bit, but for the first thing I’ve never actually heard of FedEx Critical, so could you tell people what exactly FedEx Critical is?
Adam MollenKopf: Absolutely; most of you are probably familiar with FedEx, the express, the ground, and the freight. Custom Critical is a unique part of FedEx that specializes in shipping things that are very time sensitive. So things that need to move from New York to Miami they would expedite it. So somebody has got an assembly line down or something we can move a part to fix that appropriately. We also do special care and handling. We do a lot of sensitive shipments for perishable goods and other items of that nature.
Michael Coté: So essentially you have — I forget the agent; you have an agent and they are kind of looking at a console and then all the various trucks are feeding into the agents view of something and then I guess you have customers calling in every 5 minutes, you know, to check on their shipment and wanting to know where it is or something. Is that the kind of typical scenario for a shipment that might be going around?
Adam MollenKopf: Exactly, so the things we ship are very high value. We need to know to the minute the location and what is happening on it at any given point in time and then intent of the application that we’ll show in just a minute is basically to detect abnormal events and present those to somebody to take proactive action on it before it becomes a bad situation, and to automate all the normal events. So when we get a position fix on a vehicle I am still going to meet the expected time of arrival. We don’t really want to nuisance an agent with that, because we have in the past, so we just want them to look at the abnormal situations expectation management.
Michael Coté: The system that we’d been talking about earlier was basically tracking a truck or whatever as it is moving along and I’m curios when you are looking at the requirements for what you were going to build, like, how did you come to the Adobe stuff? How did you make, like, an RIA essentially?
Adam MollenKopf: It was actually quite a long process to get to the Adobe solution and we finally found a good solution with Adobe. So we experimented with a number of other technologies for the last few years honestly. We tried this with [Java] Swing, we tried this with Ajax component vendors and had miserable performance and scalability issues with it in the past.
And just due to the sheer volume of the thousands of trucks that we are trying to ship and the thousands of trucks that we are trying to track and the shipments that are trying to track as well just the amount of volume was too much for those frameworks to handle.
Data services, LifeCycle, and a lot of the other Adobe technologies, Flex in specific, allowed for us to have a nice visualization of that, that was effective.
Michael Coté: Given those requirements what was it about LifeCycle Data Services, and Flex that, that fitted better than say, like, Swing or Ajax or something like that?
Adam MollenKopf: Well, data management was a big part of LifeCycle Data Services when we selected that. So being able to bind automatically to the client and bind automatically to other clients. So if you are an agent at Custom Critical and I am an agent at Custom Critical and we are looking at the same shipment and you modify something or something in field modifies it – the truck does something that causes a new state; being able to see that in near real time with very little latency was very important.
So both from a data management and from a push, having a true push technology which is something that has been absent in the past. So the RTPM, the Real Time Messaging Protocol is provided and a true push protocol that’s socket based up to the client.
Michael Coté: Right, right versus, like, HTTP or something like that, yeah.
Adam MollenKopf: The server, and the amount of data going back to the server is minimized, so it’s like an observer pattern. So the client just has an open socket and we push something he wants to observe as it changes. So we’re not killing our servers, and we have a lot less server requirements as far as the number of servers to support those.
Michael Coté: What was the development process like for when you — you said your went through several alternatives and then when you did settle on using parts of the Adobe stack for it. How long did that take and what was the process for doing it?
Adam MollenKopf: It was fairly quick with the Adobe stuff. So I got hooked up a couple of folks at Adobe and we basically did a couple of proof of concepts and it was fairly quick and actually we did most of the work on our own, it didn’t require a lot of Adobe assistance because it was pretty well documented and we were able to go in there and test out the two major features of that we were looking for. So the data management and push technology and honestly we had lots of experience trying it with other —
Michael Coté: Right, your requirements all fitted that, right.
Adam MollenKopf: Right, so it was pretty well defined and it was kind of like, well, we don’t have a solution. We still don’t have a solution and we came across Adobe and now we do have a solution.
Michael Coté: You guys are using this now and it’s finished and, like, what are your plans for it in the future?
Adam MollenKopf: To extend it, so — what we’ll show you here is just the start of what we are going to do. So there’s a lot of other areas that we are going to apply this to not only just shipment tracking but also how we price things to the customer, how do we analyze history, how do we analyze things over geography and time. Being able to reason both over space and time, add micro and macro views.
Michael Coté: So, I guess there is sort of new information about things you could sell your customers to put it one way; but you have a new understanding of things that — business practices that you were doing in the past that you can fine-tune and make up new products and things to sell to them.
Adam MollenKopf: Right, so actually some new revenue generating things that came out of this is our security surveillance. So being able to show our customer that we have almost like a Network Operation Center, but we have Security Operation Center that is basically tracking these things to this detail that puts a lot of ease to the customer’s minds when they’re shipping something very high value or something extremely sensitive, which is our specialty.
Michael Coté: Having talked about the demo so much let’s check it out.
Demo
In addition to the general RIA-ness, the special thing to note is the rules engine backing all of the predictions and analyzing sensor and geo data. Those create an interesting (and for FedEx useful) stream of real-time data to console of realtime data to churn over, expose in the RIA, and start making business decisions around.
Disclosure: Adobe is a client and sponsored these videos.
[…] talk about FedEx Critical’s use of internal RIAs as an internal application (see a write-up in this larger coverage of the Adobe MAX […]
[…] him, I’m not sure it matters that carrots tell you when they’re going bad, sure, for high-dollar stuff like FedEx Custom Critical, but truck-loads of consumer […]
[…] the “beyond SQL” trend and a partnership with Teradata looks like a enterprisey start. The recent interview and demo I did with FedEx Custom Critical’s Adam Mollenkopf is a clear-cut example of what those needs help […]
[…] to the “beyond SQL” trend and a partnership with Teradata looks like a enterprisey start. The recent interview and demo I did with FedEx Custom Critical’s Adam Mollenkopf is a clear-cut example of what those needs help […]
[…] ads – but there’s been an open question of how IBM can insert itself into scenarios like FedEx Critical’s truck tracking, an enterprise-class application that didn’t seem to involve IBM in a big way. That’s […]
[…] (video above) – but there’s been an open question of how IBM can insert itself into scenarios like FedEx Critical’s truck tracking, an enterprise-class application that didn’t seem to involve IBM in a big way. That’s why […]
[…] I’ll try this our on our regular podcasts as well. So far, I have tow recent videos done: FedEx Critical using RIA and an overview of IBM SAFE with Jeff […]
[…] here. I’ll try this our on our regular podcasts as well. So far, I have tow recent videos done: FedEx Critical using RIA and an overview of IBM SAFE with Jeff […]