In brief
If you embed a planning or Gantt component, start by defining the division of tasks: the component displays time, resource and hierarchy views and makes them editable in the browser, while your own product retains business objects, permissions, dialogs and storage. An evaluation with a real scenario and a realistic data volume shows whether building or embedding is the better fit.
If you embed a planning or Gantt component in your own software, you should first define the division of tasks. The component displays time, resource and hierarchy views and makes them editable in the browser, while your product retains business objects, permissions, dialogs and storage. Whether building it yourself or embedding a component is the better fit depends above all on the data volume of large views, the interaction required, accessibility, localization, long-term maintenance effort and the licensing terms. The question can be answered reliably with a real scenario from your product and a realistic data volume.
Which planning views are typical
Planning components show work on a timeline or in a structure. Three views are typical for Hawk IVO Scheduler:
- Time and resource planning: display resources, shifts or machines on the timeline and move them by dragging.
- Hierarchies: display large structures of sites, teams and resources clearly.
- Gantt and Kanban: edit tasks and orders as time bars or on a board.
Which of these your product needs depends on the objects your users plan and the time period they need to keep track of.
What the component handles and what your product retains
Embedding only works if responsibility is clearly allocated. For Hawk IVO Scheduler, the division is as follows:
| Task | Responsibility |
|---|---|
| Display and editing of time, resource and hierarchy views | Planning component |
| Interaction in the browser | Planning component |
| Business objects such as orders, shifts or machines | Your host product |
| Permissions and dialogs | Your host product |
| Storage and sovereignty over business data | Your host product |
There is a practical reason for this separation. A bar in the view represents an object whose rules your product knows: who may change it, which information a dialog asks for and when a change is validly saved. If these decisions remain in the host product, your permissions and business rules apply unchanged, whether a user works in a form or in the planning view. For the architecture, it is therefore important to clarify early on how your product passes data to the component and how a change made in the view finds its way back into your business logic.
Build or embed: questions for the decision
A simple timeline can be implemented with manageable effort. The effort grows with the data volume, with the editing options and with the years over which the view has to be maintained. Both approaches can be measured against the same questions:
- Data volume and large views: How many objects does the largest view that your customers actually use display, and over what time period? Does it remain usable when loading as well as when scrolling, zooming and selecting? A test with your data in your target environment provides meaningful results.
- Interaction: Which editing operations do your users need, such as moving, changing the duration or rescheduling to another resource? How does the view indicate that your business logic rejects a change?
- Accessibility: Can planning objects also be edited without dragging and with the keyboard? At level AA, WCAG 2.2 (opens in a new tab) requires that functionality using a dragging movement can also be operated with a single pointer without dragging, unless dragging is essential (Success Criterion 2.5.7). For keyboard operation of table-like views, the WAI-ARIA Authoring Practices describe the grid pattern (opens in a new tab), including for rows that are not all loaded at the same time.
- Localization: Do language, date and time formats, the first day of the week and writing direction match your customers’ markets? How does the view handle time zones and daylight saving time changes? In countries with daylight saving time, a night shift that spans the clock change is shorter or longer than usual. A draft by the W3C Internationalization Working Group (opens in a new tab) provides guidance for applications.
- Maintenance: Who maintains the component across new browser versions, new customer requirements and bug fixes? Building it yourself permanently ties up your own development capacity. Embedding creates a dependency whose versions and known limitations you should be familiar with.
- Licensing: Under what terms may you ship the component to your customers as part of your product? How are support and updates handled?
Building it yourself makes sense if the planning view remains small or is itself the core of your product. Embedding makes more sense if your users need large views and many editing options, but the strength of your product lies in its business logic.
How an evaluation works
A product demo shows what a component can do. What matters for your decision is how it works with your scenario. For Hawk IVO Scheduler, we proceed in three steps:
- Choose a scenario: a specific planning scenario from your product with a realistic data volume.
- Integrate together: We demonstrate the embedding using a verified minimal example.
- Assess: You assess effort, usability and performance in your environment.
Afterwards, you have an assessment that is based on your own data and lets you compare building and embedding. We agree on licensing, support and operation on the basis of the evaluation.
Hawk IVO Scheduler and its limits
Hawk IVO Scheduler is an embeddable library that displays time, resource and hierarchy plans in the browser. It visualizes and edits large time, resource and hierarchy views and is used in Hawk IVO Force and Hawk IVO Plan. Your product embeds the component and retains its business objects, permissions, dialogs and storage.
The library does not assume sovereignty over business data. We will tell you the version, supported frameworks and known limitations in the technical discussion. Statements about performance only become reliable with your scenario, because data volume, target environment and usage differ from product to product.
If you also want your product to hand over tasks to agents, you will find the relevant questions in the article Embedding agents in your own software. You can find out more about working together in the For software vendors section. To discuss your planning scenario, get in touch.