VIMAT – first steps

One of my favorite quotes is “if a thing is worth doing, it is worth doing badly” (Gilbert Chesterton). Another one I like that I heard Charlie Rose say (not sure who said it first) is “Do you want to be a writer or do you want to write?” What does this have to do with anything? I have a BS in IT, but no experience in the field. If I want to be a programmer, I have to program. If VIMAT is worth coding, it’s worth coding badly. Through iteration, experience, and dedication I will acquire the skills necessary for being a programmer and VIMAT will be coded well.

I’ve chosen to get my hands dirty with Qt and C++. I had been introduced to BASIC, Pascal,  and C back in high school. Thus, the procedural style and C-like syntax of C++ comes easily. In college I learned Java and C#. So, the object-oriented nature of C++ also comes naturally. There are some gaps in my knowledge that I hope to fill soon through experience. One of these is pointers. They look tricky at first glance, but once I read a little more about them, it doesn’t seem like a concept that will be too difficult to grasp. Another is generic programming (templates). This actually looks quite fun and useful. It seems like it would be a great tool for refactoring.

That takes us to Qt which, to me, just seems like the way to go. It’s been around for ages, so it has lots of users and, so far, they have been very friendly and willing to help. Qt is a collection of libraries to use with C++ that helps take care of not only the graphical user interface, but also database handling and other stuff that does not need to be reinvented every time a program is written. It’s cross-platform, easy to use, and well documented.

One of the mottoes of free or open-source software is “release early, release often.” In that spirit, I have been determined to come up with a prototype with just one feature as quickly as possible. If anyone is able and willing to try this out for me, just remember the first paragraph here. It’s not pretty at the moment, but some day it will be. The operating system that I develop in is Ubuntu. So, my first file release (executable) will be for Ubuntu and will probably be followed very closely by Android. The executables are not available yet, but the code is via Git at SourceForge.

VIMAT – Intro

I have been reading self-help books ever since I graduated from high school in 1995. I have always struggled with procrastination and time-management. I took time-management classes in college. I’ve read books by Alan Lakein, Stephen Covey, David Allen, Neil Fiore and many, many more. Despite all of the insight gained from reading these books, I’ve still spent more time over the years playing video games than I’ve spent working on a to-do list. When I do finally devote time to time-management, it’s usually to try a new productivity app and play with all of the features to see what I like and what I don’t like. An hour will have gone by and I still won’t have the day planned.To combat this, for the last five years or so, I have been dreaming of an application that would help me solve all of my problems. Obviously, anyone who has looked has found, there is no shortage of applications that implement the Getting Things Done (David Allen, 2002) methodology. I want something more than that. I want to pick and choose methodologies and singular ideas from any of the books on my bookshelf, any article I read, any interview I watch, and so on. I want every tool, every feature of those tools, and every property or attribute of the data manipulated by these tools to have an on/off switch. I want users to try my app and make suggestions for improvement that can be implemented in the same manner, enabled or disabled. I want everyone to be able to create their own productivity app by simply manipulating a large settings menu. This way people can stop searching for the perfect app and design it themselves. VIMAT Is More than A To-do list

freeIPE Overview

freeIPE – free Integrated Productivity Environment

This is an attempt to gather as many productivity tools as possible into one user interface. A tool could be a task list, calendar, time tracker, or any number of tools deemed useful.

Currently the app is only a task list. The main menu has some tools listed that are under development.

The plan is to write or rewrite tools that all share the same relevant data. For example, a task list may have tasks that are also events to be displayed on a calendar. A time tracker may allow the user to select from a task or project list. A tool may display the contents of a project (subprojects, tasks, notes, etc.) in mind map form for viewing and editing.

When a few more tools are active, there will be a demo here for people to try. The “free” in freeIPE is free as in free beer and free as in freedom.

This is an attempt to satisfy a need that my wife and I have. We need a set of tools that supports multiple users (perhaps socially) and offers data synchronization (preferably both locally or over the Internet). My goal is to keep the project in working condition and, if possible, to maintain backward compatibility.

If anyone wants to download and decompress, it can be found on sf.net. Although the project is not ready for production, the latest stable file release is available under the “Files” menu item. The latest development version is under “Code” using Git.