Blueprints is designed
Good software is about more than just meeting a spec.
Software changes over time. It's important to know how it should change, and how it shouldn't, and that means having a vision, a set of rules, about the way it should behave. Many of us at Pathway Systems have worked in the enterprise. Now we create the software we always wish we had.
It's for humans, and machines
Your computer has relatively few complaints about your insanely complicated infrastructure. It understands it, it might even like it a little bit.
People are the ones that need help understanding complex systems.
We designed Blueprints to be a bridge between both worlds: robust for machines, and pleasant for the human user.
We make sure data isn't packaged up in endless tables and forms and values, or just thrown on screen for you to admire. We want you to be able to interact with it, it should be malleable. We want you to feel like you can reach out and manipulate it naturally.
Nobody deserves a victory lap anymore for software that just lets machines talk amongst themselves. Ultimately, the best system is the one that you actually use.
Here's some basic combinatorics: if you have n things, there are 2n different ways to look at them. Do you want to understand more than 25 things? Because there are 33,554,432 ways to look at 25 things.
You can't have a diagram set aside for every occasion. You can't have an action plan for everything. Blueprints is built to handle situations as they happen, because that is the only way a complex environment can be handled.
Everything is generated on-the-fly. Analysis is instantly available on any group of elements. An algorithmic layout engine abolishes hand-crafted static diagrams that waste your time. Automation ensures that everything is provided with the most up-to-date information, and a real-time engine continuously communicates changes to you.
Blueprints lets you look past the superficial and focus on the deep structure of your environment, and act quickly to build instant intelligence.
When Blueprints is used to examine an information environment, it becomes a part of that environment. It needs to play nice with the developers, administrators, and its fellow systems.
It starts with complete API coverage, so that everything can be scripted or automated, and every resource can be reached from outside the system.
It means supporting as many data formats as possible, like XML and JSON, that follow open standards and allow other systems to consume Blueprints data. It also means having the capacity to accept new data from other systems.
Finally, it means not being locked in to a certain domain or use-case. Everything should be configurable. Administrators can tailor the system to their exact domain requirements, whether it's IT, lab science, manufacturing, contract law, accounting, or anything else.
People want to work together
The modern office is distributed around the world, with different teams and time zones. The growth of the cloud means your datacenter is scattered across the world as well. To be effective, people and systems need to interact.
Blueprints allows an organization to connect together over a shared knowledge resource and solve problems at the same time, using powerful real-time systems that continuously update as they work.
We're a big supporter of browser technologies, because as a ubiquitous platform, all a user needs to participate is access to a web browser. They don't have to be in front of a specific machine in a specific office.
We made Blueprints robust enough to handle many hands, from permissions to history tracking to sessions and chat, because people want to work together.
Go beyond the easy stuff
Our habit is to ask ourselves, "if we didn't have to write it, how would we want this software to behave?" Then we write it.
What if you could do everything from your web browser? And it wasn't clunky? Is that even possible? What if other people could screen-share with you? Could we make it update in real-time?
You could just click around the model, but wouldn't it be great if there were a graph query language? Won't people be afraid of it? What if every change was tracked, so you could time shift and revert changes?
Wouldn't it be amazing if the data in the model could be updated automatically? Could we blend together automated and curated data?