Making the power of graph databases accessible to non-data experts.
Neo4j are the makers of the world’s leading graph database solution. Graph databases enable working with massive amounts of data with a lot of connections in between them, in an extremely fast and efficient manner. In addition, they allow detection of patterns of relation and correlations in a way that traditional databases don’t, making them invaluable tools for finding interesting and meaningful patterns in big data. This makes graph databases a perfect fit for fraud analysis and investigative journalism, among other things.
To fully harness the incredible power of exploring graph databases and deriving insights from large amounts of data, Neo4j saw the need for an entirely new product focused on visualizing their databases and providing intuitive, delightful methods of exploring them. They approached Block Zero to collaborate on defining, designing and developing this new product. We were going to help end users navigate huge graphs, explore its contents and detect patterns, without having to write a single line of query code.
Design Workshop Kickoff
UI Mock Ups
UI detailed CSS layout
Production Application Code
10 Months, split in two phases
First step was determining what kind of product we were building and ensuring that everyone within the large, distributed team, as well as the primary stakeholders, were on the same page. To determine the scope and definition of the product, as well as visualization strategy and the user experience we were aspiring to, we started the project with a week long workshop: initiating product and experience visions, connecting new team members and aligning language and expectations.
Design Exploration & Prototyping
One tool for multiple domains
Iterating through multiple approaches to different styles of interfaces, we explored different ways of interaction in order to make the data feel more tangible and bring the graph to life, while still providing easily processable information about context, neighborhood and connectedness of the data. This included exploring complex search mechanisms, enabling filtering and drilling down to detailed information while also providing a seamless way of viewing the complexity of the entire graph at the same time. The multifold motivations by different domain specialist required a multilayered approach to structuring and categorizing data in order to make the resulting data set meaningful and relevant for the users task at hand.
Once the visualization approach, as well as the interface strategy was determined, we proceeded to develop the tool around the core, using preact. The tool was more focused on enabling searching of the data, filtering it in the way the user desires, and controlling the visualization according to certain user controlled parameters.
From a design perspective, the challenges we faced unfolded around how to make navigating extremely complex and large data structures an intuitive and task-driven experience. We wanted to enable the user to explore and have access to all the data, while at the same time not overload the relevant data structures with domain-irrelevant information. Achieving this required a fine balance of layering data and making it accessible and controllable in a familiar manner, using known design patterns and building connections to already established methods of interaction.
High performance for a tactile experience
Creating software that provides intuitive ways to derive meaning and insights in large quantities of complex data has several large challenges. It needs to be understandable and adaptable to fit the domain and the context that the data describes - for any area that can be described as a graph. It also needs to mask the technical intricacies of the underlying database while at the same time unlocking the powers of the Neo4j revolutionary database technology. We both needed to invent new ways of exploring in a type of software where there are no standards to draw from - while making it accessible and controllable in a familiar manner, using known design patterns and building connections to already established methods of interaction where they exist.
While solving the conflicting design needs we also needed to do so for possibly very large networks, demanding inventive ways of using exactly the correct amount of power to process the data in an interface where the tactile nature of graphs make interaction very direct and sensitive to bad performance. We also needed to get the right feeling of those interaction, tactile, physical and dynamic - while not causing overt movements and always be predictable and never lose the sense of the tool as a professional one. This demanded countless iterations of working with the physics engine, timings, hover effects and animations.
The result of our collaborative work was showcased during at the annual GraphConnect event in New York on October 24th as a part of the Neo4j Graph Platform. It was first unveiled as part of the opening keynote, to hundreds of the most prominent users of the Neo4j database, who were extremely enthusiastic in their response. With crucial feedback from these users, the product is undergoing some final iterations before a wide release in early 2018.