| Time | Topic / Quote |
| 00:00 | Dan Hickman, CTO of ProModel Corporation. Bio |
| 01:20 | ProModel introduced: "Predicting the Future" |
| 02:40 | Automating the U.S. Army's predictions of troop supply and demand |
| 06:40 | How the Army did it before and does it today |
| 07:07 | They had spreadsheets, pen-and-paper, phone calls, one-on-one … there really was no standard way that everyone made these kinds of decisions. … What used to take them a week to do … one round … you could do six of them now with less people … in one day … just by putting software in place. |
| 09:40 | How ProModel won the job |
| 11:30 | Why the Army values ProModel: experience, technology, agility |
| 15:00 | Started with WinForms application for rich functionality and productivity 80% code was ASP but 80% of customer time spent in WinForms (what does that say about ASP v. WinForms in value-per-line-of-code) |
| 15:50 | ASP for raw data inspection |
| 16:50 | Why Silverlight? Army pressured them to leave WinForms for the Web. IT staff resisted ClickOnce … any form of desktop install. "Put this in a browser; zero deployment" |
| 17:40 | We tried to reinvent the WinForms app using AJAX. … The army thought they were going to lose too much productivity … they said … it just wasn't good enough." |
| 18:05 | At same time Silverlight 2 was just about to be released. "We started exploring that in parallel with ASP R&D effort … By the end of I said … I think we can do this …. |
| 18:40 | In two weeks we presented …to the customer … who said 'That's great! That's fantastic!'" |
| 18:50 | Implemented WinForm-like module in SL 2 and deployed to production in 3.5 months using WinForms developers with no previous Silverlight experience. |
| 19:45 | Generally speaking it seems that our ASP developers ramp up faster than WinForms developers. |
| 20:20 | Showed to Army as it was emerging. They said: "We want this now. And this other WinForms module … can we have that in Silverlight?" |
| 20:40 | Best of the web deployment and best of the WinForms rich experience. |
| 20:50 | We're now in the process of revisiting other modules. … Let's go Silverlight. |
| 21:20 | SL 3 is in the process of certification. "They've given us thumbs up to go ahead" |
| 22:20 | [DevForce experience] has been fantastic! Had used DevForce Classic to build the WinForms app |
| 22:45 | We replicated the WinForms UI pretty well but it wasn't hooked up to anything. We felt the customer facing stuff we could reproduce. |
| 23:15 | Exploration / experiments in how to get data |
| 23:30 | REST vs. SOAP vs.WCF: And we hit a point … we really hadn't committed yet … we had to get over the data hurdle … at that point I reached out to IdeaBlade. |
| 24:10 | For me this was a saving grace because the estimates I was getting from the developers was … it was going to take AWHILE |
| 24:20 | I was in panic mode … but you guys were able to get us a beta. |
| 24:40 | Honestly we were up and running in minutes … We already had our database designed and well defined specs. |
| 25:10 | WB: I would not have predicted minutes. |
| 26:00 | Biggest challenge for us is rapid change in requirements. We were porting at the same time we were reengineering |
| 27:00 | DH: We have no fear of a change to the database. WB: So when you have to change the db, that doesn't rattle your cage with DevForce? DH: No … not at all. |
| 27:10 | Describes briefly how ProModel manages schema changes end to end |
| 28:40 | Journey from proprietary database, DAL, and SDK … |
| 29:30 | … to Excel for UI and data store |
| 30:10 | … to SQL Database and VB6 |
| 30:40 | … to VB.NET with ADO.NET and DataSets … overwhelmed by complex graphs |
| 31:35 | Bugs due to logic spread across layers: db, stored procedures, Typed-DataSets, UI. "That bug was in 10 different areas … there has to be a better way" |
| 32:15 | Kicked off an internal debate on DataSets vs. Custom Domain Objects |
| 32:40 | Discovered CSLA. "We were attracted to the idea of a book and a little community behind it and Open Source and a way to centralize the business logic." |
| 33:20 | Our CSLA mantra: "Normalize behavior, not data" |
| 33:30 | Went with CSLA for a couple years. "That was a huge improvement for us" |
| 34:00 | But little pains started to show up: "We were really scared to change the database because … at the time to change the database someone had to go through and manually change the code and we had to write and update all the stored procedures. … We started to have multiple people just dedicated to this area." |
| 34:40 | Hired a guru who introduced a framework on top of CSLA. "No longer had the benefit of a book, community, and open source … we were in the business of maintaining a custom version of this code." |
| 35:40 | The turning point for me [was a dedicated SharePoint site for tracking defects and enhancements in this area.] We listed all the items and it was just huge … and in the dev meetings, instead of focusing on what [customers] wanted we were focusing on … how we were going to move bits and bytes around. |
| 36:15 | "It was painful to me. I just felt the focus was all wrong." |
| 36:20 | Decided to take a fresh look at everything … including commercial software. "I left nothing unturned.… |
| 36:30 | Found DevForce: For me, it felt right. And now I can tell you it is very rare to have a meeting where we're talking about … that layer. |
| 37:00 | It works for us … it just works … and my focus is back to the customer. |
| 38:00 | I feel that I can point the finger at somebody else. I purchased your software. You [IdeaBlade] are accountable. |
| 38:10 | One of the attractive things is how long [DevForce] has been in existence. |
| 38:20 | Our biggest pain at this point is an educational one. Sometimes it's 'how do you use that API?' and sometimes it's more of … when to use business objects and when not to … [as in reports]. |
| 39:00 | WB: Not every problem is a business objects problem; when you have just data and no behavior you should question whether business objects are the right representation. |
| 39:10 | That's probably the thing we've been learning the most and really starting to have a philosophy about that. |
| 40:10 | It may be bad … but I kind of design the database first … and the team does. So code-gen'ing from a database was very attractive to us. … The ease-of-use of having a Visual Studio AddIn was an improvement. |
| 41:20 | Performance: "We deal with a lot of data … The army inventory is 80,000 of something if you're making a lot of changes, you don't want to commit the whole 80,000 and you also don't want to fetch everything every single time" For this he leverages the DevForce client caching. |
| 41:50 | IdeaBlade stability: "We weren't your Beta testers" |
| 42:35 | WB: You can feel trapped with a home-grown framework. Did that happen to you? DH: On the CSLA it absolutely did. It sucked when he went on vacation. |
| 43:15 | WB: You had to decide 'Do I use a framework or do I write it myself?' How did you get comfortable with that? DH: We had a lot of investment in that code. … The good thing was that we had complete visibility into that code. It was ours. … I was really scared. I actually delayed the decision. But when we did the deep dive … we felt we had the flexibility to change things. |
| 44:35 | I'm happy to say that for us it is not much of a conversation. For me it was 'what do I want to focus on as a company?' The customer doesn't care how data gets moved around. They take it for granted … as they should … I obviously care … performance and all … But I wanted to take my guys and what we specialize in and put it at the customer-facing stuff. We'll lose a little bit but we'll gain more. |
| 45:15 | WB: How many of your developers make use of DevForce? DH: Put 2 1/2 guys per module. The 1/2 is the person focused on the Domain Model who supports more than one module. |
| 45:55 | Every module has around 3 people: a UI person, a Domain Model person, and a jack-of-all-trades who does it all. The Domain Model person and the jack-of-all-trades know DevForce. |
| 46:30 | Changing a DB Column Name: DH: Sometimes acronyms change …You have a choice … regenerate so the Domain Model mimics real life or is it not worth it. In the old way, we would not change but now we do. Now our Domain Model mimics real life. WB: That makes the conversation easier. DH: Exactly, ProModel has been growing lately … [the new people] read the documentation … [and] … it's generally nice, looking at source code, if the words are the same. |
| 47:40 | WB: What is your experience with getting people competent in DevForce? DH: It hasn't been that painful … it really hasn't. They don't start out in that modeler role. Some people take to it right away too. |
| 48:50 | Community's important, documentation is important, and it's really nice that I don't have to be the one doing that. If I had my own API I'd have to have document it and have a Concepts Manual and all the things that go along with supporting that library. I don't have to think about that. I expect you [IdeaBlade] to stay on the ball. You do your job well and you help accelerate that for me |
| 49:30 | The Road Ahead: We had to deliver something really fast in Silverlight 2. There wasn't a heavy focus on design patterns. Just "get 'er done." We looked at the WinForms app and said "Reproduce it". Now we're over the R&D stage on Silverlight … not completely but we're asking 'how do we leverage this platform the best we can?' I think w/ SL 3 we're going to be able to produce real value on the data visualization side for our LOB applications. Case in point: We're doing a deep zoom LOB project where we have large intense schedules … of collections of soldiers. We'll make it easy to see the entire 80,000 row schedule and zoom in on different areas. You'll get more charts to complement a specific [detail]. |
| 51:03 | I wish I had all the time in the world to sit and think of cool ideas but I've got to deliver software on time … I bet you it's not this release but our following release that will start leveraging some of the new things. |
| 51:25 | WB: What about design patterns … Prism? DH: We're just dipping our toes in it. Look, we all have a responsibility to keep up … Silverlight 3 is relatively new yet … I'll post on a forum asking about a best practice and it hasn't been established yet so I'm a little nervous to jump into new things yet but we're watching. |
| 52:00 | It's important to me if it makes my code more maintainable more agile. I just started to dive into Prism, trying to get my head around that. |
| 53:00 | WB: What are you counting on us to do? DH: The thing that's attractive about going with someone dedicated to a space like you guys are … is that you stay on top of things. You're looking at what Microsoft's up to, looking at what the rest of the world is up to making life easy on us. Make life easy on me. Make it so that I can easily move data around and have that not be my focus. |
| 53:30 | I am overwhelmed with information. This was a huge year for Microsoft … I'm a small software company and it has been overwhelming trying to keep up with everything going on. If you can just filter out … find all the best blog posts or the material that might be relevant in that space … that would be extremely valuable. |
| 54:45 | The Near Future and Focus of ProModel:
We're going to keep getting all the value out of our predictive technology.
|