Humble beginnings

When VariableImporter.jsx was first proposed in the 1st half of 2015, it was a very basic snippet meant to fill a specific functionality void in the field Adobe Illustrator workflows. We just wanted to bring in text, and maybe some images, and not have to mess with any XML to do so!

Even though importing images and text satisfied many users' needs, I wanted to make sure and include the "Visibility" type variable into the script so that those who wanted to take advantage of dynamic hiding and showing of art could do so easily. It then became evident to me that the under-appreciated visibility variable actually has much potential when set to use with Illustrator's powerful appearance features. Just by hiding and showing certain pieces of art which is laid out in a designed stacking order and arrangement, it is possible to make the same document look completely different!

Tackling variable graphs

However, one last variable type had eluded VariableImporter due to its obscurity and complexity: the dynamic graph data variable. At first I was not sure it was ever going to be added because it did not seem like anybody would ever need to use it, but as revealed through much internet searching there did appear to exist a very small, hidden group of users who would have such needs.

The issue at heart was not that absolutely nobody wanted to bring in multiple graph data into a document at the same time, but that each graph data set is its own spreadsheet and it would be impossible to place an entire spreadsheet into an individual CSV cell. To solve this, the logical way is to treat a reference to graph data the same way as we do a linked file - with a file path that points to an individual, separate spreadsheet that contains the data for the graph.

With help of a talented programmer Dmitriy Gritsenko, this was accomplished and now we can, as of version 7.1.0 (Now considered Legacy version, current version is 8+), use VariableImporter to bring in records containing various text, images, visibility variables and graphs. This means that an entire "sales report booklet" can be created from a single template, with changing text paragraphs, images, graphs and visibility combinations of each. You can see the Graph support announcement here. Yet, there was still a question regarding the input of the data: would anyone really have such a workflow where it made sense to put the individual graphs into their own spreadsheets and reference those by the file path?

Enter Norbert

To my surprise, one such user with this exact demand reached out to me and helped enhance this feature by pointing out some obvious bugs which slid by due to the complexity of this script. This person is Norbert Gindl, of Austria, and he has a unique workflow that I wanted to understand further. Fortunately, he was kind enough to grant me a request for a brief internet interview! Here it is:

The Interview

Me: So, Norbert, without disclosing any sensitive information, would you be able to give us a description of your purpose and goal for using this script: such as which media are your creative assets meant for, or what industry you are serving with your creative talents?

Norbert Gindl: Hi Vasily! Thank you for the chance to talk about you amazing script. To keep it as short as possible: I work as graphics designer for an insurance company specialized in insuring agricultural production. As a special service to our members, we also provide weather analysis and prognostic data, for them to better plan their work. One part of this so called “weather service” is a weekly prognosis in the local agricultural newspaper.

The way we delivered the print data before was always far from perfect: we used an interactive pdf with very limited options, like “show this icon” or “change the size of this bar in iterations of ¼”. It was time for improvement.

Instead of more than an hour, they now only need about ten minutes to generate the files.

Me: You must have discovered VariableImporter.jsx after you've set out to optimize your workflow, how were you able to find your way to this script?

NG: Recreating this process from scratch was a long process and not without setbacks. I think I found it coincidentally via a google search – after I knew what I had or wanted to google for.

Me: It appears that importing multiple graph data sets into Illustrator is important to your workflow. There are many other ways to place graphs or images of graphs into Illustrator, from bringing in simple raster images to copying and pasting graphs from Excel which actually turn out as vector paths. What are the advantages of Illustrator's graphs specifically, that you decided were advantageous for your work?

NG: I tried many ways without coming to a solution. I needed a way to let a layman create a file suitable for printing, without having to teach him too much about layout programs. And there should be real graphs in it. Office products were unsuitable because of their lack of print color support; InDesign was unsuitable because of its lack of native graphs.

I tried the interactive PDF again, searching a javascript library which would draw graphs, without success. Another attempt was a webpage with input fields and a rendered graph to later be printed. Again: far away from a high quality print file.

I even studied the composition of svgs and tried to teach them the CMYK-colors – again unsuccessfully. So after much googling I found your script “variable importer” for Illustrator and it seemed to fit like the proverbial “fist to the eye” as we like to say here in Austria.

In the beginning I didn’t even know if Variable Importer did what I needed it to do. But I started testing. Over time my test templates grew more and more complex up until I could accomplish the import of multiple graph data sets – rainfall per day, sum of rainfall this year, sum rainfall long time average, temperature minimum, average and maximum – as well as parsing dates, temperatures and displaying correct icons corresponding to our data.

Finally I could pass the file along to our meteorology department. They optimized their data export workflow and now are able to load the master and its sub files into illustrator through Variable Importer with minimal effort. Gone are the times in which they had to look up individual datapoints and manually type them into an interactive pdf.

And the best part? The new process is way less error-prone, as all data is inserted automatically.

Me: Your workflow is likely a very unique process in the creative field. It's fortunate that you were able to find such a script that accommodates such a specialized need. How much time and effort, would you estimate, is being saved through its use by yourself?

NG: It is mainly the time and effort of my colleagues that could be reduced. But reduce we did it in a significant way: Instead of more than an hour, they now only need about ten minutes to generate the files. And the best part? The new process is way less error-prone, as all data is inserted automatically. One can focus on finding errors in the data, not the mistakes one made when manually “importing” it.

Me: Does using this script have a marked effect on your quality of life during the hours of your day you spend in the confines of your workplace?

NG: Again I must speak for my colleagues: They are very grateful for not having to type in data one by one, check and double check to work on the right point at the right time. We managed to produce a product of higher quality with more information and sophisticated graphs in less time. We are very happy with the outcome and it’s a pleasure to work with this new system.

Me: Can you describe your recollection about the length of time and effort that it took to learn the script interface and implement it in your workflow?

NG: For me it was rather straight forward – so very little effort.

But also my colleagues, who had opened Illustrator for the first time that day, got used to it very fast. After looking over my shoulder two or three times they could do it on their own and have been doing it ever since.

Me: Compared to the initial efforts you just recalled, how would you describe the speed and smoothness of your workflow at the current time now that you've had much practice in using it?

NG: Getting to know the script and how it works, how to set up my file structure, how to correctly parse file paths etc. did take some trial and error. Setting up a new template to be filled with data would be a lot easier and faster now.

Me: We'd be fools to think that this workflow will last forever in this exact form. How do you envision this kind of workflow changing in the future, and what enhancements, features or changes would you want to suggest for this tool's future versions?

NG: This is a very tough question, as I am very happy with the state of the script right now. It is fast, lightweight and can import obscene amounts of data in one go. Right now I really don’t know what else to wish for.

Me: Are there any additional comments you'd like to make on this highly technical topic?

NG: I really hope this tool will get a lot of exposure. The possibilities it opens for data visualization in a high quality print context are endless. I can’t even begin to imagine, what other creatives will do with it.

Conclusion

Ladies and gentlemen, this concludes our interview with our guest and esteemed Illustrator power-user - Norbert Gindl. It has been my supreme pleasure in communicating and working with Norbert to eliminate bugs and test the practical, everyday usage of the VariableImporter script within the context of graph-data workflows. To have my creation play a part in optimizing the efficiency of Norbert's organization as well as personally empowering him to accomplish his daily work has been and continues to be highly satisfying.

Perhaps, for some of you, my automation scripting services may be just the missing piece in increasing the bottom line and reducing some of the work stress. If this is the case, please let me know by writing me an in-mail or finding out my email and corresponding there.

Thank you for reading, and I wish you happy workflows!