SUMMARY: Keith Casey Professional Overview
Keith Casey, owner of Casey Software and developer of Web2Project and Phillip Crum of contentmarketingcoach.com discuss Keith’s background in software development. They also discuss the project management software package options available to business owners, as well as the origins and capabilities of Web2Project.
Episode #1 | Keith Casey Overview
Keith Casey: Owner, Casey Software
Phillip Crum: The Content Marketing Coach
Transcript: Overview Of Keith Casey’s World
KEITH CASEY: I’m Keith Casey. I’m a software developer. I’ve been developing software since… let’s see, I got online in ‘96 and started designing and building webpages then. I started doing it professionally in about 2000. I do not have an education in software development, I actually did electrical engineering. I did not want to do software for a very long time. It turns out that I’m good at it, so I decided to go for it. I spent about nine years in Washington, DC, as a contractor for different federal agencies. The Library of Congress, where I was working to answer the ultimate geek question of how much data is in the Library of Congress. And the answer is “a lot”.
PHILLIP CRUM: All of it.
KC: We figured out back in 2001 that if they digitized about 50 terabytes a day, they would keep pace with what was being created. That was before iTunes, that was before video blogging, that was before blogging as a whole.
PC: So is the NSA the realization of a dream?
KC: You know, I’ve heard that one so many times, and unfortunately, it seems like they’re pretty good at it.
PC: So you’re self-taught. No professional academic background, no book-learnin’?
KC: Not at the beginning. I’ve gone back and after I started getting into software development, I went back to my university, where I did my undergrad, and I was already friends with the computer science department head. So I dropped him a note and I said, hey, I’m studying these things, do you have a book recommendation? And I went to a small school, so he introduced me directly to the computer science profs who sent me their syllabi for their classes. Not formal book-learning, but went back to the book when necessary.
PC: Which is probably the best way to do it. OJT, on the job training. Which raises a question: Do you think that a formal – academic is the word I’m looking for – environment for training. Is it a help, or a hindrance, or none of the above?
KC: I think it works really great for some people. That doesn’t happen to be the way I work, but I think in a lot of industries, you absolutely need it. Engineering, medicine, law, you need to go to school. I think for computer science is one of those areas where you probably should go to school to have the connections, the alumni network, all those sorts of things, the formal systemic sort of training, but realistically, you don’t have to. I’m really torn on that one.
PC: Jump in the deep end and learn by doing.
KC: Yeah, pretty much.
PC: So you went from the Library of Congress to project management. You’re in Austin, Texas now.
KC: After I left the Library, I went over to the Department of Justice and I was managing projects over there. I was handling all the risk management for a number of different projects, and that’s originally how I originally found DotProject. We were paying for Primavera at that point, and that was $2,000 a seat. Somebody on my team, amazingly enough for a government worker, said “We should save some money.” They just wanted to save it to spend it on other things, but still, they wanted to save some money.
PC: Re-allocate money.
KC: Yeah, exactly. So I ended up finding DotProject, got involved over there, ended up making it to the core team. We split in 2007 to form Web2Project and I’ve been working on that ever since. Somewhere along the line, I think, 2004, I started my firm. I’ve been running my own consultancy off and on since about 2004.
PC: Where can one find that?
KC: Casey software dot com. C-a-s-e-y software dot com. You can see that’s been online since December, 2004.
PC: For the benefit of those who might be listening or reading, why don’t you define what DotProject is? And what Web2Project has become?
KC: DotProject – now Web2Project is a web-based project management system. It’s built on an open-source back, so it’s built on Apache webserver PHP programming language, MySQL database, and the system itself is open source. That means you can download the code, you can tweak it all you want, you can customize it, you can extend it. It’s like handing someone a recipe, so they can just follow the recipe, they can go with it, or they customize it and add additional things and make it their own. And so Web2Project is all the standard stuff a project management has – Gantt charts, work breakdown structure, time tracking, risk management, all the things you think of when you think formal project management.
PC: So it’s open-source software program something that anybody can use and something that anybody can tweak? Or do you need some sort of special training?
KC: Having a software background is nice. It absolutely becomes necessary when you’re trying to customize how the system works. My vision has been to make it easier and easier to customize it, where you don’t need to have code-level training, where you can say, “I have a project. I manage my project like this.” I don’t think we’ll ever get a perfect one-to-one ratio in how everyone wants to manage a project, but I think we’ll get the broad strokes down and everyone can manage something through it.
PC: So the tweaks that one might need a programmer for, you would like to move the ability to make those tweaks and changes to the user interface, so somebody can click a button instead of having to know some code to make that change.
KC: For some of the core ones, things like when you’ve got a list of fields on the screen, there are the fields that display about the project. Right now, project can display information about the start date, the end date, the budget, the status – whether it’s an open project, or a template, or whatever – and putting all those fields on the screen, I think, shouldn’t require a developer to be involved. I think it should be a general user “Here are the things I care about. Get everything else out of my way.”
PC: Personally, I used DotProject for six or seven years before I figured out that you had parted ways and were now working on a branch called Web2Project. If you would, please define what is a “branch”, and where you are going with Web2Project and give me a big overview about Web2Project.
KC: So the proper term is not “branching”, but a “fork”. A branch is when you work on something temporarily and then you merge it back to the main system. It’s like if you go back to that recipe. You’ve customized it, and you’ve tweaked it to what your preferences are, and you pass those preferences back. Maybe Betty Crocker publishes that recipe with your updates. We went a little bit of a different direction with a “fork”. The difference is that a fork splits off on its own direction and really has no intention of coming back to a main system.
PC: Permanent mutation.
KC: Absolutely. We’ve been working on that permanent mutation for about six years now. Our vision for Web2Project is that it supports real-world business needs. One of the frustrations with dot project is that it had a very – it never really had a clear vision, and so we actually want to reflect the vision of our users and say, “Here’s what people are asking for. Here’s what people are trying to do. Let’s make that easy for them.” That’s not going to take care of everyone’s situation, everyone’s use case, but if we can satisfy 80% of the people 80% of the time, we consider that pretty good. A lot of that last 20% can be taken care of with add-on modules, with customization, with little but tweaking and configuration from there.
PC: The old 80/20 rule. You bet. Interesting. So where do you see Web2Project going in the next two or three years? What’s the plan? Things will change, of course, but what’s the plan? What’s the roadmap look like?
KC: One of the big things on my personal agenda is having a nice, clean API in the system. An API is an advanced programming interface. It’s basically the idea that you can plug other software into it and have it manipulate the data. Think things like time tracking software. Think things like FreshBooks to do invoicing and stuff like that.
PC: CRM programs.
KC: So now when you create a contact in your CRM, it automatically synchronizes through to Web2Project so you’ve got the all information there. When you create a project proposal in Web2Project, it can synchronize back through your CRM to say, “You have these proposals on the table for this person, here is the estimated value of those.”
PC: You are the lord and master of Web2Project at the moment. Tell me about your development team. What have you got, what you can and will you tell me about your development team? Are you flying solo, a Lone Ranger, or do you have a group of folks helping you with this?
KC: Sometimes, it looks like I’m the Lone Ranger on things, but believe it or not, we have a team of five people. We have myself based here, in Austin, Texas. We have Trevor Morris, based in Halifax, Nova Scotia. He’s really big into testing, like unit testing specifically, so he’s written a lot of the testing system that goes with Web2Project. We’ve got Benjamin Young. He’s based out of Greenville, South Carolina. Really great guy, works a lot on some API stuff. He hasn’t been super active the past couple years. He’s been with a startup, so he’s been tied up with that. We have Bruce Bodger out of Oklahoma City, who is a fanatical Web2Project user and has been for many years. He does a lot of formal project management consulting and advice and things along those lines. There’s Pedro, who is based in Lisbon, Portugal, who is actually the originator of Web2Project. He invited me to join two days after he started, so I’m actually number two on the team.
PC: I see.
KC: He’s done a lot of the consulting around Web2Project, a lot of custom software development, things along those lines. Those are the formal team members. We’ve got another half-dozen people who contribute patches regularly.
PC: Tell me about your support. What do you have in place? If I’m wanting to use Web2Project, what do you have in place for support? I’m not a coder, I just needed it for my business, but I know a little bit about PHP and CSS, just enough to tweak something, enough to get in trouble, so I can do a few things, but if I have questions, where do I go?
KC: There’s two main places. The first one would be our wiki. It’s a user-contributed wiki just like you’d have for Wikipedia, and it has documentation on every single module within the system. So it has information on “here’s screenshots, here’s buttons, here’s what they do. Here’s what some of the terms mean”. It’s a quick way to get started with a lot of things. There are some training videos that go along with the modules. Visually, those training visuals are a little out of date – we’ve done some updates to the system first, or in the past couple years, but in the meantime, the content there is completely accurate and it’s pretty good to go. That’s on the pure user side of things. If you’re doing to do a little bit of development, or starting to figure out development, or if you run into bugs, our support forum is support.web2project.net. We use a system there called AnswerHub. You can submit questions, people can vote up and down questions, people can answer questions and vote up and down the answers. It works almost identically to Stack Overflow, if you’re familiar with that.
PC: What if I’m not familiar with Stack Overflow. Give me a 30-second… what the heck is that?
KC: Stack Overflow, I think, bills itself as the social question-and-answer site, so they can submit questions and they can say “Here’s what I’m having trouble with. Here’s what I’m trying to do.” You can tag it for easier searching later on. Before it actually lets you submit a question, it says, “Here’s a list of questions that we think are similar to yours. Before submitting yours, does one of these fit?” It really guides you to those existing questions, and then people can submit answers, add comments to the questions, things along those lines. People can vote up and down the answers. And you as the question submitter can come back and say “Here’s the answer that worked for me. Let me accept that.” Once you accept that, the person who actually gave you that answer gets points. You, as the submitter of the question, get points if people vote up your question, so it’s really based on a contributory model. So people can contribute as much as possible and to be as useful as possible.
PC: If there’s something I want or need Web2Project to do, other than what it does out of the box, or there’s no available plug-in or module to add to it, what do I do?
KC: Probably going to support.web2project.net is your best option for now. There are three or four people there I can think of that do contract development based on Web2Project. I do some contract development, but I’m selective on what I do just because of my responsibility to the core system. Going to the support forums would be your first option. Contacting me at email@example.com would be another option. And if all else fails, I can put you in touch with people who are doing things along those lines.
PC: I can have a developer create a module for me to accomplish what I need if it doesn’t exist.
KC: Absolutely. I have written a module development guide, so when you do hire developers, you can give them that guide as a place to start to make sure that 1) they’re doing things properly and 2) that their code is upgrade-friendly so as we continue developing on Web2Project that your module doesn’t break as easily.
PC: Very forward thinking. Very WordPress-ish. I like that.
KC: I’m actually envious of WordPress and their plug-in system and the community they’ve built around it. I emulate them as much as possible.
PC: That’s a good model to follow. Let’s back up to 30,000 feet again and talk about the different categories of project management software. Other than online – let me clear some mental brush here – online and offline software for project management and the old-fashioned way of pencil and a piece of paper. Is there any other way to do project management tracking? I wouldn’t think so, but…
KC: Those are the most common ways. When we were at the Department of Justice, we’d have a Gantt chart that we’d print out of Microsoft Project and stick on the wall and manually update that throughout the week. Like literally writing on the wall. That was at the Department of Justice in DC.
PC: That might explain a lot of things, wouldn’t it? So in the software category, there’s open-source, which we’ve talked about, and then there’s commercial, which is something you can buy off the shelf, so to speak. Is there a third category?
KC: Commercial is kind of broken down into two categories. There’s commercial open-source, and there’s commercial proprietary. Proprietary, if we go back to that recipe model; that is getting the recipe and how to figure out how to make it yourself, it’s the going and buying the cookie off the shelf. You don’t entirely know what’s in it. They tell you, “Here’s how it works, here are the ingredients.” You have to trust them to go with it.
PC: And commercial open-source. Can you give me an example of that?
KC: The project management base, that’s a really good question. I couldn’t name any off the top of my head.
PC: So obviously, in commercial open-source, you’re paying for the software but you can still tweak it yourself.
KC: Absolutely. A good comparison in the CRM space would be SugarCRM, which is a customer relationship management system. And when you buy it, you actually get the source code; you get the recipe so you can tweak it and adjust it to fit your preferences.
PC: That is a good analogy, actually. That’s interesting. Categories, we have commercial, which is broken down into commercial open-source and commercial proprietary. Which of those two are commanding the lion’s share of the market? The commercial market. The commercial open-source or commercial proprietary. What do you think?
KC: Commercial proprietary, by far. There are systems like Primavera, which are amazing in their power but also amazing in their complexity, in what they can do and how they can do it. I believe Primavera was purchased by Oracle a couple of years ago, so as much fun as Oracle is to work with, I can imagine Primavera is along the same lines.
PC: I’m guessing they’re very… what was the adjective you just used?
PC: Well, that, too. I’m sure the price structure is complex for that stuff?
KC: Oh, yeah.
PC: Fairly expensive. You have varying sizes of business. Small business, let’s use the government’s definition of 50 employees and under; and then medium, which is 50 to 500 employees, probably, and then large business, above that. A small business, one to 50 employees that needs project management software solution, obviously you want him using yours, but if he was dead set on paying for a solution, is he going to want to go to the commercial open-source or commercial proprietary, and obviously, that’ll depend on his level – if he’s got people or knowledge of coding – he might want to do the commercial open-source. I guess where I’m going with this is does commercial proprietary software fit the small business market?
KC: Yeah, I think it absolutely can because, while I mentioned groups like Primavera, and there’s obviously Microsoft Project, there’s also different flavor of project management where it’s not really Gantt chart project management, more of a to-do list project management, and that’s something like Basecamp. Basecamp works for many thousands and thousands of people, but it’s really about managing to-dos. My main criticism of Basecamp is that, if you have three items, and items 1 and 2 have to be done before you can do item 3, there’s no way to denote that in the system.
PC: I’ve used Basecamp before myself.
KC: It’s fine for a lot of people, but when you start having multiple people working on projects and a lot of moving parts, it gets problematic pretty quickly.
PC: I’ve used Basecamp myself and that’s exactly the way it struck me is that it was just a giant to-do list. What are the differences feature-wise – and I don’t mean from a road-level, but between an open-source software program like yours and a commercial proprietary program. Are there features that are available in these that you can’t get in an open-source software program?
KC: Not usually, but in the case of Web2Project, specifically, I can say that Web2Project’s reporting is mediocre. There’s a number of places we would love to be able to create bigger and better reports, definitely put some graphical elements on it to do some charting, bar charts, things along those lines. The reason we haven’t done that is that we don’t have anyone specifying what those reports should look like. If I had somebody on the team with “Here are the top five things that drive my business, here’s the top five things I need to know,” then we can take action on that within days or weeks. I think that is one benefit or one feature that open-source has over proprietary is that, when we release an update, which I think we should release 3.1 this week at this point, you can usually deploy it within hours or days of it becoming available, as opposed to a proprietary solution. In a lot of cases, it can take weeks or months before you buy the license and you’re allowed to upgrade.
PC: You’re a little more nimble than the bigger players with their committees.
KC: Yeah, absolutely I mean, our marketing plan is basically to get out there and start talking about it. With the flexibility comes a little bit of weakness at times.
PC: The system reporting functionality in Web2Project is not that bad, to my mind, to my eye, but I’ll bet I know someone who can put those top five together for you, he said.
KC: That would be fantastic.
PC: I can do that. What do you think the future of project management overall looks like? Not necessarily what you plan for Web2Project, but just the whole industry as a whole. Is there going to be more players, is there going to be a thinning out? Some major change from this to that? What do you know? What do you think?
KC: According to Wikipedia, right now there’s upwards to 120 different solutions out there. I hope it thins out a little bit. 120 different solutions are pretty…
KC: Ridiculous by most standards. Personally, I think while there will still be high-level project management, that’ll never go away, the coordination-level. I think some of the lower levels of project management are going to dissolve to the background, where we’ve got more and more systems that are tracking our e-mail, that are tracking our time, that are looking at our devices, pulling information out of those. I think a lot of the project management are things we associate with project management now, will dissolve into the infrastructure layer. When you and I are talking, or we’re trading e-mails or we’re trading phone calls over Skype or whatever, a lot of that information will be captured directly in the project management system. We won’t have to go back and log those notes. We won’t have to go back and attach documents because it’ll be tracking our e-mail and it will pull in those documents automatically. I think going that direction has a lot of power because, 1) it’s transparent. You don’t have to do everything. You don’t have to really do anything. You just go on about your normal life, and the system’s tracking things for you. But I also think it’s going to be great, or aspects of that are great, because it’ll be more complete. How many times have you exchanged documents with a customer and you later on realize, “Wait a minute. Did I actually back that up? Do I have a copy of it? Did we attach it to their customer portfolio? Where is that?” These things will just sort of happen by themselves, and I think that’s super powerful.
PC: I noticed on television, in some of the commercials, one of them last night during the ball game, that integration with other software programs through APIs and however else that’s done, is what they were pushing. I’m trying to remember who the commercial was for and I can’t, but I recall thinking in the commercial that it was not very well expressed that one program was talking to another, talking to another, talking to the first and that they were all linked up. There was too much marketing speak, but that’s another discussion.
KC: There’s an awesome Austin-based startup in town called Lantern CRM. Their whole thing is that they want to light the path for you and they want to make that path as easy as possible for you to take. They actually do that phone integration, so when you sign up with their service, you get a phone number that behind the scenes just runs to your cell phone or your desk phone or whatever, but you can turn it on and have it record all your phone calls and transcribe all your phone calls and make them all searchable. Now, every time you and I have a phone call, it can be logged in that system and completely tracked. I actually use another system called Contactually, which does that for e-mail. If I wanted to see every e-mail that you and I have exchanged, I can go back to that system and look at it and in the meantime, behind the scenes, it’s pulled in all your social profiles so I can find you on Twitter, and Facebook, and LinkedIn. I can see all the e-mail we’ve exchanged. If it can find your phone number, it goes ahead and attaches your phone number, which it might read from your e-mail signature. We’re going to see those sort of systems more popular and pull things together and aggregate all that information for you. The NSA. Your own personal NSA.
PC: When I grew up, we only had three channels on TV, too. Wow. Things have come a long way. What do you see as the top-selling features of Web2Project? Besides the fact that it’s open-source and you can tweak it yourself, what’s the big advantage?
KC: I think the open-source aspect is the single biggest advantage. I think, just because you can customize it, you can tweak it; you can have that 80% solution and close as much of that 20% as you need. After that, I would say behind the scenes, it’s the architecture itself. I’ve worked on large-scale architectures before. I’ve built all the mobile stuff for Fox News, I’ve built all the website and systems for a professional sporting league, so it’s really built with that stuff in mind. The system is rock-solid in terms of security, in terms of performance, in terms of stability, and it really just works.
PC: It surely does. As a six- or seven year user of DotProject, and I’m not trashing that program, I think it was great, but your system has been rebuilt per your blog, and it is just lightning fast. It is way faster than its predecessor. Kudos to you for that.
KC: From a technical aspect to that, we’ve cut about 35% of the code overall, and we improved the performance on every screen by 10 times and on some screens upwards of 600 times. So it takes 1/600th of the time to load a screen as it did before.
PC: It surely does. Tell me about the modules and, before we cut off for the day, the modules and the plugins – we call them modules here at Web2Project – but tell me about the module programs. What’s available now? Where do they come from? Are they available to anybody? Things of that nature. Modules.
KC: First, there are the core modules, and those are the ones that are included in the system when you actually download it and install it. You get right out of the box project tracking, you get customer company tracking, so you can say, “I have a company X. Under that company, there’s this many projects. Here’s each of the projects.” Out of the box, you also get task management. You can attach tasks to those projects, assign them to people, go ahead and set up dependencies and even set up projects and sub-projects that way. From there, there’s a handful of other things that aren’t used quite as often but are still very popular, like you can attach files to individual tasks, and say, “This file, this contract, this technical document or whatever, goes with this particular task.” And the system will track that throughout the lifetime of the project.
PC: Add-on modules. Let’s talk about the world of add-on modules. How does it work?
KC: There’s the module development guide that I mentioned earlier that will actually teach you how you to plug into the core system to be able to, for example, add things to the calendar in order to have things show up in people’s calendar feeds like in iCalendar like you might get from Google Calendar or from Outlook or something like that. It tells you how to make your module searchable, everything like that. From there, people have developed things like the to-do list manager, which is mine. This is basically a Basecamp clone within Web2Project. There was a call for that because sometimes, even in a major project with formal project planning, you need a simple to-do list. Having a simple to-do list to complement the formal project management methods made a lot of sense. In addition, I’ve put together a risk management module, so you can identify risks with this project, or even this individual task of the project, here’s who’s responsible for them, here’s the impact, and here’s the notes that we’ve taken that go along with this, as we’ve tracked the lifetime of the risk.
PC: Where is the line between “I need to develop a module that does, let’s say, payroll” versus just link up via API with a payroll program like QuickBooks or FreshBooks, whatever your choice is. Where is the line drawn? I’m sure there’s money involved in the answer.
KC: That’s a really good question. Right now, we’re trying to make the API available so you can really take either approach that you want. For add on modules, I see that doing things like payroll and invoicing and everything in the system makes a lot of sense. I suspect that integrating with third parties, that’s where money will be involved, because it’s the 80% rule. 80% of our users don’t use QuickBooks, so I don’t think QuickBooks integration will ever be rolled into the core system. That said, with the API, it can be added pretty straightforwardly and pretty easily.
PC: If somebody has a module developed, as I’m having you do one for me right now, when that module is finished, is it available? What’s the normal rule? There are always exceptions to rules, but exceptions aside, if somebody develops a to-do module or a contact calendar module, a content calendar module, is that module typically available to everybody else, the public? Or is just private to that one client? How do things normally work?
KC: That’s one of the big differences between DotProject and Web2Project that’s really behind the scenes that comes to light in this sort of scenario. DotProject is GPL licensed which means that everything you do for the system has to be open-source, and it has to be freely downloadable and freely distributable. If you distribute to anyone, you have to distribute to everyone. While that’s a great philosophy in some cases, we’re talking about the business world. I don’t believe the vast majority of people can really stomach that. They want their particular tool, their concepts, that’s their competitive advantage. So one of the things we did when we converted over to Web2Project is we changed the license. And there is a whole hour-long discussion on how we did that. But we changed to the BSD license is basically where you develop something on the system, you can do whatever you want with it. You can release it open-source if you want, or you can keep it proprietary and quiet and internal to your organization.
PC: Is there currently a list, a growing list of add-on modules for Web2Project and where might I find that?
KC: The repository isn’t very user-friendly at this point, but we’re working on that. If you go to github.com/Web2Project, you can find a list, I believe the risk management module is on there, I think timecard, flex reports, couple of other ones, and there’s a handful of customized themes on there, also.
PC: Well, sir, this is quite interesting. You’ve spawned about 800 more questions, but we’re going to do that another time because we’re out of time. I thank you very much for your input. This is going to be fun. I appreciate it, Keith. We’ll talk again.