This past weekend was the RCOS Hackathon and I started getting into the structure of Zadatak. Our goals are to have the user put in as minimal information as possible and having the application do the rest of the work. This means the app has to dynamically allocate blocks of time to the schedule without bugging the user on details of when and how long. The app also has to work with pre-existing schedules, handle conflicts, and we want to include functionality on procrastinating and delaying work allotted blocks.
I set out to build some classes in Java that would encompass these requirements and ran into a pretty big question. What is a method of scheduling blocks into the right spots that takes our inputs (deadline and progress)? Our solution is based around 2 principles or functions. One to place the task into the calendar and one to manage a queue of tasks. The queue of tasks would be determined by an internal priority number(a factor of time remaining on task and amount of work task requires). The calendar placement would use a principle similar to operating system process management using a round robin style. Using all the remaining days for a task the placement would place hour by hour where time is free, trying to keep busy hours constant throughout the calendar. This week I’m going to try and implement these two ideas. Stay tuned for progress.