1
00:00:00,000 --> 00:00:07,540
Well, hello everybody. Here we are at Adobe Max 2009 in lovely Los Angeles, not Las Vegas.

2
00:00:08,220 --> 00:00:11,820
And this is Michael Coté, of course, with RedMonk, and we've got a guest with ourselves.

3
00:00:11,900 --> 00:00:12,980
Would you like to introduce yourself?

4
00:00:13,220 --> 00:00:16,940
Hi, I'm Adam Mollenkopf. I work for FedEx Custom Critical, and glad to be here today.

5
00:00:17,140 --> 00:00:19,940
And so I was talking with you a little bit before the filming, and we were kind of going

6
00:00:19,940 --> 00:00:24,480
to the pretty interesting demo that we're going to see in a little bit. But the first

7
00:00:24,480 --> 00:00:28,580
thing, I'd never actually heard of FedEx Critical. So could you tell people what exactly FedEx

8
00:00:28,580 --> 00:00:33,360
Critical is? Absolutely. Most of you are probably familiar with FedEx, the express and the ground

9
00:00:33,360 --> 00:00:37,860
and the freight. Custom Critical is a unique part of FedEx that specializes in shipping

10
00:00:37,860 --> 00:00:42,320
things that are very time sensitive, so things that need to move from New York to Miami, very

11
00:00:42,320 --> 00:00:46,260
expedited. So if somebody's got an assembly lined down or something, we can move apart to fix

12
00:00:46,260 --> 00:00:50,600
that appropriately. We also do special carrying handling, so we do a lot of sensitive shipments

13
00:00:50,600 --> 00:00:53,440
for perishable goods and other items of that nature.

14
00:00:53,600 --> 00:00:57,980
So essentially you have, I forget, the agent, you have an agent, and they're kind of looking

15
00:00:57,980 --> 00:01:01,880
at a console, and then all the various trucks are feeding into the agent's view of something.

16
00:01:01,980 --> 00:01:06,380
And then I guess you have customers calling in every five minutes to check on their shipment

17
00:01:06,380 --> 00:01:09,900
and want to know where it is or something like that. I mean, is that the kind of typical

18
00:01:09,900 --> 00:01:12,460
scenario for a shipment that might be going around?

19
00:01:12,600 --> 00:01:16,920
Exactly. I mean, so the things we ship are very high value, and we need to know to the

20
00:01:16,920 --> 00:01:21,040
minute, to the location, what's happening on it at any given point in time. And then 10 of

21
00:01:21,040 --> 00:01:27,040
the application that we'll show in just a minute is basically to detect abnormal events and present

22
00:01:27,040 --> 00:01:31,920
those to somebody to take proactive action on it before it becomes a bad situation and to

23
00:01:31,920 --> 00:01:36,040
automate all the normal events. So when we get a position fixed on a vehicle and it's still

24
00:01:36,040 --> 00:01:40,840
going to meet the expected time of arrival, we don't really want to nuisance an agent with

25
00:01:40,840 --> 00:01:45,360
that as we have in the past. So we just want them to look at the abnormal situations, exception

26
00:01:45,360 --> 00:01:45,760
management.

27
00:01:45,760 --> 00:01:51,060
The system that we'd been talking about earlier was basically tracking a truck or whatever

28
00:01:51,060 --> 00:01:55,600
as it's moving along. And I'm curious, when you were looking at the requirements for what

29
00:01:55,600 --> 00:01:59,880
you were going to build, how did you come to the Adobe stuff? How did you make it like an

30
00:01:59,880 --> 00:02:00,640
RIA, essentially?

31
00:02:00,780 --> 00:02:05,840
It was actually quite a long process to get to the Adobe solution and finally found a good

32
00:02:05,840 --> 00:02:09,760
solution with Adobe. So we experimented with a number of other technologies for the last

33
00:02:09,760 --> 00:02:15,240
few years, honestly. We tried this with Swing. We tried this with Ajax component vendors.

34
00:02:15,760 --> 00:02:20,800
And had miserable performance and scalability issues with it in the past. And just due to

35
00:02:20,800 --> 00:02:25,020
the sheer volume of the thousands of trucks that we're trying to ship and the thousands

36
00:02:25,020 --> 00:02:28,540
of trucks that we're trying to track and the shipments that we're trying to track as well,

37
00:02:29,060 --> 00:02:35,260
just the amount of volume was too much for those frameworks to handle. And data services,

38
00:02:35,620 --> 00:02:41,500
lifecycle, and a lot of the other Adobe technologies, Flex and Specific, allowed for us to have a nice

39
00:02:41,500 --> 00:02:43,400
visualization of that that was effective.

40
00:02:43,880 --> 00:02:48,220
Given those requirements, I mean, what was it about lifecycle data services and Flex that

41
00:02:48,220 --> 00:02:51,860
fit it better than, say, like Swing or Ajax or something like that?

42
00:02:51,960 --> 00:02:57,040
Well, data management was a big part of lifecycle data services when we selected that. So being able

43
00:02:57,040 --> 00:03:02,880
to bind automatically to the client and bind automatically to other clients. So if you're

44
00:03:02,880 --> 00:03:06,040
an agent at Custom Critical and I'm an agent at Custom Critical and we're looking at the same

45
00:03:06,040 --> 00:03:10,900
shipment and you modify something or something in the field modifies it, the truck does something that

46
00:03:10,900 --> 00:03:15,900
causes a new state. Being able to see that in near real-time with very low latency was very important.

47
00:03:16,340 --> 00:03:20,900
So both from a data management and from a push, having a true push technology, which is something that's

48
00:03:20,900 --> 00:03:21,920
been absent in the past.

49
00:03:22,180 --> 00:03:22,260
Right.

50
00:03:22,400 --> 00:03:28,680
So the RTMP, the real-time messaging protocol, is provided and a true push protocol that's socket-based

51
00:03:28,680 --> 00:03:29,500
up to the client.

52
00:03:29,720 --> 00:03:32,380
Right, right. Versus like HTTP or something like that.

53
00:03:32,480 --> 00:03:38,360
And the server, the amount of data going back to the server is minimized. So it's an observer

54
00:03:38,360 --> 00:03:43,480
pattern. So the client just has an open socket and we push anything he wants to observe as

55
00:03:43,480 --> 00:03:48,560
it changes. So we're not killing our servers and we have a lot less server requirements as

56
00:03:48,560 --> 00:03:50,140
far as number of servers to support this.

57
00:03:50,220 --> 00:03:53,820
What was the development process like for when you, like you said, you went through several

58
00:03:53,820 --> 00:03:59,020
alternatives. And then when you did settle on using parts of the Adobe stack for it, like

59
00:03:59,020 --> 00:04:01,460
how long did that take and what was the process for doing it?

60
00:04:01,460 --> 00:04:04,600
It was fairly quick with the Adobe stuff. So I got hooked up with, you know, a couple

61
00:04:04,600 --> 00:04:09,340
folks at Adobe and we basically did a couple proof of concepts. And it was fairly quick

62
00:04:09,340 --> 00:04:13,160
and actually we did most of the work on our own. It didn't require a lot of Adobe assistance

63
00:04:13,160 --> 00:04:16,480
because it was pretty well documented. And we were able to go in there and test out the

64
00:04:16,480 --> 00:04:19,920
two major features that we were looking for. So the data management and the push technology.

65
00:04:20,500 --> 00:04:23,720
And honestly, we had had lots of experience trying it with other solutions.

66
00:04:23,720 --> 00:04:25,740
Right. So you had your requirements all figured out, essentially.

67
00:04:26,100 --> 00:04:26,200
Right.

68
00:04:26,200 --> 00:04:28,900
So it was pretty well defined and it was kind of like, well, we don't have this

69
00:04:28,900 --> 00:04:33,500
solution. Well, we still don't have a solution. And we came across Adobe and now we do have

70
00:04:33,500 --> 00:04:33,920
a solution.

71
00:04:34,160 --> 00:04:38,040
You guys are using this now and it's finished. And like, what are your plans for it in the

72
00:04:38,040 --> 00:04:38,300
future?

73
00:04:38,780 --> 00:04:42,460
To extend it. So, I mean, what we'll show you here is just the start of what we're going

74
00:04:42,460 --> 00:04:45,780
to do. So there's a lot of other areas that we're going to apply this to, not only just

75
00:04:45,780 --> 00:04:52,740
shipment tracking, but also how we do, how we price things to the customer, how do we analyze

76
00:04:52,740 --> 00:04:57,340
history, how do we analyze things over geography and time.

77
00:04:57,340 --> 00:05:02,260
So being able to reason both over space and time at micro and macro views.

78
00:05:02,260 --> 00:05:06,640
So I guess there's sort of new information about things you could sell your customers, to put

79
00:05:06,640 --> 00:05:10,280
it one way. But you have a new understanding of things, business practices that you were

80
00:05:10,280 --> 00:05:14,140
doing in the past that you can fine tune and make up new products and things to sell to

81
00:05:14,140 --> 00:05:14,400
them, right?

82
00:05:14,460 --> 00:05:14,620
Right.

83
00:05:15,020 --> 00:05:18,700
Yeah, actually some new revenue generating things that came out of this is our security

84
00:05:18,700 --> 00:05:24,420
surveillance. So being able to show our customer that, you know, we have a, almost like a network

85
00:05:24,420 --> 00:05:28,580
operations center, but we have a security operations center that's basically tracking these things

86
00:05:28,580 --> 00:05:32,780
to this detail. That puts a lot of ease to the customer's minds when they're shipping something

87
00:05:32,780 --> 00:05:36,960
very high value or something extremely sensitive, which is our specialty.

88
00:05:37,360 --> 00:05:39,540
Having talked about the demo so much, let's check it out.
