Unfinished business

udb_client

Or unfinished projects. I’ve got lots of them. Late last year, I thought a tool that could help migrate structure and data from one database management system to another (e.g. MySQL to SQL Server) was a good idea. Next, I thought of a way to actually make people using the application on the regular since database migration was probably a once in a lifetime task. That’s how the Universal Database Client project commenced.

Development tool of choice was VS2008. I knew if I had to write a database client, I had to set it apart from others like Navicat, or SQLYog (for MySQL) by addressing some issues I had with using them. I figured those two clients didnt take advantage of multi-threading and always have their GUI frozen when connecting to a database server or running queries. I read up on background tasks in .NET and compared different ways to go about it. Within 3 weeks, I had a working application which could connect to a MySQL server, enumerate databases, show tables, and execute queries.

And that was it. Development was always during my spare time. That spare time never seemed to come anymore. It’s over 3 months now since I last touched a line of code in the project. Seems like every time I think about it, I tend to give an excuse of how overwhelmed I am with my workplace projects.

My Twitter friends came up with several likely reasons for this.
- Lack of interest. I would say I’m really interested in seeing the project as far as possible. Would really love to see it actually downloaded by people all over the world for use in talking to their databases.
- Lack of motivation. I guess they have a point here. I’m probably not motivated enough. But I barely have no excuse. Other FOSS projects live to see the light of day at least. Mine hasn’t.
- Procrastination. Yea. I’m guilty of that.
- Idea no longer feasible. Hell NO!!! This is very much feasible. Besides, its not like I’m spending so much on it. If anything, I develop myself while working on it.
- Other well paying projects. Well, yea. That should be a reason. But it is not a reason in this case anyway.
- Poor project management skills. LOL. I’m not a project manager. But maybe @DamolaSolanke’s right anyway.

I’ve decided to commence development next month. I’ll do my best to stop procrastinating and grow my project management knowledge. By the way, the project is meant to be free and open source. It’s written in C#. I will appreciate additional developers on this project. Contact me if you are interested.

Do you know other steps that should be taken to prevent slow downs in personal projects, sound off in the comments.

13 thoughts on “Unfinished business”

  1. Ideas really need to be analysed mercilessly before we invest in them. It’s all about ROI. I wish you the best; you have chosen an excellent development platform.

  2. I will say most of us developers are guilty of this, we think of an idea and all of a sudden we start working on it without project management in mind. Personally i will suggest that before a project commences as developers, we need to do some form of project management before embarking on the project, by that i mean setting milestones, time analysis(allocating time for each milestone) and deliverables, good project defintion and finally knowing when to save new features for version 2.

  3. True story there… milestones and all. knowing when to save new features for version 2. In my example, i was just coding and thinking of new features without boundaries.

    Thanks, will definitely apply your suggestions.

  4. @ezra, if all ideas were to be well thought of and planned before commencement, then there really wouldn’t be any great innovations in the world today…. so keep on-just do it- things will take shape as they come- and you’ll learn!
    I can see The Free Theory working here!! :-)

  5. @ochuko, ezra

    well you have a point, but the truth is starting a project without a deadline in mind is
    not likely to succed, if you have a deadline then you have started project management. However if the goal of the project is to learn on it
    then you will learn and may not come out with a product or come out with a product that is late for its market.

    project management, doesnt have to be some longthing we see in companies today,
    just some small list that contains ur dead line, milestones and dates of completion, New features for next version. That way you will able to know ur percentage of completion
    and be able adjust your list and times when necessary.

  6. Its a cool project u are working on, keep it up guy.
    I like it because its different from the database application stuff we mostly do here. The fact that it’s open source makes it great.
    Consider putting it on codeplex (www.codeplex.com) or code project (www.codeproject.com) to open it up to developers out there.
    Slow downs in personal projects it normal, I know a guy working on one (http://www.codeplex.com/SilverlightToolkit) and he has not made much progress.
    Stay committed to the project and you will pull it through.

    1. Thanks Anu. I’ve been wanting to put it up on codeplex but at the same time, i want to clean up the code to make it presentable. Its my first open source project so I kinda have stage fright. Lol!

  7. willing to put in 5 minutes of advice :D on a serious note, i wish you luck. maybe i can throw in some time from time to time. but writing a frontend to a DB is work. thinking about it, the developer can’t make some optimizations on the engine, like prepared statements and transactions, especially when parsing user-entered queries.

    1. i believe parsing user-entered queries will be easy. the app just has to understand the syntax of the RDBMS in question. i’ve done something like that before in schl on answering user-entered questions based on keywords and their position relative to each other.

  8. I can relate to many of the issues you have.

    The only thing that works for me is what I call the gun to the head approach where I take a project plan, grind it out to daily tasks each week, and force myself to stick to the daily work schedule and if i don’t stay with the plan, I turf the project because at that point nothings going to happen if I can’t get basic tasks completed

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>