Oslo Customizing and Extending the Visual Design Experience

Together with Alex Thissen, Paul Gielens, Marco Stolk and Dries Marckmann we’ve been reflecting our thoughts on “M”. Right now we’re all at another Oslo talk about Quadrant. Why “Quadrant”? * As more software becomes more model-driven, the volume of data in the system grows

  • We need a tool that lets people query, update, and visualize that data in ways that make sense for the task at hand. What is “Quadrant”? * “Quadrant” is a tool for interacting with data
    • Flexible, focused design surfaces
    • Default experiences over arbitrary data
    • Rich declarative customization
  • “Quadrant” is completely data-driven, every bit of data in SQL Server.

“Quadrant” is the tool to work with. You have a canvas where you can drag everything you’re working with on that canvas. Icons that are blue can be dragged out and placed on the canvas again to get a full view on that item again. That way you can drill down in all models. Everything of course in WPF and this provides a great visual experience, or at least this is the idea I get from looking at the screen.

Terminology and features in quadrant

  • Canvas You can use the canvas to view the model. The model is loaded by Quadrant and you can drag models onto the canvas.
  • Repository Explorer
    At the bottom-left corner you have the explorer from which you can select everything related to applications, models, workflows, activities, etc. Everything that is data and is represented as a model.
  • Shapes
    Shapes are the squares on the canvas and are a model or a part of a model
  • Hyper icons Hyper icons are the blue icons I talked about. They can be dragged out of the shape and become a new shape themselves.

IMG_3234  IMG_3235  IMG_3236 Using Quadrant Takeaways * “Quadrant” connects people to data

  • Diverse data sets
  • Diverse interaction styles
  • Extensible
    • Create new or extend existing models
    • Create new or extend existing editing experiences IMG_3238  Customizing “Quadrant” Takeaways * Quadrant is a model-driven application
  • Customization via data stored in repository
  • View specification based on query/functional evaluation Quadrant Architecture The shell and surface has some core services like drag/drop, undo/redo, error handling, search, etc. The composition engine is getting data from a dataflow engine, giving queryable data, having target data, configuration and view state, which is all coming from M.

IMG_3239 Where are we? * “Quadrant” is a flexible tool for interacting with diverse data

  • “Quadrant” uses the repository for both specification and state