ARCast.TV - Office Business Apps @ Epicor (Part 3)

Announcer: It's Wednesday, September 12, 2007 and you're watching ARCast TV.

[music]
Ron Jacobs: This is Ron Jacobs coming to you from Kuala Lumpur where today I'm getting ready to speak at Tech Ed and you can see out the window here, I'm looking at a building that, gee, last year when I was here that was just a hole in the ground but, it's already getting up there pretty high. Hey, but that's the fun thing about going to all these different places and getting to see what happens in different cities.

Asia is really amazing, the energy, the technology that's going on here is, well, it's more than I thought, that's for sure.

But, today we are going back to San Diego where we are going to finish up our interview with Epicor Software as they talk about building Office Business applications and we're kind of picking up the very tail end of the time we spent together. So, let's go back to San Diego.
Ron: You've gone through this long process and put these pieces in place. I want to know about the pain that was involved, you know, so many times when people talk with Microsoft on these case studies, they're like, oh, everything was wonderful, they were so simple. [laughter]

We're all technologists here, we've dealt with things like this. We know that it's not always as simple as it looks. What was hard about this?
Art: Learning the Office object models was number one. By far, there's a lot of idiosyncrasies. We've been writing a lot of.NET code for five, six years now. We had three different products that all spun up on beta one of.NET framework.

We were writing production code. We were going into production development on real early drops. We have a lot of really seasoned.NET people and when you've been doing that for six years and you go back to look at the classic com API type stuff of Office it kind of throws you for a little while. You have to wrap your brain around that. So, it's part of that cultural mindshift was really kind of hard to deal with.

We ran into some really interesting features or bugs within different areas. For example, there's a two hundred and fifty connection limit that we ran into real quick that we didn't realize was there with RPC connections into Outlook and off to Exchange. That cost some deadlock and threading issues.

So, there are some interesting things like that we ran into.

The other big problem we ran into is dealing with deployment. Deployment with security aspects in not wanting to get viruses and all that kind of stuff within Office products.

We've already talked about the click once. That's Microsoft's answer, click once, click once, and had pretty hard limitations, in fact, you can deploy DLL's with it and there is no such thing as an executable for an Office add-in. Everything's a DLL.
Ron: Right. Right.
Art: So, that's a, OK what are you going to do for me kind of thing so we had to come up with some creative...you're going to get top gun noises here in San Diego.
Ron: I'll have to get some little clips from the movie and put it in here [laughter].
Mike: I want to be Tom.
Ron: OK.
Art: So, the issues around deployment are still nasty. They're getting cleaned up. Actually, I'm in chats with a gentleman next week who's in charge of the deployment stuff in Office.

But, the deployment's a nightmare. The next one would be dealing with just the ability to deal with things in multiple versions. Excel and Word, now you have the application as opposed to just document task in 2003.

So, we're not really able to reach out and provide 2003 support as much as we'd like to in Excel and Word. So, that's hindering us or we have to do a completely two parallel code stacks to make that happen and so it comes down to the whole point of the return on investment and taking advantage of some of the existing tools you can get some things out pretty quickly.

Outlook was really nice about that. Excel and Word, we're targeting just 2007 because of those kinds of limitations. Not that they're impossible to do it's just the return on investment would cause us to put a price tag on something that the customer probably wouldn't like.
Ron: Yes, you know when you think about the Office team, was really put through the ringer in something like the macrovirus problems they went through. So, they went really hardcore on trying to secure their environment. It kind of makes it difficult for you guys as well, right?
Mike: Exactly.
Ron: Yes, especially when you get into and you add Vista on top of that then the security environment's even more severe. Right?
Mike: One of the other things more from a general level and this is certainly not unique to this project or to Microsoft or to Epicor, is the number of moving parts that it takes to deploy these solutions.

I mean, you are talking about, client technologies, you're talking about server technologies, you know, multiple versions, different versions of data bases, I mean, we have, this application talks to a lot of our line of business applications all built with different technologies, the acquisitions and stuff and just trying to keep the number of moving parts so that it's manageable. We want customers to be able to consume this stuff very, very fast and we want our developers to be able to develop it very, very fast.

But, we find that a lot of our time is chewed up in just trying to keep all the different parts working together and all the different versions of all the different parts. And you know, service oriented architectures and stuff, you know, has been talked about in terms of making things easier and you just publish the services and stuff, but, you still have a lot of moving parts that go on behind those interfaces and stuff and so it's always a challenge for us to be able to produce something.

Get it out to our customers quickly and for them to be able to reuse it and work with it and stuff and still be able to manage the number of moving parts that it takes to actually do this simple stuff.
Art: Yes, ongoing debates that Mike and I have all the time, I love the fact that we have this argument all the time about, justify that moving part to me. That's something that we go back and forth on a lot.
Mike: I'm the, it should only take one thing [laughter]. I just want one thing to deal with and unfortunately very few solutions out there built on software just involve on thing and I think it's important that the question be asked all the time because if you don't rationalize and try to justify this stuff you end up with solutions that customers can't adopt it because there are too many moving parts. You know, it's too hard for our developers to develop this stuff.
Art: Support.
Mike: You know, support, hardware issues. You know, Q&A, the amount of Q&A that takes to test all these different things.
Ron: Oh, yeah.
Mike: So, these are challenges and, you know.
Art: But what's the trade off? If it's just too much of a point solution, can you get flexibility with a single point? I mean, that's the ongoing, that's, "Why you're always challenge me? Why do I need that." "Well, because we're being asked to provide flexibility in this and this, that's why we have to add that."

And yet...sorry?
Ron: I was going to say, one of the big problems I always found with this kind of solution, because what you're building is...I think of it as a line of business application platform.
Mike: Right, yeah.
Ron: You know, 'cause you're intending partners and customers, they're extended.
Mike: Yeah.
Art: So you're faced with so many of the measures that we face as Microsoft where every time we change.NET, you know, we're going to deprecate these interfaces, we're going to add this new classes, we're going to document on these changes and advice people how to get from.NET 1.1 to.NET 2.0 to.NET 3.0, you know.
Mike: Yep.
Ron: So, you have an even harder time, I think, because people have built these custom extensions and the business logic that they have to bring forward.
Art: And sometimes, especially in our partners' case, that is their livelihood.
Ron: Yeah. So you have a difficult time of, you know, have you isolate the changes you're making, preserve their investments, bring these all forward. That seems like could be a huge challenge.
Art: Yeah.
Mike: It involves a lot of blood, sweat and tears because it's very hard. And we have customers on versions of our products that are seven and eight years old. So, their technology stock is not the latest operating system for Microsoft, the latest database or, you know, I mean, internally in development, we talk about trying to consume.NET 3.0 while our customers are talking about moving from Windows 95 to, you know, Windows XP.
Art: Oh, Windows, wow! I mean, my partner right in the office next to me, he's in professional services up in Portland. He just went out last week on a DOS call.
Ron: Woo! There are still people who.. I can't believe it.
Art: Yeah, so I mean, that's a realistic thing you got to think about.
Ron: Well, you know, in some of these little manufacturing companies somewhere, you know, they don't want to mess their computer. They just got something that works and they want to keep it.
Art: It's an appliance.
Ron: Yeah, yeah.
Art: So, that's the constant tradeoff you have between leverage, flexibility and how do you bounce that against simplicity, some ongoing debate.
Ron: Yeah.
Art: When the industry has figured it out, then Mike and I can get along.
Ron: Well, and then, you got your competition always pushing on you. Right? You got your sales people, your product marketing people saying, "No, it's got to have these new things or these new features."
Art: "Let's throw every field that's load up tons of content around this thing," and then, "Why is it slow?"
Ron: Yeah. Tough call, and here's the architect have to kind of push back and bring them down to a sense of technical reality.
Mike: We try. We make the attempt. We're not always successful but, you know, the good thing about this industry and stuff is that there's so much choice and stuff now. And there's so many great opportunities for us to work with our partners and work with our customers to provide exactly what they need. And, you know, there's a balancing act there but it's a very exciting time to be doing this type of stuff.

[audio cut]
Ron: So, what are we looking at here?
Art: Basically what we're looking at here is obviously Outlook. And what we have as far as a presence with the Outlook is just this little toolbar.
Ron: OK.
Art: And, we also have menu, everything is available in both places. But, what our users would want to do is that they want to be able to go ahead and explore out and pour in different types of line of business data. So these were all hierarchical business entities that you can go and take offline. So, I can browse out. They can pull all the data offline or just pick specific people.

So, for example, here I've taken a couple of customers offline. Now, once it's offline, then I can go ahead and I can drill into related information. So for example, I'm at Addison, I want to go and drill in and take a look at the contacts at Addison and I pulled these contacts offline so I can go ahead and get contextual awareness. Now that I'm offline here, I can pick Andrew and I can go ahead and walk into Andrew's specific information, for example.

So in this content pack, we have a lot of richness and maybe almost too much as far as all the different entities you can draw into. But once you finally get through a piece of information you want to play with, you're still dealing with the native contact form, task form, etc. So, we try to use these detail forms, these inspectors within Outlook, for example, and use the native information.

Also, you have the ability here to not only launch around contextually within Outlook, you can also launch right into the native line of business form in contact. So at this point in time, you're going to launch right on out on Andrew. You want to look at Andrew who works for Addison, we want to look at their customer information. Within the line of business systems, you can drill right into the line of business system software and take a look at Addison's.

Does that make sense?
Ron: Yeah.
Art: So, that's kind of some of the things we're talking about. Not only do you have the native forms, you also have the ability and the STK to go ahead and take a look at doing some custom forms. So, for example, if I want to log the CRM call, we have a little form that looks just like the form in Vantage, which is good or bad depending on your point of view in which you can go ahead and log this information offline. Or, you can go ahead and drill right into the line of business system to log the same information. So, you have a choice either way on what you want to do.

[music]
Ron: Well, Mike, Art, thank you so much for joining me today on our cast. And I think I'm going to go to the beach now. We'll see you. [laughter]

[audio cut]

OK. So that was terrific. You know, it's not all rosy. It's not all perfect. Yes, of course, there's difficulties. There are many challenges to creating a line of business application platform for your customers and partners to extend. And more than that, you also have to create a solution that can leverage different versions of Office across different service packs. Serious, serious challenges but I hope you enjoyed that chat with Epicor. I sure did.

And now, I think I'm off to the beach. Here from sunny San Diego, we'll see you next time on ARCast TV.
Announcer: ARCast TV is a production of the Microsoft Architecture Strategy Team, www.arcast.tv.