Tuesday, June 28, 2011

A different, simpler, approach to visually design business processes

About a year ago, I co-authored a paper called "What You See And Do Is What You Get: A Human-Centric Design Approach to Human-Centric process". It was accepted and presented at the BPD  workshop (BPD here stands for "Business Process Design") which was part of the BPM conference (BPM here stands for "Business Process Management").

The paper describes a new way to design processes. The key idea there was to reuse the WYSIWYG ("what you see is what you get") design approach (which is used usually for user interface design) in process design, where static page design is not sufficient, but there's also a need to design the dynamic nature of the process.

I just noticed that the proceedings are now published, so it is possible to read the paper here.
Section 2 there describes in more details the WYSADIWYG approach.

Sunday, June 26, 2011

Comparing programming languages to boats

See here, a nice comparison of programming languages to types of boats. Very funny, some of it even makes sense (even though I'd say that Java is the Titanic rather then a cargo ship...)





Monday, June 13, 2011

Brain-mapping the Dallas Mavericks

Dallas Mavericks just won the NBA title. Watching them was a true enjoyment due to the diversity of the playing styles that this team showed.
When combining together all these playing styles it is easy to see the resemblance of this team to another remarkable machine - the brain. Here is a short list of the key players and their role / playing style as if they are regions in the brain:

Jason Kidd -  Prefrontal Cortex: This region is responsible for planning and decision making (amongst other things). This is the type of basketball that Jason Kidd is playing - very smart and focused on taking the right decisions while planning two moves in advance.

Dirk Nowitzki - Cerebellum. This region is responsible for repetitive motorical tasks, such as climbing stairs all the way to doing calligraphy. Dirk Nowitzki's game is all about doing several things over and over again, regardless of their complexity - jump backward on one leg, re-balance in mid-air and then throw the ball accurately to the hoop. from the outside it seems complicated, it is if you stop and think about every step. It isn't if done automatically.

Jason Terry - Amygdala. This region's key functionality is handling the limbic system, i.e. emotions. Jason Terry's game is all about emotions - if he feels that he needs to shot, he'll shoot, no fear, no stress, it can be a win or loose shot, if he feels it, he'll do it.

Jose Barea - Brainstem - This region is responsible for the basic bodily functions - breathing, temperature control, etc. Jose Barea's game is just as primal as this region- no, thinking, just doing - you are faced with a higher, stronger defender (or two), run into them and throw the ball.

Sean Marion - thalamus - This region is the communication relay system, just in the middle of so many processes. Sean Marion's game is similar, he is everywhere, does not start anything,  may end plays and glues numerous processes together.

Tyson Chandler - Astrocytes - this is the "skeleton" of the brain - it give structure and holds everything in place. Does not do any calculation, but everything would collapse without it.

Wednesday, June 8, 2011

Alan Kay's view on type systems

In here there's a very interesting correspondence with Alan Kay about OOP and his definition of it. Amongst other things, he wrote a short sentence that describes his view in the ongoing debate of static vs. dynamic typing.

Here's the exact quote:

"I'm not against types, but I don't know of any type systems that aren't a complete pain, so I still like dynamic typing"

I couldn't agree more. I don't recall even once that static typing actually helped me in designing software, I can recall numerous times that it just stood in the way, without anything to gain other then detecting errors in compile time, but only the kind of errors that any developer (junior or experienced) must be able to detect easily.