I’ve started this blog to document my progress. I don’t want to bullshit people and make myself look like somebody who already knows everything. I don’t aspire to be somebody who people would praise and think: “wow, I will never be as good as this guy”. I want to show that I know nothing and the things that I might accomplish won’t just happen by themselves. They’ll take time and happen because I’ll make them happen.
So I’m starting this project that I’ve had in mind for a few months already. I’m calling it Tool To Help Me Manage Projects (TTHMMP for short). I probably know what you’re thinking. “Wow, another project management tool.” And yeah, I’m not going to tell you that this is something that everybody will be using in 5 years. This is a toy project for me to learn stuff. It will be similar to most of project managers but I hope to make it a little bit customized for myself. Let’s get to the description.
I will be implementing this in Python using PyQt library. Why these technologies? Several reasons. I want to learn Python because I keep bumping into it in cool projects on the internet and job ads. Also, I’ve been programming for Maya last year (in C++) and I’ve seen that most of creative software (Maya, C4D, Blender, …) provides Python API. Another motivation for me to learn to use Python properly was this one time when I could with my limited knowledge of it help my girlfriend with automation of one time consuming task. It took me like half an hour to write this script that saved her maybe 6 hours of work.
I want to learn Qt because I’ve heard that it’s a solid framework and because I think I could utilize this skill in the future
What TTHMMP is?
TTHMMP is going to be a tool which will provide an overview of all my active, finished, and not yet started projects. Sometimes I have a hard time with keeping track of what I’m actually working on and what I want to accomplish. The problem, in my opinion, is that I don’t see what projects I’ve started and in what shape they are, what are the next steps. This way it’s hard to prioritize and work on what matters.
TTHMMP is primary going to show my active (running) projects. I want to keep 3 or 4 projects at max in this state of being active. Each project will show a starting date, estimated (or hard defined) end date. Next, there will be a list of tasks which will most importantly show the next step that I need to take, or the next problem that I need to solve. This TODO list could be outsourced by just linking to a Trello board or something.
I would like to implement some kind of motivational tracking visualizations. For example, I love the boxes on github which show commit history of a user. This was super motivating for me at times when I was contributing to a project hosted on github. I want something like that in TTHMMP.
In the future I think it would be nice to show finished projects as well. I think it should be done in a motivating way too. Finished projects are kinda like your hall of fame. That’s the stuff that you’ve done! You accomplished it.
I have a stretch goal feature in mind. I have a vision that there will be a button which will automatically “configure” your current workspace on your computer. Let’s say that I am a video editor and I have a project where I edit something. Usually on my computer I have many applications running at the same time, may tabs in the browser. What I want is to close all these distracting things and open up only the necessary applications that I need for work. Hell…I could even configure it to disable internet connection. All this should happen by clicking one button at the project overview. The button could be called “LET’S GET SHIT DONE”. Or something like that. Or it could change dynamically!
Minimal Viable Product (MVP)
I think you know what MVP in this context means. I believe many of my previous attempts to make stuff failed because I didn’t specify precisely what the version 1.0 is. The point is to learn from that mistake this time.
In version 1.0 of TTHMMP you should be able to:
- add a new project,
- switch between the states of the project: active, finished, not started,
- show a list of active, finished, and not yet started projects
- show a detail view with basic data about the project
That’s it. When this is done, I will call it a version 1.0.
I don’t know if I will update with stuff before the v1.0 version is done because, frankly, it doesn’t seem that interesting. It just needs to be done!