Printing on legacy applications

Give a new dimension to legacy applications* with smart printers.

There is a countless number of PC applications nowadays. Just search in google the word software and results are millions. There are numerous applications on every PC, word processors, spreadsheets, e-mail readers, applications suitable for keeping your financial data, applications that generally serve our demands.

Many of them use the latest technology, and some others are rather old, sometimes so old that were created a long time ago before www or e-mails. These applications might be not very technologically advanced, however they can develop new potential, since they have one common point, one exit gate to another world!

This gate is simply the command “Print”

Up to nowadays, we use the command “Print” just to print -make an impression of- data on paper and we are still using it in that way. We will present you how a PC user can do much more with the same command and give a new dimension to legacy applications.

Let’s see an example:

A company that repairs electric devices has several technicians that visit daily customers. Each technician has a spare part data base on his laptop  that can use it to search spare part codes. After his visits and on-field malfunction diagnosis, he can go back to his office, make the required orders and inform the customer about the order status, and arrange a new appointment to solve the problem.

The application that is on his laptop allows the user just to search the required spare-parts, chose them, print them on paper, so that the codes can be sent by fax, or can be copied to an e-mail and sent to the relative department.

The above mentioned procedure demands many tasks to be completed by the user, and that multiplies the possibility of a human mistake. Moreover, of course all these typical, nonproductive, everyday tasks make the technician spend a lot of his valuable time.

  • How could we speed up all that procedure? 
  • Is there a technological way?
  • Can we upgrade the legacy application so that the work flow is easier and quicker?

All typical applications, such as the one we described, have a common practice to print the contents.We can give the user the potential to “print” by using a smart printer. By installing a smart printer we can solve the problem as follows:

  • The user does not change his habits and follows the same procedure to choose-and make the spare part order
  • He prints the order through the smart printer and the following tasks are magically performed.
  • The content of the order is received at the same moment by the warehouse and order department. 
  • Quantities and values are confirmed. 
  • The client receives an e-mail that informs him of the spare part delivery time, the required service time, cost and other relative information

Note that :

  • The user did not have to go back to his office and make the order.
  • He avoided any telephone or other type of contact with the department in charge.
  • He avoided wrong typing and/or fax sending.
  • The customer was immediately informed.
  • He renewed his service appointment at the spare part delivery time.

And all that without any upgrade or refactoring of the legacy application, just by installing a smart printer and let your legacy application print on demand.

 *Note: In information technology, legacy applications and data are those that have been inherited from languages, platforms, and techniques earlier than current technology. Most enterprises who use computers have legacy applications and databases that serve critical business needs. Typically, the challenge is to keep the legacy application running while converting it to newer, more efficient code that makes use of new technology and programmer skills. In the past, much programming has been written for specific manufacturers’ operating systems. Currently, many companies are migrating their legacy applications to new programming languages and operating systems that follow open or standard programming interfaces. Theoretically, this will make it easier in the future to update applications without having to rewrite them entirely and will allow a company to use its applications on any manufacturer’s operating system.
In addition to moving to new languages, enterprises are redistributing the locations of applications and data. In general, legacy applications have to continue to run on the platforms they were developed for. Typically, new development environments account for the need to continue to support legacy applications and data. With many new tools, legacy databases can be accessed by newer programs.


Why is printing so hard?

Ed recently bought a mildly used laser printer and wanted to set it up on his home network.
In a better world, this would be a trivial exercise — just connect the printer to the network and let the computers discover it. As he said, in the actual world, it was a forty-five minute project that only a reasonably handy network jockey could have hoped to complete.

If you care about what exactly he had to do, see below.

John Hartman says, “Printing is the hardest problem in computer science.” It often seems that way. But why?

Plug-and-play printing seems pretty simple, compared to many of the things that computers do routinely without trouble. Granted, it’s not trivial to get the full variety of printers to work with the full variety of computers, but our collective failure to do so is — or should be — surprising.

There must be some lesson here about engineering, or human nature, or something. Lately I’ve gone around asking people why printing is so hard. I’ve gotten some interesting answers, but I don’t think I really understand the issue yet.

What do you think? Why is printing so hard?

For the record, here’s what he had to do to get his newly acquired printer working on his home network:
I plugged the printer in to our network, but the Windows PCs couldn’t auto-discover the printer. I Googled the printer’s user manual, which said the printer had a built-in webserver. But I didn’t know the printer’s IP address, so I had to log in to our router and look at its DHCP tables. Knowing the IP address, I could connect to the printer’s webserver, which had a page telling me what URL to use for IPP printing. (I had to know what IPP was.) After that, I assigned the printer a static IP address, so the IPP URL (containing an IP address) would keep working across reboots. Now that I had a stable IPP URL, I could set up the PCs for printing. Finally, I had to guess which of driver to use on Windows — two drivers were offered, with no advice about which one to use, but only one of the offered drivers supports duplex printing. Total elapsed time: about 45 minutes.

*the above printer fairy-tale was taken from here.
What do you think at all ?
Is the right season to tell printer to make a cup of instant coffee?

Project po.printer on the way…

Pictures and photos, can be automatically managed when printed!*

How often do we have to perform repetitive tasks every day to manage our digital content effectively?
How often do we follow boring procedures to prepare our tools and desktop to achieve the above mentioned result?

Now you can just print* your content and voila!
Manage your digital content on the fly!

Try po printer!

* Paper is not required :)

Mission : Print to Dropbox

So, you have read a lot about smart printers technology.
Is there any example?

We have create a simple and practical example combining smart-printers technology with Dropbox web service. It demonstrate the smart print technology by sending everything you print to your Dropbox folder.

The following is required to achieve the above mentioned result:

Step-1: Create a dropbox.printer account.

Step-2: Adjust the printer by filling additional dropbox parameters.

Step-3: View your printer queue monitor.

After having done the above mentioned acts, you can install the printer to your pc as a native network printer. As soon as you have finished with the installment, use your printer as usual.
Print some documents!
You will receive the result of your print to your dropbox filesystem.

NOTE: As far as the printer driver is concerned, please, for demonstration purposes, use the Generic/Text Only printer driver and print simple texts to the dropbox.printer. A use of another printer driver would lead to false result 

This simple smart printer example presents one of the many uses a smart printer can have.
Its smartness can expand with the use of a file detection system and a system of automated archiving or anything you can think that will make your life easier.

If you like our example and you have an idea where our smart printer technology can have an application for you, please mention your idea in the comments or notify us using the contact form.

Click here to create a dropbox.printer.

Printer as Middleware

What is Middleware?

According to Wikipedia:
“In its most general sense, middleware is computer software that provides services to software applications beyond those available from the operating system.
Middleware can be described as “software glue”. Thus middleware is not obviously part of an operating system, not a database management system, and neither is it part of one software application. Middleware makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application”.

According to the above mentioned definition, middleware:
Offers to an application extra capabilities that the computer’s operating system or the application itself don’t have.These capabilities are beyond those available from the application per se or the operating system.

Since smart-printers technology, can be remotely used as web service, as a virtual part of a software application, -not existing into operating system or into a database- then, we can say, that smart printers technology matches the above mentioned definition, as far as that point is concerned.

However a printer doesn’t exist only for one application.
Usually all software applications that co-exists in a computer, have access to printing process.

The printing process, can function as a “glue” between different software applications.

A typical software application has built-in mechanisms,
so that all its parts communicate successfully with each other and function properly.
But, what happens when software applications are created by different vendors,
and these unification mechanisms don’t exist?

In such cases of heterogeneous software systems, that often coexist in a company’s information infrastructure, programmers and consultants invent various ways to make independent software applications communicate with each other.
Many middleware technologies, usually very complex, can perform that, however they require in-depth application modifications and sophisticated technical teams to support it.

Can all these procedures be simplified?

With smart printers, middleware operation can be seen from a different point of view.
Given the fact that a smart printer can perceive the source of data and the data per se,
it can function in the following simple and smart way.

The printing process of a software application extracts some data from the application. These data can be inserted as input data into another application.
And data insertion into that application can trigger another insertion into a third application, etc…

In our case, the common point is nothing else but the command “Print”, which sends the required data from one point to another.

Moreover a software programmer has the ability, through a sophisticated method,
to use a “silent” and repetitive printing process through the software application itself.

In addition, many printers can coexist in the same system and, depending on their configuration, they can be chosen in order to achieve the interactivity of two or more totally independent software applications.

The fact is that the printing process ability exists in almost all software applications available. Therefore, meaning “software glue”, can describe perfectly our technology that utilizes a simple intercommunication process. Just as simple as printing to a printer device.

So smart printers can be configured to act in a way that -according to middleware definition- makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application.


Print as web service

As you might already know, there are many examples of printers that are not next to your computer, or they are not even in the same building, where you can send to print successfully, since the printer share recognized from your PC.

These are remote printers that communicate with your computer through a network such as LAN, WAN, etc.

Therefore, if you send to print to remote printers, there will be a print, regardless of whether you see or receive the final result.
The typical result of the above mentioned procedure is a piece of paper with a print on it.

Another situation is virtual printers.
Virtual printing is also applicable to special printers that, for example, convert Microsoft® Word documents to Adobe® PDF document format.

In our case, like virtual printers, you can configure a smart printer in such a way that the application manager can determine the result of the print.

It is a web service printer that you can control so that it formats the result of your prints.

A smart printer checks the content of a print and according to it, procedure steps, based on preset rules,are followed.

Here is an example

About documents

Whatever is printed from computer to any kind of printer, it usually exists as a digital file stored on computer.

The term “document” is general . Usually in the past, it referred to symbols, images and words, which were on a piece of paper.

When it comes to “digital documents”, we can characterize them as “Files” and, more accurately, as  “Digital Files”.
Digital Files can be texts, sketches, photos, music, movies, etc.
Many of them can be printed, usually on paper.

However, not all kinds of digital files are printable.
For example, a digital file that contains sounds of a pop song or the sounds of an opera, can’t be printed.

So, some digital files can be printed and some can’t.
And even if we tried to print on paper the non-printable files, the result would not make sense.

In our technology all files are potentially printable.

And that is possible, because all information that files contain, is not sent to printer to print them on paper, but to edit and to convert it through the printing process.

So , information that  files contain becomes important for its process.
Every document print is a transformation.

A typical example of such a digital print, that is already widely used, is the conversion of a Microsoft® Word document to another type of document, Adobe® PDF.
Since digital documents are commonly sent in PDF type, this process is often.

The above mentioned process is a transformation, however the content itself doesn’t affect this transformation.
Contents remain the same, the computer program that is responsible to show us the contents, changes.

In our technology the content of a document can determine its transformation.
For example and theoretically, a “smart” printer could, if given the order by the user, print an audio file, in the form of sheet music.

To a smart printer, content gives meaning to a document.
So, content , based on rules that we have set, determines its behavior and its course.

A smart printer can be configured to do it.

Let’s imagine, when I send documents for printing, I want the following to happen…

  •  If I have an image file, it should be stored on my computer,  it should be e-mailed to John and simultaneously be stored as backup file to a second folder.
  •  If I have a text file that contains word “colleagues”,   it should be simultaneously be stored on all colleague’s computers.
  • If a file contains a mathematic formula,  it should be calculated and the result should be sent to all my colleagues.

There are so many examples and applications that smart print technology can handle.
Using smart printers, your digital documents, are alive.

Intoduction (Think before you print)

The history of computing is interwoven with the command ‘Print’.
Since the very beginning of digital computing, one of the basic needs is to create, edit and print documents.

During the evolution of traditional printing technology to the new digital era, the result of printing process didn’t evolve.The result is usually the presentation of documents on  paper.
This process survives until today and it is known as “Print”. However printing digital documents  on paper costs.It costs more than its digital storage and digital screen’s view.
It doesn’t produce profit, since its use is limited to traditional archiving and causes decrease in natural resources.

There is no reason to archive papers anymore. Information can remain in its digital form.
What we need is a new way of “printing”.

What should happen in order to achieve such a transition?
The application of a new “printing” method should be able to produce more results.
And that can happen, without necessarily having to change our habit to print as we do nowadays.

Our technology allows us to print in the same way as we are used to.
Additionally, many more tasks can be performed faster and easier.
Since we can determine the behavior of our printer, our printer will be able to process our print in an easier and more profitable way.

The known phrase “Think before you print” which, of course, is referred to the user, could be transferred to our printer, so that the printer itself , as a smart device, should think what it should do when it is given the order “Print”.