139 91 1MB
English Pages 64 [59] Year 2022
Ennis Gündoğan
Robotic Process Automation in Desktop Publishing An Introduction to Software-based Automation of Artwork Processes
essentials Springer essentials
Springer essentials provide up-to-date knowledge in a concentrated form. They aim to deliver the essence of what counts as “state-of-the-art” in the current academic discussion or in practice. With their quick, uncomplicated and comprehensible information, essentials provide: • an introduction to a current issue within your field of expertise • an introduction to a new topic of interest • an insight, in order to be able to join in the discussion on a particular topic Available in electronic and printed format, the books present expert knowledge from Springer specialist authors in a compact form. They are particularly suitable for use as eBooks on tablet PCs, eBook readers and smartphones. Springer essentials form modules of knowledge from the areas economics, social sciences and humanities, technology and natural sciences, as well as from medicine, psychology and health professions, written by renowned Springer-authors across many disciplines.
Ennis Gündoğan
Robotic Process Automation in Desktop Publishing An Introduction to Software-based Automation of Artwork Processes
Ennis Gündoğan Krefeld, Germany
ISSN 2197-6708 ISSN 2197-6716 (electronic) essentials ISSN 2731-3107 ISSN 2731-3115 (electronic) Springer essentials ISBN 978-3-658-39374-8 ISBN 978-3-658-39375-5 (eBook) https://doi.org/10.1007/978-3-658-39375-5 © The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2022 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. Responsible Editor: David Imgrund This Springer imprint is published by the registered company Springer Fachmedien Wiesbaden GmbH, part of Springer Nature. The registered company address is: Abraham-Lincoln-Str. 46, 65189 Wiesbaden, Germany
What You Can Find in This essential
This essential aims to provide impulses for the following questions: Introduction to the Topic of Desktop Publishing (DTP) • What is DTP? • What is the history of DTP? • What does the future of DTP look like? Introduction to the Topic of Automation • • • •
What is automation? What is the goal of automation? What levels of automation are available? What does the future of automation look like?
Introduction to DTP Automation • • • • • •
What is meant by artwork processes? Why should artwork processes be automated? How should the fear of job loss through the use of automation be dealt with? What technical possibilities for DTP automation are available? Which Adobe technologies can be used to realize DTP automations? How can the IT infrastructure be extended to use DTP automations across the company? • How can different data sources and applications be integrated into a DTP software project? • How can DTP automations be integrated into existing business processes? V
For Eray
Foreword
Everything that can be automated in an organization should be automated—this is the gist of the definition of hyperautomation, one of the most important strategic technology trends of 2021 according to the market research company Gartner. But the desire for rationalization is not a new phenomenon of the economy, but has existed since the beginning of technical production and has its origins in the modern developments of the nineteenth century. Both the industrialization and mechanization of the nineteenth and twentieth centuries and the digitalization of the last two decades have contributed to making processes more effective and efficient. This process optimization is referred to as automation in today’s Industry 4.0 and serves as a key component in the economy to achieve corporate goals with qualitatively and quantitatively better results than with non-automated business processes. The use of automations is also indispensable in the field of desktop publishing (DTP). However, many companies and users are only slightly or not at all aware of the various possibilities of automation in the field of DTP. The present essential sets itself the goal of filling this gap and focuses on recurring artwork processes in prepress. This book addresses a wide audience, including media designers, software developers, IT system administrators, and IT decision-makers, and conveys various impulses on the subject of DTP automation in a condensed form. This book is to be understood as a summary of the most important topics around DTP automation and is based on my bachelor’s thesis, for whose supervision I thank Prof. Dr. Jürgen Propach and Henning Mertes. I would also like to thank David Blatner, Gregor Fellenz, Peter Kahrel and the entire Adobe Developer Community for their valuable input into my thesis, Kerri Shotts, Erin Finnegan, Mike Zahorik and Ari Fuchs for their expert assistance in Chapter 4.2 of
IX
X
Foreword
this book, Ingo Eichel for the guest preface, Geetha Muthu Raman, David Imgrund, Georg Haller-Kaimann, Maximilian Rittelmann, Claus-Dieter Bachem and the entire Springer essentials team for the realization of this book project and— last but not least—my family for any support. I wish you a lot of fun reading and look forward to any feedback by e-mail to: [email protected] Krefeld in December 2021
Ennis Gündoğan
Contents
1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Desktop Publishing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 Historical Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 The Future of Desktop Publishing. . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1 Levels of Automation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.1 Robotic Process Automation. . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.2 Cognitive Process Automation. . . . . . . . . . . . . . . . . . . . . . . . 9 3.1.3 Digital Assistants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1.4 Autonomous Agents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 The Future of Automation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 Automation of Artwork Processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1 Objectives and Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 Adobe Technologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.1 Extensible Markup Language (XML). . . . . . . . . . . . . . . . . . 15 4.2.2 Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2.3 Global Regular Expressions Print (GREP) . . . . . . . . . . . . . . 23 4.2.4 C++ Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.5 Common Extensibility Platform (CEP). . . . . . . . . . . . . . . . . 26 4.2.6 Unified Extensibility Platform (UXP). . . . . . . . . . . . . . . . . . 29 4.2.7 Adobe InDesign Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2.8 Other Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
XI
XII
Contents
4.3 Client-Server Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4 Databases and Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.5 Connection to Process Management Applications. . . . . . . . . . . . . . . 39 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
List of Figures
Fig. 1.1 Fig. 2.1 Fig. 2.2 Fig. 2.3 Fig. 3.1 Fig. 4.1
Fig. 4.2
Fig. 4.3
Fig. 4.4
Fig. 4.5
Structure of this reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Work organization prior to DTP introduction. . . . . . . . . . . . . . . 4 Work organization after DTP introduction . . . . . . . . . . . . . . . . . 5 PageMaker 2.0a user interface. . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Levels of automation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Anatomy of an XML element: Example of an XML element. Between the opening and closing tag are the data.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 XML structure in InDesign: The structure of an XML file can be visualized in InDesign. The corresponding XML code for this example is shown in Fig. 4.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 XML file: This example of a nested XML file contains two product elements, each of which contains the elements details and image. The details element consists of the further elements name, description, modelno and price. The root element root encloses all other elements. . . . . . . . . . 17 Mapping tags to styles in InDesign: After mapping tags to styles once, contents are automatically formatted during subsequent XML imports.. . . . . . . . . . . . . . . . 18 Automated layout with XML import: A structured layout before (left) and after (right) XML import. . . . . . . . . . . . 18
XIII
XIV
Fig. 4.6
Fig. 4.7
Fig. 4.8 Fig. 4.9
Fig. 4.10 Fig. 4.11 Fig. 4.12
Fig. 4.13 Fig. 4.14
Fig. 4.15
List of Figures
DTD file: This DTD file lists all allowed XML elements and specifies the valid structure. The line states that the root element root must contain at least one and any number of product elements. Checking the XML code shown in Fig. 4.3 with this DTD file results in no errors. . . . . . . . . . . . . . . . . . . . . 19 Case study “Web-to-print”: This diagram shows an exemplary web-to-print scenario. If a new item is created in an online store, an automated XML export of all relevant product data is performed. The XML files are then checked for validity using corresponding DTD files and, in the event of validity, imported into a layout template. In the last step, a printable file is exported. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Content of an IDML file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 InDesign snippets: An asset template (left) in the IDMS file format can contain freely selectable placeholders or wildcards that are subsequently replaced automatically by actual data (right).. . . . . . . . . . . . . . . 20 Scripts panel in InDesign. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Generated business card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Combinatorics formulas: From left to right: Variation—Selection order relevant, with repetition; Variation—Selection order relevant, without repetition; Combination—Selection order irrelevant, with repetition; Combination—Selection order irrelevant, without repetition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Exemplary generator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Find/Change dialog in InDesign: The find and change feature in InDesign supports searches using GREP commands. In the example shown, a search is performed for a specific text pattern in Myriad Pro Regular font and replaced with Chalkboard Bold.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 CEP panel example: This example represents the scenario of using an order number to display relevant project data from several data sources in a summarized form and to offer order-related functions. This includes, for example, changing the project status in an application system or generating graphical assets relevant for this project. The corresponding architecture is shown in Fig. 4.16. . . . . . . . . . . . 26
List of Figures
Fig. 4.16
Fig. 4.17 Fig. 4.18 Fig. 4.19
Fig. 4.20
Fig. 4.21
Fig. 4.22
Fig. 4.23 Fig. 4.24
Fig. 4.25 Fig. 4.26
XV
Architecture of the CEP panel example: The project data is retrieved by the CEP panel from multiple application systems and databases, structured and made available for subsequent functions—including displaying the order details, opening files and links, running scripts and communicating with other application systems.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 CEP architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 CefClient. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 UXP architecture: The JS engine can communicate directly with the host application using the host APIs. Likewise, the UI is rendered by the host, so that a UXP plugin obtains the appearance of a native host component. . . . . . . . . . . . . . . . . . . . 30 Case study “DTP automation with InDesign Server”: The client-side middleware (MW client) communicates after a user interaction with the server-side middleware (MW server). Depending on the process type, either the first InDesign Server instance (job_A) is addressed or the second (job_B). After completion of each process, the server-side middleware forwards the result to the client-side middleware.. . . . . . . . . . . . 32 Actions panel in Photoshop: The action with the name My Action consists of three steps. First, the current layer is duplicated and the duplicate is moved 300 pixels to the right, scaled to double size and rotated 45° clockwise. . . . . . . . . . . . . 33 Script Events Manager: In this example, a custom script addWatermark.jsx is run when a new document is created, and the Adobe-supplied script Save Extra JPEG.jsx is run when a document is saved. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Image Processor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Slack notification about server-side events: Collaboration applications such as Slack can be used to notify the user about server-side process statuses. . . . . . . . . . . . . . . . . . . . . . . . 36 ETL process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Example business process: In this example, an automatism is integrated into a business process and is triggered by a specific status change—in this case Project start. After execution of the automatism—e.g. the generation of a large number of assets—the status is set to Artwork. . . . . . . . . . . . . . . . . . . . . 39
1
Introduction
As mentioned in the foreword, optimizing processes to achieve maximum efficiency and effectiveness has been an important goal in business for a long time. Today, automation affects not only almost all industries, but also mundane areas of everyday life and is usually supported or even realized by information technology (IT) solutions. This is also the case in the field of DTP. While DTP initially only dealt with the traditional printing process, today new media and formats such as the web, interactive PDF files, smartphones, tablets and e-books play an important role. The increasing complexity of today’s demands necessitates the coupling of existing DTP systems with additional automatisms and the expansion of IT infrastructures accordingly. This reading can be divided into three main areas (Fig. 1.1). First, the reader is introduced to the topics of DTP and automation in Chap. 2 and 3. Then, in Chap. 4, technical possibilities of automation in DTP are described with a focus on the software products InDesign and InDesign Server from Adobe.
Desktop Publishing
Automation
Automation of Artwork Processes Fig. 1.1 Structure of this reading
© The Author(s), under exclusive license to Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2022 E. Gündoğan, Robotic Process Automation in Desktop Publishing, Springer essentials, https://doi.org/10.1007/978-3-658-39375-5_1
1
2
Desktop Publishing
The birth of DTP is defined by the partnership of the three companies Adobe Systems, Aldus Corporation and Apple Computer in 1985 and the linking of their products: the microcomputer Apple Macintosh, the software Aldus PageMaker and the Adobe PostScript (PS) capable laser printer Apple LaserWriter. This composition sparked the beginning of a design revolution and made it possible for the first time to efficiently and inexpensively create print products at your own desk or “publish from your desk”. In summary, DTP is a combination of word processing, typesetting and layout design and works according to the concept of “what you see is what you get” (WYSIWYG) —the user can see on the screen before the actual printing process is started how the finished result will look like. To date, rapid technological advances have not only significantly changed the tools that can be used to create content, but have also multiplied the choices of media and platforms through which the intended message can be communicated.. Even if these new types of workflows were not foreseeable at the pioneer times of DTP, the introduction of DTP systems had a major impact on affected company structures. These are described in more detail below.
2.1 Historical Development Before DTP systems were introduced (Fig. 2.1), graphic designers still worked with manual methods. For example, correction loops were made with paper, scissors, and glue. Many design steps, such as changing font or image size, took several hours or even days. With the introduction of DTP, the time required for many of these processes was drastically reduced to minutes or even seconds. In addition to efficiency, graphic designers took advantage of the new design capabilities to © The Author(s), under exclusive license to Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2022 E. Gündoğan, Robotic Process Automation in Desktop Publishing, Springer essentials, https://doi.org/10.1007/978-3-658-39375-5_2
3
4 Fig. 2.1 Work organization prior to DTP introduction
2 Desktop Publishing
Author
Publisher
Graphic designer Illustrator Image archive Typesetter
Manufacturer Corrector Printer
Clicker
Finished document
Distribution
communicate their own ideas more precisely in creative terms. The introduction of DTP also meant that several techniques, such as those of the graphic designer, typographer, typesetter and secretary, were consolidated in a single position—the so-called DTP publicist—thus making some areas of activity completely redundant. Due to the wide range of tasks, this new role moved to the center of the organization (Fig. 2.2). After the release of the DTP application PageMaker (Fig. 2.3) by Aldus Corporation in 1985, other applications followed, such as Ventura Publishers for IBM PCs, released in 1986, which was subsequently acquired by Xerox in 1990, sold to Corel in 1993, and has since been licensed as Corel Ventura. Aldus Corporation was acquired by Adobe in 1994, and PageMaker served as the foundation for Adobe InDesign, which was released in 1999. Since 2003, InDesign can be licensed both as a single application and as part of a bundled software package—formerly known as Creative Suite (CS)—next to Photoshop, Illustrator, and other Adobe applications. This has, among other things, product strategic reasons. With their software package, Adobe managed to make various other applications such as InDesign even more competitive in the
5
2.1 Historical Development
Graphic designer
Publisher
Author
DTP PUBLICIST
Printer
Manufacturer
Typesetter
Clicker Proofreader
Fig. 2.2 Work organization after DTP introduction
Fig. 2.3 PageMaker 2.0a user interface
market by bundling them with their Photoshop, which was already established in the market, at a low overall price, thus making the purchase of competing products redundant. Starting in 2013, Adobe no longer offered its software on physical media but via its Adobe Creative Cloud (CC) service and thus entered the cloud computing market. Since then, Adobe has established itself as a significant Software as a Service (SaaS) provider, benefiting from the new advantages of cloud
6
2 Desktop Publishing
computing such as shortened product update cycles and offering new cloud services such as Behance or Adobe Stock. To this day, Adobe applications, including InDesign, are considered as industry standards in the DTP sector.
2.2 The Future of Desktop Publishing With the rapidly increasing number of users of mobile devices, the demand for applications for content creation on mobile devices is also growing. Adobe is also following this trend by porting existing desktop applications to mobile platforms, such as Adobe Photoshop, which was released in 2019, and Adobe Illustrator, which was released in 2020, both of which are available for Apple’s iPad. It is not only to be expected that Adobe will offer more professional applications from the desktop area as a mobile version for tablets and smartphones, but also that they will be published as a web application. The first step in this direction was announced at the Adobe MAX conference in 2021, where the applications Photoshop and Illustrator were presented for the first time as web applications. In the CC environment, artificial intelligence (AI) is also playing an increasingly important role. The Adobe Sensei framework published in 2018 improves the creation of digital content and provides several intelligent services. This AI framework is constantly being developed and integrated into existing applications, for example the June 2020 update of Photoshop, in which the cut-out or masking of images was significantly improved using Sensei. At the annual Adobe MAX conference, participants receive not only announcements, but also insights into Adobe’s current developments and innovations that may be incorporated into future product releases. Recent conference innovations include the generation of realistic drop shadows from 2D objects, the automatic addition of missing people in photos, the creation of animated videos from static images, the manipulation of the light source in photos and videos, the changing or adding of facial expressions in portrait photos, and the generation of 3D models from photos. Many of these innovative developments are AI-powered with the technology Adobe Sensei. It is assumed that in the future of DTP, automation and AI will be used to a high degree not only to create designs automatically, but also to complete publications based on layout templates that have been created by humans and subsequently filled with content by machines. Furthermore, it is assumed that automation will play an increasingly essential role in post-processing and webbased output of publications.
3
Automation
Efficiency as well as cost-effective and customer-oriented work are a mandatory requirement for companies in order to secure their own position in the market and remain competitive in the future. Automation makes a decisive contribution here. Automation is the technological or mechanical execution of an activity that was previously carried out by a human being, with the aim of promoting the maximization of profits and efficiency in an organization. The term ‘automaton’ is related to automation, whose origin comes from the Greek (autómatos) and means ‘selfmoving’. Depending on the industry, the definition of automation can vary. In the field of autonomous driving, for example, automation is divided into the five levels of assisted, semi-automated, highly automated, fully automated and driverless. With services, three degrees of automation are distinguished: 1) There is no automation. 2) Support of activities by automatisms. 3) Fully automated execution of activities. In general, automatisms can be divided into the two types of full automation and partial automation. With full automation, a process is completely taken over by a machine, while with partial automation, a manual activity is supported by a machine. Both types still require human skills. In terms of DTP, aids such as scripts or plugins that are integrated into DTP applications and require user input before or during the execution of an artwork process can be categorized as partial automation. Complex DTP systems that can perform extensive tasks fully automatically and without any human interaction can be categorized as full automation.
© The Author(s), under exclusive license to Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2022 E. Gündoğan, Robotic Process Automation in Desktop Publishing, Springer essentials, https://doi.org/10.1007/978-3-658-39375-5_3
7
8
3 Automation
3.1 Levels of Automation In the field of automations, the four automation technologies Robotic Process Automation, Cognitive Process Automation, digital assistants and autonomous agents can be identified. Depending on the degree of automation, use of AI and process complexity, these technologies can be divided into four levels (Fig. 3.1).
3.1.1 Robotic Process Automation Robotic Process Automation (RPA) uses existing application systems of a company to automatically carry out structured tasks and is a software-based form of business process automation. The use of RPA is suitable for repetitive, simple use cases and tasks that have a monotonous character, are perceived by the employee as tiring and require few or no decisions by humans. These tasks can be divided into three task types: routine tasks, structured tasks and unstructured tasks. In routine tasks, data from several application systems are combined while in structured tasks, a specific decision is made using data from application systems and predefined rules. For the completion of unstructured tasks, in addition to the
Complexity & Use of AI
Autonomous agents Digital assistants Cognitive Process Automation Robotic Process Automation Automation portion Fig. 3.1 Levels of automation
3.1 Levels of Automation
9
above-mentioned conditions, further empirical values are required. In any case, the execution of these routine processes is based on predefined business rules and framework conditions and is carried out manually without further technological support. RPA can be seen as a virtual employee imitating the activities of a human being. Typical activities include, for example, filling in text fields or selecting drop-down menus in the graphical user interface (GUI). Another possible use case that can be taken over by RPA is the querying of certain data from spreadsheets or databases. Thousands of complex queries that a clerk previously had to make manually can now be processed by RPA systems within a few seconds. Checking and updating data is another possible use case, in which, for example, customer master data is automatically checked for correctness and currentness and, if necessary, updated. The majority of automatisms in the DTP area can be considered as RPA software.
3.1.2 Cognitive Process Automation Cognitive Process Automation (CPA) is the next level of RPA. In addition to CPA, there are other terms such as Cognitive RPA, Cognitive Automation (CA) or Intelligent Process Automation (IPA). Here, RPA is combined with components of AI techniques such as Machine Learning (ML), Natural Language Processing (NLP), Text Mining, Optical Character Recognition (OCR) and Intelligent Character Recognition (ICR) to be used for complex tasks. CPA is able to recognize data patterns in order to be used in a multilayered way and in dynamic process structures. The technology is capable of learning, extensible and automatically adapts to new problems as conditions change.
3.1.3 Digital Assistants Digital assistants—also called voice assistants—are an evolution of chatbots and are able to take natural human language, process it, and provide answers to complex questions. They do this by using advanced AI systems, not just to understand the spoken dialog, but also to link it with other user data and continue learning. This means that digital assistants are trainable and, depending on the application, can access existing data such as purchase history, location, or personal data. There are numerous digital assistants available to consumers today that make everyday life easier, both in the form of stationary hardware solutions like Amazon’s
10
3 Automation
Alexa, and in the form of software solutions like Apple’s Siri, Microsoft’s Cortana, or Samsung’s Bixby, which are integrated into mobile devices. Companies often use digital assistants for their customers as a way to provide a touchpoint for questions and interactions with the company. The interaction between the human and the digital assistant can be used for both customer acquisition and the resolution of various support cases. It is common for digital assistants and chatbots to be used for IT operations in order to drive the automation of first-level support as extensively as possible. The quality of the results of digital assistants depends on the quality of the data with which they are linked. The more qualitative user experiences digital assistants can take on, the more precise answers they can provide.
3.1.4 Autonomous Agents Autonomous agents are complex software systems in which deep learning methods are used so that the agents can make decisions independently and set further processes in motion. Deep learning is the machine’s ability to learn things on their own. Autonomous agents are supported by extensive data sets—also called big data—which can be structured and unstructured and can be evaluated and analyzed in real time. The development and implementation of systems that can process human emotional stimuli—called Computational Model of Emotions (CME)—is a huge challenge within the context of autonomous agents. Human cognitive processes such as decision-making can be influenced in the real world by different emotions and feelings, which in turn can be affected by other motives such as motivation and personality. It is a significant challenge to reproduce these aspects in artificial systems.
3.2 The Future of Automation In both business and everyday life, AI-based systems will play an increasingly important role. The developments in ML will be continuously more sophisticated over time, so that the guarantee of independent decision-making will be further strengthened. In the future, machines will be confronted with an increasing number of problems for which multiple possible solutions exist. If the machine cannot decide on a solution independently, this experience is analyzed by the human, a solution is concretized and this solution path is defined as a rule for future,
3.2 The Future of Automation
11
similar problems. This development will take place until machines have enough empirical values available to act completely independently. The fact that an increasing number of routine tasks are being taken over by robots and software automation that were originally performed by humans is leading to a debate about the high loss of jobs. The changes caused by AI and automation in the field of graphic design and the resulting concerns are also becoming apparent. However, these concerns are still unfounded as not every automation possibility is fully utilized today, even though it would be possible in theory. With the structural change, it can also be observed that the tasks of humans and machines are divided up flexibly. Automation technologies such as RPA will not lead to job losses, but will only increase productivity in organizations. RPA will not rationalize jobs but tasks. This will lead to a restructuring of activity areas and skilled workers will be able to carry out more demanding tasks in other areas. Systems supported by automatisms always require people to monitor them. From this it can be concluded that skilled workers will have to continue their education in the future in order to be able to carry out these new activities. In the DTP sector, for example, future graphic designers can learn additional skills such as programming alongside their existing design skills in order to, for example, realize small scripts to optimize their own workflows or to switch completely to DTP automation and thus to make a lateral entry into IT.
4
Automation of Artwork Processes
Artwork processes are those processes within the media production that are carried out during the transformation of an advertising strategy or a creative briefing into a print layout or web content within the production phase. In the print sector, these processes take place in the prepress phase. This does not refer to the creative process and the design of a template, but to the combination of graphics and texts for print or digital media in a professional form. Printable layouts include, for example, catalogs, flyers, letterheads, packaging, posters, books and magazines, while possible contents for the web include online catalogs, infographics, digital whitepapers and eBooks. Possible job titles for these activities are communication design, graphic design, media design and artwork. As is the case in many areas of the economy, automation then comes into play when processes repeat themselves according to a certain pattern. In particular, the use of automation is suitable for layouts with a large number of texts and graphic elements, in which templates or master documents are filled with variable placeholders for texts and graphics using external data sources such as databases. This process has various names, including Data Driven Publishing (DDP), Variable Data Publishing (VDP), data merging, dynamic publishing and database publishing. The range of automation options in the context of artwork processes extends from small aids such as scripts embedded in DTP software to complex software infrastructures that realize automated publishing. Many current DTP applications offer various interfaces and extension options for developers, including all common Adobe applications, QuarkXPress, Sketch, Figma, etc. In this chapter, specific methods of software-supported automation of artwork processes in the DTP sector are listed. In order to fit the scope of this reading, most of the technological methods are focused on Adobe applications. Depending on the need and complexity, they can be used individually or bundled into a comprehensive software © The Author(s), under exclusive license to Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2022 E. Gündoğan, Robotic Process Automation in Desktop Publishing, Springer essentials, https://doi.org/10.1007/978-3-658-39375-5_4
13
14
4 Automation of Artwork Processes
infrastructure and implemented in the existing IT infrastructure. For the realization of extensive DTP software projects, know-how from both software development and media design is advantageous.
4.1 Objectives and Purpose As with all automation, the general main objectives in the field of DTP are cost savings in the company and the improvement of final results through standardization and error reduction, as well as the relief of employees in terms of time-consuming and monotonous tasks. In the design process, people can achieve outstanding results. When it comes to repetitive processes, such as the design of hundreds or thousands of catalog or directory pages, they are again inefficient. Thus, both from the perspective of the company and from the perspective of the employee, numerous advantages can be gained from automation. The probability that automation will be able to take over creative processes in the future and create complete designs is rather low, since creativity is not a task that can be solved by automation. Internationalization, resource scarcity, market saturation, and the diverse needs of customers are increasingly challenging today’s companies and leading to intensification of the competitive situation. In particular, digitization leads to changes in working methods and organizational structures. For these reasons, the use of automation is suitable for rationalizing old structures so that employees can focus on new, more essential tasks and challenges and thus identify with them better. In the field of DTP, repetitive manual tasks include those processes that repeat themselves according to a certain pattern. These include, for example, copy-paste processes or the repeated production of graphical assets. The structural change from manual to automated is ideally linked to meaningfulness, so that a new sense is given to the activities. This has the advantage that people who previously perceived their work as uninspiring can now develop within their activities and unfold existing talents in them. Ideally, these developments are reflected in their own personal development. Furthermore, the probability that the introduction of new technologies will cause employees to fear for their jobs is high. However, by involving employees in the change process and making the sense of these changes transparent to them, not only the fear of change is reduced, but also the motivation of employees is increased by the possibility of influence. The clear message to employees should therefore be that the structural change is not about dismissal, but rather about relief. They should generally not be afraid of automation and the changes it causes, but rather focus on the advantages it brings, how it can be used in existing business processes and, above all, how each individual employee can contribute to this transformation.
4.2 Adobe Technologies
15
There is no uniform concept that is valid for every use case in DTP automation, as every company pursues different corporate goals and business processes are designed and implemented individually. The development of a DTP automation solution depends on how the business processes are designed in the company and how they are dealt with. In which formats and in which way are customer data delivered? Is there even a specific customer? Do subsequent changes have to be taken into account, for example in texts or images? In which format are the printing and media data exported and how are they sent? These and numerous other questions have to be answered during the design of automation systems.
4.2 Adobe Technologies Automated publishing gained in importance within the Adobe product family with the introduction of InDesign 2.0 in 2002 and the accompanying support for Extensible Markup Language (XML) as well as with the introduction of CS2 and script support—in both InDesign and other applications such as Photoshop and Illustrator—in 2005. With the further software updates of Adobe CS and later Adobe CC applications, the extendibility of the DTP applications was continuously promoted through the introduction of new technologies and the optimization of existing methods. Today, the Adobe Tech Blog (https://medium.com/ adobetech) serves as a continuously updated source of information about Adobe technologies and new developments. Below are common technological methods relevant to DTP automation.
4.2.1 Extensible Markup Language (XML) XML is a markup language and can be used in the context of DTP automation to fill in texts in template files using external files and thus to strictly separate layout and text. This means, for example, that the layout designer can define the XML structure of a layout, export it as an XML file for external editing by a copywriter and finally import it back into the layout. The layout designer could also create a layout based on an existing XML structure and subsequently have the XML file edited arbitrarily by a copywriter. With common editors such as TextEdit, Notepad or Sublime Text, Microsoft (MS) Office applications such as Word or Excel and Adobe applications such as InDesign or InCopy—a modified version of InDesign—there are various alternatives for creating and editing XML files. An XML file is hierarchical and consists of elements that in turn consist of opening and closing tags with optional additional attributes and the data between the tags
16
4 Automation of Artwork Processes
(Fig. 4.1). XML is also extensible, which means that tags do not necessarily have to take predefined standard values, but can be named arbitrarily. If you import XML files into InDesign, they can optionally be linked so that changes made to the XML file automatically update the layout content. After the import, you can also view and edit the XML structure and tags (Fig. 4.2). This
XML element
North Rhine-Westphalia Opening tag
Data
Closing tag
Fig. 4.1 Anatomy of an XML element: Example of an XML element. Between the opening and closing tag are the data.
Fig. 4.2 XML structure in InDesign: The structure of an XML file can be visualized in InDesign. The corresponding XML code for this example is shown in Fig. 4.3.
4.2 Adobe Technologies
17
Dolap Closet, white / beige. Versatile suitable and individually composable. Interior as shown. Incl. lighting. 210 x 200 x 59 cm (width x height x depth). 231.187 990,-
Palod Cabinet, white / beige. Many, individually composable storage shelves. Interior as shown. Without lighting. 105 x 200 x 59 cm (width x height x depth). 250.520 490,-
Fig. 4.3 XML file: This example of a nested XML file contains two product elements, each of which contains the elements details and image. The details element consists of the further elements name, description, modelno and price. The root element root encloses all other elements.
representation may be more comfortable for users without programming knowledge than the code view, for example, in an editor (Fig. 4.3). A very powerful XML function in InDesign is the ability to map XML tags to predefined styles such as paragraph styles, character styles, and table styles (Fig. 4.4). This makes it possible to quickly fill entire layout templates with content (Fig. 4.5). Before an XML file is imported into a document, it is generally recommended to validate it using a corresponding Document Type Definition (DTD). This is especially helpful when multiple systems are working on the same XML file and changing or adding content; XML validation makes a lot of sense in this case. A DTD is a separate file that describes XML content and specifies which elements, attributes, and entities an XML file may contain (Fig. 4.6). InDesign provides the ability to import DTD files and subsequently check imported XML files for compliance with DTD declarations.
18
4 Automation of Artwork Processes
Fig. 4.4 Mapping tags to styles in InDesign: After mapping tags to styles once, contents are automatically formatted during subsequent XML imports.
Fig. 4.5 Automated layout with XML import: A structured layout before (left) and after (right) XML import.
Even more efficient is the use of XML in combination with other systems such as content management systems (CMS) or databases that can directly change XML file contents or export data as XML and thus provide content for further processing automatically. Likewise, the XML import into InDesign can be fully
4.2 Adobe Technologies
19
Fig. 4.6 DTD file: This DTD file lists all allowed XML elements and specifies the valid structure. The line states that the root element root must contain at least one and any number of product elements. Checking the XML code shown in Fig. 4.3 with this DTD file results in no errors.
CMS
DTP application
XML file fulfilled DTD Declarations [valid] XML file
Validate XML file
Import XML file into layout template
Export print file
[invalid]
Create an online shop article
Enter item details
XML-Export
Fig. 4.7 Case study “Web-to-print”: This diagram shows an exemplary web-to-print scenario. If a new item is created in an online store, an automated XML export of all relevant product data is performed. The XML files are then checked for validity using corresponding DTD files and, in the event of validity, imported into a layout template. In the last step, a printable file is exported.
automated using additional methods, such as scripts or a Common Extensibility Platform (CEP) plugin. This makes it possible to automate the entire XML import and export process. An example application is shown in the following diagram (Fig. 4.7). Another InDesign feature related to XML is the so-called InDesign Markup Language (IDML). IDML is a markup language introduced by Adobe to describe entire InDesign documents in XML format. An IDML file is to be understood as a package, which among other things contains several XML files that describe indi-
20
4 Automation of Artwork Processes
Fig. 4.8 Content of an IDML file
very good (1,3) On test: {description} ({issue})
On test: 19 Smartphones from 600 € till 1400 € (May 2022)
Fig. 4.9 InDesign snippets: An asset template (left) in the IDMS file format can contain freely selectable placeholders or wildcards that are subsequently replaced automatically by actual data (right).
vidual elements of the InDesign document (Fig. 4.8). So it would be theoretically possible to edit or even create an InDesign document with XML. Based on IDML, so-called snippets are in the IDMS file format. A snippet is an XML file that describes an InDesign asset. Snippets exported from InDesign can be imported back into a document and—in contrast to other graphic formats—edited. In the context of DTP automation, it makes sense to generate snippets automatically if the same asset is used in slightly different form in several layouts. For example, an automation could automatically fill in certain sub-elements with information relevant to the associated project when generating multiple assets or snippets (Fig. 4.9).
4.2.2 Scripts Some Adobe applications—including InDesign, Photoshop and Illustrator—can be extended with scripts in the programming languages JavaScript (JS) resp.
21
4.2 Adobe Technologies Fig. 4.10 Scripts panel in InDesign
ExtendScript (Cross-platform), AppleScript (Macintosh) and Visual Basic Script (VBScript) (Windows). For reasons of platform independence, it is advantageous for script development to choose ExtendScript as the programming language, which is why this reading only deals with this method. Scripts can be made available to the user both as individual script files (Fig. 4.10) and embedded in a CEP plugin—discussed in Sect. 4.2.5. It is possible to represent almost any UI interaction and function of a supported application with scripts. The possible fields of application range from the simple operation of menu items to the generation of complex graphics on the workspace of the DTP application to the execution of repetitive artwork processes in daily work. An example script can be downloaded from https://link.springer. com/book/9783658371364 on the webpage of this book. The script generates the business card shown in Fig. 4.11 and could be extended to generate, for exam-
Company Dummy FirstName LastName Position
Fig. 4.11 Generated business card
MyCompany Address 123 45678 City Tel: 0123 456 78-9 Mobile: 0123 45 678 90 E-mail: [email protected]
22
4 Automation of Artwork Processes
ple, hundreds of business cards automatically. The link between a CEP plugin and scripts brings numerous additional benefits, such as retrieving data from external systems, which can then be passed on to scripts for further processing. A more detailed description of this scenario can be found in Sect. 4.2.5. The third version of the European Computer Manufacturers Association Script (ECMAScript) introduced in 1999—also known as ES3 or ECMAScript v3—forms the foundation of the Adobe scripting language ExtendScript, which has the disadvantage that this programming language is based on an outdated ECMAScript standard and does not support any new features introduced since then. For example, ExtendScript does not know any variable declarations using let or const, no template literals and no arrow functions. In addition to the usual JavaScript functions, ExtendScript allows the object model of the respective Adobe application to be addressed and thus to interact with the application. In the code example app.activeDocument.textFrames.length; the number (length) of all text frames (textFrames) in the active document (activeDocument) in the application (app)—here InDesign—is output. For the development of the scripts, the use of the integrated development environment (IDE) Adobe ExtendScript Toolkit (ESTK) CC is recommended, which not only allows the scripts to be programmed, but also the execution and error correction (debugging) of the scripts. However, this 32-bit application is no longer being developed further and is not compatible with Apple’s macOS 10.15 Catalina and later. As a workaround, Adobe has released a plugin for the code editor Visual Studio (VS) Code that mimics most of the ESTK’s functions. Windows also supports the execution of 32-bit applications with the currently latest, eleventh version. Since version 4.0, Adobe has no plans to update ESTK. This is partly due to product strategy reasons. The problem with ESTK is that the number of users of this application is not measured and therefore it cannot be determined whether it makes sense to invest in ESTK in the long term from a strategic point of view. It is difficult to realize a business case for the further development of an application with an unknown number of users. For scripts that generate graphical assets depending on the elements selected by the user from available selection options , it must be taken into account that the mapping of all possible results cannot be done immediately. These types of scripts can be referred to as generators. Possible software errors can only be subsequently determined and corrected during the operation. For this, the number of results that generators can produce is too high, since multiple selection options are given. In order to determine the number of possible results of a generator, the
4.2 Adobe Technologies
23
questions known from combinatorics are to be answered, whether the order of the selected options defines the order of the elements in the result (the selection order is relevant—variation) or whether it is already fixed independently of the selected options (the selection order is irrelevant—combination) and whether options can be selected multiple times or only once. From these questions arise the four formulas shown in Fig. 4.12, with which the number of possible results of a generator can be determined. Here, n denotes the number of available options and m denotes the number of selected elements. In Fig. 4.13 an exemplary user interface (UI) of a script-based generator with 20 available elements is shown as selection options, from which the user should select exactly six unique elements in any order, which are subsequently placed on placeholders. The selection order of the user defines the order of the results generated by the script. This example illustrates a generator whose results can be calculated according to the second formula from the left shown in Fig. 4.12 and thus generate 27,907,200 possible results.
4.2.3 Global Regular Expressions Print (GREP) Another, often used and extensive function in the context of automation and scripts in InDesign is Global Regular Expression Print (GREP), which extends the classic text search (Fig. 4.14) and with the help of so-called wildcards desired text patterns can be found. For example, the exemplary text ‘42 fantastic designers’ can be found on the InDesign workspace with the GREP command. \d+ (f|ph)antastic designers? , where \d+ means numbers with at least one digit and any length, (f|ph) means the letter f or the letter sequence ph, and s? means optional s. The special thing about GREP is that searching and replacing can not only be applied to texts but also to formatting. For example, you can search for a text pattern in a specific font and replace it with another text or another font. The search for formatting also works independently—for example, all texts in a specific font can be replaced with another font.
Fig. 4.12 Combinatorics formulas: From left to right: Variation—Selection order relevant, with repetition; Variation—Selection order relevant, without repetition; Combination— Selection order irrelevant, with repetition; Combination—Selection order irrelevant, without repetition
24
4 Automation of Artwork Processes
Fig. 4.13 Exemplary generator
GREP can also be controlled by scripts and is therefore also suitable for use in fully automated solutions.
4.2.4 C++ Plugins Some Adobe applications, including InDesign, Illustrator, and Photoshop, offer a software development kit (SDK) that allows the respective application to be extended with a plugin written in the C++ programming language. It is assumed that the development of C++ plugins is the most difficult method to realize a DTP automation. Since many SDK functions can also be mapped with scripts, it is recommended to determine which use cases should be covered before realizing a DTP software project in order to select the appropriate technology.
4.2 Adobe Technologies
25
Fig. 4.14 Find/Change dialog in InDesign: The find and change feature in InDesign supports searches using GREP commands. In the example shown, a search is performed for a specific text pattern in Myriad Pro Regular font and replaced with Chalkboard Bold.
The essential difference between these two technologies is that scripts control existing functions in the respective Adobe application, while new functions can be realized with C++ plugins. At the same time, this causes the extra effort, since a script developer only comes into contact with the top level of abstraction of an Adobe application, whereas developing a C++ plugin requires interacting with lower levels of abstraction and taking numerous interdependencies into account. A significant advantage of C++ plugins is performance, as this machine-oriented programming language is executed faster than a script language. Extensive documentations, SDKs, and code examples that are essential for the development of Adobe extensions—including C++ plugins—can be found under https://developer.adobe.com/console/servicesandapis.
26
4 Automation of Artwork Processes
4.2.5 Common Extensibility Platform (CEP) CEP allows the development of extensions with Hypertext Markup Language (HTML), Cascading Style Sheets (CSS) and JavaScript, which can be seamlessly embedded in the UI of the Adobe application in the form of a panel (Fig. 4.15), called up as a modal window via a menu command, or loaded invisibly in the Fig. 4.15 CEP panel example: This example represents the scenario of using an order number to display relevant project data from several data sources in a summarized form and to offer orderrelated functions. This includes, for example, changing the project status in an application system or generating graphical assets relevant for this project. The corresponding architecture is shown in Fig. 4.16.
27
4.2 Adobe Technologies
CEPPanel
Loading project data PdataSysA
PdataSysA
PdataSysB
PdataSysB
PdataAdvertisements PdataClient
HTTPRequest URL
FileOpen
PdataDbA
PdataDbA
PdataDbB
PdataDbB
Pfad
XMLFill
XMLcontent
XMLcontent
Script
Script
AssetsGenerate
Fig. 4.16 Architecture of the CEP panel example: The project data is retrieved by the CEP panel from multiple application systems and databases, structured and made available for subsequent functions—including displaying the order details, opening files and links, running scripts and communicating with other application systems.
background. The seamless integration of own extensions into Adobe applications ensures an intuitive user experience (UX). The power of CEP lies in the support of Node.js and ExtendScript. This makes it possible to implement Node.js modules, for example, to realize database bindings, access the local file system or read system informations, as well as to pass scripts to the host application (e.g. InDe-
Host application
CEP panel CEF
Application functions
UI (HTML/CSS) Node.js
ExtendScript
Fig. 4.17 CEP architecture
JavaScript
28
4 Automation of Artwork Processes
Fig. 4.18 CefClient
sign) and execute them (Fig. 4.17). The interaction of these technologies makes it possible to realize various software projects within the scope of DTP automation. The HTML engine of CEP is based on the Chromium Embedded Framework (CEF), which allows the embedding of Chromium based browsers in applications and subsequent debugging using the application ‘CefClient’ (Fig. 4.18). A CEP panel can therefore be compared to a web application, which can be analyzed and debugged using developer tools—similar to Chrome DevTools. CEP also allows communication between different CEP panels and different Adobe applications using the supplied Vulcan.js library. For example, it is possible to pass a command from a CEP panel in InDesign to a CEP panel in Photoshop and execute it. CEP has one disadvantage: similar to the Chrome browser, a CEP panel uses a lot of computer memory (resp. RAM). In particular, opening several CEP panels leads to greater performance degradation. In addition, the methodology of exchanging commands as strings between CEP panels and host applications is now outdated. For these and various other reasons, CEP is replaced in the long term by a new technology—Unified Extensibility Platform (UXP). It is unknown at this time how long the transition to this new technology will take. Further documentations and code examples can be found on the Adobe CEP Github page under https://github.com/Adobe-CEP.
4.2 Adobe Technologies
29
4.2.6 Unified Extensibility Platform (UXP) A technology introduced by Adobe in 2018 called Unified Extensibility Platform (UXP) provides the ability to extend CC applications—similar to CEP—based on JavaScript. The UI can also be implemented using HTML and CSS. Compared to CEP, a limited number of HTML elements and CSS properties are supported at the moment. Similarly, the number of possible Node.js modules that can be included in the UXP plugin is limited. Therefore, not all possibilities that CEP offers can be realized with UXP. The UXP has been supported since its introduction in the application Adobe XD, a program for designing UX and UI designs, and since 2020 in Adobe Photoshop, and is continuously being evolved. The UXP Developer Tool can be used to create, import, manage, and debug UXP plugins, among other things. In CEP, communication between a panel and a host application takes place using the CSInterface class. This contains a method evalScript that transfers a script as a string from the JavaScript level to the ExtendScript level and executes it there (Fig. 4.17). First, an object is instantiated with let cs = new CSInterface();
, and for example with cs.evalScript("alert('Hello InDesign!');");
a string is transmitted to the host, which contains the script to be executed— here a simple dialog box. Optionally, the evalScript method can provide the result of a function executed in the host application: cs.evalScript("myFunction();", function(result){ console.log(result); });
This method of communication between panel and host, which burdens performance, is eliminated with UXP technology. UXP allows the direct interaction with an Adobe application using respective APIs to execute code more efficiently (Fig. 4.19). This means that, in contrast to ExtendScript, UXP supports current JavaScript features. This also means that ExtendScript can no longer be used in UXP, but rather the newly developed document object model (DOM) of the
30
4 Automation of Artwork Processes
Host application
UXP-Plug-in JS engine (V8) Plug-ins
Application functions
Host APIs Common APIs Network, file system, ...
UI engine Spectrum UXP SVG Native UI Layout engine HTML CSS
Fig. 4.19 UXP architecture: The JS engine can communicate directly with the host application using the host APIs. Likewise, the UI is rendered by the host, so that a UXP plugin obtains the appearance of a native host component.
respective application must be addressed using the corresponding API in order to communicate with a host application. A new method batchPlay allows to execute actions in JSON format, also called actionJSON. These actions reach the parts of the host that are not, or not yet, accessible using the API. A suitable approach to become familiar with actionJSON is to record actions under Plugins > Development > Record Action Commands... and to inspect the generated JSON code.
4.2 Adobe Technologies
31
In addition, UI elements created in UXP with HTML and CSS are converted into native UI elements of the respective host. For example, while in CEP an HTML button is rendered in Photoshop the way it was stylized individually via CSS, in UXP it is displayed as a native UI element of Photoshop, which ultimately leads to further performance advantages. An example of a UXP plugin can be downloaded from https://link.springer. com/book/9783658371364 on the webpage of this book, imported into the UXP Developer Tool and executed in Photoshop. The plugin generates a new Photoshop document and generates a text frame with the content “HelloWorld”. In the future, UXP will be available in further Adobe applications in addition to Adobe XD and Photoshop, until this technology completely replaces CEP. At the same time, Adobe will also end ExtendScript support in the respective application. Each application goes through its own independent conversion phase, which is expected to last one to two years. For example, if UXP is implemented in InDesign, it can be assumed that CEP and ExtendScript support will be discontinued in InDesign within one to two years. It is currently not known when each application will support UXP and how long it will take for this technology to mature completely. Documentations and developments around UXP can be found at https://developer.adobe.com/apis.
4.2.7 Adobe InDesign Server Adobe InDesign Server is suitable for processing complex layout templates and generating multiple graphical assets, as well as for creating entire print products such as catalogs and magazines. This application is not included in the CC product family, but can be licensed separately by enterprise customers. InDesign is the only application in the Adobe product family for which a server variant exists. The key difference between the server and client versions of InDesign is the ability to run multiple InDesign instances on a single machine. InDesign Server does not provide a user interface and is only controlled via the command line, which eliminates any graphical representation and saves resources. In addition, the server version has all the functions and technologies such as support for XML and scripts and is functionally identical to the client version. InDesign Server is accessible via the network protocol Simple Object Access Protocol (SOAP) and can communicate with other applications using this protocol. For example, data can be retrieved from a server-side middleware, structured and subsequently passed on to InDesign Server for the actual generation of graphic assets. After the automation task has been completed, InDesign Server can inform
32
Generate assets
Fill layout templates
MW server
job_B
Identify process type
MW client
IDSN Server (inst. 1)
IDSN Server (inst. 2)
4 Automation of Artwork Processes
Transmit user input to server
Assets
Print data
Save to file server
Save to file server
Transmit process result
Transmit process result
job_A
Process result
Transmit process result
Process result
Display process result
Fig. 4.20 Case study “DTP automation with InDesign Server”: The client-side middleware (MW client) communicates after a user interaction with the server-side middleware (MW server). Depending on the process type, either the first InDesign Server instance (job_A) is addressed or the second (job_B). After completion of each process, the serverside middleware forwards the result to the client-side middleware.
the client-side middleware about the completion. This way, the server-side middleware can communicate with the client-side DTP middleware and inform the user about the finalization of his request (Fig. 4.20). Of course, InDesign Server can also be used independently and without communication between client and server. The topic of client-server communication is described in more detail in Sect. 4.3.
4.2.8 Other Tools Adobe provides various functions for simpler automation tasks in its applications. These are mainly aimed at users without programming skills and can be configured and used with little effort. Some of these functions are described below. Actions The use of so-called actions is suitable for smaller routine tasks in artwork. The idea behind actions in Adobe CC applications is similar to that of application macros and is used to record manual user interactions in one of the supported
4.2 Adobe Technologies
33
Fig. 4.21 Actions panel in Photoshop: The action with the name My Action consists of three steps. First, the current layer is duplicated and the duplicate is moved 300 pixels to the right, scaled to double size and rotated 45° clockwise.
applications—including Photoshop (Fig. 4.21) and Illustrator, but not InDesign— and make them available for later use. If an action is executed, the individual steps are exactly repeated that were previously recorded during the manual user interaction. These steps can also be edited and rearranged afterwards as required.. In addition, user-defined keyboard shortcuts can be assigned to the actions. Also, in Photoshop, the Script Events Manager—described in this chapter—can be used to link actions to specific application events.
34
4 Automation of Artwork Processes
Fig. 4.22 Script Events Manager: In this example, a custom script addWatermark.jsx is run when a new document is created, and the Adobe-supplied script Save Extra JPEG.jsx is run when a document is saved.
Script Events Manager With the Script Events Manager (Fig. 4.22) Photoshop offers the possibility of linking certain events, such as opening or creating documents or starting the application, with scripts or actions and executing them automatically. Image Processor The Image Processor in Photoshop (Fig. 4.23) can be used to process several image files in sequence and save them in various desired formats. In addition to selecting the source and destination paths, other settings can be made. For example, images can be scaled to a certain size, processed with an action, and saved in a certain file format.
4.3 Client-Server Communication In theory, all sub-processes and intermediate steps of automation can be performed directly on the client. However, in practice, it is recommended that the majority of the processes are handled server-side and that as few data processing and automation tasks as possible are performed on the client, so that the user
4.3 Client-Server Communication
35
Fig. 4.23 Image Processor
does not have to make any compromises in terms of performance. In such use cases, the client is the instance within the IT infrastructure that controls complex automations outsourced to servers. CPU and GPU intensive tasks are carried out on the server level. This is particularly relevant for those processes that require high computing power, e.g. data processing from different sources such as databases and the generation of multiple graphical assets. Therefore, when realizing a software infrastructure for DTP automation, it is always necessary to question the computing effort that a process requires in order to be able to decide whether it is suitable for the client or for the server. If multiple clients work with such a server solution, it is also advisable to use a task queue in the form of a server-side middleware for incoming automation tasks in order to be able to process tasks
36
4 Automation of Artwork Processes
one after the other and without collision with each other. Another advantage of outsourcing sub-processes to the server level is the reduction of errors, since in theory every client can generate individual types of errors. If processes are on the server level, in the case of a system failure, troubleshooting and debugging takes place only at one location. This reduces the effort for troubleshooting and maintenance directly on the client. Layouts and graphical assets that are repeatedly used and differ primarily in content and less in design can be provided in the form of templates on a central file server for multiple use. The templates can contain placeholders and keywords that are filled in later automated artwork processes with actual data from different data sources. Depending on the complexity, the layout can be filled using an extension, e.g. a plugin, or using XML imports—a method that requires a previous assignment of XML tags to objects and texts. The advantage of this approach is that templates can also be changed later by non-programmers without affecting the automatisms—changes from a technical perspective and design relevant changes remain strictly separated from each other. In some cases, it may be necessary for the user to be notified of the status of a server-side automated process after the process has been completed. This requires a link between the server-side middleware and a messaging service that will send the messages to the client. Server-client communication can be realized using either a custom developed Node.js application or collaboration applications such as Slack (Fig. 4.24) or Microsoft Teams. Server-side automations that are to be triggered by the user can be provided in the form of a middleware. In this context, the UI and UX of the software solution have to be considered in order to offer the user the most intuitive way possible to operate these automations. The number of user queries within the software solution is to be reduced to the absolutely necessary minimum. The middleware can be realized both in the form of a native macOS or Windows application—for example with the help of the Electron framework—and in the form of an extension integrated into the DTP application. For Adobe applications, the use of the
Fig. 4.24 Slack notification about server-side events: Collaboration applications such as Slack can be used to notify the user about server-side process statuses.
4.4 Databases and Applications
37
Adobe technologies described in Sect. 4.2 are suitable, e.g. CEP. As an example, it is possible to offer the user an Adobe panel with which the individual automated artwork processes can be executed. This means that it is not necessary to switch to another application to control the automations.
4.4 Databases and Applications For the creation of content within the scope of DTP automation, data can be obtained not only from a single data source, but also from various other sources. These include database management systems (DBMS) that enable communication between a DTP application and a database using the Structured Query Language (SQL). These include both relational DBMS such as MySQL and non-relational DBMS, also known as NoSQL, and other application systems that provide data exchange via a corresponding interface or using a corresponding Representational State Transfer-Application Programming Interface (REST-API). Content management systems (CMS) can also be used as data providers. The link between these data sources and the layouts can be established by a middleware or a plugin within the DTP application, as shown previously in Fig. 4.16. This middleware can first read data from the sources and subsequently insert them into corresponding placeholders in layout templates. If multiple data sources are used in the context of DTP automation, the extract transform load (ETL) process can be considered (Fig. 4.25). The ETL process consolidates multiple data sources into one source and consists of the three sub-processes of extracting data from a foreign data source, transforming this data into a predefined schema, and loading it into the central data source. With an increasing number of new IT systems, the number of data sources and the potential for the creation of numerous data redundancies and duplicates also increases. The ETL process not only prevents the creation of these unnecessary data, but also provides a performant, centralized data source—a ‘single source of truth’ (SSOT). Of the three ETL sub-processes, the transformation process requires the most effort. This is partly due to the fact that if an error occurs in this process, the transformation rules have to be adjusted and the entire transformation process has to be repeated. ETL processes can be realized with both owndeveloped software solutions and systems available on the market such as Talend Data Integration (TDI), Pentaho Data Integration (PDI), Informatica Data Integration (IDI) or Microsoft SQL Server Integration Services (SSIS). All interactions between the user and the middleware (software activity), including data manually input by the user and asset generation triggered by buttons, can be stored in a database in the form of reports or logs and later analyzed
38
4 Automation of Artwork Processes
Extract data from other sources
Transforming the data into a schema
ETLProcessor
Transformer DbA
DataA
DbB
DataB
DbC
DataC
DbD
DataD
SSOT
SSOT
Load the data into the central data source
Fig. 4.25 ETL process
and used for both software optimization and statistical purposes. Depending on the number of users and the use cases, a large amount of structured and unstructured data can be collected to form big data, mentioned in Sect. 3.1.4. These data, especially those entered manually by the user, play a significant role in the further optimization of the automatisms. This user experience can contribute to evolving RPA automations to the next level—CPA automatisms, mentioned in Sect. 3.1.2. If developers discover a certain pattern within the logs and reports, it can be defined as a new automation rule. A use case that initially required manual interaction from the user can be fully automated. In this way, partial automatisms, which require manual user input, can be further developed into an independently functioning fully automated system. In other words: If automatisms are not able to make decisions independently in certain processes (if, for example, there are several possible approaches to solving a problem), the user can manually solve these cases and automatisms can remember this decision making. This way,
BPM application
DTP automation
4.5 Connection to Process Management Applications
39
Automatism
Incoming orders
Project start
Artwork
Control & Release
Export print data
Fig. 4.26 Example business process: In this example, an automatism is integrated into a business process and is triggered by a specific status change—in this case Project start. After execution of the automatism—e.g. the generation of a large number of assets—the status is set to Artwork.
automatisms learn simultaneously how to proceed if the same problem occurs again in the future. Gradually, automatisms are thus able to cope with more and more problems and are approaching the capabilities of independent problem-solving systems, the CPA.
4.5 Connection to Process Management Applications Automation applications can be triggered not only by users but also by other applications. Suitable application types for controlling and triggering automations are business process management (BPM) applications such as monday.com, Wrike, Process Street or Jira. A status change of a workflow can simultaneously be defined as a trigger of an automatism. An exemplary business process with an integrated automation is shown in Fig. 4.26. In order to couple a status with an automation, communication between the respective BPM application and the automation is necessary, e.g. via webhooks. This is particularly suitable for automated artwork processes that are time-consuming, e.g. the generation of hundreds of graphic assets that are specific to a particular project and can be executed overnight. Likewise, the interaction between the user and the automation is eliminated in such a process—the automated process takes place in the background without the user even noticing it.
What You Can Take Away from This essential
• Automation today affects almost all industries of the economy as well as mundane areas of everyday life. • Employees should be involved in the change process from manual to automated work methods in order to reduce the fear of change and increase employee motivation. • The spectrum of automation solutions in DTP ranges from small aids such as scripts embedded in DTP software to complex software infrastructures. • Adobe offers various functions and technologies—including XML support, scripts, GREP in InDesign, C++ plugins, CEP and UXP—to realize DTP automations.
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2022 E. Gündoğan, Robotic Process Automation in Desktop Publishing, Springer essentials, https://doi.org/10.1007/978-3-658-39375-5
41
References
All URLs listed here were checked for accessibility in December 2021.
Books and Journals A & C Black Publishers Ltd. (2006). Dictionary of publishing and printing (3rd ed.). A&C Black Business Information and Development. Abolhassan, F., & Kellermann, J. (2016). Effizienz durch Automatisierung. Springer Gabler. https://doi.org/10.1007/978-3-658-10644-7. Aichele, C., & Schönberger, M. (2014). App4U. Springer Vieweg. https://doi. org/10.1007/978-3-8348-2436-3. Arntz, M., Gregory, T., & Zierahn, U. (2020). Digitalization and the future of work. Wirtschaftsdienst,100(S1), 41–47. https://doi.org/10.1007/s10273-020-2614-6. Baeseler, F., & Heck, B. (1987). Desktop publishing. McGraw-Hill Book Company. Barranca, D. (2017). Adobe photoshop HTML panels development. Leanpub. https://www. htmlpanelsbook.com. Barranca, D. (2021). Adobe UXP plugins development with react JS. Davide Barranca. https://www.ps-scripting.com/uxp-react.html. Barton, T., Müller, C., & Seel, C. (2017). Geschäftsprozesse. Springer Vieweg. https://doi. org/10.1007/978-3-658-17297-8. Barton, T., Müller, C., & Seel, C. (2018). Digitalization in companies. Springer Vieweg. https://doi.org/10.1007/978-3-658-22773-9. Böhringer, J., Bühler, P., Schlaich, P., & Sinner, D. (2014a). Compendium of media design: Volume 1 (6th completely revised and expanded ed.). Springer. https://doi. org/10.1007/978-3-642-54581-8. Böhringer, J., Bühler, P., Schlaich, P., & Sinner, D. (2014b). Compendium of media design: Volume 3 (6th completely revised and expanded ed.). Springer. https://doi. org/10.1007/978-3-642-54579-5.
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2022 E. Gündoğan, Robotic Process Automation in Desktop Publishing, Springer essentials, https://doi.org/10.1007/978-3-658-39375-5
43
44
References
Bowman, J. P., & Renshaw, D. A. (1989). Desktop publishing: Things gutenberg never taught you. Journal of Business Communication,26(1), 57–77. https://doi. org/10.1177/002194368902600105. Brettschneider, J. (2020). Evaluation of the potentials and risks of robotic process automation. HMD Praxis der Wirtschaftsinformatik,57(6), 1097–1110. https://doi.org/10.1365/ s40702-020-00621-y. Bruhn, M., & Hadwich, K. (2020). Automation and personalization of services: Volume 1. Springer Gabler. https://doi.org/10.1007/978-3-658-30166-8. Buchkremer, R., Heupel, T., & Koch, O. (2020). Artificial intelligence in business & society: Impacts, challenges & recommendations (FOM-Edition). Springer Gabler. https:// doi.org/10.1007/978-3-658-29550-9. Buxbaum, H. J. (2020). Mensch-Roboter-Kollaboration. Springer Gabler. https://doi. org/10.1007/978-3-658-28307-0. Cleary, N. (2003). Why buy: Creative suite. Printing World, 284(6), 21–22. http://search. ebscohost.com/login.aspx?direct=true&db=edsgbe&AN=edsgcl.110288650&lang=de &site=eds-live&scope=site. Collier, D., & Cotton, B. (1989). Designing for desktop publishing. Headline Book Publishing. Coppieters, K. (2009). Adobe InDesign CS3/CS4 SDK programming. Rorohiko Ltd. Crocker, S., & Walden, D. (2019). Paul Brainerd, Aldus corporation, and the desktop publishing revolution. IEEE Annals of the History of Computing,41(3), 35–41. https://doi. org/10.1109/mahc.2019.2920174. Czarnecki, C., Bensberg, F., & Auth, G. (2019). Die Rolle von Softwarerobotern für die zukünftige Arbeitswelt. HMD Praxis der Wirtschaftsinformatik,56(4), 797. https://doi. org/10.1365/s40702-019-00548-z. Donick, M. (2020). Understanding user behavior—Optimizing software usage: Communication analysis in software development. Springer Vieweg. https://doi.org/10.1007/9783-658-28963-8. Doppler, K., & Lauterburg, C. (2014). Change management (13th updated and expanded ed.). Campus. http://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=95 5621&lang=de&site=eds-live&scope=site. Eggert, M., & Moulen, T. (2020). Selektion von Geschäftsprozessen zur Anwendung von Robotic Process Automation am Beispiel einer Versicherung. HMD Praxis der Wirtschaftsinformatik,57(6), 1150–1162. https://doi.org/10.1365/s40702-020-00665-0. Eirich, D. (1990). Desk top publishing. Heyne. Erner, M. (2018). Management 4.0 – Unternehmensführung im digitalen Zeitalter. Springer Gabler. https://doi.org/10.1007/978-3-662-57963-3. Fasel, D., & Meier, A. (2016). Big data. Springer Vieweg. https://doi.org/10.1007/978-3658-11589-0. Fellenz, G. (2015). InDesign automatisieren: Keine Angst vor Skripting, GREP & Co. (2nd updated and expanded ed.). dpunkt. Flasche, U., & Posada-Medrano, G. D. (1987). The desktop publishing handbook. Vieweg & Sohn Verlagsgesellschaft. https://doi.org/10.1007/978-3-322-84003-5. Franken, S. (2019). Behavior-oriented leadership (4th completely revised ed.). Springer Gabler. https://doi.org/10.1007/978-3-658-25270-0. Gamble, G. (2011). InDesign CS5 automation using XML & JavaScript. Grant Gamble.
References
45
Großklaus, R. H. G. (2015). Positioning and USP (2nd revised ed.). Springer Gabler. https://doi.org/10.1007/978-3-658-04588-3. Heinrich, B., Linke, P., & Glöckler, M. (2017). Fundamentals of automation (2nd revised and extended ed.). Springer Vieweg. https://doi.org/10.1007/978-3-658-17582-5. Hierzer, R. (2020). Prozessoptimierung 4.0 (2nd ed.). Haufe. http://search.ebscohost. com/login.aspx?direct=true&db=nlebk&AN=2574646&lang=de&site=edslive&scope=site. Hopkins, S. W. (2009). Automating Adobe InDesign CS4 with ExtendScript. Shirley W. Hopkins. Hoskins, D. J. (2013). XML and InDesign. O’Reilly. Kahrel, P. (2019a). GREP in InDesign: An InDesignSecrets guide (3rd ed.). CreativePro Network. Kahrel, P. (2019b). JavaScript for InDesign (2nd ed.). CreativePro Network. Kharchenko, A., Kleinschmidt, T., & Karla, J. (2018). Callcenter 4.0 – Wie verändern Spracherkennung, Künstliche Intelligenz und Robotic Process Automation die bisherigen Geschäftsmodelle von Callcentern. HMD Praxis der Wirtschaftsinformatik, 55(2), 383–397. https://doi.org/10.1365/s40702-018-0405-y. Kohl, H., Knothe, T., Schallock, B., & Scholz, J. A. (2019). “Don’t be afraid of Industry 4.0!” Four measures to prepare companies for the new requirements of human work in Industry 4.0. Industry Management, 6, 37–41. https://www.wiso-net.de/document/IM__ 087b51c4176d9bfc4806fb0c02a70b1e4cdc49ec. Kohn, W., & Öztürk, R. (2018). Mathematics for economists (4th revised and expanded ed.). Springer Gabler. https://doi.org/10.1007/978-3-662-57467-6. Konradin Business GmbH. (2019). Digital assistants make everyday life easier. BA Procurement up to date, 11, 28. https://www.wiso-net.de/document/BA__66ab1477e63a1c 130834680454a7a109a4598ebb. Kynast, F., & Kleinert, H. (1988). Learning to design with desktop publishing. Gabler. Lorbeer, K. (2017). The future of automation. Computerwelt, 20. https://www.wiso-net.de/ document/CWT__b38ee59aef26e5f48b30e378bb845aa2ad2dfd22. Lumgair, C. (2003). Desktop publishing (teach yourself business & professional). Hodder Arnold. Maivald, J. J., & Palmer, C. (2007). A designer’s guide to Adobe Indesign and XML: Harness the power of XML to automate your print and web workflows. Adobe Press. McDonald, A. B. (2003). New products: Adobe gets creative. PCWorld, 21(12), 78–79. http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=11349260&lang= de&site=eds-live&scope=site. Mhon, G. G. W., & Kham, N. S. M. (2020). ETL preprocessing with multiple data sources for academic data analysis. 2020 IEEE Conference on Computer Applications (ICCA). https://doi.org/10.1109/icca49400.2020.9022824. Mitchell, S. (1999). Mastering desktop publishing. Macmillan. https://doi.org/10.1007/9781-349-14597-3. Osuna, E., Rodríguez, L.-F., Gutierrez-Garcia, J. O., & Castro, L. A. (2020). Development of computational models of emotions: A software engineering perspective. Cognitive Systems Research,60, 1–19. https://doi.org/10.1016/j.cogsys.2019.11.001. Pan, B., Zhang, G., & Qin, X. (2018). Design and realization of an ETL method in business intelligence project. 2018 IEEE 3rd International Conference on Cloud
46
References
Computing and Big Data Analysis (ICCCBDA), 275–279. https://doi.org/10.1109/icccbda.2018.8386526. Peters, J. (1988). Desktop publishing was bringt’s wirklich?: Analysen. Gabler. https://doi. org/10.1007/978-3-663-13576-0. Pfiffner, P. (2002). Inside the publishing revolution: The Adobe story. Adobe Press. Pires, J. N. (2000). Object-oriented and distributed programming of robotic and automation equipment. Industrial Robot: An International Journal,27(4), 279–287. https://doi. org/10.1108/01439910010372109. Ralston, R. (2007). The designer’s apprentice: Automating photoshop, illustrator, and Indesign in Adobe creative suite 3. Adobe Press. Reinheimer, S. (2017). Industrie 4.0. Springer Vieweg. https://doi.org/10.1007/978-3-65818165-9. Rodríguez, L.-F., & Ramos, F. (2012). Computational models of emotions for autonomous agents: Major challenges. Artificial Intelligence Review,43(3), 437–465. https://doi. org/10.1007/s10462-012-9380-9. Schauer-Bieche, F. (2019). Der Content-Coach. Springer Fachmedien. https://doi. org/10.1007/978-3-658-26655-4. Scheer, A. W. (2019). Unternehmung 4.0 (3rd ed.). Springer Vieweg. https://doi. org/10.1007/978-3-658-27694-2. Scheppler, B., & Weber, C. (2020). Robotic process automation. Informatik Spektrum,43(2), 152–156. https://doi.org/10.1007/s00287-020-01263-6. Scott, G., & Tranberry, J. (2012). Power. Focal Press. Sivri, S. D., & Krallmann, H. (2016). Soziotechnische Betrachtung der Digitalisierung. technologie & management, 65(3), 12–15. http://search.ebscohost.com/login.aspx?direc t=true&db=egs&AN=118054726&lang=de&site=eds-live&scope=site. Skolka, T. (2019). Robotic process automation: Fad or meaningful technology? Zeitschrift für das gesamte Kreditwesen, 72(12), 601–606. https://www.wiso-net.de/document/ ZFGK__55dfd89e8e4bdffb61f531f2ec412f0513ab7de3. Souibgui, M., Atigui, F., Zammali, S., Cherfi, S., & Yahia, S. B. (2019). Data quality in ETL process: A preliminary study. Procedia Computer Science,159, 676–687. https:// doi.org/10.1016/j.procs.2019.09.223. Stich, V., Schumann, J. H., Beverungen, D., Gudergan, G., & Jussen, P. (2019). Digital service innovations. Springer Vieweg. https://doi.org/10.1007/978-3-662-59517-6. Tewes, C., & Niestroj, B. (2020). Thinking about business models for the future. Springer Gabler. https://doi.org/10.1007/978-3-658-27214-2. Tute, E., & Steiner, J. (2018). Modeling of ETL-processes and processed information in clinical data warehousing. Studies in Health Technology and Informatics,248, 204–211. https://doi.org/10.3233/978-1-61499-858-7-204. Ullah, R., & Witt, M. (2018). Praxishandbuch recruiting (2nd ed.). Schäffer-Poeschel. http://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=1858810&lang= de&site=eds-live&scope=site. Walden, D. (2019). Studying the histories of computerizing publishing and desktop publishing, 2017–2019. TUGboat, 40(3), 217–228. https://www.walden-family.com/texland/tb126walden-history.pdf.
References
47
Walter, S., & Schweiger, G. (2007). Die Rolle der Werbeagentur im Markenführungsprozess. Deutscher Universitätsverlag. http://search.ebscohost.com/login.aspx?direct= true&db=edsebk&AN=423001&lang=de&site=eds-live&scope=site. Wolan, M. (2020). Next generation digital transformation. Springer Gabler. https://doi. org/10.1007/978-3-658-24935-9. Zander, H. J. (2015). Steuerung ereignisdiskreter Prozesse. Springer Vieweg. https://doi. org/10.1007/978-3-658-01382-0.
Reports MarketLine. (2014). MarketLine case study: Adobe systems incorporated—On creative Cloud Nine. http://search.ebscohost.com/login.aspx?direct=true&db=buh&AN=9716 9926&lang=de&site=eds-live&scope=site.
Internet Sources Adobe. (o. D.a). Adobe & packaging—An environmental case study of the creative suite family. https://www.adobe.com/content/dam/cc/en/corporate-responsibility/pdfs/mitigation-of-environmental-impacts-of-products.pdf. Adobe. (2012a). Adobe InDesign Markup Language (IDML) cookbook. Adobe. https:// wwwimages.adobe.com/content/dam/acom/en/devnet/indesign/sdk/cs6/idml/idml-cookbook.pdf. Adobe. (2012b). Getting started with Adobe InDesign CS6 plug-in development. Adobe. https://www.adobe.com/content/dam/acom/en/devnet/indesign/sdk/cs6/plugin/gettingstarted.pdf. Adobe. (2012c). Introduction to Adobe InDesign CS6 server development. Adobe. https:// www.adobe.com/content/dam/acom/en/devnet/indesign/sdk/cs6/server/intro-to-indesign-server.pdf. Adobe. (2020). MAX Sneaks 2020—A festival of creativity and innovation. Adobe Creative Connection. https://blog.adobe.com/de/publish/2020/10/22/2020-10-adobe-max2020-sneaks-kreativitaet-innovation. Adobe. (2022a). Adobe illustrator 2022a programmer’s guide. Adobe Developer Console. https://www.adobe.io/console/servicesandapis. Adobe. (2022b). Getting started with Adobe illustrator 2022b development. Adobe Developer Console. https://www.adobe.io/console/servicesandapis. Aksu, M. (2017). Three smart ways to use InDesign templates for your business. kreativcode.com. https://kreativcode.com/indesign-vorlagen. BearingPoint. (o. D.). Cognitive Automation (CA). https://www.bearingpoint.com/de-de/ hot-topics/cognitive-automation-ca. Business Wire. (2018). Adobe cloud platform innovation showcased at summit. Business Wire. https://www.businesswire.com/news/home/20180327005529/en.
48
References
Consulting Fachmagazin. (2018). Automation: How the economy is changing. Consulting Fachmagazin. https://www.consulting.de/wissen-beitraege/automatisierung-so-veraendert-sich-die-wirtschaft. Design Made in Germany. (2020). How artificial intelligence is changing the graphic design industry. Design Made in Germany. https://www.designmadeingermany.de/ weblog/kuenstliche-intelligenz-grafikdesign. Duden. (2018). Automat. Duden online. https://www.duden.de/node/11663/revision/11690. Etherington, D. (2019). Adobe Photoshop arrives on the iPad. TechCrunch. https://techcrunch.com/2019/11/04/adobe-photoshop-arrives-on-the-ipad. Finnegan, E. (2019). A case study on arranger: Making the leap from CEP to UXP. Medium. https://medium.com/adobetech/a-case-study-on-arranger-making-the-leapfrom-cep-to-uxp-c64227b6ea74. Fuchs, A. (2020). Announcing UXP in photoshop. Medium. https://medium.com/adobetech/announcing-uxp-in-photoshop-288496ab5e3e. Hall, A. (2014). CEP 5 Super mega guide: Extending Adobe apps with HTML5+Node.js. Andy Hall. https://fenomas.com/2014/08/cep-mega-guide-en. Keizer, G. (2021). What enterprise needs to know about Windows 11. Computerworld. https://www.computerworld.com/article/3623268/what-enterprise-needs-to-knowabout-windows-11.html. Kroker, M. (2020). The smartphone trends 2020: Number of users grows by 300 million to 3.5 billion. WirtschaftsWoche. https://blog.wiwo.de/look-at-it/2020/05/13/die-smartphone-trends-2020-zahl-der-nutzer-waechst-um-300-millionen-auf-35-milliarden. Kuhn, P., & Seibel, K. (2018). Automation: How tough the future will be in the workplace. WELT. https://www.welt.de/wirtschaft/article181553478/Automatisierung-So-hartwird-die-Zukunft-in-der-Arbeitswelt.html. Mahn, J. (2019). InDesign templates automatically filled with content. heise online. https:// www.heise.de/ratgeber/InDesign-Vorlagen-automatisch-mit-Inhalt-fuellen-4548945. html. Neely, A. (2020). Adobe Illustrator arriving on the iPad on October 21. AppleInsider. https://appleinsider.com/articles/20/09/15/adobe-illustrator-arriving-on-the-ipad-onoctober-21. Oracle. (o. D.). What is a digital assistant? Oracle Deutschland. https://www.oracle.com/ de/chatbots/what-is-a-digital-assistant. Ostrowicz , S. (o. D.). Next generation process automation. Horváth & Partners Management Consultants. https://staging.horvath-partners.com/en/media-center/studies/nextgeneration-process-automation. Ostrowicz , S. (2018). Next Generation Process Automation: Integrierte Prozessautomation im Zeitalter der Digitalisierung. Horváth & Partners Management Consultants. https:// success.horvath-partners.com/art_resource.php?sid=1o18m.2ls8fgl&form_EVENTTIT LE=StudyreportNextGenerationProcessAutomation. Panetta, K. (2020). Gartner top strategic technology trends for 2021. Gartner. https://www. gartner.com/smarterwithgartner/gartner-top-strategic-technology-trends-for-2021. Petereit, D. (2020). Update: Adobe Photoshop improves AI-based image segmentation significantly. t3n Magazin. https://t3n.de/news/update-adobe-photoshop-massiv-1291567. Petereit, D. (2021). No download, no app: Adobe brings Photoshop and Illustrator to the web. t3n. https://t3n.de/news/kein-download-keine-app-adobe-1420436.
References
49
photoscala. (2019). Adobe „Sneaks“ give insights into the future of Photoshop & Co. photoscala. https://www.photoscala.de/2019/11/27/adobe-sneaks-gewaehren-einblick-indie-zukunft-von-photoshop-co. Piper, D. (2021). 5 unbelievable tech sneaks from Adobe Max 2021. Creative Bloq. https:// www.creativebloq.com/news/adobe-max-sneaks-2021. Safar, M. (o. D.). Cognitive process automation combines RPA with artificial intelligence. Weissenberg Solutions. https://weissenberg-group.de/was-ist-cognitive-process-automation. Scott, J. (2017). MacOS System 7.0.1 Compilation. Internet Archive. https://archive.org/ details/mac_MacOS_7.0.1_compilation. Shotts, K. (2019a). ESTK and macOS 10.15 Catalina. Medium. https://medium.com/adobetech/estk-and-macos-10-15-catalina-cbcc30300918. Shotts, K. (2019b). ExtendScript Debugger for Visual Studio Code Public Release. Medium. https://medium.com/adobetech/extendscript-debugger-for-visual-studio-codepublic-release-a2ff6161fa01. Smith, C. (2021). What is InDesign. American Graphics Institute. https://www.agitraining. com/adobe/indesign/classes/what-is-indesign. Wendel, M. (2020). The 5 most popular language assistants at a glance. Home & Smart. https://www.homeandsmart.de/smart-home-sprachassistenten.