As for now, the Beta Program Users List contains of three persons. Myself included. Although I’d like to get more beta testers, I am very delighted about the other two beta testers. But when does the Beta Program actually start? To put it in other words: what is needed before KairosPlanner.com can be opened for test purposes? And what happens after that?
The movie “The Social Network” portraits Mark Zuckerberg, played by Jesse Eisenberg. At some point in the movie, a co-student of Mark approaches him, and asks into some girl who is in some classes with Mark. The guy asks, if that girl is having a boyfriend. I don’t remember the exact words, but Mark replies something like: “Do you think that people have a sign around their neck, telling others the status of their relationship?” And at that moment, Mark gets the idea of implementing relationship status in Facebook. So far so good. But in the movie, it looks like it takes Mark 5 minutes or so, to build that function. Although I don’t doubt Marks programming skills, I am very sure it took him much more time to program that function. At first, he had to define all the possibilities: married, in a relationship, divorced, “don’t want to tell”, and so on. Then he had to create a table in the database, and give every user a default value. Since that is not appropriate, every existing user should get a question at next login: “tell us your relationship status”. But he could not force anyone to tell, so the system should be able to handle people who do not reply.
Furthermore, any new user registration should contain the question about relationship status. And ofcourse, the profile page should also show the status. And that is just a handful facts that should be taken into account, when adding a new function.
I have a similar fact at KairosPlanner.com. I created the CalendarView, the Mission Statement Manager and the Role Manager. Then I began programming the drag ‘n drop function to put peoples goals from the goals list into the CalendarView. But then I found it very odd that the calendar was being saved at the time, all the goals were put into the CalendarView. So I decided to save every move in real time: each time you add a goal, each time you add a reminder, and each time you put a goal into the CalendarView, the move should be saved into the database. That prevented irritation moments when people close the browser before saving.
To achieve that, I had to change the popup that appears right after login: there should be a function to edit the current calendar. And when clicking on that, it shows again the MissionStatement and after that the roles. But what if you decide you have different roles that week than normally? So I had to rewrite the Role Manager, to be able to change roles for a specific week. And that meant also, I had to add a hidden field to the CalendarView, that saves information on which goal belongs to which role. Because: if you have added some goals to a role, and put it into the CalendarView, and you remove that particular Role, the goals should not remain in the CalendarView. You see the complexity of programming?
At this moment, users are able to add a role (with a maximum of 7), they can delete roles, and I am working on renaming roles. That is also very complex, because the system has to react properly, when a user clicks on the “Delete a role” button, while he meant to be clicking on “Add a role”.
So, when I finished this Week Role Manager, I can program the function to save in real time. Then I can create the function to start a calendar for next week. When that is done, I can add the function to review last weeks goals (if last weeks calendar actually exists – a user might have forgotten to create one). After that I can create the function to create a PDF version of the calendar. And at that point, KairosPlanner.com has some basic functions that can be tested.
Am I done at that point? Far from that. I also need to implement subscription status. Users will have subscriptions that expire at some point. And I will build a new registration procedure. I also have to take into account that people can forget their passwords or even the e-mail address they used at registration. While working on all those function, I may not forget that there are people who want to hack into the system, so every move a hacker could take should be prohibited at first.
And then the legal aspects should be taken into account: when I finished KairosPlanner.com, am I permitted to publish this calendar? Although I am the one who codes, who designed the database, who paid for the webserver, and who has been using many, many hours on programming, I am still not the person who designed the calendar and the thoughts about it, Dr. Stephen R. Covey found this calendar as described in his books “The 7 Habits of Highly Effective People”, and “First Things First”. Unfortunately, Dr. Covey doesn’t live anymore, but his legacy does. There are copyright laws that protect The 7 Habits, so I have to get on one line with the company behind The 7 Habits, FranklinCovey Inc. And what would the insurance company Kairosplanners.com think about the name I chose? As you can see: many bumps in the road. But no barriers, only possibilities.
When all things has been cleared, I can declare KairosPlanner.com for finished. But we are long from that point.
Update: I just finished the possibility to rename a role in a calendar. While working on it, I found out that the predefined roles aren’t adapted when starting a new calendar, so that is the next thing I am going to do, And that will take me just a few seconds 🙂