Sam Sharpe
Local regional global?
Feature requests for Adobe InDesign.
March 18, 2016
Sam Sharpe

I have used Adobe software for a long time, especially InDesign, having migrated from Quark for a more integrated publishing and print workflow. I’ve also used a wide range of other design software for 2D and 3D animation, video editing, photographic processing, web design and interactive presentation.

InDesign has been proven in a production environment and has grown into a sophisticated application over the years. However, there are a few features that would be useful to be integrated into future product design and development. Many of these feature requests come from my own experience of using InDesign in production but also from other design software workflows and user experience. Some focus solely on improvements and features to InDesign, whilst others have development implications for the range of Adobe design products.

There are also a number of emergent technological developments happening in the design of mobile computing that need to be considered with respect to Adobe’s current strategy for this area and how designers will be delivering digital publications, this will be the focus of a different article.

The following ideas and requests for new features have been organised into areas of focus and scale in order to explain how they fit into different approaches and applications. Firstly I have listed local requests which are specific to InDesign, secondly are regional requests for new features that could be implemented broadly within the Adobe family of software and finally are global requests and ideas that go beyond desk top production into areas of modern design theory and its practical implementation in other design disciplines.

Regional and Global requests and ideas will be published in follow up articles shortly. I have briefly expanded on these requests to hopefully explain why I think they could be of use and where appropriate I have included practical examples and in some cases precedents from realised projects and design approaches.

Local First:

1. File based style sheets

2. File links

3. Scripting implementation

4. Timelines

5. ActionScript

6. User Shelves/Panels

7. Repeat last action

8. Filing approach

File based style sheets

Currently, InDesign character, paragraph, object and table styles are contained within individual documents which works well for many projects, it is also very useful to be able to synchronise these styles between individual files using books. However, in terms of organisation of visual identity components for brand management and communication these elements need to be consistent on a wide range of documents and collateral.

Cascading Style Sheets (.css files) are used in web design to separate form from content – Hyper Text Mark-up Language (.html files).

It would be extremely useful to have the sophistication of InDesign’s typesetting and layout tools with the flexibility of separately referenced style files that can be linked to many documents.

I do not think that HTML and CSS will be able to achieve the same sophistication and granularity when setting type or graphical layout that designers have been accustomed to for some time to come, however, the external referencing (linking) of InDesign styles to documents could be designed to take into account that eventually HTML and CSS standards will achieve similar sophistication and granularity to the InDesign type and layout freedom of today.

File Links

Linked files such as photographs, logos and text documents are referenced and placed in a semi–absolute manner into InDesign files, containing an absolute file link to a location within the originators Mac or PC file system. This is asemi-absolute link as when files are packaged for distribution to printers and collaborators they are collated and copied to a links folder within the package of files required for reproduction or further changes, anyone opening the file on another system will either be prompted to locate the file in relation to their own individual file system or InDesign automatically searches first for the files in the links folder of that document semi-relatively.

Another method for linking files into documents (which also is used to create websites) is that they are linked into documents in relation to the document itself, this is called relative file linking and would be extremely useful to be able to do in synergy with external style sheets in structured workflows for large organisations with many collaborators. The option to have absolute and relative file links would be of great productivity benefit within InDesign and will also make the eventual transition to a semantic workflow in-line with future web technology easier for all.

Scripting Implementation

This is an area with vast potential within InDesign, and also possibly the broadest implications for substantial change to the underlying software architecture and engineering. Two software applications have personal influence in this area, the first won an Oscar for its contribution to film and the moving image, the second will be expanded upon in another section in relation to what I’m proposing here.

The first software application mentioned is Maya, when released it was an extremely specialised 3D animation tool for producing computer generated moving imagery. It evolved from the software that animated the dinosaurs in 1993’s Jurassic Park.

When I first encountered Maya I had been teaching myself 3D Studio Max and had dropped out of a degree programme in Computer Science & Artificial Intelligence, largely to concentrate on design and animation but also because I find it very difficult to conceptualise syntax based computer language without visual reference. Maya helped me a great deal because of the way it has been built, it is transparent to the user (if they want to see it) in the underlying software code and due to the way that MEL (Maya Embedded Language) script can be displayed within the editor it is easier for those without coding aptitude to relate actions within the software with the syntax that enables things to happen in code, and vice versa. The editor also enables recording of actions and processes that are easily re-used, shared, evolved and implemented as required.

Because of the foresight and talent of the team that built Maya and the way they have put it into practice a vast array of development has been realised by users, students and businesses who use it in production. Many of these developments by the community of users eventually made it into release versions to the benefit of all. I would love to see and use a similar integrated and inclusive scripting environment implemented into InDesign.


The forth dimension of time and pace.

A more flexible timeline implementation would be of great use within the software for animation and digital publications purposes. A linear timeline for content suited to that method of presentation with the ability to extend it for use in a non-linear manner through the use of actions, like Flash.


InDesign can be scripted in three different programming languages: JavaScript which is cross platform on Windows and Mac; Visual Basic (VB Script) on Windows only; and Apple Script only on OSX. All are capable of extending certain functionality within the software and there are many useful scripts available to users.

It would be great for Adobe to add another language to this repertoire, one that they own the copyright to and is perfect for action based digital publication workflows and delivering content on all sorts of computing devices – ActionScript.

It is also perfect for user experience design, as it functions with a total focus on user actions and enables sophisticated navigational and experiential design whilst also including robust functionality closely related to JavaScript that for those familiar with the language will be able to transition to using quickly.

It should be implemented as both ActionScript 2 (AS2) which is very simple and fast to use and also ActionScript 3 (AS3) which is structured differently and whilst highly extendible is probably too complex for use in interactive presentations and publications when the design focus is on quality of experience, presentation of content and ease of production.

Another bonus of implementing ActionScript and a similar timeline to Flash within InDesign is for educational purposes as it is an accessible and visual process for introducing students to code. It is easy to understand creating buttons and user interface items and then creating actions such as on touch, go to and play, show or hide, load movie clip, load file or send message.

Using ActionScript is very fast and enables compact yet legible syntax in comparison to alternatives such as JavaScript libraries and frameworks. In a production environment it is highly beneficial due to this speed and ease of function. It also works very well with the types of content that is used for desktop publishing – vectors, raster images, text and especially video media.

Resulting file sizes are also suitable for online delivery.

The ability to easily load content from other sources in a seamless manner is of great benefit to overall user experience. Everyone agrees that future developments in the information age will rely on shared knowledge and cross-discipline collaboration with simple, powerful and extendible functionality provided by robust programming languages and the ability for this to work seamlessly with information and interface designed for human interaction.

Machine readable semantic syntax is very important but we must remember that all humans should be equal masters in the domain of the information age.

User Shelves / Panels / SDK

This is another feature built into Maya and other programs, it is simply the ability to drag and drop (middle mouse button in Maya) scripts, tools, functions and other elements onto a user shelf at the top of the program window.

It would be extremely useful to have something similar implemented into InDesign so that the user interface can be tailored as the user wishes and customised panels and tools can be created from within the application using a more powerful integrated multi-language script editor as described above.

Another tool that is of great use is Set Driven Key in Maya whereby values can be used as drivers from one object or node to another. For example GREP expressions could be applied to all text objects with a local character style dynamically rather than through find/change - in real time and the character colour could change for legibility purposes based on the background colour in parallel. Or the master page that has been applied could determine headline animation for interactive documents. Another example would be having the baseline grid values change dependent on character, paragraph, object styles or page dimensions in a granular manner like subdivisional surfaces are used for topological and geometric detail in 3D models.

The possibilities of an accessible nodal based object structure are extremely interesting and would add a great deal of flexibility moving forward. This could be achieved both with the script editor and also with a Hypergraph and Hypershade like visual network.

Other examples of design software built around a nodal network or parametric interface are Grasshopper and Houdini which are used extensively in architectural and visual effects design respectively..

Repeat last action

This is very simple and another request taken from Maya, a shortcut keystroke to repeat the last action, especially when it is used on a different object. In Maya it is done by pressing G on the keyboard, with, or without an object selection, depending on the aim of the designer and the proceeding instruction.

An aside to this is the option for keyboard layout based upon the QWERTY object transformation implementation as used in Maya.

I have saved a Keyboard layout based on this as an example and will make it available to download for free in due course.

Filing approach

This area is extremely important for production. As already mentioned the option of absolute and relative file links would be of great use. In most organisational uses of InDesign much work and investment of time is put into filing system and structure in order to boost productivity. This is in the majority of cases done on the local network due to control, security and productivity.

All of the features implemented into InDesign should be done on a local first basis as internal file systems are vital for business productivity, there are a lot of opportunities for cloud based services and solutions but they are unviable if they are at the expense and flexibility of existing organisational practices.

By all means the option for moving certain functionality to the cloud can be a positive and productive change but it is imperative that this is in addition to proven ways of working.*

More Articles