As we mentioned in the previous blog post, Dashman is a complete rewrite of the product taking all the lessons learned through the years, of what customers need and how to serve them better. The architecture is now completely different to cover the two most requested features:
- Microsoft Windows support
- Centralized management of many installations
Most of Dashman will be developed using cross platform technologies and it’ll have several components:
This breakdown in components exist to make the most complex deployments possible but I’ll provide packaged solutions for the simple cases.
The configurator is the first app you start. This one allows you to create an account and set up which web sites to show and in which machines. The account is created on a hosted server I’ll be providing and this time Dashman will be SaaS, that is, software as a service, with a monthly or yearly subscription.
The displayer components are the ones you run in the machines you want to display the web pages. Displayers will include screensavers for Mac and Windows, but also standalone applications, live wallpapers, iOS and Android apps, etc.
The displayers will never contain any cookies or credentials so you can put them in lower security machines without worrying that person gaining or having access to that machine will gain access to your web applications. This is achieved by shipping screenshots to the displayer.
The screenshots are generated by another component called renderer. These will get the cookies and credentials but you only need one for your whole organization and it can run in a secure environment, such as the computer of a trusted person or even a server in a data center. You may also have more than one renderer to distribute the load and ensure availability.
A single computer can run all components if you are a solo Dashman user.
Cookies and credentials will be end to end encrypted so only the configurator and the renderers will have access to them. Screenshots will be encrypted so that the displayers have access. This ensures that I don’t have access to your private data and should my servers be compromised, the attackers won’t have your data either.
This sequence diagram shows the flow of data through the different components:
What do you think? Does this suit your needs?