Personal Process Management

Get Your Programs! by Scott Ableman.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.

Why to use PPM

Personal Process Management is not an obvious requirement, but automating tasks, which are repeated over and over again, sure is. Here are some ideas:

  • Home automation is one area that needs configuration and simple programming for which an tablet would be the ideal device.
  • Email forwarding and sorting sometimes requires more than an out-of-office reply.
  • News filtering and classification may be the killer feature to keep you up to date with less but more precise information.

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.

How to use PPM

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.

PPM once and for all

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:

  • Yahoo Pipes an online content aggregator for RSS feeds and more.
  • Reactable a multi-user sound editing table.

What’s next?

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:

  • Syntactical and graphical Plugins.
  • Live feedback plugins to debug processes from within the editor.
  • Fast, zooming UI, preferable portable to a number of devices.
  • Collaborative editing.

Outlook

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.