One of the next steps in personal computing will be Personal Process Management: Programming for the end user.
Combine new tablet devices like the iPad with the ease of creating a concept map like Instaviz and the power of programming.
Graphical programming has been blamed for not being able to capturing enough complexity, but – for a certain types of applications – it is sufficient, if not a lot more capable, because it may blend the visualization of processes with their semantics and live feedback.
Personal Process Management is not an obvious requirement, but automating tasks, which are repeated over and over again, sure is. Here are some ideas:
There may be some advanced application areas. I can imagine to use PPM to configure routings for web-services, programming failover scenarios, and – in general – event routing, that defines what to do with all the events that reach you on your various devices.
The most basic structure to edit PPM configurations is a directed graph. Concept mapping editors provide a user interface to create and edit such graphs. Most of the automation tasks may be represented with simple nodes and connectors. For more complex tasks, a list of properties may be associated with each node and/or connector.
The user is creating nodes by tapping on the background surface. A connector can be spawned by tapping and dragging on a marked field on the node. Nodes can be edited by tapping them once and moved by tapping and dragging.
The editing surface should be zoomable and infinite in size. Multiple surfaces for different projects should be supported, and nesting would allow editing state diagrams, for example.
There should be only one application that the user has to learn. Syntax specifications and graphical presentations for different process types should be enabled by plugins.
Two interesting examples for inspiration are:
Using already existing concept mappers or tools do not work. They don’t support syntax constraints and surely miss a plugin infrastructure. There needs be a new – preferable open source - project to create a – say – a personal process editing framework.
The requirements are a little different from concept mapping applications:
If such a framework excels in automating simpler problems, it may be possible that – given that software development reached a new abstraction level – we will find an effective syntax for a universal and graphical programming language.
I personally prefer to use a tablet instead of my keyboard + desktop, and I’d like to see a future where the expression of graphical ideas is integrated with the power of programming in one common user interface.