Blog Archives

Technology—Installers: The good, the bad and the ugly

It seems that developing software installers can sometimes be more difficult than developing the application. Take, for example, installation of the PrintUI extensions into InDesign.

First, a bit of history. (If you are in a hurry, skip down to the recommendations at the end of this blog post.)

Adobe developed a piece of software called Extension Manager which was designed to take care of installation of software which interacts with their creative applications. The theory was great. You create a manifest file which describes what files are supposed to be installed where, and create a ZIP package with all the assets. Extension Manager then puts all the pieces into the correct place. Nice and simple.

Without going into all the gory details, Extension Manager proved to be better in theory than it was in practice. For example, as new versions of the Creative Suites were introduced, Adobe made changes to Extension Manager such as requiring that the ZIP packages be signed for security. And we discovered that some of our users had other issues such as Extension Manager not working properly or not even existing on their computer.

And now Adobe has decided to eliminate Extension Manager starting with CC 2015.

We need to be able to install the PrintUI extensions into any version of InDesign starting with version 5.0, so we decided to create our own native Mac and Windows installers that don’t use Extension Manager. In other words, it works the same way that installers work for most other software applications. Unfortunately, it seems that if you had previously used Extension Manager, it can mess up your system and prevent the native installers from working. But since there’s no documentation on how Extension Manager works, it’s not clear how to fix this problem.

This leaves us with two separate methods of installing our extensions, and neither one is completely reliable.

To make a very long story short, here are our current recommendations for installing the PrintUI extensions:

  • As a reminder, you can download the installers by logging into
  • If you are installing the extension for the first time, use the native installers (with a DMG extension for Mac or ZIP extension for Windows).
  • If you had previously installed using Extension Manager (using the file with the ZXP extension), we recommend using Extension Manager to uninstall and then try the native installer to upgrade.
  • If the native installer does not work, try reinstalling using the ZXP.
  • If you have installed CC 2015 or newer, the upgrade might have removed CC 2014 which can make using Extension Manager impossible. In this case, you should reinstall CC 2014 to enable using Extension Manager. Instructions on how to do that can be found here.


Posted in Installation, Technology, Thoughts  |  No Comments »

Technology—New Features to Make PrintUI More Flexible

We’ve added some other features to make for very flexible workflows.
Liquid Layout

Liquid Layout

Today we have added support for InDesign’s Liquid Layout feature that allows for automatic repositioning of elements when a document changes sizes. When using the PrintUI APIs to request output of any type (PDF, JPEG, or PNG), the output size can be requested at a specific size. Any Liquid Layout settings in InDesign will automatically be applied.

For example, we have been getting requests for this feature from folks who generate advertisements so that they can take the same customized advertising piece and output it in different sizes and form factors to match the requirements of different publications. This is both for print as well as digital output. We’re very excited by the possibilities Liquid Layout enables.

How use Liquid Layout in InDesign is beyond the scope of this post, but we recommend checking out the following links to learn more:


Non-Selectable Objects in an Editable Layer

Until recently, the concept of editable and non-editable objects were very clearly delineated in PrintUI. All editable objects which are rendered in our web app were defined on editable layers, while non-editable objects were always on the background or foreground layers.

This generally works well, but there are times when there’s a need to have a non-editable object sandwiched between two editable objects. By selecting the “Non-selectable” checkbox in the tagging panel, that’s now possible. Any object that’s designated as “non-selectable” will be rendered as any object in the web editor, but interaction with the object is not possible in any way.

An additional use for this option is one that has come up many times when talking with users. Non-selectable objects can be modified using our variable data APIs, but not editable by the end user. There are many applications where there’s a need to prepopulate some text or images, but you do not want them to be editable by the end user. Making the object(s) not-selectable is a perfect way to do this.

Posted in EasyPrintUI, Features, PrintUI Professional, Technology  |  No Comments »

Technology—PrintUI and Morisawa, Inc. Announce Cloud-Based Availability of Morisawa Professional Fonts Library

Now Available via PrintUI’s Web-to Print SaaS based service; First time premiere Japanese fonts have been made available outside of Japan.

September 30, 2014, Santa Cruz, Calif. –PrintUI a leading web-to print SaaS-based service and Morisawa, Inc. the premiere digital Japanese typography company today announced the availability of the Morisawa professional fonts library. The exclusive partnership makes available 1,088 fonts from Morisawa’s library of 37 kanji typefaces, six kana typefaces and 11 specialty and roman typefaces. This is the first time Morisawa’s Japanese fonts have been made available via a web-hosted service outside of Japan.

“Morisawa is the dominant player in Japanese publishing and we are extremely proud to announce this partnership,” said Mark Hilton, founder and CEO of PrintUI.  “Morisawa has lead the digital Japanese typography industry since 1989 with the launch of Kanji Postscript in partnership with Adobe Systems. Morisawa continues to play a leading role in Japan and the design market today.”

Graphic and branding professionals worldwide who have licensed Morisawa fonts, including the popular Morisawa Passport subscription service, can now simply upload InDesign templates incorporating Morisawa fonts. Customers then designate Morisawa fonts as base fonts for end-users to select from within the PrintUI web-to-print client interface. This interface provides marketing and creative teams a fully integrated solution for self-service marketing fulfillment including presentations, catalogs, brochures, business cards, datasheets, ads and more.

“I am truly grateful that our products are being made available as part of the PrintUI service,” said Mr. Akihiko Morisawa, President & CEO, Morisawa Inc. “As a font company Morisawa has achieved, through design and quality, the highest regard amongst professionals in Japan. I am eager to see our advanced technology experienced through PrintUI. Morisawa’s motto is Contributing to society through typography,’ which we are now pursuing by offering superior quality fonts not only in Japan but throughout the world.”

About Morisawa Inc.

Since its establishment in 1924 – the year it invented the phototypographic printing machine – Morisawa Inc. has never wavered from its commitment to undertaking leading-edge research and development in the field of typography. Today the company is involved in development and marketing of typesetting software; development and supply of digital typefaces; sales of Morisawa Document Solution, automatic typesetting, embedded font and cloud font services; and sales and support of input and output editing appliances and on-demand printers.

Posted in Features, News, Solutions, Technology  |  No Comments »

Technology—Updated Handling of Fonts

Quite some time ago, we discovered an issue with InDesign Server related to the handling of fonts. The issue proved to be a real sticky one for us because it made separating client fonts very tricky. We worked out a way around the issue, but it was sub-optimal. We filed a bug at Adobe and we’re happy to say that the bug has since been fixed.

Unfortunately the fix broke the workaround that we have been using for the issue. To work around the issue we have been stripping some font information from templates as they have been uploaded. While this helped in the past, this causes issues with the current installation that we have.

We are now using what we believe to be a more reliable method of dealing with client fonts. We have patched all templates on the server and we’ve released a new build of the panel to address these issues. Please make sure you update your panel to the latest version (3.0.2).

The good news is that going forward, font handling should be smoother.

Posted in News, Technology  |  No Comments »

Technology—New Support for Variable Data Printing

We have recently added some new Variable Data Printing (VDP) APIs to our InDesign Server to allow our clients to programmatically change text and images in a template.  Some examples of ways that these new APIs could be used include:

  • Automatically generate a PDF or JPEG from data with no human intervention.  For example, a company with several stores may need to generate signage from data stored in a digital asset manager (DAM).
  • Make changes based on data associated with an end user, and then show the PrintUI editor so they can make further edits.  For example, after the end user logs in, you know their office location so you can prepopulate the address fields in a template for them.
  • Allow the end user to make changes by using text fields instead of using the WYSIWYG editor.  For example, a template has some tiny fields that are normally difficult to see while editing, so you show them some text fields instead.


The APIs have started out very simple, but will be expanded over time.  The current APIs:

  • Get a list of the text and image frames for a template.
  • Replace existing text with new text.  Several text frames can be changed at one time.  A current limitation is that all of the new text in the frame will use the same style (i.e. no bold, italic, or mixed fonts in the middle of the text).
  • Replace existing images with new images.  Several images can be changed at one time.  A current limitation is that there are no image fitting or cropping controls.  And image replacement works best if the new image is the same type and size as the old image.


Note that since PrintUI is a multi-tenant software-as-a-service (SaaS) implementation, and since we need to maintain high performance for end users that are making edits in real time, these APIs have a lower priority and are throttled to some degree.  Therefore, these APIs are not suitable for cases, for example, where changes are being made from thousands of database records.

If you are interested in using the APIs, please contact PrintUI.

Posted in Features, Technology  |  No Comments »

Technology—Announcing the PrintUI Storefront using Magento and the PrintUI Magento Theme

PrintUI is now offering Magento Community Edition (CE) hosting options, as well as, a PrintUI theme for the Magento CE. Of course, the new PrintUI Magento theme comes fully integrated with our PrintUI Pro subscriptions (Starter, Premium, and Unlimited).

If you’re looking for a general purpose eCommerce solution to integrate with PrintUI Pro we offer a variety of services for integrating with Magento CE for customers who want to host their own Magento store. If you’re building a new Magento CE store we have these options:

- You can do the installation and integration yourself. To assist in the integration with PrintUI we have our Rapid Start kit. This was $300. It’s now free ($0).
- PrintUI will do the integration of the PrintUI Pro service for a one time fee of $999 (plus the PrintUI Pro setup fee).
- PrintUI will do the full service of installing the Magento CE and your Magento theme, and do the integration of the PrintUI Pro service for a one time fee of $1,999 (plus the PrintUI Pro setup fee).

In addition now, we’ve developed our own PrintUI Magento theme that comes already integrated with our PrintUI Pro services. It includes many customization options. We’re offering the PrintUI theme itself at no charge ($0) to subscribers of our PrintUI Pro service. Here are some of the options:

- You can install the free Magento Community Edition (CE) and our theme yourself. We’ll provide you the PrintUI theme at no charge (plus the PrintUI Pro setup fee).
- PrintUI can install the Magento CE and the PrintUI theme for you for a one time fee of $999 (plus the PrintUI Pro setup fee).

For those customers who want the quickest and easiest path to getting started, we now offer a completely PrintUI hosted option, including the Magento CE store itself. The fees listed below are only for the store hosting (i.e., they do not include the PrintUI Pro setup or monthly subscription fees).

- If you want to use the PrintUI Magento theme there’s a one time $299 setup fee plus either $49 per month (low traffic site) or $199 per month (high traffic site).
- If you want to use your own Magento theme there’s a one time $999 setup fee plus either $69 per month (low volume site) or $249 per month (high volume site).

In all cases, if you want a completely custom theme created from your design files we can provide you a quote to create a custom Magento CE theme for you.

Click here for details and pricing:

Posted in Features, News, Solutions, Technology  |  No Comments »

Technology—New Search Feature for Image Galleries

PrintUI image galleries now support the ability to search for images.  This capability can be added to any gallery, but the implementation will vary.  For example, for galleries that connect to a Digital Asset Management (DAM) system, the gallery connector code will usually just call the DAM’s search API to do the search.  Similarly, for stock photography galleries (such as the new Fotolia gallery), an API at the stock photo site is used do do the search.  However, it is also quite feasible to “roll your own” search capability within the connector code for the gallery.  That’s the way that the search capability works for the demo galleries on

For more information, please contact us at PrintUI.

Posted in Features, Technology  |  No Comments »

Technology—Flex != Flash

Flex recently became a top level project at Apache and released version 4.9.0. I’m personally very excited about the project and I’ve seen a lot of confusion and misinformation on the web. Here’s some of facts as well as some of my thoughts on the subject. I hope it will help clarify what Flex is all about for some people.

A Brief History

Flex started its life in 2002 as a framework to develop enterprise applications for Flash. I think this makes it the oldest framework around for web application development. Flex in its infancy actually took on a very different form than what it currently is. It started off as server-side technology. Over the years, Flex evolved greatly, and four major versions were released. By the time that Flex was at version 3.x, it was a widely popular framework for web application development. A few years ago, Flex 4 was created which had a much more sophisticated skinning model and numerous improvements in the framework as a whole.

As most people know, Steve Jobs waged his war against Flash a couple of years ago, and Adobe shifted its focus. Enterprise application development is no longer a focus at Adobe. At least as Flash is concerned, Adobe is concentrating on games and video. Flex was no longer important to Adobe’s strategy, but it was still a highly popular development framework. I think most people would agree that Adobe did the right thing and donated Flex to Apache at the end of 2011. In fact many would argue that Adobe should have donated Flex earlier. It’s important to note that Adobe did not just “dump Flex in Apache’s lap”. There are a number of full time Adobe employees still working on Flex including Alex Harui, the new Apache Flex PMC Chair.

Where Flex is Today

Despite all the talk about Flash being dead, it’s still a very active technology. There’s lots of websites that use Flash to better deliver content. Some can be replaced by HTML5, but some cannot. Simply reciting the HTML5 mantra doesn’t necessarily make a better user experience for users. But let’s ignore the Flash plugin for a moment and pretend it doesn’t exist anymore…

Not just web

When most people think of Flash technology, they think of the Flash run-time that runs as a browser plugin. The fact of the matter is that Flash technology goes way beyond the browser plugin. The AIR runtime is much more powerful and capable big brother to the Flash browser plugin. Being able to quickly write an application and simply deploy across multiple platforms makes AIR a very compelling development environment. No Flash on iOS? What about AIR? I recently had a very amusing discussion with a friend of mine about the feasibility of creating a specific app using AIR. He had a hard time believing that AIR for iOS and AIR for Android could be used for building serious apps. Why does nobody know that all the Adobe touch apps were created using AIR? I blame Adobe for that. Their marketing department leaves what to be desired. They have the most powerful app publishing platform out there, and so many people believe the “Flash is dead” mantra. It’s sad really… But enough of the past. Let’s discuss the future!

Adobe “Dumping” Flex Was a Good Thing!

I’ve seen a lot of popular opinion that Adobe donating Flex to Apache was just the writing on the wall that Flex is dead. The logic of that argument always escaped me. Why is donating a rich project with many followers to a thriving open source organization a death sentence? The fact is, that the donation of Flex to Apache is the best thing that ever happened to Flex. If I’m not mistaken, the Flex mailing list discussions are the most activate of all the Apache projects. For the first time in Flex history, Flex is a true open source community with all the goodness associated with that.

But Flex was always open source!

Well, it depends what you mean by “open source”. It was in the strict sense of the word, but definitely not in spirit. It was open source in the sense that you can see how the components were implemented, crack them open and change them if you so desire, etc. It was not open source in the sense that anyone could contribute. The only way anything could be changed in Flex before it was donated to Apache was by Adobe employees making changes to the code and committing those changes. There have been countless bugs that had not been fixed and countless improvements that could not be made by the community at large.

As part of the Apache Software Foundation, Flex is truly open source. Literally anyone can contribute bug fixes and new innovations. If there’s an itch you’d like to scratch, you can scratch it yourself. Any one of the volunteers would be happy to commit new code, and if you put in enough effort, you will quickly become a committer yourself. In the last year there have been many new committers added who are doing incredible work advancing Apache Flex.

The discussions on where Flex is headed is incredibly refreshing. Flex got a new face, with a new logo, and a new beautiful website which should be live any day now. Of course I haven’t even discussed the innovations going on!

Flex Innovation is Exploding!

There has been a lot of work done on Apache Flex since the donation process started a little over year ago, and the momentum of the project is picking up rather than slowing down. There have been a whole pile of bugs fixed. There were new components donated. There have been discussion on how to improve Flex for mobile including GPU accelerated and 3D rendering. There have been countless stimulating discussions about where Flex is today and where it’s heading. What Flex is, etc.

What is Flex?

A year or two ago, you might have defined Flex as a framework for building Flash and AIR applications. A year or two ago, you might have even been right. But if someone defines Flex using that definition today, they would be totally wrong. A year ago, the future of Flex was totally tied to Adobe and what Adobe decides to do with Flash and Actionscript.

Falcon Compiler

Possibly as significant a donation as the Flex framework itself was the Falcon compiler. Actually, it might be even more significant than Flex itself! As someone so eloquently put it: “If you own the compiler, you own the language”. The donation of the Falcon compiler to Apache Flex is complete and Gordon Smith is currently finishing up the MXML functionality of the compiler. This means that the future of the ActionScript 3 language is in the hands of Apache Flex. The new Falcon compiler is extremely versatile and Adobe even donated a reference implementation of a Javascript cross-compiler based on Falcon. In my opinion, the future of Flex is in the Falcon compiler.

Flex to Javascript and HTML

If this concept is new to you, you have definitely not been following the Flex mailing lists. There’s not one but three different efforts currently going on to cross-compile Flex applications to Javascript and HTML. There are multiple efforts on different approaches to dealing with generating an HTML UI. This includes a new set of Flex components designed to be compiled both to Flash/AIR and HTML. The work on HTML Flex applications is moving at an incredible pace! Two implementations went from concept to a working demo in less than two months! The cross-compilation is being worked on by some really smart guys, and it’s really modular. The plan is to support a wide range UI frameworks, so native Flex frameworks can be supported as well as Sencha, jQuery UI, Google, etc. Another approach possible with the new generation of Flex will be a separation of business logic and UI design as in the Randori approach developed by Michael Labrioli.

This all adds up to an extremely powerful framework for creating HTML applications that can be used across a really wide range of developing requirements. The future of Flex is looking more exciting by the day! We could very likely be using Flex to create full HTML applications before the year is out!

It Goes Beyond HTML

The potential of the cross-compilation approach goes way beyond web apps. The same way the Falcon compiler is already being used to cross-compile to Javascript, it can be used to cross-compile to Java or Objective C. In other words, we could conceivably cross compile Flex applications directly to native mobile apps without the need for AIR or HTML application wrappers.

The dream of “write-once, deploy everywhere” was not quite realized by Adobe Flex, but it very well might be realized by Apache Flex!

Posted in Technology  |  Tags: , ,   |  28 Comments »

Technology—New Year, New Server Architecture

New ServerThe last year has been an awesome start for PrintUI! We’re seeing very good adoption of the service and we’re seeing demand for new applications that put a higher load on our servers. We’re always excited to see the desire to use PrintUI for ever more complex applications.

Performance is Key

We want to make sure our architecture is up to the task of handling the additional load. It’s towards this end that we recently made a number of improvements to the way we handle concurrent use. Previously, we’ve been processing all jobs on PrintUI on a FIFO basis. FIFO stands for “First In, First Out”. To ensure that no jobs clog the job queue, we put in a timeout for any job. Recently that timeout has been 20 seconds. Any job that took InDesign Server longer than 20 seconds to process, was kicked out. For almost all our clients this system worked very well. Due to our efficient use of InDesign Server, most jobs finished in a second or two. The job queue was almost always clear and ready to process jobs, so the service has been very responsive to date.

Recently, though, we’ve seen demand for more complex uses for PrintUI where long and complex documents can take longer than 20 seconds to process. We were also concerned that as our overall volume increases, our clients might not always get the maximum possible performance for their jobs.

We needed to create a balance of offering the ability to process more complex documents, while ensuring that normal document processing was not adversely affected by clients who have more demanding needs.

Here’s What We Did

Multiple Concurrent Queues

First, we have upgraded our server where we host InDesign Server. We have multiple instances of InDesign Server which can process many jobs at the same time. We also implemented multiple queues which process jobs in priority order instead of simple FIFO.

This combined change will make a very noticeable difference in system responsiveness. In our tests, JPEG and PDF results come back at least twice as fast as they used to. There should almost never be any lag at all in job processing, with the average JPEG page preview coming back from InDesign Server in less than a second. We have many times the capacity we used to have and we can quickly add even more processing horsepower should we need it.

Complexity Score

We’ve instituted the concept of a complexity score. A complexity score is a way to tell the PrintUI system how long to expect a specific document to take to produce. The complexity score does a few things. First, it tells the system how long to give the job to complete. It’s necessary to have a timeout for all jobs, to ensure that if InDesign Server freezes for some reason, it is automatically restarted. However, you don’t want the system to kick out a job prematurely, so we use the complexity score to define the timeout. The more complex a document is, the more time we give it to complete.

The second thing the complexity score does is to help define the priority for document processing. The more complex a document is, the lower the priority is. This ensures that simple documents will always be processed as quickly as possible. More on this below.

Lastly, the complexity score defines if there will be additional processing fees. Complex documents can take a significant amount of time to process. This means additional costs to us, and those costs will be passed on to the clients who need the extra processing power. Keep in mind, though, that any document which could be processed by PrintUI until today will not have any additional fees. Although we are still fine-tuning the complexity scores and defining exactly what the processing fees will be, we are seeing that, in fact, even many of the more complex documents will not incur extra processing fees. Once we finish that process, you will be able to clearly see the complexity score at the time you upload a template and all fees will be clearly documented. If you have high-demand processing needs, let us know, and we’ll explain everything in fuller detail.

What This Means to You

A much improved experience!

  1. You should notice significant improvement in the general responsiveness of PrintUI.
  2. You can upload more complex documents without concern that they might time out.
  3. No additional charges for any existing documents. Documents of the type that PrintUI was able to handle until today will continue to work as they have until today. The only fees that will be applicable are for documents that were far too complex to consider using with PrintUI in the past.
  4. If you have a need to process very long and complex documents, that is now possible. You will have clear information on exactly what the costs will be, so you can be prepared before the actual processing is done.


If you don’t have complex document needs, all the business about complexity score is of no concern to you. No matter what your needs are, you will benefit from the more robust architecture we’ve implemented. We’re very excited about this development. It makes us even more prepared for the future expansion of PrintUI!

Posted in Features, Technology  |  No Comments »

Technology—Why Flash?

Flash has gotten a lot of bad press over the past couple of years. Without getting into ideological discussions, we wanted to explain why we chose Flash as the technology we use for our web app.


Posted in Technology  |  No Comments »

Technology—Our Philosophy

There are lots of web-to-print and web-to-web solutions out there. Why do we think ours is the best? Here’s some insights into our philosophy that went into creating our solution.

Posted in Technology  |  No Comments »