-
DEMO
LINK
https://koodikulma.fi/timeline-app
LIMITATIONS
The demo version is fully functional except for:
- You can freely modify the database contents, but it's not possible to save changes (there is no server side at all).
- There is no email support (for lost password or notifications).
- Some settings on the Settings page are not accessible.
SPECIAL FEATURES
- See this video (13min, in Finnish) for special features about multi-user changes, undo history and conflict handling.
-
DESCRIPTION
TECHNICAL
- The application runs in any modern major web browser (eg. Chrome, FireFox, Opera, Safari, ...).
- For database, the application requires a simple web server with basic requirements (PHP7+, Apache and SSL).
- The application supports multiple user roles. The UI fits into mobile view for simple usage (Worker role) - for full editing features, a wider screen is required.
MAIN IDEA
The purpose of the application is to help managing time on a day basis. The basic structure is:
- Resources are the units that do the actual work, and whose time you want to manage.
- Groups are like teams: You can assign a resource to be part of a group, and so its time usage is inherited from the group.
- Projects are the ones requiring work - ie. they are targets of time assignments.
- Vacancies are just like projects, but they typically refer to absence from work. For example, vacation days, sick leave, ...
MAIN FEATURES / QUICK TUTORIAL
EDITING
- In the calendar, each day is a column and rows represent the above units depending on the view (Resources, Groups, Projects, Vacancies).
- Editing of time assignments is done simply by selecting some cells and assigning a target to them. There are 2 cursor modes:
1. View: In this basic mode, you can click the blocks in the calendar to display an info popup of the target / source. You can then edit the properties of the unit by clicking the lock icon and modifying the value of any property.
2. Edit: In this mode, you are able to select cells in the calendar. You can then assign targets to them (or remove) as well as drag selected cells to move or copy (ctrl) cells in the calendar. If you hold shift key, the moved / copied cells override existing targets on the target cells (otherwise only empty). You can also select cells and pick a target from an existing block, or pick it before hands and start painting on cells.
- As a special case, you can also select two targets: This typically means, the resource / group spends half a day working on the first target, and then the rest of the day for another target.
DEFAULT ASSIGNMENTS
In addition to creating specific binds on a day basis, you can also assign a resource to have a "default bind" to a group.
- So when you assign targets for the group, each resource inherits the targets from the group.
- You can also, of course, assign a defaulted resource to spend its time elsewhere for any given days.
- When you change default assignments, the application smartly modifies the cells accordingly, so no surprising situations appear.
CALCULATION ROWS & SPAN
- The application provides calculation rows that are specific to each section (resources, groups, projects, vacancies).
- In addition, you can highlight a span of days (by click-dragging on the time ruler on the top), and by doing so, the application automatically computes related cumulative data over the time span.
- There is also a special feature for projects, if you define a Contract Sum and Billing Interval: The application will automatically calculate the estimated income. (By default shown one week later than the work done.)
GANT / DRAWING
- You can also create custom "drawings", for example, to create Gant calendars.
MULTI-USER
The application supports multiple user accounts as well as user roles:
- The basic user roles are "Worker", "Manager" and "CEO".
- Typically, Worker just gets to see his/her own row in the calendar, where as Manager and CEO roles see all the data.
- There is also an Admin page where you can create, modify or remove users of the app as well as set their access role, and so on.
MAILING
- The application supports getting email notifications of changes.
- There is also a special routine for lost password that includes sending an email.
MULTIPLE COST POOLS
The application supports multiple cost pools - that is, multiple separated databases.
- Each user (with appropriate user role) can change what cost pools are currently visible in the application.
UNDO HISTORY (& SAVING)
The application supports an advanced and informative user action history.
- So you can, of course, undo / redo your actions, and when you are happy with your changes, you can save them.
- When data is saved (= sent to the server), the other online users will receive a data update, which then appears in the history.
* This special feature allows you to (re)view changes done by other users while you were online, and it works seamlessly with your own user action history.
- The history also supports the case of travelling back before the saved state and making a change in there: A special bifurcation path appears in the history, that links the saved state (and any coming updates) to your own action history.
SECURITY
- All the data of the app is encrypted.
- In addition, the data content is actually client-side-encrypted:
* This means that the data is encrypted on the device where you use the app (desktop, laptop, phone, ...).
* So even if a hacker could access the server, all the data is gibberish, and the keys to decrypt the data are never known on the server side. (The respective keys are revealed on the client-side by correctly decrypting the user's 'login puzzle'.)
* Note. Some less important technical data is server-side-encrypted instead.
LAYOUT
- The layout adapts to the window size: If you change the window size horizontally, the view is squeezed / stretched respectively. When content exceeds vertical height of the window, it becomes scrollable.
- You can also set whether to use light or dark color scheme.
- The layout also supports changing between Day and Week modes: If the days become too squeezed together horizontally, the view changes automatically to Week mode. (You can still edit the cells on day basis.)
- The time span of what's visible in the calendar can be freely set or you can use convenient base modes: (1 wk, 2 wk, 1 month, 2 months, 6 months, 12 months). You can use the left and right buttons to go back / further keeping the time span.
- The layout also supports zooming and scrolling within the selected time span:
* You can hold the wheel button down and move the mouse vertically to zoom and horizontally to scroll.
* You can also roll the wheel to scroll (day by day, or weeks with Shift), or zoom by holding Control key (Shift to zoom faster).
- You can also filter for each section (and cost pool) which rows are currently visible. (Right click rows / blocks to quick filter.)
PREFERENCES
Some settings related to visualization and other preferences are customizable, and can be saved for each user.
-
UPCOMING
FEATURES COMING SOON
TABLE VIEW
View any units in a table-like manner instead of calendar. So each row is a unit, and each column represents a property.
TIME SKETCHES
- Instead of applying your edits directly to the active state of the database, you can also store them as time sketches. You can share these with other users of the app, and finally apply the sketch when finished.
- Each time sketch is as if a "layer" to be drawn on top of the existing situation, and you can even view multiple layers simultaneously (applied in the list order).
PRINTING
- The application will get a support for a print-friendly-view, so you can easily (preview and) print out a view of the app.
CHANGE LOG
- Simple information about the edits are also collected to a change log that can be viewed in the app.
BACKUPING
- The application will receive support to (automatically or manually) backup a state of the app and retrieve it later on easily.
- Note. Of course, the web hotel provides its own backuping system for bigger emergencies (but this requires manual work from Koodikulma, and the web provide typically charges a small fee for retrieving a backup).
COMMENTTING
- Potentially, commenting features coming on later.
-
DEVELOPMENT
TECHNICAL
- The application logic and user interface runs by Javascript code.
- The data content is encrypted/decrypted on the client side (on the user's device).
- The server side is built with PHP, using a flat file structure for database with encryption.
IDEA
- The original idea, some user interface ideas and need for the application is by Johan Plyhm.
- The application is developed by and copyright of Koodikulma (Mikael Saurén).