This is a contract position. Candidate can work remotely.
We are looking for a senior programmer who has good experience using Cytoscape.js, familiar with layouts, graph theory in general. We have built an application on Cytoscape but are not completely happy with the ways the nodes and links are rendered in different layout.
We are using Cytoscape.js in an engineering context for product development. Instead of a traditional table view, we provide a graphical view to data and relations. Some of the challenges we are facing are:
Layout: - maximum utilization of real estate without any overlap of nodes, edges, and labels. a. To achieve maximum utilization of real estate, we are currently applying a layout (fcose, hierarchical etc.) and then applying spread layout on top of that and spread layout is not that efficient. No-Overlapping is not guaranteed using spread layout if nodes are huge. b. Sometimes flickering effect are there as we are applying two layouts and it also degrades the painting performance. c. For some of the layouts label inclusion is not working.
Multiple layouts: - We might need to apply multiple layouts on the graph without overlapping of nodes and maximum utilization of real state. a. Currently we are applying one layout to all nodes which does not make much sense in case user selected different types of relationship in relationship summary. Hence we decided if user wants a clear picture then he/she should uncheck unlike relationship views and then check the graph nodes for a particular view. b. Challenge here is to use the maximum space utilization and without overlapping as we locked earlier painted nodes and applying another layout which may result into overlapping.
We need flow kind of layouts where we can paint nodes in a flow based on some attribute criteria and irrespective of their direction. a. Currently we are representing nodes in a flow based on directions which might not be valid in some cases.
Grid layout for disconnected nodes with proper uses of real state. a. We have configured but sometimes it just paints with few rows and more columns.
We are looking for capabilities that are provided by diagramming tools like GoJS and yFiles.
This is a contract position. Please reach out to email@example.com for further details in case you are interested.