
Creating a Virtual Printer Using Node.js [video] - watson
https://www.youtube.com/watch?v=58Ti8w1yX2w
======
ackfoo
It would be so helpful if the author would make a simple statement at the
beginning of the video about what this does and why it is useful. Over ten
minutes into the video, we have no idea. Read the project description on
Github, still no idea.

Why not start with, "This project creates a virtual printer that advertises
itself with Bonjour and writes a postscript file to local storage." Follow
that with a simple statement about why that is cool and what you can do with
the file, which is still not apparent.

Obfuscation has become the norm.

~~~
watson
Would a better description under the video on YouTube help, or would you want
me to have mentioned it on a slide?

~~~
sabujp
put the desc under the video

------
brudgers
Github: [https://github.com/watson/ipp-printer](https://github.com/watson/ipp-
printer)

~~~
watson
Here are the rest of the links:

[https://github.com/watson/ipp-encoder](https://github.com/watson/ipp-encoder)

[https://github.com/watson/printcat](https://github.com/watson/printcat)

[http://printb.in](http://printb.in)

------
nicky0
Is this any different to "Save as PDF"?

~~~
watson
Save to PDF would just give you a PDF. The idea here is that you can do
whatever you like with the print-job as long as you can program it. So print
to PDF is just the most simple example.

I mention a few low hanging fruits in the talk like "print to bookkeeping" \-
but that's just one use-case. Consider that you can use it as a printing proxy
and divert jobs to different printers or implement an authentication system or
a payment system before printing. There are a lot of options...

~~~
tracker1
Print to bookkeeping is actually a pretty brilliant idea... I'm planning to
start doing itemized taxes for the coming year, and this could be useful as a
basis for capturing receipts... Combined with cloud print... snap a photo of
the receipt on my phone, print to bookkeeping, sort it out later.

Might even be able to combine with GPS info in the image to log where the
receipt is from, etc.

This could be a pretty decent idea for adding to online bookkeeping
services... so that you can tag receipts, for tracking the taxable portion of
them, etc.

Advance print queues for printing services could be another thing...

~~~
vbit
How is that better than 'print to google drive' from chrome or android?

~~~
tracker1
The printer endpoint could be integrated into a web-based accounting platform.

------
blisterpeanuts
I've just recently discovered NodeJS -- heard about it for years, of course. I
was able to create a web server for one of my group's web apps in about 5
lines of code. It's a bit weird to wrap one's mind around it at first, but
then it starts to make a lot of sense.

This IPP server is cool, though I'm not sure what uses it has yet. Maybe just
a handy way to print to disk without having to choose a folder and file name.
Or use as a proxy to redirect print requests to different printers depending
on size or type of print job. Or a way to queue up print requests until off-
hours. This is just off the top of my head and I'll bet there are other cool
uses as well.

------
creshal
Printers and Javascript, a match made in hell.

~~~
wavefunction
JavaScript is great. I do enjoy all the posts about how it sucks. First it was
a toy language. Now people complain that it's a weakly typed language
replacing strongly-typed languages they prefer... I'm interested to see the
next iteration of this phenomenon.

Meanwhile I just enjoy developing in it every day. Other than having to
maintain the odd ExtJS app, it's simply the best. _cue triumphant sax_

~~~
diek
Just out of curiosity, what other languages do you have experience with?

~~~
wavefunction
C++, Java, Groovy, C#, Perl, Python, PHP, Ruby, Smalltalk, Objective-C, *86
Assembly, and played around with Go, Swift, Lisp and Haskell

oh, and Visual Basic!!!

I didn't say JavaScript is all anyone needs for every situation, just that
it's great imo.

------
mrweasel
That had absolutely nothing to do with making printers great (again).

Printers suck a putting stuff on paper, doing a digital copy via a printer
protocol doesn't fix that. It's neat and there might be some interesting use
cases, but it doesn't fix what's wrong with printers.

I'm not even sure that printers where ever that great. Printers seems like
devices that sort of peaked 40 years ago. Since then they have gradually
decreased in quality. Printing 1000+ pages a day seems to be a little much to
ask from many printers, they simply wear out to quickly. The whole process of
looping paper around inside something that fits on a desk (sort of), combined
with cheap plastic parts is a receipt for disaster.

Software-wise the manufacture should stop trying to add more feature that no
one while ever use and instead work on making "cancel print job" actually
work. The number of times a printer (driver?) has chosen to pick the wrong
paper-tray is mind boggling. Why are there even multiple trays, we only ever
need to print on standard A4 paper? Sadly picking a printer where the hardware
quality will support the volume also result in feature bloat.

I really hate printers, and no amount of Javascript will make them any better.

~~~
DanBC
> I'm not even sure that printers where ever that great. Printers seems like
> devices that sort of peaked 40 years ago. Since then they have gradually
> decreased in quality. Printing 1000+ pages a day seems to be a little much
> to ask from many printers, they simply wear out to quickly. The whole
> process of looping paper around inside something that fits on a desk (sort
> of), combined with cheap plastic parts is a receipt for disaster.

If you get an old LaserJet they're industrial beasts. But no-one wants to pay
money for a printer, so we end up with two markets: the very expensive, but
good, professional printers, and the domestic horrible printers.

If you're printing 2 reams a day you can afford to invest in a decent printer.

> Why are there even multiple trays, we only ever need to print on standard A4
> paper?

You only need that. A bunch of offices need to print on A4, and C5 envelopes,
and sometimes A5 and sometimes on labels.

~~~
marincounty
I would pay for a quality printer. Something along the lines of Epson EcoTank,
but it's going to take some time to heal my printer wounds.

The printer needs to be well built. The printer needs cheap ink, and no
chipped cartridges, the ability to use generic ink, and ink cartridges that
don't dry out. Then, and only then will I spend a lot on a printer.

The printer industry seems to have shot themselfs in the foot while being
clever with chipped cartridges. People realized they don't need to print? I
have a Epson r2400 collecting dust. I just got tired of paying over a hundred
dollars for their pricy ink.

I am now so used to not printing; maybe I'll never return?

~~~
tracker1
If you go color laser, you'll probably have a better experience...

------
mtharrison
This is really cool

