We were shocked – horrified, in fact – to learn that Software Architecture isn’t everyone’s idea of a good time. There are few things we enjoy more than exploring the structures and systems working inside an application, but reluctantly admit that probably makes us the exceptions.
KeyLines’ architecture is, however, a topic we get a lot of questions about, from developers and non-technical people alike.
For that reason, we thought we would summarize the five things you should know about the KeyLines’ architecture. Feel free to leave any questions in the comments section.
KeyLines gives your developers the ability to construct a visualization tool custom to your specific requirements.
Everything, including the chart appearance, user interface and workflow, can be changed and entire functions can be added or removed with just a few lines of code.
The result is you get to build the exact application your users need, without the hassle and caffeine-fueled nights usually associated with such an endeavor.
KeyLines applications run in all common browsers on any device. Depending on which browser it is accessed from, users will either see an HTML5 or WebGL version of the visualization and won’t notice any difference in how it looks or behaves (although, the WebGL renderer is much faster than HTML5 Canvas).
This means anyone can access KeyLines, where ever they are, regardless of device.
For the developer: To render your charts, you can configure HTML5 Canvas or WebGL, or let KeyLines decide which option is best. Only the version needed is fetched from the server, so wait times and bandwidth aren’t affected. Both versions also use the same API, leaving you free to work out your business logic.
When data is sent to the user’s chart, it is temporarily stored on their machine. This means KeyLines can perform all kinds of processes and analysis without calling back to your database – filtering, SNA, layouts, grouping, etc.
This gives KeyLines excellent speed and performance, making the end-user experience extremely interactive without putting undue pressure on their machine or the wider IT infrastructure.
For the developer: KeyLines is a client-side application, so the user doesn’t have to wait for server responses to events. Some simple tweaks to customization code can change this behavior, or write-back to the database, if needed.
You don’t need to worry about excessive server traffic, long load times or high latency. Everybody’s happy.
KeyLines is entirely self-contained. No information is sent out and KeyLines’ requires no connection to anything other than what sits on your server and in your database. By keeping everything inside your corporate firewall, you limit the risk of unwanted people getting to your data.
If you want, you can beef up security for extra peace of mind using SSL encryption or a secure HTTP configuration, but it’s usually not needed. Just sit back and take a victory sip of your coffee.
KeyLines is a lightweight web application that runs in any browser on any device. There’s no need for dedicated hardware, and the KeyLines files themselves are only around 200k, so they download almost instantly.
KeyLines can be deployed to everyone who needs to visualize connected data without costly IT support, the use of insecure technology or pesky plugins that many users don’t understand.
For the developer: You don’t need to worry about maintaining dedicated visualization servers, running an integration project, anticipating user demand of fielding painful telephone calls about why the Java plugin has crashed. Again.