Thoughts on a Common Graphics Language

A big focus of Degrafa is the ability to use graphics in almost situation. User interfaces, data visualization, mapping, flow charts, backgrounds, etc. It seems to be so flexible that people are using it for all kinds of things and a lot of the examples we’ve seen have gone beyond expectations.

Part of that flexibility is allowing users to convert different formats to Degrafa so they don’t have to recreate the wheel. We’ve mentioned we’re working on converting SVG and XAML to Degrafa markup as there are a lot of similarities. However, there are other formats we’re experimenting/focusing on converting to Degrafa, like SWF, TTF, AI, and others.

Based on some preliminary research, I got to thinking, “Wouldn’t it be great if Adobe file formats all had some kind of Common Graphics Language?” A big part of what they do is graphics, right? Granted each application has different requirements and it’d be a whole different scenario to describe bitmaps versus vector graphics, but if there was some sort of common base there would be less of a need to import/export or convert files.

This would almost certainly be a full merger of Adobe and Macromedia formats. With projects like Mars being developed for PDF, MXML-G being used for Flex, MotionXML in Flash, etc. it’s not hard to imagine. This would mean graphics/documents being able to meander across media and device, from print, web, desktop, mobile, etc.

During Deepa’s talk at 360|Flex someone asked about converting/saving Illustrator files to MXML-G and the response was, “Maybe.” What if went further than. What if an Illustrator file used a common language as MXML-G (or was MXML-G?) and you could open it right inside Thermo as if in Illustrator. Or, one feature I’ve seen people use a lot in Photoshop, where you can opt to edit a Smart Object and it opens in Illustrator. You can save that Smart Object and the changes get reflected in the initial Photoshop document.

I know each application serves different purposes and thus each file needs to support the features. However, what if there was a core language and each application just expanded on that core. Then, maybe each application could have the ability to read or not read some of those expanded areas. At the very minimum every application could render the core elements, but depending on the type of application, parts that extend beyond that core would be compatible where it made the most sense. Unless every application could read files from any other application and render them flawlessly :)

Of course I’m not pretending to know what it would take to implement something like that, nor if it’s even feasible, but my guess is it would take a long time to implement. Part of what spurred all this was realizing some of the disconnects going between different applications and media. It’s doable right now, but it could be smoother. Adobe is already addressing a lot of these things.

With talks of taking Flex mobile and getting ever closer to the Adobe Engagement Platform, there’s are going to be a growing need to bring a lot of the tool sets to a common ground. When we start seeing that happen, traversing across media and device is going to get really easy and very interesting.

Leave a Reply