We’d love to hear it! Create your feature requests here or upvote the ones you’d like to see in a future release. Thanks a lot for your support, your feedback helps make UMLBoard better!
Got an idea?
Database Schema
Support for database design Providing support for database schema design would allow : Model the data layer alongside the application layer (tabbed view, switch between UML class diagram and DB Schema design) Keep the entire system architecture in one tool Proposed Functionality Support core database concepts such as: Tables Columns with data types Primary keys Foreign keys Compound keys Relationship cardinality (1:1, 1:N, N:M) Self-referencing relationships Iteration 2 Default values Constraints (e.g., unique, not null) Views Materialized views Stored procedures Functions Triggers Iteration 3 Schemas / namespaces SQL DDL generation (CREATE TABLE, CREATE VIEW, etc.) Export to multiple dialects (PostgreSQL, MySQL, SQL Server, SQLite) Warn about circular dependencies Detect invalid foreign key references I would roll it out in three iterations, the first being the simplest, then gauge if there is interest, if after iteration one you see that the features are not increasing engagement or sales I would stop there, but if you notice good feedback I would continue with iteration two, as for iteration three, that maybe a bit more ambitious.
Add Cloud Save Support
We could integrate some cloud storage providers, e.g. Steam or iCloud, natively for saving/loading diagrams.
Add Activity Diagram Support
Please add support for activity diagrams, along with the ability to export them to PlantUML.
Add Use Case Diagram Support
Please add support for a use case diagram, along with the ability to export it to PlantUML.
Allow line breaks in class members
It should be checked how line breaks in class names and members could be supported. Maybe we could simply store the line break character in the text and render it correctly. This would also affect the layout engine as the class width/height dimension would be affected by the line breaks, and also when adding line breaks to method/property names, the remaining part of the line (parameters, return types, etc…) must be centered.
Add multi-document support
Instead of working with a single diagram, several diagrams and other files, like images, should be grouped under a project. This would have the advantage that diagram elements could be interchanged between different diagrams, .e.g., defining classes in the class diagram and access them in the sequence diagram. For this, we would also need multi-tab support to let users open and edit several diagrams at once.
Create association classes
Users should be able to connect a class directly to a connection to define an association class. This is a good explanation of this feature: https://www.ibm.com/docs/en/rsm/7.5.0?topic=diagrams-association-classes
Let user move diagram title by mouse
The title of the diagram should be draggable and moveable by the mouse
Support images in markdowns
Currently, images are not supported in markdown. When adding image support, we should check how to handle references to local images. Maybe for this, we would need support for project with multiple documents. Also check how we can export diagrams with image references in markdown notes.
Add textual renderer
We could use a rendering interface that looks like a textual renderer. For this, we would have to replace our current rendering with a different strategy. But it would definitely be a nice effect. Also check monodraw which uses a textual renderer. https://monodraw.helftone.com/
Add keyboard support for members
Whenever a member is selected, moving arrows up and down could select the next member in the list. Pressing SHIFT + arrow could move the member up or down in the list.
Add RTL support
We should check how complicated it would be to add support for RTL languages. There should be a context menu enabling RTL support. If I understand it correctly, it would be enough to just right align the text then? Some examples: https://leancode.co/blog/right-to-left-in-flutter-app Maybe we can somehow flip the app horizontally, or better only specific parts of it? https://stackoverflow.com/questions/43592987/svg-transformation-flip-horizontally Maybe we should add this feature per element?
Add Toolbox for editing diagrams
Check how difficult it would be to implement a Drag&Drop Toolbox like in other UML designers? Maybe that could be an additional feature?
Choose different line arts
Maybe we could define different line arts like "Chalk", "Brush" etc. for lines. Here is an example of a chalk-style: https://github.com/mmoustafa/Chalkboard https://courses.telematique.eu/reveal.js-plugins/chalkboard-demo.html#/1
Let user define bezier curves
Users could also define bezier curves for relations. Should be checked how to implement editing of bezier curves. Since we already have anchor points, we could maybe use them as some kind of auxiliary points to calculate the bezier curves.
Add anchor boxes to allow for multiple connectors
We could use some kind of connection anchors (small diamonds) that let user make several connections (like conditions in a flow diagram).
Add support for more note colors
Seems like for Microsoft whiteboard, people want more note colors: https://whiteboard.uservoice.com/forums/915919-whiteboard-for-windows-10/suggestions/39266938-rgb-color-for-notes Could also be an option to change the color of post-its in our diagram. We could also think about different note styles, like post its, plain and some kind of index cards that have different colored lines.
Improve text editing visuals
We could try to make the text editing look a bit nicer, for example, vimeo uses only a single line and a cursor which looks much better than our edit box.
Add option to center, left or right align class content
Alignment of note texts can be aligned, we could extend this feature also for classes.