@klaus
Your chart design looks good. I like the ability to scroll horizontally and vertically.
Zooming in and out would also be a good feature in order to get "the big picture"
Although I have not seen it done with time frames smaller than a day, it should be possible by
setting the unit of time as a parameter (for example minutes in surgery, or hours in an assembly plant).
The computational parts of a Gantt chart are well-defined and mathematically simple.
It is essential to have an efficient and user-friendly method for creating the dataset that specifies the chart:
1. tasks/activities
2. optimistic, most likely, and pessimistic time estimates -> derived expected time
3. the dependencies between tasks (A cannot be started until X, Y, Z are finished)
I would design the App to work in landscape mode on the desktop computer as well as on devices, at least for tablets and larger phones.
Therefore I would use B4XPages, with one page dedicated to defining/editing a task, and another for displaying the chart, and a third for showing the dependencies in a network diagram. B4XPages would make it easy to go between these pages.
The network diagram (nodes and connectors) can show more information per node:
- The early start time (ES)
- The early finish time (EF)
- The late start time (LS)
- The late finish time (LF)
- The slack/float
In the time/Gantt chart and in the network diagram, the critical path should be highlighted.
I would save the task definitions in a standard .txt file, so it could be edited separately with Notepad++.
Each of the three sections could then be developed separately, using the prototype .txt file.
Microsoft has made a lot of money with "Microsoft Project", and it is a sophisticated, multi-user
project/program evaluation and review technique (PERT) tool, almost always required for submitting project proposals.
I think it would interesting to see how efficient and effective B4X would be in implementing something like it.
At least on a smaller scale: perhaps single user and perhaps with limited # of activities. It's strengths would be:
- cross platform
- modern, enlightened user interface
- ease of software development, maintenance, and updates
- supported by a large active community
- free, open source