(I haven't proof-read this post. I apologize if it's filled with bad grammar and spelling mistakes.)When I first decided I wanted to build my own web-based Project Management application I did a search around the Internet and found about 8 competitors. I thought most of their products were pretty weak. I remember
Copper being good, but that was about it. (Most of the apps didn't even allow you to have sub tasks of tasks or link all the dates of the tasks together so when one moved, they all moved.)
I started to see more and more PM apps pop-up. Some good (
Project Insight), some bad. Here I am a year and a half later and there's at least 274 competitors now. (
I'm not joking, go look.)
I've been "on" this project so long I can't even remember not working on it. Why has it taken so long?
1 person x 15 hours a week = foreverThat's pretty self-explanatory.
Programming languageWhen I first started I had built a couple of database-driven web sites in PHP and Coldfusion. I had only been doing that for about year (programming). And I didn't want to make the app in either of those languages. I didn't like PHP, and after working with Coldfusion I honestly never wanted to go back and touch PHP. I couldn't build my PM app in Coldfusion because I wanted to sell the application and the CF server license was too much to tack onto the price of my application. (I've since changed my thinking about selling the app and I want to offer it hosted only. But that's a whole other blog post.)
So I choose Java/J2EE, and I barely knew Java. I was basically at the tutorial level. Now I don't come from a computer science background - my degree is in Management Information Systems. (You can stop laughing now - it's great if you want to work in IT management or analysis. Unfortunately, I don't...anymore.) I greatly underestimated how difficult it would be to ramp up that skill set. OO takes a while to "get". (But once you do, it rules.) I won't bore you with all the details of "learning Java", so here's the abridged version:
Java, cool I get it. JSP, there's like 3 different ways to do everything. Which do I learn. Application frameworks, started learning Struts - what a nightmare. Stared learning JSF - what a nightmare. Found Spring and Spring MVC, and they rocked. Crap, I need to learn Tiles too. Ok, so how does Tiles work with Spring MVC. Ok that's, cool. I only need to do 6 things everytime I make a form. (I actually have a list printed out so I won't forget all the steps.)
Here's a list of all the books I've read since I've started this "project" (I won't list the Java and Java-related books I started then threw in the garbage because they sucked.):
Learning Java, Second EditionDesign Patterns Explained: A New Perspective on Object-Oriented DesignJava Swing, Second Edition (first thought was a desktop app)
JavaServer Pages Developer's HandbookExpert One-on-One J2EE Development without EJBBetter, Faster, Lighter JavaCode Complete, Second Edition (Most of it. I actually lost it before I finished it.)
Funny thing is, I'm not too bad of a programmer right now. I'd say I'm on the same level as the 4 other programmers I've got on my team at work. (At my day job.) 2 are computer science grads, 1 is getting his computer science degree, and the other has a 2-year degree from a community college. (The
CC guy filled his schedule with a lot of programming classes, and is a highly regarded programmer at our company.)
Hit the HTML / JavaScript WallI've already whined up a storm about this, so I'll just point you to my original, "
me no likely JavaScript" post.
Learning OpenLaszloI've been working on the
OpenLaszlo prototype for the last 2 months. I'm really feeling comfortable with OpenLaszlo now, but my goodness am I
running into issues with that platform. I'll have to post about my latest time-waster. I don't think I'll be able to code around it. It may be one of those, "sorry, it's just a bug of the platform", bugs. (Or it's possible that I'm too much of an idiot to see what I'm doing wrong.) It can also become a resource hog on the client. I don't know what Macromedia is doing with
Flex, but OpenLaszlo's comparative client-side performance is sad.
Where am I now?So after a year and a half, I'd say I'm about half done. I've almost got my prototype done. (A prototype is a non-functioning, quick and dirty mock-up of the application used to flesh out
what the hell it is I'm building.
See previous blog post.) And I have part of my "model" done. (Business objects and their related logic.)
I'm honestly not sure if I
should finish this project. Like I said eariler, there were 8 products out there when I started (I'm sure there was more - I found 8), and now there are 274. And some damn good ones!
Is the web-based Project Management application market big enough for yet another entry? I have no idea. Am I bringing anything new to the table? Two years ago, hell yeah. Now? I'm not too sure.
Having the last 2 weeks off from this project have been nice. I've been thinking a lot about Ataraxis Software. I don't want to give up the software company dream. I want it. I'm one of those people who works insanely hard. I put so much heart into my work (right, wrong, or indifferent) I just can't imagine working at this level without "getting a piece". I'm the type of person who has always craved freedom, and I feel like I'm smart enough and determined enough to do this.
I've got mixed emotions about what I should do.
I have ideas for some other products. Do I scrap a year and half of work to move onto another product idea? I think all the ideas I have are smaller in scope than a PM app (probably easier to implement too). But, in all honesty, I'm scared they will take me just as long. I'm only one person working a few nights a week. The time in my life where I could spend every waking moment of my life working on a product idea have pasted. (If I want to stay married anyway. ;) Which I do!)
Maybe I should post my "quick and dirty" prototype to try and gauge it's potential. I'm pretty far from having it complete, but if everyone on the planet says it sucks - it could save me a lot of time. :)
Please feel free to leave me your thoughts in the comments below. I'd love to hear from you guys. (Especially those of you who read but don't post! I know there's a lot of you out there!)