A New Approach to Printing
Thursday, April 15, 2010
When we demonstrated Google Chrome OS last Fall, a few folks asked us how it would handle printing. Today we wanted to give developers a little more insight into our approach for printing from Chrome OS and other web-connected platforms.
While the emergence of cloud and mobile computing has provided users with access to information and personal documents from virtually any device, today’s printers still require installing drivers which makes printing impossible from most of these new devices. Developing and maintaining print subsystems for every combination of hardware and operating system-- from desktops to netbooks to mobile devices -- simply isn't feasible.
Since in Google Chrome OS all applications are web apps, we wanted to design a printing experience that would enable web apps to give users the full printing capabilities that native apps have today. Using the one component all major devices and operating systems have in common-- access to the cloud-- today we're introducing some preliminary designs for a project called Google Cloud Print, a service that enables any application (web, desktop, or mobile) on any device to print to any printer.
Rather than rely on the local operating system (or drivers) to print, apps can use Google Cloud Print to submit and manage print jobs. Google Cloud Print will then be responsible for sending the print job to the appropriate printer with the particular options the user selected, and returning the job status to the app.
Google Cloud Print is still under development, but today we are making code and documentation public as part of the open-source Chromium and Chromium OS projects. While we are still in the early days of this project, we want to be as transparent as possible about all aspects of our design and engage the community in identifying the right set of open standards to make cloud-based printing ubiquitous. You can view our design docs and outlines here and we hope you stay tuned for updates in the coming months.
63 comments:
Sebastian said...
That's nice, but when will Chrome have a "print preview" option?
April 15, 2010 3:45 PM
Dave Johansen said...
Cool idea, but even putting privacy concerns aside, something about shipping a print job off to the cloud just to be sent back to my printer in my house seems unnecessary and wasteful.
April 15, 2010 4:16 PM
leesoft said...
so it is printing proxied through web, like a web proxy specific for printing jobs?
April 15, 2010 5:07 PM
ssokolow said...
I have to agree with Dave. This seems sort of like a Microsoft/Apple-style "doing it our way rather than the right way" move.
(with PubSubHubbub being an example of a more "right way" move thanks to its decentralization and fat pings)
April 15, 2010 5:46 PM
StartBreakingFree.com said...
I don't think there is anything wrong with sending a print job through the cloud - Google has basically bet their entire company on the cloud, and theres little doubt it's the future of computing at this point. Don't let the haters get you down guys! :)
April 15, 2010 6:16 PM
VicBerggren said...
Is that so it can come back with adwords embedded in the print job?
April 15, 2010 6:26 PM
Michael said...
It would be nice to run some AJAX/Java on the client to figure out if you're on the same LAN as the printer and have an option to bypass putting the job in the cloud, which, I assume will save the print jobs for future reference:)
April 15, 2010 6:34 PM
ssokolow said...
@StartBreakingFree.com: Actually, the amount of doubt as to whether "the cloud" is "the future of computing" depends on what segment of the market you ask.
As for there being something wrong with Cloud Print, I don't consider myself a hater (even in the most tongue-in-cheek sense of the word) but I do think it's a little silly to send your print job from one side of the continent to the other and back again just because nobody in the Windows, Windows Printer, and mobile computing sectors are willing to invest in sticking a good UI, a roaming service or two, and a bit of polish on top of the CUPS + Zeroconf combination that Linux and Apple are continuing to develop.
Among other reasons I don't like cloud services, as a user, I don't like having my potentially unstable DSL as a single point of failure for non-Gears/AppCache operations and, as a developer, I don't like losing a ton of time tuning my app to work around performance issues in the browser related to pushing large amounts of data around. (Though, on the other hand, I do love the ease with which custom widgets can be created)
April 15, 2010 6:44 PM
Bliss is This! said...
I believe this is the right move regardless of what we would like to believe we will need the option to print.
April 15, 2010 6:45 PM
roland said...
daah... azyeh geraat, pah heh chiyah? chaap khooneh min abr?! moh namfahmom.
Confused in Shooshtar.
April 15, 2010 6:49 PM
Cubanlinks said...
This is so ridiculous, it's almost worthy of an April 1st post or a TheOnion article.
The driver problem is real, but the solution is much closer to Dave Winer's plea for a "HTTP-scanner":
http://www.scripting.com/stories/2010/03/11/stillWaitingForMyHttpscann.html
What we really need is a modern protocol for printing that all major vendors implement and that leverages all of the goodness of standardization and network-awareness.
April 15, 2010 6:55 PM
antimatter15 said...
From what I understand, It's certainly a bit disappointing.
As Chrome OS doesn't have its own printing stack, I thought that there would be some kind of Google Printer Server Farm which has VMs which would convert PDFs into instructions to sent over USB to the printer.
From what I understand, Chrome OS won't be able to use the printer that one plugs into the device (I'm talking about legacy devices, which is the only type which is forseeable in the near future).
I would like if a federated email or wave-type system was made, so it would be less tied to a Google Account so much as tied to individual printers each delegated to a certain (or more) addresses in the cloud, for instance, I should be able to give my printer a print address like antimatter15-home-ml2050-monochrome@googleprint.com and print based on if I've been given permission by the delegated server. I would imagine that it would be considerably more open.
April 15, 2010 8:04 PM
Michael Brophy said...
This Google Cloud Print is a folly -- they can't support printer drivers on Chrome OS because they don't have the maturity of partnerships and OEM ecosystem that Microsoft has cultivated over the past 20 years.
Not to mention Google just wants to turn everyones printers into another advertising outlet -- like fax spam from the 80s and 90s.
April 15, 2010 8:09 PM
DJ INI said...
Got some haters up on the Google blog today.
A couple things: At face value this sounds like a pretty cool solution to a common problem. I can easily picture how nice it would be to be able to print from any internet-connect device to any printer with the proper permissions. Imagine being able to print at a friend's house or to a different printer simply by sending the job for approval (or whatever).
I can also imagine how useful it would be to print from an iphone to my local printer or a public printer without any hassle.
And to ssokolow: This isn't our way or nothing, it's much more like: "Here's our best guess on a way to approach this problem, here is how we did it, suggestions please."
Apple's solution would be: "here's our solution, don't you dare try to come up with anything way to do it, or try to duplicate our functionality"
Microsoft solution would be to copy the most popular solution in the marketplace by making them extremely similar but totally in compatible.
And do you think either Apple or Microsoft would announce an open API before they shipped? I think not.
April 15, 2010 8:46 PM
ssokolow said...
@DJ INI: You have a point.
Still, before I fully concede, I'll want to find some docs explaining what they thought was wrong with ideas like extending CUPS to support federated roaming instead... and supporting Internet-disconnected ChromeOS LAN printing that way.
(As I understand it, CUPS supports running the drivers on the print server and just taking generic postscript over the network so a Windows proxy could be written which exposes an appropriate daemon on top of Windows-only drivers. It'd also mean that much less work would need to go into supporting Cloud Print on Linux and OSX if it was some CUPS patches)
April 15, 2010 9:16 PM
Karthik Srinivasan said...
This seems to be straightforward, brute-force way of doing it. Not that I have an alternative solution but I was expecting some sort of 'magic' to come out of Google on this :)
April 15, 2010 9:48 PM
Gadarian said...
have to say this sounds very cool. One of those ideas when I first read it that immediately made sense. I can't speak to the technical aspects but from a user POV this seems to be a great solution and also extremely useful.
April 15, 2010 9:59 PM
Gershon Alon said...
I like the idea. And if Google will base the API on the print-industry standard from cip4 (www.cip4.org) I can see some very interesting commercial usage for this too.
April 16, 2010 12:01 AM
Qbranch007 said...
Never mind the Cloud and wot not!
Lets have the basic print preview & page setup in Chrome first Guys!!
April 16, 2010 12:34 AM
allanwith said...
As expected a great idea way ahead of its time. I applaud google for daring to think different. If nothing else this might finally spur other standardization efforts.
Now how about power concerns? Won't I spend a lot more energy on a print job this way? Especially on my legacy printer connected to Windows PC, which would have to be turned on, besides all of the routers and cloud serves a print job would have to go through?
I'm concerned about privacy as well, but not any more than with gmail. Will print jobs be encrypted I wonder?
Thank you for innovating!
April 16, 2010 1:26 AM
BengaluruBlogger said...
HP has already done this with their new generation printers, which hit the market already
April 16, 2010 1:52 AM
Kroc Camen said...
POSTSCRIPT. This problem was solved in the 70’s. How many more times is the world going to be hampered by obtuse printer manufacturers who insist on hitting users with the brand hammer so they can sell overpriced cartridges and install spyware on their machines.
Google are going to have a much bigger fight with printer manufacturers by cutting off their access to abuse the user.
April 16, 2010 4:18 AM
Tom said...
It would be great if you could print a letter on the printer belonging to the recipient rather than posting.. Is there much call for this sort of thing, we have fax and email already..
April 16, 2010 4:39 AM
mcsquare.me said...
nice feature for chrome.
April 16, 2010 5:16 AM
Paul said...
Sorry perhaps I'm missing something here. I would really love this to work.
It seems like one of those "great in theory" but a little unrealisitc at this point in practice.
The biggest problems as I see are:
1. I don't know about you but when I monitor print jobs you are often talking about 100's of MB. Seems a little unfeasable to send that from Australia to the USA and back just to print, at least with current DSL connections.
2. What if you DSL drops out, like many do. Not sure what a store is supposed to do when the DSL drops and their POS PC needs to print an invoice.
3. I assume to make it simple for end users, and get around port forwarding on routers etc you would have the printers connect to the google print cloud, not the other way around?
Depending on the final details I suppose number 3 could be solved either with a print adapter to network and drive USB printers.
I suppose, the simpler option (and I assume the one that you are thinking), is that the printer would still plug into the PC but the file sent to the printer would really only be formatted in the cloud? So the pdf, etc, would be sent to the cloud and the cloud would convert/format it for sending to the specific printer. If this is the case it assumes that you are still creating the printer drivers/formatters in order to drive the "cloud". Why not just push those out to the PCs?
Sorry that was so long winded.
April 16, 2010 5:38 AM
Michael K Pate said...
Libraries have been trying to find a really good wireless solution for a while. They are out there, but all of them have been a bit cumbersome for the end-user.
Hopefully, this will help sort this out.
April 16, 2010 6:10 AM
Abhi said...
I think it is next step in printing, it opens up so many possibilities. I want to connect to the internet all the time.
But question remains same if there is no internet connection, I have printer at my home and a document to print, I cann't do it without internet?
I hope google provides a cashed version of my favourite printers in chrome OS, even if I am offline, I should be able to use it?!
I know the Answer -> I have to wait and see :-)
April 16, 2010 6:19 AM
Arun said...
Isnt this like connecting your handsfree device to your cell phone over the cloud? If a user needs a printout, in most cases he/she is close to printer. shouldn't existing communication technologies be able to handle this?
April 16, 2010 6:59 AM
Groovechicken said...
What I'd prefer to see would be for all printing in Chromium to simply create a PDF that gets stored in a special "Print Queue" folder in your Google Docs account. Then, all we need is for some company to start making Google connected printers that simply ping out to that folder in your Google Docs and print whatever it finds there. No drivers or printing servers required. Of course, we would need to use OAuth or something to give permissions to the printer without having to save our all-important Google passwords into the printer. Pretty clean solution, right? So, Google gang, if you want to hire me as a new "Creative Solution Brainstormer", you know how to find me. ;)
April 16, 2010 7:22 AM
tommyla said...
to make Google Cloud Print sucessful, we need windows based *fake* print device drivers something like PrimoPDF does when it creates pdf out of printing. http://www.primopdf.com/index.aspx
instead of creating pdfs, Google Cloud Print Driver should send it to printer
that way all legacy applications will automaticly work with Google Cloud Print :P
April 16, 2010 7:50 AM
Les said...
You better get security right. The backlash you will get the first time somebody prints their taxes to the wrong printer or someone intentionally spams the wrong printer will be insane.
April 16, 2010 7:55 AM
Jose Luis Camere said...
Hey Chrome guys. Your sw is great and very fast. Don´t waste your time in discovering how to print. HP is great in that. Partner with them.
April 16, 2010 8:02 AM
the clairvoyant said...
We have similar cloud based printing system in place at my alma matter
http://print.ncsu.edu/
have a look and if it could be of any help you can even talk to the guys who implemented it
It is a very convenient service
April 16, 2010 8:16 AM
mack said...
embed the driver and all this other junk on the printer. the source device should only be concerned with finding, connecting and submitting to the target device.
April 16, 2010 8:58 AM
Mike said...
I think the real advantage here will be to improve printing for documents already in the cloud, especially to get them formatted properly to use the specific printer's capabilities (which can vary widely). Each printer would have its own local web server to replicate the services offered by cloud-based printing to prevent transferring the 100MBs of data around the world unnecessarily.
April 16, 2010 9:20 AM
Ryan said...
I see a lot of people making the mistake of not understanding 'the cloud'. They are talking about 'sending documents from my computer, to google, and back' - that's wrong. The documents *where never on your computer*, remember they are up in the 'cloud' already at google and google just has to render the job and send it to your printer.
Also everyone talking about just loading CUPS with chrome seem to be missing the whole point of the OS, to be just a browser. CUPS expanded with all its drivers would be about 100MB, for an OS that is to be installed on machines without hard drives - space matters.
April 16, 2010 9:26 AM
chrishillman said...
I think this is great! The print stack on a computer is as useful as the modem stack or some other depreciated interface. I print once or twice a month and that is usually to sign paperwork to then scan back in and email. I used to have a photo printer but now I print to Wal-mart for that. I can't see printing all my documents to Kinkos, so it is more efficient for me to have one old computer next to my printer with a client that downloads jobs from the Google Cloud print queue and prints them. Kudos, keep working on it!
April 16, 2010 9:28 AM
Jeff Chapman said...
The Linux community is on the edge of its collective seat waiting for the Google laptop and/or tablet. They're hoping Google can do what no one else has yet managed; bring (a) Linux OS to the masses.
I don't know why Google opted to ignore CUPS and I feel this omission is a shot in the foot for productivity. I understand there are a ton of printers out there and it's sometimes a nightmare for users to connect to these machines (even with Windows or Mac).
I understand Google wants to simplify the experience... who knows - maybe it'll work. I'm just afraid a lot of potential Google computer buyers will consider "no local printing" a deal-breaker.
April 16, 2010 9:30 AM
SkinnerBox said...
I am happy that Google is pursuing this for no other reason than I'd like to get all of those scads of printer drivers off of my computer and onto (into?) the cloud. It's just wasted space on my desktop.
April 16, 2010 10:40 AM
GCU Prosthetic Conscience said...
IPP? PostScript? Aren't these already solved problems? Hopefully Google will build on top of these rather than reinventing the wheel.
April 16, 2010 11:11 AM
deux said...
wait, so if I don't have an internet connection, I can't use my printer? Awesome! Always dreamed of that!
April 16, 2010 12:47 PM
Trylks said...
I don't get it. If you send it to print to the cloud, will it rain back to you? How can you get it back?
April 16, 2010 12:52 PM
Robert said...
This could take over fax machines. If you have a printer, you can get a document from anywhere. You don't have to buy a fax machine, set it up for the office, worry about who else is using it if you're waiting for a fax. The document just goes straight to your printer. If you're waiting for a fax but want to go home, you can have it forwarded to your home printer.
Same with print jobs, if you need a document and your not at work you can have someone print it out for you and send it to where you are.
April 16, 2010 1:26 PM
none said...
Isn't this a way tp get Android phones the ability to print stuff?
April 16, 2010 1:41 PM
nizam said...
very very wasteful. if you are developing a new communications protocol for printers to adapt, why won't you use the same protocol over LAN rather than cloud? What is the exact benefit of the cloud here? I see none.
April 16, 2010 1:47 PM
Craig said...
So I guess I'm stupid:
How does the print job actually get into the USB/ethernet printer? There has to be some computer program running on a computer that "catches" this print job from the Print Cloud, prints it, and then reports that it's finished. (And no doubt does countless other "fringe case" stuff like dealing with running out of paper, paper jams, etc.)
Have I got that right?
Is the idea that everyone with a printer installs this program and lets it run in the background?
Ergo, this Google "Meta Printer Driver" is going to be a mo-fo. Making that work with all kinds of printers and OS'es? Hoowee! Big props to whoever pulls it off for real.
(And let me guess: If Cloud Print gets traction, all ethernet printers will start supporting it natively, in which case hot dog.)
April 16, 2010 2:52 PM
Josue said...
Great idea guys but I want to highlight some things here:
-This will push printer manufactures to use universal drivers. And if this doesn’t happen it would be a good idea to have a driver repository in the cloud in which I just connect my printer and the driver is downloaded and installed automatically
-Be able to do social printer for example be able to associate GPS location awareness of a printer and be able to search for printers nearby so if I am at school I can go right ahead send my document to the printer, the printer manager accept the document which by this point I have already paid for, and then just pick up my printed document
-Be able to assign or add users or groups of users to a specific printer having a per printer security schema and per owner schema
-Probably work out the issue use the LAN for local printers cause imagine having to send a 10MB full of images document file through internet instead of just plugging in the usb cable to my laptop
Keep the good work!
April 16, 2010 3:05 PM
Nate Piechocki said...
I gotta agree with Josue. I'm glad that I read through the comments before I posted. Viewing this in terms of a driver repository in the sky, for your home print server, I like it. The point is to make it as transparent to the user as possible, and letting some of the new capabilities this could expose quietly become daily "can't do withouts." And as a Linux user, for as nice as CUPS makes some things, installing printers still isn't "easy."
April 16, 2010 3:41 PM
Nate Piechocki said...
@Craig: I think that if anybody can aggregate a database of "legacy" printer drivers, these are the guys to do it.
April 16, 2010 3:45 PM
cahtmyle@gmail.com said...
April 16, 2010 4:19 PM
cahtmyle@gmail.com said...
Almost every printer/MFP manufacturer has been striving for this holy grail for 10 years at least. Any claims to success have been a complete FAIL. Here's some of the problems I've seen.
1.) internet printing - I've had customers on DSL lines with ISP assigned reserved static IP addresses in sequence. They print a job via a standard TCP/IP port to the printer in the next room one IP address higher than the static address given their workstation. The job would print, but since it was launched to the internet ISP, it circled the globe looking for a home. I saw it take as much as 4 hours before the print job came back in the building and printed out. In this case a local router with private addresses fixed the problem, but with the Google system it sounds as if you HAVE TO launch your job to the internet hoping it can find its way back into your fire-walled private network. Never mind it won't know where that printer is (local network, VPN to the office, local parallel or USB) or what kind of printer it is. Maybe you know enough to tell Google this info, most users will not.
2.) driver-less printing - Good luck. Will it send my printer PCL5, PCL6, GDI, PS, XML, one one of who know how many proprietary print languages manufacturers have implemented? The Canon imageCLASS printer on my desk only prints Canon's home built UFR print stream. It's great if you have a print driver. But if you send it anything else its hundreds of pages of garbage for you.
If Google can figure this out they deserve a Nobel prize. Figuring out what Xerox, IBM, Lexmark, HP, Canon, Ricoh, Oce, Oki et al. have banged their head against for so long deserves the highest accolades that exist.
April 16, 2010 4:21 PM
Gerard said...
How about scanning too !!!
Scanning UI functionality is so so much simpler too.
The returned scan is then in the cloud and can be touched OCR'ed etc through web app.
i really applaud Google for initiating this.
But one thing that is vital is that the Print Server is also open sourced so you can run you own in house print server network too.
April 16, 2010 4:46 PM
Robert said...
April 16, 2010 4:51 PM
Robert said...
I think this can be done. Instead of an IP if you're at work and have a print server you'll log into your Google account (what you use to login to gmail) and it'll show your online and then print to the printer you call the main printer.
How will this work. Well I can only imagine that new printers will probably have a router built in which will go to a print server. Older printers will probably have to buy a device to do this. If you're at home or work that doesn't have a dedicated print server then it'll be routed to your computer which will then buffer and print to the printer of your choice. If your not logged into any computer it'll send the document to your email so you can print it out when you're available.
April 16, 2010 4:56 PM
gail said...
It looks like the first envisioned implementation of the cloud-aware printer is going to support PDF. They should seriously look at PDF/is which is completely compliant PDF (any PDF reader will seemlessly handle), but guaranteed streamable, which is something that low memory printers will appreciate. ftp://ftp.pwg.org/pub/pwg/candidates/cs-ifxpdfis10-20040315-5102.3.pdf
April 16, 2010 5:13 PM
Shea said...
Efficiency! As long as it is secure, fast, remotely accessible. It will work. Network LAN latency could be an issue for large print jobs that would normally spool on a device.
What many people FAIL to realize is that this is new territory with new thought. Re-engineered for modern computing. The models of old and desktop centric computing HAS changed. Mobile computing is the future of technology. No one runs and plugs up a mobile device to a printer do they? Google Cloud print opens up the capability to print from multiple devices across a breathe of platforms with less complexity.
Now...in regions like Africa, Asia and impoverished areas of the US, UK, Mexico, and the other areas of the America's where people can't afford "printers" or may not have the technical expertise to install printer drivers, etc. This would be a great win!
I cannot count how many times I have re-imaged a computer and had to hunt down the "RIGHT" printer driver.
Google...I wish you success! It will save a TON of headaches. People can complain all that they wish. So...freaking...WHAT! You would think these people are driver developers the way they are complaining.
I am REALLY looking forward to this release.
April 16, 2010 5:24 PM
rocker said...
This idea is not new, FedEx and mimeo.com already have a service that does the same thing, only they print to their own printers, but pretty much you can install their universal printer "driver", which is just a pass-trough piece of software tricks the host OS print spooling system, and sends the print job to a remote location.
Also, there are several patents for this idea, printer manufacturers own them.
April 16, 2010 6:56 PM
rocker said...
Now, printer manufacturers will LOVE to have Google to put this idea to work because 2 things:
1) they have failed when they have tried to implement it, usually because clueless management and because they think it's outside of their core competences
2) once that this is working it will help them to sell more printers and consumables
April 16, 2010 7:04 PM
gjb said...
How absurd: chrome cannot even print to A4 paper yet, so who would trust this thing?
April 16, 2010 9:20 PM
Cwize1 said...
I could definitely see this type of system being useful in some circumstances. Eg, if someone wants a hard copy of a document now but you are on the other side of the city.
However if I am at home, wanting to print to a home printer, I do not expect to have to (and will not) risk my computer\printer to the dangers of the net so that I can print.
April 16, 2010 10:53 PM
Anthony Papillion said...
One word comes to mind: privacy. As it is, many of us allow Google to handle email, web app, document, and picture hosting, and even some of our social networking needs. We hand this power to a company that is primarily a data mining and extrapolation company. Are we really so naive that we believe they won't mind *every single document* sent through the cloud interface.
Honestly, if you look at this, there is no need for this project aside from Google having even more access to data. Installing a printer driver is a no brainer. Sorry, I'm a huge fan of Google but this is an obvious move to grab more data.
April 17, 2010 12:48 AM
biber said...
http://www.zevcedolu.com sikiş izle" sikiş izle
April 17, 2010 4:08 AM
biber said...
http://www.zevcedolu.com
April 17, 2010 4:13 AM
Post a Comment