It's probably not a secret - I love 37signals . Not only do they build great products, but they have a way of cutting through the clutter and bringing refreshing clarity to often complex issues. They never fail to inspire me and their recent blog post titled The Secret of Making Money Online was no exception. This is a video of a talk that David Heinemeier (of 37signals) gave at Statup School.
David tackled one of the more pressing dilemmas in modern software development...something like:
Build great application
???
Profit
What miracle happens at #2??? Good question. Some of David's more salient points:
Having a price helps create profit (it's almost too simple to work).
This notion has been lost in the web world.
There are many ways to have a price - not just one.
If people like your product, they pay you for it and if they continue to like it, they continue to pay.
This has been a successful business model for thousands of years.
Building the next Facebook and selling it for 3 billion dollars is an extremely remote possibility. The chance that you might build a decent niche product that a few thousand people like and will make you a decent living - much better odds.
So, David's talk got me to thinking about my original intent for CPO and it's future. My intent from the beginning was for CPO to become profitable somehow - the question was always the HOW. In my perfect world, CPO would always be a free product and earn revenue in other ways.
As you might have noticed, we have been trying some of these options out for the past month. Since early March, we've solicited paid contributions, paid ads and non-financial contributions like monitoring the forum, translating or writing documentation. So far this experiment has had limited...ok, NO success. Now, I'm not expecting miracles here but I genuinely believed that CPO had enough active and loyal users to spin this plan up a bit by now. I'm a little skeptical - looking around I find that others are in the same boat with contribution/ad supported business models. But it's ok - I've decided to give this plan a total of three months to prove itself one way or the other and then I'll move to Plan B.
So I'll level with you and try to be brief. CPO needs to begin earning its own living - pure and simple. I see 2 possible scenarios playing out over the next 6 months:
CPO begins generating enough revenue to justify better support, a more robust hosting infrastructure, regular bug fixes and more features. This doesn't have to be a lot of money at this stage - just enough to entice a little help and to keep motivation up enough to get things to the next level.
Or, CPO generates no revenue and things stay as they are indefinitely. I can always afford the hosting account but there will be limited support, few if any new features and bug fixes when I get around to it.
I'm not satisfied with scenario #2 mostly because I know it doesn't have to occur. I know that there are some problems with CPO - I know that support has been virtually non-existent for the past several months. I also know that I'm still passionate about turning CPO into a truly great product - but not for free. The key word here is sustainable - we don't need a $5,000,000 infusion of cash but we do need something that will generate revenue next month, and the month after that and on and so on and so forth. Otherwise, everything will stop.
So, how can we remedy this? I'm coming to you, the CPO user community, before making any firm decisions because I feel it's fair that you have a say in how this all goes down. I'll throw out the first pitch...here are some ideas I have for generating revenue:
Created a tiered hosted account model. A free version with no support, no file uploads and limits on projects, clients and invoices. A paid ($5-$10 per month) premium account that would include responsive support, file uploads and unlimited number of clients, projects, etc.
Offer the source code for download and installation on any server for $149. This would include 3 months of support and free upgrades forever.
Offer a combination of 1 and 2.
Charge only for the source code and keep the hosted accounts free.
That's about all I can think of at the moment but I'm open to suggestions. I just got done reading some blog posts over at ActiveCollab and it looks like the community really hit them hard for springing a pay only revenue model on a previously free product without any warning. I'm trying to avoid making their mistake so let's all be constructive and try to find a win-win. I trust my users.
One request though...let's stay away from comments like 'Yeah but Joomla/WordPress/Drupal/eGroupWare [insert favorite open source poster child here] give their stuff away for free and still make money.' unless you can provide explicit ways in which they bring in revenue. Otherwise it's just not very helpful. I know there are a number of quality open source initiatives that make money in ways other than selling software - but I think in the grand scheme of things, they tend to be the exception and not the rule. There are, however, numerous examples of shitty OSS that is completely free and worth every penny...I don't want CPO to fall into that camp if I can avoid it.
Thanks for reading and for your thoughts.
Jeff
I’ll admit it…I’m embarrassed that my first blog post in over 6 months is to explain a site outage. I throw myself on the mercy of the court, beg your forgiveness and vow to do better. Now, on to our feature presentation.
So, What Happened?
As many of you no doubt noticed, CPO went offline yesterday somewhere between 12:00 and 1:00 pm PST. It came back to life this morning around 4:30 am. First, I wish to apologize to all loyal CPO users for this inconvenience. I know how earth shattering it can be to rely upon a web service and then one day find out it’s GONE! So, I’m very sorry this outage occurred and I will explore ways to keep this from happening in the future.
Most of you will know this already but I’ll say it anyhow…No data was lost – none, zero, zilch. The database is intact and functioning fine. One of my other web properties, StuffSafe.com , was picked up by Lifehacker on Tuesday afternoon and traffic has spiked through the roof since then. I’m working with my hosting company to determine the exact cause of the outage but my suspicion is that there were just too many simultaneous authentication requests to the database server attached to my cheap-ass hosting account.
“Wait!”, you say. “What does StuffSafe have to do with a CPO outage?”
Well, both sites (and a few others) are hosted on the same account so the traffic spike to StuffSafe brought down everything. (Gasp from the audience and then…pin drop silence.)
“Hmmm, not very good infrastructure planning is it, Jeff.”
Yes, you would be right about that – given unlimited resources or at least a profitable business model, neither of which CPO has right now. What CPO does have in the way of resources is time and the good will of its users, but not cash.
“Ok, enough excuses. How will you keep this from happening in the future?”
I have one idea. Move StuffSafe.com to its own cheap-ass hosting account and if it spikes again, at least it won’t bring down everything else. But consider this, StuffSafe has averaged less than 500 page views per day for almost 2 years. CPO averages about 5,000 page views per day. My other 3 sites combined barely even register since I’m not actively promoting them right now. On a typical day, my hosting account deals with around 5,500 page views which is not taxing in the least.
Short of offloading a couple of sites to other hosting accounts, I’m not sure what else can be done at this point. I’m open to suggestions if some of you have dealt with this problem before – specifically, large traffic spikes on cheap hosting accounts coupled with the inability to afford a more robust infrastructure.
Again, I apologize for the downtime and the heart failure. Thanks for reading.
Jeff
CPO user SebyM was kind enough to alert me to some pretty significant problems with the invoice editing features. Here's what's happening...
I've looked into this bug today and found that it's a bit of a monster. There is so much code involved and not all of it is really clean. So, my thought right now is that this will take me through the weekend to fix properly. Until next week, don't plan on doing any serious edits to invoices or you may wind up having to delete them and start over.
Ok, now that the confession is out of the way, I'd like to express a tremendous amount of appreciation to a few bug watchers. Yanick Rochon, Maurer Sebastian and Greg Manset - you guys are terrific! Thanks a million for sticking with CPO and taking time out of your busy day to help me identify problems and suggest great improvements.
CPO has grown much faster than I ever could have imagined and, right now, I'm scrambling a bit to keep up. It's a pleasure to have some users who will graciously point out problems without just giving up and leaving.
Thanks so much, guys. I hope I can do something nice for you one of these days soon.
Thanks for reading.
Jeff
It ain't pretty yet but the support forum is now online. Please go here to post questions about using CPO, report bugs, check up on bug fixes and all that. You can get to the forum from within your CPO account by clicking on the Help! icon in upper-right header menu (below the CPO logo).
Of course, there aren't many active forum members just yet but don't let that keep you from posting. I will do my best to respond to every forum post within a couple of hours.
One last thing, there are several features that need to be added to the forum such as RSS feeds for topics, email notification of post replies, etc. These features will be added shortly but I wanted to get some kind of framework in place for having conversations around help questions and problems.
OK, let's move on...
The bug reporting tool is still around because it's convenient. If you want to alert me of a bug on the page you're viewing, it's much simpler to just enter a description of the bug in the drop-down window than it is to go to the forum and post. If I think the bug description needs to go in the forum for all to see, then I'll copy it there along with a reply.

Thanks for reading!
Jeff
Has anyone else noticed latency issues with CPO today? If so, I sincerely apologize. Before I work myself into a complete tizzy, I think I'll keep an eye on things for the rest of the day. I've noticed a lot of traffic the past 2 days from Netvibes since releasing the CPO dashboard module on Sunday. I'm thinking this might be a temporary surge that will die out in a couple of days. If not, I'll contact the data center and see what my options are for increasing bandwidth.
Thanks for your patience.
Jeff
I've spent the past two weeks stomping bugs and responding to user requests for better internationalization support in CreativePro Office. These are, shall we say, not the most glamorous tasks in software development - but they are a necessary part of the process. Anyway, as a reward to myself I spent part of the weekend configuring the CPO dashboard widgets to work in the Google and Netvibes homepages. So far, I'm pleased with the results. Both dashboard modules are identical and they give you access to your CPO tasks, projects, invoices, RSS feeds, notes and del.icio.us links. Look for a Pageflakes module soon as well.


There is a new sub-menu item on your CPO dashboard called Export Your Dashboard. Click this link and you will see Add To Netvibes and Add To Google buttons. Simply click a button and follow the instructions. (I'm not entirely sold on the 'Export Your Dashboard' link title so please suggest a title if you wish.)

Developing the Google Gadget was easy. All you have to do is create a simple XML file that points to an application page formatted to fit nicely within the Gadget window size. The Netvibes module took a little more work but Chris Cant's Netvibes Mini Module made integration with Netvibes a piece of cake. Thanks Chris!
To learn more about developing gadgets or modules, visit the Netvibes Developers Network and the Google Gadgets API Developer Guide.
Thanks for reading.
Jeff
Several users have kindly alerted me to the fact that CPO really needs to support multiple countries, currencies, time zones and other standard internationalization features. In retrospect, I knew from the word 'go' that this would be an issue. No self-respecting developer builds a web app without the rest of the world in mind. So shame on me for not addressing this issue early on - but I was always too involved in getting the core feature set in place and stable.
So, without further delay, I will begin incorporating other countries, currencies and time zones into CPO within the next 2-3 days. I've already managed to address some UTF-8 character support issues and there's even some talk of providing the application in Spanish and French by summer.
If you wish to help with translation into other languages, please give me a holler.
Thanks for reading.
Jeff
It's been a busy week here at UpStart Productions. On Tuesday, 2 of my apps were submitted to
Buzzshout and traffic has spiked for most of the week. It's dramatically tapering off now as I suspected. CreativePro Office saw more than 50 new registered users which isn't much for the likes of Digg but for CPO, it's downright dramatic.
Everyone has been very cool and very patient. The feedback has generally been positive and critiques have been constructive. So, thanks a lot, guys! I appreciate your willingness to give CPO a shot - even just to kick the tires.
Special thanks to Pali over at AfterThe.net . After giving CPO a fine review on Buzzshout, he raved about it some more in this post . Thanks a million, Pali!
Anyone who registered can see there's plenty of work yet to be done. However, the feedback so far tells me that, fundamentally, CPO is on the right track. It's lacking some features right now and there are bugs, but it's easy to set up and begin using immediately and folks seem to like that.
Thanks for reading.
Jeff
Most of the features in CPO are built as I need them. The discomfort with my current work process becomes too great so I sit down and build something to make my life incrementally better. Same goes for the new CPO task widget. No doubt you dislike creating daily/weekly task lists from memory as much as I do. Heck, I CAN'T create task lists from memory anymore...who am I kidding.
The task widget is designed to show you a two to three week snapshot of your project obligations in one neat little window right on the CreativePro Office dashboard. To use it, start by selecting Tasks from the Widget Menu.
If you have any projects with associated tasks, your widget should look like this...

Clicking the task counter link on the right opens a panel to reveal the outstanding taks for that project...

Added team member display to project view. Now you can click the Team tab in a project view screen to view the details of team members associated with that project.
Created Google Gadget and Netvibes module to display CreativePro Office dashboard widgets within Google Homepage and Netvibes.
Implemented UTF-8 support to allow for better extended character set handling.
Added internationalization features: countries other than U.S., time zones other than U.S., foreign currencies. To update your currency, time zone or country, click the settings icon
in the upper-right part of the screen.
Added tagging to project file uploads. Fixed sort function on project file list. Fixed some bugs in the client entry form. Fixed invoice number increment bug.
Completed the dashboard task widget which displays outstanding tasks ordered by project. Learn more about the task widget here .
Fixed numerous bugs on the finance reporting page that displays the YTD finance charts. Still more work to be done here.
Fixed a bug in the dashboard RSS reader that prevented feeds from being displayed when the widget was opened from the widget menu.
Finished the bug reporting tool. Now a user can submit a bug report from anywhere in the application by clicking the
icon in the upper-right system menu.
Reworked how RSS feeds are read. Initially, RSS feeds would be read before the dashboard page load when a user logs in. If a user had many feeds, it could take 30 seconds or more before the dashboard would render. I moved the RSS read operation to take place after the dashboard renders. I still don't like how it works but it'll do for now.
Added tagging feature to Projects, Clients, Project Files and Invoices.
Repaired bugs in user signup process.
CreativePro Office beta is officially released.
CreativePro Office has a nice feature that lets you upload files to individual projects and then make certain files visible to your clients. For example, you've just finished 2 Photoshop comps of a brochure for a client. Upload them to the project, make them public and your client can now view the files and comment on them in their client area.
The problem is that this feature is not scaleable right now. CPO currently exists on a shared hosting platform and
without venture funding or a solid revenue model, this is the ways it's gonna be for the near future.
For the past few weeks I've been looking around for an online file storage service to integrate with CreativePro Office. I first looked at Box.net because they are integrated with both Pageflakes and Netvibes . Box.net provides 1GB with their free plan and they have great API documentation. However, the API requires that you login to your account at the Box.net website. That won't work.
Then I found Omnidrive . They also offer a 1GB free account and their API can be accessed from within CPO - users are authenticated through a REST call. The only problem I've run into so far is their API docs - they're terrible. But I'm making some progress and once I get a working prototype, I'll release the PHP API code in a blog post.
Thanks for reading.
Jeff
If you've been following the GoPlan Blog for the past few months, you'll know they've been able to generate quite some
buzz with an invitation only release a few months back. Well, GoPlan is now available to the masses - I signed up for the free account last night. It is impressive and kudos to the guys at WeBreakStuff.com for producing a nice app!
If you don't know, GoPlan is an online project management suite with some nice collaboration features built in. From the GoPlan blog...
Goplan is an online project management solution. It allows teams and individuals to collaborate through tasks, file management, real-time chat, online calendaring, and many other features.
Ok, I created my account and I logged in and was immediately infatuated with the eye candy. GoPlan looks great. It's got an intuitive layout, pretty icons and a soothing color scheme - maybe a bit like Blinksale . Now I realize look and feel is very subjective. 37 Signals and their Basecamp product have the whole "simple is genious" thing going on and that's fine. But frankly, I'm a bit shallow. When I'm using an app for an hour or more, I want it to be pretty. Ok, enough said about that.
So yeah, I wanna be GoPlan - I want CreativePro Office to be just as pretty and just as simple to use. But playing with GoPlan for awhile brought me back to just why I built CPO in the first place. For example, GoPlan has no invoicing feature - yet. It has no expense tracking feature - yet. It has no timesheet feature - yet. I say 'yet' because GoPlan is very much in an early release stage and the team may add these features later. Or they may stick with the core feature set they have now and that's great and it will work stunningly for a lot of users.
But my vision for CPO has always been a complete end-to-end solution for the single developer or very small (2-5 people) development team or the single developer with 2 or 3 subcontractors, etc. By end-to-end I mean from drafting an estimate to sending the invoices - every stage of the project life-cycle is handled by one app. Back in the day, I used to get really tired of creating estimates and quote in a Word template, then tracking my hours online, using Outlook as my default task manager (you know what I mean), and then creating invoices with an Excel file. Things are much better these days and apps like GoPlan do a lot of the heavy lifting. But I still need to access 3 or more apps to get everything done.
For now, I'm sticking with the end-to-end approach with CreativePro Office and we'll see how it works out. Maybe it's just too darn complicated to pull off well.
Thanks for reading.
Jeff
So I've had a couple of questions recently concerning IE support on CreativePro Office. Currently, the layout breaks in IE 6 and 7 and there are some JavaScript issues with IE as well - surprise, surprise! And CreativePro Office hasn't even been tested on Safari yet.
Yes, I do intend to support both Safari and IE (6 and 7) in the near future. So, what's the holdup? Well first of all, CPO is in beta (some might even say alpha) release which means things are changing and changing daily. Also, when building any web app, I prefer to work exclusively in Firefox as do most folks. Once the layout and JavaScript behaviors are nailed down in FF and I'm happy, then I know how things are supposed to work. I've found that testing in multiple browsers as I develop is a massive waste of time because the testing scenario usually goes something like this:
So until users are satisfied with a stable release of CPO, plan on using CreativePro Office with Firefox on a Mac or PC. I'm sorry if this presents an inconvenience and look for enhanced browser support some time in May of 2007.
Thanks for reading.
Jeff
OK, here we go. The CreativePro Office beta officially launches today - no more putting it off. I missed my original launch date by 2 months but a lot of good stuff has happened in that time...
In my perfect world, one app would handle client contacts, project tasks, billable hours, invoicing, expenses, and provide a space for collaboration among the developer, subcontractors and clients. Initial client contact to final project invoice would be handled by one, integrated environment. Oh, and it would be FREE! Not free like “you can send one invoice to one client per month” free, but completely free for all features.
Well, that initial push of creativity saw a very small version of my dream realized. I released an alpha version, received some feedback, tweaked the app to a point where it was usable (to me anyway) and then promptly went on to other projects. July of 2006 saw a major rewrite of the app and January March 1st, 2007 should see a new alpha release. Which features get thrown into the initial release has yet to be determined but a short list will probably include:
We'll see how things progress. Thanks for reading!
JeffShow some love! Find out more about the many ways you can help contribute to CreativePro Office.