Automation and Inequality

Over the past few month I have become increasingly concerned about rising levels of automation in the US and world economies.  In my opinion it is becoming obvious that human labor will become progressively worthless from an economic standpoint.  At some point in the near future it is clear that almost all tasks of economic value will be done better by a machine than a human.

Some will argue that this will never happen because even though increasing automation will replace some jobs, advancing technology will always create more new tasks than it destroys.  Clearly this is what has happened in the past.  But I have come to suspect that there are good reasons why this probably won’t continue in the future.

Productive work typically involves some combination of physical labor (moving stuff around) and intelligent direction.  Until recently, most machines were really only good at helping us move stuff around.  Humans were still needed to figure out how to move all of that stuff around in a productive manner.

This meant that as machines began making it possible to increase the total amount of goods and services being produced by augmenting human strength, the value of intelligent human effort increased along with it.  This was because every new machine always required intelligent human operators in a relatively fixed ratio and those operators needed to be paid for their efforts.  (Note: the role of “human operator” refers to both those directly operating the machines and all the behind the scenes support staff like bookkeepers and engineers that were needed to keep the machines running.)

But this appears to have started changing about 30 years ago when computers began to be used in the production process as shown below.

fredgraph

This chart  shows the ratio between all compensation paid to employees (mostly wages) and GDP (a measure of the value of all goods and services produced in the US during a year – currently about $18.5 trillion).  You will notice that from 1948 to about 1975, the relative value of employee compensation remained fairly constant at roughly 50% of GDP.  Then it started a slow decline and currently stands at about 43% of GDP.  Assuming my hypotheses is correct, the relative value of employee compensation should continue falling and eventually begin approaching 0% of GDP as intelligent machines like self-driving trucks quickly push humans operators out of the way.

Btw, who pocketed the 7% of GDP that is no longer being used to pay workers?   Need you ask?

saezzucman2014fig1

What is even more concerning is that fact that in most cases today the decision on how our machines are used is made solely by the owners of those machines.  Until recently this hasn’t been much of a problem because this decision has always been subject to a very significant check.  Since all machines required some form of intelligent human operator, workers always had a say in how they were used.  This was because a significant part of a machines output needed to be used to pay workers.  By necessity the output of any machine had to be shared between the owner of a machine and the people hired to operate that machine.

Those workers of course subsequently used that compensation to trade for the output of other machines run by other workers.  This meant that at least some of the output of our economic system had to be dedicated to the needs and desires of workers as well as the needs and desires of machine owners.

But what happens when humans are no longer required to operate the machines?  What is to stop machine owners from using their machines anyway they wish?  If you don’t need to pay anyone, why produce anything at all for the masses?  Since you will no longer be paying those workers any longer, they likely won’t have any money to spend anyway.  Why not just redirect the machines to create things you and your fellow machine owners want and desire?  Why bother creating houses, cars or other products for the mass of former workers?  Since you own the machines, why not use them instead to build super yachts or mansions on Mars?

If I am correct, at some point soon the value of wages received by all workers will start falling below the total value of the goods and services needed to sustain those workers.  This will likely happen because of a combination of rising unemployment, increasing competition with new intelligent machines driving existing wages lower, and rising costs for basic necessities as machine owners divert more and more resources toward their own desires.  Needless to say the results of this happening are likely to be catastrophic for all but the wealthy.

But this doesn’t have to happen.  There is no reason ownership of the machines needs to concentrate solely into the hands of an economic elite.  This ownership could just as easily be distributed in some way to everyone.

For better or worse I suspect that over the next decade or two we will be increasingly asked to choose the type of post-work future we would like to see.  One alternative could be an abundant Star Trek like future  where everyone’s physical needs are met by a massive, solar powered, automated network of machines (although probably minus the warp drive and transporter, at least for now).  The other extreme, where for whatever reason we currently seem to be headed, is a Galt’s Gulch for the wealthy few who will increasingly redirect the worlds resources toward their own desires.

Note that unlike the past this choice is no longer being driven by the question of fairness. If my analysis is correct, it is now a survival question.  And like it or not, the only way I see to make this choice is through our political process.  If we wish to survive, somehow we will need to come together and figure this one out.

Equality, Community and Fairness

Why the white working class votes against itself – The Washington Post

Why did all those Economically Anxious™ Trump voters reject policies that would have helped relieve their economic anxiety?

Maybe they believed any Big Government expansions would disproportionately go to the “wrong” kinds of people — that is, people unlike themselves.

. . .

We’ve known for a long time, through the work of Martin Gilens, Suzanne Mettler and other social scientists, that Americans (A) generally associate government spending with undeserving, nonworking, nonwhite people; and (B) are really bad at recognizing when they personally benefit from government programs.

Hence those oblivious demands to “keep your government hands off my Medicare,” and the tea partyers who get farm subsidies, and the widespread opposition to expanded transfer payments in word if not in deed.

On one level this sounds about right.  There have been a number of studies done over the years showing that many social animals, including humans, have a sense of “fairness” hardwired into their brains.  If one member of a social group sees others in the group getting greater benefits than themselves it often causes a great deal of distress.  For better or worse we all seem to want what those around us are getting.

This is probably why the social programs that enjoy the most popular support (e.g. Social Security, Medicare, public schools, etc.) are those that benefit the most people with the fewest restrictions.  These are programs available to everyone and have no significant income or “identity” requirements.

This may also explain why the Affordable Care Act is unpopular regardless of whether it is shown to work.  There seems to be a sense that the program is designed to benefit some at the expense of others.  My own suspicion is that politically there are really only two choices when it comes to building social programs to deal with things like health care.  Either the government needs to cover everyone or no one at all.  Trying to save money and only cover those deemed most “needy” just breeds resentment.  For whatever reason it is a lesson the rest of the world (particularly the Nordic countries) seem to have already leaned.

That said, I think we need to be careful we don’t oversimplify the concept of “fairness”.  While lower social animals likely have a very black and white sense of fairness where everyone needs to see the same result, human beliefs about fairness are probably more nuanced.

. . . responding to getting less than a partner is not the only aspect of fairness. For a true sense of fairness, it also matters if you get more. [Dr. Sarah} Brosnan and [Dr. Frans] de Waal hypothesize that individuals [are also] willing to give up a benefit in order to reach equal outcomes and stabilize valuable, long-term cooperative relationships.

In other words humans appear to view fairness as being more than just equal outcomes.  We also seem to have an innate sense that we are “all in this together”.  We will willingly make sacrifices to preserve the long term social stability we need to survive.

The problem of course for “white working class voters” and many other Americans is that they are watching significant economic changes tear apart their communities.  It obviously doesn’t make much sense to work for the common good when that “common good” all seems to be sinking below the surface.  Developing social programs that treat everyone equally is one thing.   Creating programs that help preserve or rebuild our nations declining communities is a much more problematic challenge.

An economic-political divide

Donald Trump lost most of the American economy in this election – The Washington Post

But there’s another divide exposed by the election, which researchers at the Brookings Institution recently discovered as they sifted the election returns. It has no bearing on the election outcome, but it tells us something important about the state of the country and its politics moving forward.
The divide is economic, and it is massive. According to the Brookings analysis, the less-than-500 counties that Clinton won nationwide combined to generate 64 percent of America’s economic activity in 2015. The more-than-2,600 counties that Trump won combined to generate 36 percent of the country’s economic activity last year.
Clinton, in other words, carried nearly two-thirds of the American economy.

Not the first time we have faced an economic/political divide of this scale. Hopefully this time things will end better.

Autonomous driving may be closer than we think

Tesla’s Autopilot chip supplier NVIDIA on new self-driving system: ‘It’s basically 5 yrs ahead and coming in 2017’ – Electrek

On a conference call with CEO Jen-Hsun Huang following the results, analysts were particularly interested in the company’s push in AI and the automotive industry, especially since Tesla’s started delivering every single one of its vehicles with NVIDIA’s Drive PX2 supercomputer.

Huang offered some very interesting insights into how he sees Tesla’s self-driving program playing out.

He says that by introducing the necessary hardware for full autonomy now, Tesla  “sent a shock wave through the automotive industry”:

“And I think what Tesla has done by launching and having on the road in the very near-future here, a full autonomous driving capability using AI, that has sent a shock wave through the automotive industry. It’s basically five years ahead. Anybody who’s talking about 2021 and that’s just a non-starter anymore. And I think that that’s probably the most significant bit in the automotive industry. I just don’t – anybody who is talking about autonomous capabilities in 2020 and 2021 is at the moment re-evaluating in a very significant way.”

Huang continued by saying that autonomous driving is not a “detection problem” but an “AI problem” and he insists that it’s going to be solved in 2017.

As the article notes, Huang is obviously biased. Still his reasoning here seems a little too specific to just dismiss as marketing fluff. It seems the the work of engineering a functional solution is nearly complete. There are still the nontrivial legal and business model problems to be solved and that probably won’t happen in 2017. But it appears increasingly obvious that this is all going to happen sooner than most people are expecting.

Integrating legacy applications into a Chrome OS environment – Updated 01-26-2020

Why some people need to continue running an old OS

New versions of an operating system offer many advantages.   They usually fix bugs and annoyances in the previous system and offer many new features to both users and developers.  Attracted to these advantages, most users soon replace an older system with the new update.

As users increasingly switch to the newer version, programmers start to put less and less effort into writing and updating programs for the older system.  Because of this new programs or major updates to older programs increasingly either won’t run on the older OS or run poorly.  This in turn causes even more people to abandoned the older system.  It’s a natural progression that has played out many times since the first computer was powered up.

But there is also another side to this situation.  In addition to adding new features, developers of newer versions of an operating systems also often remove features that older programs may have relied upon to run.  As a result older programs sometimes no longer run properly on the newly updated OS.

In some cases programmers will update older programs to run on the newer system.  But no matter how popular a program may be, many developers may still find they lack either the time, resources, ability and/or desire to upgrade their programs.

So when it comes time to update an older computer, users sometimes face a dilemma.  While they may be excited about running all the new software that their older operating system won’t support, they may also need to continue using older programs that the updated operating system won’t run.

This is a problem I began facing several years ago when I started to consider upgrading my aging Windows XP computers.  I knew, based on past experience, that upgrading would not be a simple task because of several legacy applications I used to run my business.  But I also believed I could eventually get everything transitioned.  Transitioning to a new version of Windows was never trouble free, but up until that time I always found work arounds to keep my older programs running.

Unfortunately I soon found that this time my assumptions were not entirely correct. Starting with Windows Vista, Microsoft decided to become more aggressive in removing support for legacy software.  As a result I and others found that the programs I relied upon everyday to do my job simply would not run properly on either Windows Vista or Windows 7, much less Windows 10. I also realized that keeping my older programs running on future version of Windows would likely become an uphill battle since Microsoft seems determined to continue leaving its past behind.

I wasn’t the only person who discovered what Microsoft was doing.  Businesses in particular realized that this time the cost of transitioning to a newer version of Windows wasn’t going to just be the cost of buying a new computer.  This time many organizations also needed to develop entirely new business processes based on new software.   This is particularly a problem for businesses who bought expensive industrial equipment designed to last decades and that require custom applications to operate.  Not surprisingly many have dragged their feet as long as possible.  A process that is repeating itself now with Windows 7.

Keeping key software running while moving forward

At first I thought my only choice was to bite the bullet and find replacements for all my legacy software.  But I decided that if I was going to go to all that trouble, why stick with Windows at all?  When I really thought about it, I realized I wasn’t finding any of the post Windows XP upgrades to be all that compelling.  If I was going to be forced into a forklift upgrade, why not take my time and explore other options?

At first I tried several different versions of Linux.  But eventually I took a chance and bought a Chromebook.  I found, much to my surprise, that I really loved how Chrome OS worked.  The system isn’t perfect, but  I like the direction it is heading and it was a good fit for my lifestyle.

What I particularly liked was the fact that I typically don’t install applications on Chrome OS like I did with all my previous operating systems. Instead of running applications naively, Chrome OS is designed to access applications running on other computers. Instead of me having to be responsible for maintaining and updating all my applications, I can now rely on others to do so for me.

Are there risks? Of course. Obviously the maintainers of online applications can (and have) shut down their software at any time. But as I pointed out above, continuing to rely on traditional software is hardly a safe bet either. What good is having a physical copy of a piece of software if you can’t find a machine to run it on?

So while I decided I wanted to move forward with Chrome OS, I still needed to figure out what to do about the older applications I had to continue running.  I could find replacements for a few applications, but several were specialized programs that I knew would never be updated.  Abandoning them all at once would be costly and wasn’t a viable option.

For better or worse I needed to find a way to run both a new, modern operating system like Chrome OS and my old Windows system at the same time.  The challenge was to do this as seamlessly as possible.  Instead of having two independent systems, what I wanted to do was create what would appear to be a single solution.  I don’t entirely have this figured out and it is still a work in progress, but for those who might be interested what follows are a few things I have discovered on how to make this work.

New on new, old on old

One of the first things I noticed doesn’t even involve installing new hardware or software.  It was simply that I found things worked more smoothly when I used an application only on either one operating system or the other.  Even when it is possible, I noticed that trying to keep two versions of the same application running on two different systems is complicated and time consuming.  In most cases it simply isn’t worth the effort.

For example I quickly found there was little benefit in trying to maintain the ability to check my email on both my Chrome OS device and my legacy Windows system.  Checking email is much easier and more convenient on my Chrome devices so why fight to maintain that ability on my Windows machine?  This was also true with browsing the web and was among the first actives I stopped on my legacy OS.

A second related issue is that I have given up on trying to keep programs on my legacy system updated.  This is particularly true with large complicated programs like web browsers and office suites.  Even when these programs continue to be officially supported on my older Windows system, I often find developers have little interest in doing any more than the minimum work needed to keep them running.  Because of this I have increasingly noticed new updates are more unstable than the versions they replace.

So as a rule I try to only run newer and updated applications on Chrome OS and only older legacy applications on Windows.   Also since most of these older applications rarely access the Internet, I no longer consider the lack of new security updates on a legacy OS like Windows XP to be a significant concern.

Running a single desktop

I knew early on that the only way I could run both Chrome OS applications and Windows applications was by running two separate machines.  In my case I decided to retain my existing legacy desktop machine (uninstalling all but my legacy applications) and buying new Chrome OS devices that would become my daily drivers.

Side note: One issue that I have discovered since I began this project is that older hardware doesn’t run forever and that it is almost impossible to buy new hardware that will run old operating systems.  The way to get around this is to purchase a new machine running a current operating system, install a virtual machine like VirtualBox, and then install my legacy operating system and applications within the virtual machine.

Since virtual machines are assigned their own IP address, at the network level they are treated as a separate machine.  As a result you can generally either ignore or use the newer host operating system as you see fit. Installing a virtual machine is a bit beyond the scope of this article. But the process is not particularly difficult. Oddly enough while Chrome OS does use virtual machine software to run both the Android and Linux operating systems, it is not currently possible to fire up your own virtual machine and install something like Windows. End side note.

Having to separate devices usually means having to deal with the headache of rotating between two different keyboard/mouse/monitor setups, one set connected to each system. I quickly realized I needed to figure out some way to integrate my legacy Windows desktop directly into the Chrome OS desktop.

My first thought was to use Chrome Remote Desktop (CRD) to access my legacy machine. While this is a functional solution, I found it to be a less than ideal for a couple of reasons.  The first is that CRD (at least as currently implemented) tends to be slow even over a local network. In the world of networking tools it is what is known as a “screen scraper” and by default screen scrapping has a tendency to have relatively high latency and be bandwidth intensive.

The second issue was that CRD relies on the Chrome browser being installed on both machines. With Google having ended Chrome updates for Windows XP in early 2016 (and Windows 7 shortly), I knew this wasn’t a viable long term solution.

I decided a better alternative was to utilize a desktop sharing solution that was already available on many Windows machines.  Remote Desktop Protocol (RDP, formerly Terminal Services) is a Microsoft protocol for viewing a Windows desktop across a network.  It is a multiplatform, multiuser solution that is even functional over the Internet if you open port 3389 on your router.  Because it is based on a lower level protocal performance has a tendency to be quick even in low bandwidth situations (an RDP server sends compact information that describes a desktop rather than what is essentially a series of screenshots of the desktop).

A RDP server is built into all Pro versions of Windows.  All that I needed was a Chrome OS RDP client.  A quick search of the Chrome Store soon found two. Chrome RDP  is the least expensive option ($10) but lacks the ability to pass sound. Xtralogic makes a client that passes sound as well for a slightly higher price ($10/year).  Both work fast enough over a local network that it seems like I am directly connected to my Windows computer.

There is one minor issue to be aware if you are trying to use the Chrome RDP client to access a RDP server running on Windows XP or earlier.  By default Chrome RDP won’t log into these version of Windows.  But there is an easy fix.  You just need to change a setting that disables Network Level Authentication (Options:Advanced, check “Allow Non-NLA Connections).

The only downside for some users is that a RDP server is not available on either Windows XP Home or Windows 7 Home.  In this case there are two alternatives.  Probably the best bet is to just upgrade to a Pro version of Windows.  For Windows XP you need to find a retail copy of Windows Pro (either the full or upgrade version – the OEM versions usually won’t work).  You can commonly find a copy of this and other Windows Pro versions on places like Ebay if you look around.  [Yes, I am also aware that technically a RDP server is already built into most version of Windows including the Home edition and that there are various hacks to enable it.  I’m sure most of these probably work fine, but since there are always possible issues with any hack I won’t make any recommendations here.  Google and proceed at your own risk if you want to explore this option.]

If you can’t upgrade to Window Pro, find Chrome RDP to be a less than ideal solution, and/or are running a legacy OS other than Windows, the other alternative is to use something similar to CRD called VNC.  The VNC protocol has been around for years and there are multiple different clients and servers available for different operating systems including a free client in the Chrome store.

I have found the open source version of RealVNC server works well on Windows XP.  There are also versions available for various Linux distributions.  My understanding is that a VNC server is also included in Mac OS X version 10.4 and later.

Overall VNC is lightweight and easy to install.  While it is still a “screen scraper”, personally I found the performance to be better than CRD and for me it is more stable and easier to use.  Also unlike CRD, VNC doesn’t require the installation of the Chrome browser on your legacy machine.  Keep in mind that in many situations you also have the option of running both Chrome RDP and VNC and can rotate between them as you see fit.

While using either a RDP or VNC client to access my legacy Windows machine works well most of the time, there are a couple of minor issues that I have run across mainly related to the keyboard layout used by Chrome devices.  Even though I might see a legacy application on my screen, the keys on my keyboard still function like they would if I was using a Chrome OS application.

In my case some of my legacy Windows programs require use of function keys (F1, F2, etc) to run properly.  By default Chrome OS doesn’t enable these keys even if you plug in a PC/Windows keyboard.  Fortunately there are two easy solutions.  The first is to just hold down the “Search” key and press one of the keys on the top of your keyboard.  For example pressing Search+[]]] = F5 (if you are using a Windows keyboard on a Chromebox  press the “Windows” key and the F5 key instead).  The other alternative is to change a setting in Chrome OS to force it recognize the top row of keys on your keyboard as function keys.  In this case if you want to again use a Chrome key as usual (e.g. to mute sound or darken the screen), simply hold down the Search and press the appropriate key to temporarily restore that function.

Sharing files between Chrome OS and a legacy OS

The next issue I faced was how to share files between Chrome OS and my legacy Windows OS.  In Windows files are typically stored on a local hard drive and shared via the SMB/CIFS protocol (aka Windows File Sharing).  Macs and most Linux systems also usually support this protocol via some implementation of Samba.

When Chrome OS was first released, the only way to store files was either on a small local drive or remotely on Google Drive.  However support for other file systems has been added to Chrome OS through the File System Provider API.  While this API doesn’t directly support any particular file system, it does allow third party developers to add support for many alternative systems.

In addition Chrome OS now has a built-in SMB/CIFS client. Assuming your legacy OS machine has been setup to share files. using the built-in SMB/CIFS plugin is easy. Simply go to Settings|Advanced|File|Network File Shares and click the “Add file share” button. All you need to do is fill in the URL of your Windows share (usually “//ip address/sharename” and enter your username and password.

Unfortunately there is one annoying bug in both the File System Provider API and the built-in SMB/CIFS client that for some reason Google seems to be in no hurry to fix.  The native File app in Chrome OS can always access a remote file system.  But the Chrome browser itself cannot.  What this means is if you find a file on a website that you want to save, the Chrome “Save” dialog box will only give you two choices – the local “Download” folder on your machine and Google Drive.  A remote file system won’t be an option.  This means you have to download the file locally and then open the File app to transfer the file to your remote file system (highly annoying).  Oddly enough you are able to upload a file from your remote file system to a website in most cases. So adding an attachment to GMail thankfully works.

A more significant problem is that the built-in SMB/CIFS client only access files using the newer versions of the SMB protocol (SMB 2 and 3). Older operating systems (like XP) only use version 1 of the SMB protocol and so can’t be accessed using the built-in SMB/CIFS client.

There are multiple ways around both of these issues. But I strongly recommend pursuing only one. Keep all of your data on a separate file server. Doing so will make maintaining and securing your data much easier.

Years ago setting up a file server was complicated and expensive. But today you can purchase a small NAS appliance for a few hundred dollars depending on the size and number of the hard drives you need.

Currently I’m running one of Synology’s inexpensive dual drive units in a RAID 1 configuration (each drive is a duplicate of the other in case one fails). It runs all versiona of the SMB protocol so it can be accessed by both older and newer operating systems. Although that said, over the years I’ve worked with Chrome OS I’ve found it works best when you can keep all or most of your data in Google Drive.

Fortunately my Synology box makes this easy. It allows me to synchronize any folder on my NAS with any folder on Google Drive. Personally I just create a folder called “NAS” on Google Drive that I synchronize with most of the contents of my NAS. The only things I don’t put in this folder are things like Google Docs and Sheets since these aren’t typically readable on other operating systems. Since I started doing this I don’t even bother using Chrome OS’s built-in SMB/CIFS client.

Finally no discussion about file management would be complete without addressing the issue of backup. While each situation is different, in most cases you want to accomplish three things with a backup system. The first is you want to get copies of your files off site (in case your house burns down and/or your online account is closed or hacked). The second is ideally you want to make additional copies and store them over time (in case you find you suddenly need something you accidentally deleted last week or last month). Finally both these things should happen automatically.

My Synology box makes all of this super easy. First of all by synchronizing  with Google Drive I have effectively moved most of my data off site. Synology also has a small app that makes it easy to keep backups of my data over time. I usually keep a snapshot of my data from one day ago, one month ago and one year ago in case something gets accidentally deleted. For extra protection I also have my Synology backup all my files (including my timed snapshots) to Backblaze’s inexensive B2 cloud storage. My Synology box handles all of this automatically. Highly recommended.

Finally I also recommend backing up Google accounts using a cloud to cloud backup service. While backing up G-Suite type accounts is the most commonly available through places like Backupify typical Google accounts can also be backed up at Spinbackup or Upsafe. If for some reason you find yourself locked out of your Google account or have all your data wiped out, these services will allow you to restore restore everything to a new account if necessary.

Sharing printers and scanners

Printers

Printing on Chrome OS while at the same time also being able to print from a legacy operating system is a bit of a challenge because the native printing system on Chrome OS has traditionally been mostly networked based. In the past all printing was done via a service called Google Cloud Print (GCP). As a result you typically needed a printer that was both Google Cloud Print ready and that would also had legacy driver support for your older operating system. This limited your selection and typically prevented most people from using older printers.

Today things are a bit more flexible. Google has decided to largely abandon Google Cloud Print and has instead replaced it with the “CUPS” printing system from Linux. What this means is that Chrome OS now has built in drivers for a number of different printers. In addition Chrome OS now has excellent support for most network based printing protocols. As a result Chrome OS will see and connect to many wireless printers automatically (Go to Settings|Advanced|Printing|Printers).

As a result finding a printer that will still have drivers available for your legacy system is quickly becoming the more significant problem. Fortunately most major manufactures seem to be doing a pretty good job of maintaining legacy drivers. But I would recommend verifying this before making a purchase.

In most cases I would recommend a good quality, network based wireless printer that supports your legacy operating system. Keep in mind printing over a network has been happening for a long time and almost all older operating systems will support some type of network printing protocol (support for LPD was particularly common).

Scanners

The most convenient way to add scanning capability is to use a network connected multifunction device that can print, scan, copy and/or fax.  Similar to stand alone network printers, these devices usually come with all the software needed to handle most scanning, copying and faxing functions already installed in the machine itself.  Unlike in the past,  you no longer need to install separate software packages on your computer (either Chrome OS or your legacy operating system) in order to use them (one example).

What this means is that you can walk up to these machines and scan a document without dealing directly with your computer.  Depending on the device settings, scanned documents are immediately converted to a file (pdf, jpeg, tiff, etc) and sent to some type of local or remote storage device (network share, ftp site, website (e.g. Google Drive), flash drive, etc).  Some even have built in optical character recognition (OCR).  Unless you have unique requirements, odds are you can find a device that will fit your needs.

My current machine allows me to scan either directly to my Google Drive account or to a network share on my NAS.  Having set up shortcuts with common default settings, I can usually scan documents by only hitting a few buttons.  I then just look for the file in either a Google Drive folder or a folder on my legacy machine.  In many cases this can eliminate the need for dedicated scanning drivers or software on either your Chrome OS or legacy machine.

When choosing a scanner there are a few limitations on some machines that you may want to be aware of and avoid.  First of all I have found that some scanners don’t always scan edge to edge.  This is particularly true of automatic document feeders that sometimes cut off the top and bottom of a page (this is usually not a problem when you scan using a devices flatbed scanner).  Depending on what you are scanning, this may or may not be a problem.

In addition image quality can vary significantly.  Text based documents usually look fine, but detailed grayscale and color photographs will quickly reveal a marginal scanner.  Unfortunately price isn’t always a reliable indicator in this regard and testing directly isn’t always an option today when most are bought online.  But if you ask around you might find someone who has the model you are interested in and is willing to post or email you a sample scan in the format and resolution you typically use.  I usually find 300 dpi grayscale or color is the minimum necessary to archive common paper documents in a readable form.  In most cases avoid the black and white setting.

Conclusion

Of course not all of the above advice is entirely unique to Chrome OS.  Much of it could also apply to almost anyone who has invested heavily in a particular operating system and now needs to move on. Perhaps a few of them will find some of these strategies helpful.