Beyond GoJS vs. JointJS: Choosing the right agency for developing diagramming tools
Searching for a “better” technology always ends up with the well-known “it depends,” and the choice between JointJS and GoJS is not an exception. Especially when considering choosing the right agency for developing diagramming tools. It depends on specific needs, priorities, and resources, but above all, the expertise of the agency you hired to get the job done. As they said: it is not the wand that makes the wizard.
We are not trying to say that technology doesn’t matter, as it can determine the final project’s look and feel. Yet, the discussion about the superiority of one solution over the other rarely leads to unambiguous conclusions.
JointJS vs. GoJS topic, although these diagram libraries don’t cause such riots as JS frameworks or speculation about Java’s future, will remain with no desired closure as well, and we will not pretend otherwise. Instead, we will point out the pros and cons of both solutions, explaining what aspects need to be considered while choosing the right implementation partner.
Technology is important for solving problems, but implementation is just as crucial
Technology provides the tools and solutions, but the implementation process brings those technologies to life and determines the success of the final product built upon them.
No matter how robust and feature-rich technology is, when its implementation process, which includes aligning with business needs, training employees, and ensuring data accuracy, fails in any of these aspects, it can lead to a failure to achieve the intended business goals.
New companies in the market
Data-focused companies pop out from every corner as data not-so-recently became – no matter how corny it sounds – a “new oil.” Whether we talk about traditional sectors like mining or more models like retail or logistics, they all seek the silver bullet that allows them to accelerate processes, save costs, and minimize operational risks. Data is the foundation of their efforts.
Finding data experts – data scientists, data analysts, and data engineers – is not a problem in theory. In practice, the experience makes a data expert a real asset for the company. Sure, many data-oriented issues can be addressed automatically or semi-automatic. However, there are still no off-the-shelf solutions able to work in drag & drop mode as data are always unique and to work with them. They need to be understood.
|How to find the best data visualization agency?|
Here is the checklist:
Referrals and Recommendations
Reach out for recommendations from other companies in your professional network to identify agencies that have a proven track record in handling data-related projects in your industry.
Online Research and Reviews
Conduct online research, look for reviews, and go through case studies and testimonials from their previous clients.
Industry Events and Conferences
If it is possible, attend industry events focused on data analysis or technology and discuss your specific requirements with the agency reps.
Professional Networks and Forums
Seek recommendations from data-focused communities.
Request Proposals and Conduct Interviews
Narrow down the initial list to 5 or 10 potential agencies and connect to them directly, outlining your specific project requirements. Then evaluate their proposals, strategies, expertise, communication, and cost considerations.
Importance of technology implementation
Their skillful implementation involves understanding the unique challenges and requirements of the specific industry, selecting appropriate data sources, and designing visualizations that effectively communicate critical insights. Experience is crucial in overcoming common data visualization challenges, including handling large and complex datasets, choosing proper layout algorithms for given data, and designing visualizations.
Technology requires coding not only knowledge, but also problem-solving skills that often touch on the following:
Performance of large diagrams
Due to the scale and complexity involved, taking care of the large diagrams’ performance can be challenging, especially as it is always a matter of striking the right balance between numerous aspects that must be addressed.
The sheer volume of graphical elements, such as nodes, links, and labels, and the need for real-time rendering and interaction strains system resources. Furthermore, the complexity of operations like layout calculations and collision detection increases exponentially with the size of the diagram, making real-time responsiveness challenging to achieve.
Effective solutions involve employing efficient rendering algorithms, optimizing layout calculations, intelligent caching strategies, and leveraging hardware acceleration when available. Data visualization experts easily detect “belles and whistles” within the library that can negatively affect performance and exclude them, considering the size of the database.
Readability of large diagrams
When a diagram becomes too large, it can be difficult for users to read, understand relationships between elements, and extract meaningful insights. Cluttered visualizations, overlapping elements, and limited screen real estate are often a root cause of the diagram that can’t be useful in business practice, even though “under the hood,” everything works perfectly.
To handle readability in large diagrams, employing proper layout algorithms that automatically arrange and optimize the positioning of elements is crucial. They can improve clarity and organization “by default” by ensuring that related elements are visually grouped, reducing cognitive load and facilitating comprehension.
Furthermore, most automatic layouts require customizations to align with the unique logic they are supposed to reflect. They can include allowing users to filter or highlight specific elements, change the color scheme or styling, or provide different layout options. Programmers must be able also to match the layout algorithm to the data because not every layout is suitable for every dataset, and the choice of the algorithm is crucial for readability. Besides the frequent need to customize the algorithm, programmers have to know how to parameterize it so that the visualization for the given data is optimal.
Ability to apply appropriate algorithms
Selecting suitable algorithms from a comprehensive (and growing) range of options, optimizing them for efficient performance, and considering problem-specific requirements and constraints require knowledge and experience. They are essential to make informed decisions about algorithm selection, understanding their computational complexities, and optimizing them to handle large diagrams effectively.
Dealing with custom-made algorithms, developers need to find the right balance between the time of implementation and algorithm performance. With expertise in the data visualization area, the agency knows when the development process must be prolonged to improve overall algorithm performance for the sake of UX and when it is not essential, as the client’s database doesn’t require the fastest algorithms, and the user will not see the difference.
The right agency should ensure that the chosen algorithms align with specific needs.
Ability to design applications that are useful for the user
By understanding the target users, their goals, and their workflows, designers can create interfaces and functionalities that align with their needs and technical competencies, ultimately enhancing usability.
However, designing useful data-oriented diagrams, including applications, also has significant business implications. Users are more likely to engage with an application that is easy to use and provides business value out of the box without requiring deep technical knowledge.
Importance of coding architecture for easy tool development and integration
A well-designed architecture ensures compatibility with the infrastructure, enabling seamless communication and data exchange and future expansion requirements, while also allowing for adaptability to changes. It also prioritizes performance and efficiency, optimizing data handling, rendering, and interaction to avoid performance bottlenecks and maintain a responsive user experience.
Designing a modular, flexible, and extendable architecture is not easy, though. It requires a long-term vision and best development practice awareness to smoothly (just by adding features, not by remodeling everything from scratch) go from MVP or PoC to a production-ready, scalable solution.
Ability to design applications that can be implemented at a low cost with the library we have chosen
Careful evaluation, compatibility assessment, efficiency considerations, skill set alignment, and long-term maintenance planning are critical factors in managing implementation costs and delivering cost-effective solutions to clients.
All of it requires not only broad technological expertise but experience in running a development process; the agency you consider working with can’t be glued to one particular solution, instead fluently switching between them in the name of finding the one that is the most suitable due to the demand, time-of-value and, last but not least, costs.
What to look for in a Data Visualization agency?
Data visualization experts must have solid data processing capabilities to comprehend and interpret complex datasets. Only with this background can they efficiently identify patterns, relationships, and outliers within the data, enabling them to create visualizations that accurately represent the hidden insights.
Proficiency in data analysis allows for understanding the unique characteristics of specific datasets and identifying the most relevant variables, dimensions, and measures to visualize, ensuring that the visualizations effectively communicate the intended message to the audience.
Design plays a fundamental role in effectively deriving insights from data. Data experts backed by designers focused explicitly on data visualization know how to represent data clearly, concisely, and engagingly.
They utilize design principles such as layout, color, typography, and visual hierarchy to create visualizations that enhance comprehension and convey the intended message accurately. However, design is not limited to aesthetically appealing UI. It extends beyond the visual aspects, encompassing the user experience of interactive dashboards.
Data tools’ UX must be intuitive and smooth and facilitate seamless interaction with the data, creating an enjoyable experience that encourages exploration and boosts engagement.
Crucial in the analysis of client’s datasets are:
- rate structure
- relations between elements within it (whether they are cyclic or have weights or directions)
- limits in dataset size
- possibilities of data segmentation (whether data can be grouped due to some similarities and so utilizes additional visualization techniques)
Also, we analyze data in the broad context of the client’s industry. Some industries already have schemes to visualize the elements, some symbols commonly known, and typical notations. Because of our expertise in working with a variety of industries, we are aware of best practices. We can easily find solutions tailor-made for every business instead of generic methods.
The product design team’s expertise in working with diagrams is crucial. It guarantees the development process is well optimized, as the risk of clashes between design and the possibilities of it being effectively coded is significantly lower.
Data Visualization experts must be fluent in web development, as the diagram app never “lives” in a vacuum; it is always embedded in a specific web application.
Considering the above, the absolute minimum of the expertise includes:
- experience working with frontend frameworks to integrate diagrams with the rest of the app.
- knowledge of the techniques of state management within the web app to remain consistent diagram state with the rest of the app
- knowledge of the UI libraries such as Material UI or Ant Design to fit the diagram into the app’s UI.
- expertise in authentication and authorization (diagrams often require different levels of access to be built in)
- knowing how to make the frontend exchange data with the backend (sometimes the REST API returning JSON files is enough, sometimes client uses GraphQL and sometimes the WebSockets need to be implemented to run real-time communication)
- expertise in dealing with a huge database through lazy loading, loaders, skeleton loaders, caching, memoization
- SEO expertise
It is not unusual that the same team works on building diagrams and the whole app, which requires full-stack specialists onboard.
At Synergy Codes, we have clients who select their technologies, and design solutions, only to learn that implementing their UI/UX is difficult, cost- and time-consuming, and – overall – there are better ways to achieve their goals.
Our expertise and broad competencies enable us to choose the best possible technology for business objectives with no compromises in terms of the product’s final quality.
Read our case studies: https://synergycodes.com/portfolio/