Our first product was Eye Candy and it was successful because it figuratively and literally drew outside the lines. The lines in question are the “marching ants” at the edge of a selection in Photoshop. In 1993, filters were not allowed to draw outside of the marching ants, only inside the selection. That made many popular effects impossible to implement as Photoshop filters, such as shadows and glows.
Usually it is a terrible idea to break the rules of an application programming interface (API) like the Photoshop plug-in specification. The API is the agreement between Photoshop and the filter that helps them cooperate smoothly, like the traffic laws for automobiles. In this case I didn’t go through a red light, but I did drive on the median to deliver important features to graphic designers. Officer, it was an emergency. The designers really wanted shadows and glows!
So, how did we draw outside the marching ants? Here is roughly the sequence of events.
- The customer is using Eye Candy to create a glow. She clicks OK to apply the effect.
- Eye Candy saves the selection in a temporary file.
- Eye Candy sends two fake key presses to Photoshop. They are Command-D to drop the selection and then Command-F to rerun the last filter.
- Eye Candy exits. Now we are back to Photoshop, but nothing has happened to the image yet.
- Photoshop drops the selection and then runs Eye Candy again. Now Eye Candy can draw anywhere on the image because there is no selection. It reads the old selection from the temporary file and uses that shape to decide where to draw the glow. Now Eye Candy finally draws the effect on the image.
- Eye Candy exits for real this time.
All this happens so fast after the user hits OK that they don’t notice anything strange. It just looks like Eye Candy can draw where no other filter could.
Lying to Photoshop about what the user is doing may seem dangerous. It is. Those fake key presses caused a steady stream of bugs. For example, in Finnish Photoshop the shortcut for dropping the selection is not Command-D. All the bug fixing was painful, but it was worth it because we could do effects that no one else could. That helped get Alien Skin Software off the ground.
After a few years, Adobe extended the plug-in API to allow drawing anywhere. That was a relief and Eye Candy became much easier to maintain after that.
When all your customers want something that seems impossible, don’t give up. Try solutions until you find one that works, even if it requires driving on the median for a few years.