The first web application that I ever attempted and could call “completed” was JKmain Journals, an oddly named blog service. I started to look back on JKmain Journals recently, and how that project got started. After all, I keep looking back to my high school years as some freakish time when I actually did something useful outside of school.
Then I started to think about the choices, or the lack thereof, that I made in brining that project to life.
- Programming language (There’s something other than PHP? They have frameworks?)
- Relational database management system (There’s something other than MySQL? InnoDB vs MyISAM? I have a choice?)
- Source control management system (What is this?)
- Project management software
- Bug tracking software
- Testing architecture (Hah! Did you know? I wrote flawless code back then.)
- Overall documentation (Other than the sporadic one line comments to self?)
There are lots of things missing on this list, but again, this project was to scratch an itch. The pure desire was to release, release, release.
Naiveté
Maybe being naive was a good thing back then. After all, I got more done than I have ever gotten done in recent times. That’s not to say that I could have done anything useful with JKmain Journals. I don’t think I knew where I was going with it, other than the fact that I wanted a place to put up my life story.
Of course, saying that I was naive back then doesn’t mean that I’m not naive today. I was naive in the sense that I didn’t even know what to know. These days, I’m naive in the sense that I feel like I know what I need to know, but I have not tested what I do know, through the creation of a working and useable product.
Artificial Choices, Artificial Limits
Life is just filled with choices, isn’t it?
My schizophrenic self has made these choices for me. I’m fairly certain the choices I have to make in relation to the bullet points up above. I know what I want to gain from the experience of creating a product. The choices have been made by me, for me.
And to me, that was maybe quarter the battle. Now, the question is what to do with the artificial choices that I’ve made, and how flexible will I be in the future as I make up these artificial choices.
No longer are choices roadblocks. The only thing that stands between me and the code is my lack of focus. There’s a whole 75% of the battle left.