Pushing the Limits of Photography

I have been discussing HDR photography with friends and colleagues for the past few weeks, but it seems what everyone needs is a really good example. I have published a bunch of HDR photos on my Flickr page. But the real question is where do you really need this. Since discovering this technique, I find my self looking for shots where the dynamic range is beyond that which my camera can handle. I set up these shots just to see how it will look. Continue reading

BPMN Poster

Finally something useful: a BPMN poster:

BPMN Poster Image

Claims to have everything you need to know. It certainly contains a lot of useful info. It is from the University of Maribor, Faculty of Electrical Engineering and Computer Science, Institute of Informatics, in Slovenia. The authors invite comments, and I imagine a comment on this post will get them.

The Diagram IS the Meaning

Bruce Silver put together a summary of The Real Issues with XPDL, BPEL, and BPMN where he explained better than I could that the aspect of portability that is more valuable depends on what you’re trying to do. He correctly points out that “XPDL captures the diagram, while BPEL captures the process semantics.”

Bruce brings BPMN into the discussion as potentially the standard that is possibly the most important. There have been a number of discussions recently of the relation of these three standards, Continue reading

Are Apples more useful than Oranges?

I got a comment on my last post which so obviously misses the point so much of the discussion around these standards, that I half suspect this Anonymous post was a practical joke from a colleague for the amusement of watching me get defensive.  However, lets assume that the poster was sincere, and respond to anyone who might hold a similar point of view.

Arguing that BPEL is “more” or “better” than XPDL is like arguing that red is “more” or “better” than blue.  Like arguing that apples are “more” or “better” than oranges.  Like arguing that a race-car is more or less useful than a jeep.

Consider an analogy of two file formats: one for documents (e.g. Microsoft Word) and one for presentations (e.g. Microsoft PowerPoint).  If you look at a list of “brochure points” these different product categories might seem very similar: they both support fonts and word-wrapping, they both support pagination, they both have the ability to draw graphics, they both can do tables, they both can display full screen, they both have spell checking, they both support hidden comments, and so on.  Yet you might assemble a room full of people;  on one side would be the technical writers, journalist, novelists who would point out how the document format is clearly superior and more useful to them, and they would be right.  These writers might say that they have the presentation software, but just use it to make graphics to paste into the documents, and overall the document format is of primary importance.  Yet on the other side of the room is a bunch of presenters, lecturers, teachers, and (dare I say it) politicians.  This side claims that is the presentation format that is far more useful and powerful;  while they keep the document processor around to read files they occasionally find on the Internet, they really only need the presentation package to do their work.  If such a debate were considered seriously, it could go on forever getting more and more detailed about the fine points of word-wrapping, spell-checking, animation, pagination, etc.

Hopefully this analogy makes it clear just how silly such a debate would be.  There is no war between document processors and presentation graphics packages.  Yes, there is a certain overlap, but the only thing that the debaters are proving is that they have different goals for what the software should do.  There is no reason to believe that adoption of a document format will necessarily cause the exclusion of a presentation graphics format.  They are different things used for different purposes.

Just to make things perfectly clear, I never said that BPEL was less important than XPDL.  I never said that BPEL would in any way be replaced or supplanted by XPDL.  BPEL is an important standard that does what it does, but utterly fails to what XPDL does, because it is simply a completely different thing.  There is no war between XPDL and BPEL.

For example, draw a process diagram, lay the nodes and lines in particular positions, write it out to BPEL, and read it back in.  It is impossible to get the same diagram back in because BPEL simply has no way to preserve node positions and line positions.  Arguing that you don’t NEED the lines and positions to be preserved brings us with circular logic back to our starting point: BPEL and XPDL are designed to satisfy different needs.  XPDL, on the other hand, represents the graphics of the process, and when you read it again you end up with the same diagram.

Let me illustrates the differences between these different standards in a more concrete way.  I will have to use a very simple diagram, and a simplifications of the BPEL and XPDL output, so bear with me.  Consider the following BPMN diagram:

Simple Parallel Process

What do you see?  On the surface, you see six shapes: two circles, two diamonds, and two rounded rectangles.  You also see six lines (with bends in them) that connect the shapes.  Those lines have arrows to show the direction of flow.  If you understand the symbols in BPMN, then you understand that this diagram is showing that after the process starts, there are two activities: Activity1 and Activity2, which execute at the same time.  The process will complete only after both activities are complete.  See how there are two ways of thinking about the picture, one is very superficial and includes the specific shapes, the other attempts to include only the underlying meaning.  This is similar to the distinction between BPEL and XPDL.

BPEL attempts to capture only what the execution engine needs to know: the two activities and the fact that they need to be run in parallel.  In BPEL, if you want to activities to run at the same time, you nest the activities inside of a <flow> tag.  The flow tag says that everything inside of it will be executed in parallel.  A highly simplified BPEL output might look like this:

bpel_version.png 

In a certain sense, this is all that an execution engine needsto know.  The two invoke activities will be launched in parallel, and the process will not complete until both invoke activities are complete.  But if you try to read this back into the process modeler, you will find that you can construct something that looks very much like the original (because the AND gateways can be added in because they are logically required, and the arrows between them are logically required) but you can not guarantee that the diagram will be the same because the graphical information is simply not there in the file.  Note that BPEL has no way to directly represent a line in the diagram, and it does not need to, since lines are not executed, they simply show the relationships of things.

The XPDL representation would be decidedly different.  XPDL represent the process model, not simply what is needed to execute the process.  It will have six activity tags to represent each of the nodes (in XPDL the term “activity” encompasses all of the BPMN nodes: activities, gateways, and events) and it will have six “transition” tags, one for each line.  The graphical coordinates for the nodes can all be saved, and the points for the lines, including details of precisely where the lines bend and where they touch the nodes, is included in the Transition tag.  A simplified version might look like this:

Transformation to XPDL

Above is a direct representation of the process diagram, not the abstracted meaning behind the diagram.  It should be obvious to everyone that you can read the XPDL file, and recoverthe exact same diagram that you saved.  XPDL is a direct one-for-one representation of the BPMN diagram, and all the additional attributes associated with the diagram.  BPEL, on the other hand, is a one-way transformation; the translation is a “lossy” translation because it does not contain all the details of the diagram.  It was never designed to do this, so there is nothing wrongwith this, it simply is something that BPEL does not do.

Saying that  “BPEL is more portable than XPDL” simply tells me that all you care to communicate is the execution meaning of the process.  It tells me that you do not care about, and possibly have never tried to transfer a process diagram of any complexity.  If all you need to do is to communicate process execution semantics, then by all means continue to use BPEL – there is no reason to think you should be using XPDL for this.  They are, after all, completely different standards designed for completely different things.  However, your experience with interoperability is not commonplace.  John Evdemon, co-chairman for the WSBPEL working group at OASIS, asked the attendees of last year’s BPM ThinkTank whether anyone was using BPEL for interoperability between products.  When nobody raised their hands, he used this as evidence to support the claim that “the portability of executable BPEL will be low to non-existent“.  It is a strong claim, and the head of the working group should have as much experience as anyone in the subject.  But if it works for you, that is great. 

I personally believe that eventually BPEL will offer great value to all of us, and I support its adoption for the things that it is capable of doing.   At the same time, so does XPDL, which is capable of exchanging of process definition diagrams between products.  The broad support of the XPDL standard today, with more than 60 products using it, is a sure sign that it will not die any time soon.  I only hope that this post has helped make it clear for all those die-hards out there that adoption of XPDL does not mean that BPEL is on the decline nor does the adoption of BPEL cause the demise of XPDL.  They are simply different things, like apples and oranges.

The Tipping Point for XPDL

A lot of you know I am a big proponent of XPDL, the XML Process Definition Language. Not only because of the tremendous amount of good work that went into it, but also I see it being successfully used on a daily basis. It solves a real problem, and is available today. I am, apparently not the only one who feels this way.

In the last few weeks we have been investigating software that supports XPDL to try and get a definitive list, so we combined lists from several sources. The result surprised even me: we were able to identify over 60 different products that claim support for XPDL available today. Check the list at the WfMC site as well as my own list. Scan down the list of names, there are many important companies on the list:

  • Large corporations: Adobe, Advantys, Appian, BEA(Fuego), EMC, Fujitsu, IDS Scheer, Infor, Interwoven, Global 360, IBM(FileNet), Oracle, Software AG, TIBCO, Unisys, Vignette to name a few of the bigger ones. It is also worth noticing that implementation is not limited to large corporations.
  • Open source process editors such as Enhydra JaWE open source process editor and IT Pearls open source plug in for Visio which read and write XPDL.
  • Open source process engines that execute XPDL directly, including Enhydra Shark, WfMOpen, Open Business Engine, Bonita, Workflow::WfMC, jawFlow, Pentaho, and others.
  • Commercial process design tools like Cubetto Toolset, Jenz & Partner, Eclair Group Lynx.
  • Specialized process tools, for example consider SimProcess which is a stand alone process simulation product. Or Zynium’s Byzio product, which can convert any unprepared Visio dirgram into an XPDL file for transferral to other tools.
  • Adoption seems to be spread all over the world, including Rodan, HOGA.PL, R-DATA & Polsoft in Poland, Metoda S.p.A in Italy, Together in Austria, numerous companies in France, Germany, England, US, NEC Data & Fujitsu in Japan, Monosys in China, and many other parts of the world.
  • Across the technological landscape, many of these are written in Java but there is also strong representation in the .Net world with Ascentn and Aspose both offering .Net products that support XPDL, as well as Perl, C++, and other language offerings.

There is another way to get an idea for the breadth of adoption. Consider Gartner’s Magic Quadrant for BPMS vendors for 2006. In the top three quadrants, there are 11 vendors listed. (Actually 12, but IBM and FileNet merged late last year after the MQ was released.) Here is the alphabetical linup of the top 11 vendors and whether they support XPDL:

  • Adobe: YES
  • Appian: YES
  • BEA (Fuego): YES
  • Fujitsu: YES
  • Global 360: YES
  • IBM (FileNet): YES
  • Lombardi: ?
  • Metastorm: ?
  • Pegasystems: YES
  • Savvion: ?
  • TIBCO: YES

8 of the 11 top BPMS vendors clearly support the standard, and the other three might, I simply don’t know at this time. Is it fair at this point to consider the standard a success?

Here is the really strange thing, nobody seems to know this! Just two weeks ago yet another article was written in Computer Business Review where Tony Baer makes the following claims:

“Until now, workflow has been fairly virgin territory, given the failure of XPDL, an XML standard developed by the Workflow Management Coalition to attain critical mass support much beyond the classic document workflow crowd.”

“…XPDL got too specific, and began traipsing on the agenda of vendors like IBM, Oracle, and SAP. They dismissed XPDL as being dated due to its document workflow orientation.”

What strange comments! A quick review of the list of supporters make it clear that classifying this list as “classic document workflow” is very much off the mark. How unusual that IBM and Oracle are listed as non-supporters, when in fact they do have products supporting XPDL. Where does this conclusion about being ‘document oriented’ come from? Mr Baer is not alone in being confused by all the mis-information produced by corporate marketing literature, but I would expect a journalist to research more thoroughly than the product brochures.

The biggest misperception in the marketplace is that BPEL and XPDL are in some kind of a war. I have already covered elsewhere how this is silly, so I won’t duplicate it here. I think Jon Pyke’s response makes it clear how these very different standards serve very different purposes.

Yet, in conclusion, I would like to express my gratitude to Mr Baer. It was his article, after all, that prompted us to get off our duffs and update the list of products that support XPDL. As I said before, more than 60 products supporting XPDL surprised even us. I believe we have reached the tipping point.

More Obsession with HDR Imaging

Comments sowed the seeds of doubt about whether HDR photography is worth the trouble. As a hobbiest I have not really spent much time manually manipulating RAW format pictures. My camera (Canon G6) has a 10 bit per pixel sensor, which gets then compressed to 8 bits per pixel in the JPG. That is potentially 10 f-stops (EV) of dynamic range. Somewhere I found a web page listing the G6 as having a luminosity range of 1:650, which is between 9 and 10 EV. I hear better cameras can get 10 to 11 EV. Maybe, as you say, that is enough. Clearly combining pictures taken +2 EV, and -2 EV could potentially potentially add 3 or 4, giving the total range around 13 or 14 EV. How do I know whether I need the extra range?

How important is this dynamic range, anyway? The human eye records an instantaneous dynamic range of 1:30,000, a range of 1:200,000 if you allow a couple of seconds for the iris adjust, and 1:1,000,000 if you wait 20 minutes for the eyes to adjust to darkness. All of these make the 1:1000 of a camera seem tiny. But how much do you really need? Continue reading

Playing With My Camera

A few days ago I found out about High Dynamic Range (HDR) photographs. A short search on the web will bring you lots of information, but somehow I have been living just fine completely oblivious to HDR.

The threory behind HDR is that film (and digital cameras) have a particular dynamic range that they are sensitive to. Light intensity values that fall outside of this range, tend to get smashed together and “washed out”. You can see this easily if you take a picture of someone with the sky behind them, but set the exposure so that you can see their face. Continue reading

Feb 5 will be another Bay Area Workflow Seminar

I heard a funny rumor today: someone heard that the OMG was buying the WfMC in order to put an end to XPDL. I am sure the OMG folks find this just as amusing as the WfMC members do. And I can assure you that no such thing is happening, probably more due to OMG unwillingness to shell out the money than WfMC unwillingness to accept the cash. Continue reading

The Fable of the Five Magistrates

I wrote the following story, borrowing heavily from another well known fable, in order to bring home the concept of “Customer Driven Quality”. Perhaps you will enjoy reading it. I let my kids read it, and they liked it, except they said the end was a little too obvious. Perhaps you will find the end obvious as well.

The Fable of the Five Magistrates

There exists a small island in the ocean, not very close to any other land, and not visited often by foreigners. This Island had five major villages, and each village was was lead by an elected magistrate. The magistrates were wise, and lead by consensus. Also, by an amazing coincidence, the kind of coincidence ones sees only in fables, all five magistrates were blind. Yet they had capable people on their staff who acted as their eyes and ears, and they had not problem with the daily running of the island.

The island was a prosperous one, and the custom was that every Tuesday afternoon, there would be a parade to celebrate the prosperity. This parade time was always cherished by the people; everyone could be expected to be there. So long had the custom of holding these parades, that those who attended and watched the parade were called customers. Over time a grandstand had been built to allow these customers to sit and watch the parade in relative comfort. If they weren’t involved in putting on the parade themselves, they would come every Tuesday afternoon to relax and watch the parade go by.

While it was extremely rare, one week a foreigner came to visit who brought with him an amazing and exotic animal: an elephant. Seeing that it was Tuesday, and seeing that the visitor needed to leave the following morning, the visitor suggested putting the elephant on a float in the parade. It was an instant hit. What an amazing spectacle this became! The customers were enthralled with such a sight they had never see before. The entire island was abuzz with impressions of the the elephant.

The five magistrates were aware of the interest in the new addition to the parade, and were sad to hear that the foreigner had to leave right away. Each magistrate thought: “If my village could present next week a float that is as exciting and noteworthy as this, everyone will notice, and I will surely get re-elected for the next term!” Such thoughts are common for elected officials everywhere. Each of the five magistrates set out immediately to make a float that could capture some of the interest that this elephant had, but without an elephant they would have to be creative.

The first magistrate went immediately down to see the elephant, but being blind had to walk up to the elephant to experience it. The side of the elephant felt like a great wall. So he said: “Aha, I know what these customers want, they want a great big wall.”. He brought in the best wall builders from all over the island and set about to make the straightest, most perfect walls that had even been on a float in a parade.

The second magistrate did the same, but encountered the legs of the elephant, which felt very much like the trunks of massive trees. He said: “Aha! I know what these customers want, they want to see huge trees in the parade.” He immediately send for all the best arborists on the island to custom build a float that would display trees.

The third magistrate encountered the tail of the elephant, which felt like a rope. He said: “Aha! I know what these customers want, they want to see ropes.” And he sent for all the best rope makers on the island to start immediately on a lavish display of ropes for the following Tuesday parade.

The fourth magistrate encountered the trunk of the elephant, and said “Aha! Elephants are like snakes! We might not have a real elephant, but I should easily be able to thrill the customers with a vast collection of snakes.” And he immediately sent for the most famous herpetologist on the island and set about to accomplish his goal.

The fifth magistrate did not go see the elephant at all. He instead went to talk to the people who were in the crowd during the parade and who saw the elephant. He found that while these people were clearly thrilled by the sight of the elephant, since they had never seen one before, they had no way to describe it to him. For example, they had no word in their language for “trunk” or for “tusk”. He invited them to come by the grandstand again on Friday afternoon, where he drove potential floats by them, and listened to their response. Knowing that the elephant had four legs, he started with a float with a desk on it. From their reaction, the crowd was not very impressed. A table was similarly disappointing. Then he tried a float with a pig on it. From the reaction, this was clearly more interesting to the customers. Then he tried a cow, which gave a greater response, and he came to the conclusion that “bigger is better”. So then he tried a moose, but found that the moose was less popular than the cow. He tried many different things, each time listening to his sample crowd carefully to see what they liked and did not like. Finally, he ended up with a float that elicited a large response, not quite like that from the elephant, but still very close.

The weekend passed, and Tuesday came, and the grandstand was filled with customers hoping to see something like, or possibly better than, an elephant. The float from the first village came by, and it included very impressive walls on it. They were straight! They were soundproof! They were covered with vivid, yet tasteful, wallpaper. Everything a wall should be, but the crowd was not impressed at all. The crowd responded similarly to the next three floats. The second float had an small forest of trees of all types from around the island, the third had ropes woven from a dozen different fibers, with colorful strands threaded through, the fourth had a hypnotizingly lavish display of snakes. While these floats were perfectly executed, none of them yielded the a response like that of the elephant. Finally the fifth float appeared. Riding high and in plain view was a beautiful black race horse. The crowd went wild. They had seen horses before, but never displayed like this in a parade, and this was a magnificent horse.

The elation of the crowd was not lost on the other four magistrates. They complained bitterly. “This horse is NOTHING like an elephant. The elephant was like a wall, and this horse is nothing like a wall.” Another said: “Elephant legs are like trees, but this horse has skinny legs, nothing at all like trees!” The experts even went so far as to analyze and cross check all of the ways that this horse was not at all like an elephant.

But, the magistrates were wise, and quickly realized that the fifth magistrate was on to something that worked. They asked him what his secret was. The fifth magistrate answered: “It is easy. I did not go to look at the elephant. I did not analyze the qualities of an elephant in an attempt to isolate the distinct and unique features of an elephant, and then try to duplicate those same features. Instead, I realized that the important qualities are in the audience, not in the elephant at all. I knew that my impression of the elephant might be different from those of the people in the grandstand. Instead of focusing on the elephant, I focused on the audience excitement. I showed the audience a lot of things, the first of which were not at all pleasing. But every time I showed something, I measured the response. I kept trying different things in control groups until I got the best response possible. It is true, the horse is clearly NOT an elephant. But the main goal should not be to produce an elephant, but rather to produce a pleased crowd. So listen to the crowd, not the experts who know the elephant.”

So the magistrates, who were wise, learned from this, and continued to put on better parades. They also continued to be re-elected. The island continued to prosper. They even changed the motto of their little island government be:

“The important qualities are in the Audience, not in the Elephant at all

Jefferson Quote

A notable quote I ran across today:

He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me. That ideas should freely spread from one to another over the globe, for the moral and mutual instruction of man, and improvement of his condition, seems to have been peculiarly and benevolently designed by nature, when she made them, like fire, expansible over all space, without lessening their density in any point, and like the air in which we breathe, move, and have our physical being, incapable of confinement or exclusive appropriation. Inventions then cannot, in nature, be a subject of property. Society may give an exclusive right to the profits arising from them, as an encouragement to men to pursue ideas which may produce utility, but this may or may not be done, according to the will and convenience of the society, without claim or complaint from any body.

—Thomas Jefferson, letter to Isaac McPherson, 1813