Posted on

Legacy workflow removal without a usable replacement

Google Cloud Print solved a weird problem very neatly.

A printer could be somewhere else.

The service acted as a cloud relay between applications, Google accounts and printers. That made it useful for Chrome OS in particular, but also for mixed environments where the machine sending the job did not have a simple local path to the printer.

Then Google shut it down.

The old workflow ended in January 2021

Google announced that Cloud Print would be deprecated and no longer supported after December 31, 2020. Its migration documentation now states plainly that devices across all operating systems can no longer print through Google Cloud Print.

https://support.google.com/chrome/a/answer/9633006

Google recommended alternatives instead: native CUPS printing for ChromeOS, each operating system’s own printing infrastructure, or third-party printing partners for more complicated environments.

Those are valid printing systems.

They are not one drop-in replacement for the service that disappeared.

“Use native printing” changes the architecture

Cloud Print centralized a cross-device workflow around a Google account and an internet-accessible relay.

Native printing generally expects the client to reach the printer through a local network, configured print server or platform-specific mechanism. An organization that used Cloud Print across different devices and locations therefore had to determine which replacement matched each part of its environment.

For a home user with one Wi-Fi printer, that might be an improvement. Fewer cloud dependencies are often good.

For a school, office or odd remote-printing setup, the migration could mean rebuilding the workflow rather than changing one setting.

That is the distinction legacy users care about.

The replacement technology may be perfectly good while still failing to replace the old use case.

Removing the old path changes who pays for the transition

Every deprecated system eventually becomes a maintenance burden. Security work continues. Old APIs restrict new architecture. Supporting a product forever is not free.

The problem appears when a platform counts “alternatives exist” as equivalent to “the workflow has been replaced.”

Those are different claims.

A usable replacement preserves the important capability before the old system disappears. It gives users enough time to test the new path and discover missing pieces while the original still works.

Google did provide advance notice and migration guidance for Cloud Print. That is much better than an overnight shutdown.

The remaining lesson is still sharp: an established workflow is more than its feature name.

“Printing” survived.

The exact system people had built around cloud-mediated printing did not.

Posted on

Endless feature expansion that displaces a product’s original purpose

Google Search still searches the web.

That sentence now needs more explanation than it once did.

The familiar task was simple: type words into a box and receive a ranked set of links that might contain the answer. Search has never been literally nothing but blue links, but that basic navigation job made the product understandable.

Over time, Google added maps, images, shopping results, knowledge panels, featured snippets, videos, calculators, direct answers and many other useful layers.

Then generative AI moved the boundary again.

Search increasingly performs the task instead of routing to it

Google launched AI Overviews broadly in 2024. Rather than only listing pages, Search can assemble an answer above the traditional results and attach supporting links.

https://blog.google/products-and-platforms/products/search/ai-overviews-update-may-2024/

In 2025, Google introduced AI Mode for longer, multi-part questions and follow-up conversations. The company described it as combining Gemini with Search systems, the Knowledge Graph, real-world information and shopping data.

https://blog.google/products-and-platforms/products/search/ai-mode-search/

By 2026, Google described an even broader search box capable of accepting text, images, files, videos and Chrome tabs, while AI Overviews and AI Mode were being joined into a more continuous experience.

https://blog.google/innovation-and-ai/technology/ai/google-io-2026-all-our-announcements/

Each individual feature has a reasonable purpose.

Together, they change what Search is.

Useful expansion can still compete with the original workflow

If the user wants a direct answer, an AI summary may save several clicks.

If the user wants a source, comparison or obscure independent page, every layer inserted before the underlying web becomes something else to evaluate or bypass.

Google says it is actively improving the visibility of original sources and links inside AI experiences. It has also introduced controls such as Preferred Sources and more prominent inline links.

https://blog.google/products-and-platforms/products/search/original-high-quality-content-search/

That matters because the tension is real enough that Google is designing around it.

The product now has to do two things at once: answer the question itself and remain a useful doorway to the people who published the material.

Feature growth becomes displacement when the old task gets harder

A product is not ruined merely because it gains features.

Maps made Search better. Image search made it better. A calculator in the results page is difficult to mourn.

The useful test is simpler: can a person still perform the original core task with roughly the same clarity?

When new layers help without obstructing that task, expansion is improvement.

When the user must increasingly work around summaries, commercial modules, recommendation systems or interface modes to reach the thing the product originally found for them, the center of gravity has moved.

Feature creep is not a feature count.

It is what happens when the extras become the product and the original job becomes one option buried inside it.

Posted on

Customization options removed in favor of one commercial default

Old Reddit communities could look ridiculous.

That was partly the point.

Subreddit moderators could use custom CSS to change colors, layouts, headers, sidebars, labels and sometimes nearly the entire visual identity of a community. A subreddit could look nothing like the one next door.

When Reddit began preparing its major redesign, that freedom became a product problem.

CSS was powerful because it could break things

In 2017, Reddit told moderators it planned to deprecate CSS in the redesign and replace it with structured customization tools.

The company’s explanation was specific. CSS only affected the desktop web experience, was difficult to learn, could create confusing changes, and made Reddit’s own interface development harder because platform updates risked breaking custom styles.

The web redesign, CSS, and mod tools
byu/spez inmodnews

Those are legitimate maintenance problems.

Arbitrary CSS gives community operators a lot of power precisely because the platform cannot completely predict what they will do with it.

Reddit’s replacement offered controlled options for community appearance that could work consistently across redesigned desktop and mobile interfaces.

https://redditinc.com/news/an-update-on-reddits-redesign

A theme editor is not the same thing as a stylesheet

The redesigned Reddit added options for banners, colors, icons, menus and widgets. That covers the common cases and is much easier for nontechnical moderators.

What it does not provide is arbitrary control over the page.

Old Reddit CSS could be clever, ugly, funny, inaccessible, brilliant or completely broken. It could also implement little interface tricks the official product never anticipated.

The structured system narrows that space. A community gets choices from the platform’s menu instead of control over the underlying presentation layer.

That gives Reddit a more predictable product across devices. It also makes communities look more like variations of Reddit rather than separately designed places that happen to live on Reddit.

Standardization has a real cost

A consistent interface is easier to support, easier to update and easier for new users to understand. It also gives the platform stronger control over where navigation, promoted material and new product features appear.

That does not prove advertising was the reason Reddit moved away from CSS. Reddit’s own stated reasons centered on mobile compatibility, complexity and development speed.

The loss is still measurable.

Users went from a system where skilled community operators could rewrite much of the visual experience to one where customization happens inside boundaries defined by Reddit.

The newer system is cleaner.

It is also less weird.

On the old web, those two qualities were often enemies.

Posted on

User interface redesigns that prioritize monetization over common tasks

The bottom row of an app is expensive real estate.

Instagram demonstrated that in November 2020 when it redesigned its main navigation around two strategic products: Reels and Shop.

The company gave Reels the center position and put Shop in the bottom navigation. The familiar Compose button and Activity heart were moved to the upper-right corner instead.

Introducing Reels and Shop Tabs

Routine actions moved so growth products could move in

Before the redesign, posting new content and checking activity occupied highly visible positions in the primary navigation.

TechCrunch documented the new layout in detail: Reels took the center button, Shop replaced the Activity tab, and Compose and Activity were relocated to the top of the home screen.

Instagram redesign puts Reels and Shop tabs on the home screen

Instagram was unusually open about why the new products mattered. Its announcement described an explosion in short-form video and online shopping and said the Shop tab would connect users with brands, creators and products.

That is not automatically sinister. Navigation should change when user behavior changes.

But a redesign also reveals what the platform wants users to notice.

The center button was no longer the action for creating something. It was the action for consuming Reels.

The heart was no longer where it had been. Shopping was.

Layout can steer behavior without blocking anything

Instagram did not delete posting or notifications.

That is what makes interface incentives interesting. A company does not need to prohibit a task to make another task more prominent.

Every extra reach, relocation or unfamiliar icon changes the friction slightly. Put one feature directly under the thumb and move another to a corner, and the product is making a recommendation before the user consciously chooses anything.

In this case, the commercial connection was unusually visible. Instagram Shop included product discovery and, for eligible sellers, in-app checkout. Instagram later introduced advertising in the Shop tab as well.

The redesign was eventually partially reversed

In 2023, Instagram removed the Shop tab from the bottom navigation and returned Compose to the center position. Reels remained prominent but lost the central slot.

Instagram is removing the Shop tab, moving Reels from the center spot in design overhaul next month

That reversal is useful evidence because it shows interface priorities are not neutral or permanent. They are product decisions that can be tested, pushed, rejected and changed again.

A monetization-first redesign does not need to make the app unusable.

It only needs to make the company’s next business priority easier to reach than the thing the user opened the app to do.

Posted on

Mandatory app installation for tasks formerly available on the web

A browser is already an app.

That obvious fact gets strangely easy to forget when a service decides the browser is no longer enough.

Facebook provided a clean example in 2016. People using Facebook’s mobile website could send and receive messages without installing Messenger. Then Facebook began disabling that capability for many mobile-web users and directing them to install the Messenger application instead.

Facebook is disabling messaging in its mobile web app to push people to Messenger

The task already worked

The important detail is not that Messenger existed.

Facebook had every reason to build a dedicated messaging app. Native applications can provide better notifications, camera integration, background behavior and richer features than a basic mobile website.

The issue is that users already had a functioning browser route.

Earlier, Facebook had removed messaging from its main iPhone and Android applications and pushed smartphone users toward Messenger. At that stage, mobile-web users were still able to message through the site.

Facebook Forces Users Worldwide To Download Messenger For Mobile Chat

By 2016, even that escape route was being narrowed. Facebook told TechCrunch that Messenger offered the “best experience,” while Messenger head David Marcus later said the company kept mobile-web messaging on some older devices with limited memory or network conditions.

Facebook isn’t entirely killing off the mobile web version of Messenger

That exception proves the burden was real enough to measure.

Installation changes the relationship

A website asks for a URL and a compatible browser.

A mandatory application can ask for storage space, operating-system compatibility, updates, permissions, notification access and a place on the device indefinitely.

For a person who uses Facebook messaging constantly, the trade may be trivial. For someone checking one message on an old phone, shared device or storage-starved handset, it is not.

The web’s great trick was supposed to be that the software could stay on the server. You did not need a separate executable for every business, newspaper, forum and conversation service you visited.

Mandatory apps partially reverse that bargain.

Better features do not require deleting the simpler path

There is a legitimate product argument for native apps. Facebook said Messenger users responded faster and the dedicated application made it easier to build a richer messaging ecosystem.

That explains why Facebook wanted people in Messenger.

It does not explain why the browser option had to disappear for capable devices.

Those are different decisions.

A service can offer a better app and let the web version remain boring. When the old path is deliberately blocked, installation stops being an upgrade choice and becomes an admission ticket.

The task did not become impossible in a browser.

The platform decided the browser was no longer where it wanted the task to happen.

Posted on

Forced accounts added to previously accessible tools

Scanning a sheet of paper from a printer sitting three feet away should not sound like an account-management problem.

With HP Smart, it became one.

HP’s support documentation says an HP account and sign-in are used to provide access to features that depend on cloud connectivity, including Mobile Fax, advanced scanning and remote printing.

https://support.hp.com/au-en/document/ish_9354468-9354517-16

The awkward part is that the account requirement applies to the application, not to the physical act of scanning.

The printer did not suddenly need an identity

HP users had long scanned through traditional desktop drivers and HP Scan without creating an online account. HP’s own support community repeatedly points out that those alternatives can still work without signing in.

What changed around the end of 2020 was HP Smart. Support responses from HP’s community state that sign-in moved from recommended to required for the Windows application in many regions.

https://h30434.www3.hp.com/t5/Scanning-Faxing-Copying/why-must-I-log-into-my-acct-to-scan-a-document/td-p/8256454

This distinction matters because the strongest version of the complaint would be inaccurate: HP did not make every possible scan require an HP account.

It made its promoted all-in-one application require one.

A user can install other HP software or use operating-system scanning tools. That is real choice. It is also more work than opening the vendor’s current app and pressing Scan.

Cloud features become the justification for local friction

HP explains the account requirement in terms of functions that genuinely need identity and cloud connectivity: remote management, sharing, mobile fax and related services.

Those features make sense with an account.

A local scan to a local computer does not obviously need the same machinery.

The result is a bundled dependency. The app combines ordinary hardware control with online services, then applies the account layer across the application experience.

For someone using the cloud features, that may be a reasonable trade.

For someone who wants a PDF of a utility bill, it is registration inserted into a task that previously had no relationship with HP’s account system.

An account is not just one extra click

Registration adds another failure mode.

The email address can be inaccessible. Authentication can fail. Terms can change. The service can be unavailable. The software may insist that the person prove an identity before operating hardware already sitting on the desk.

None of those problems exist in a simple local driver.

That is the useful way to measure forced-account creep: not by asking whether creating an account is difficult, but whether the account is necessary for the underlying task.

When the answer is no, the dependency deserves scrutiny.

Posted on

Interoperability promises weakened after adoption

Google Talk did something that now feels almost exotic: it let people on other compatible messaging systems talk directly to Google users.

The service used XMPP, an open messaging standard. Google’s own developer documentation described Google Talk as fully interoperable with other services supporting server-to-server XMPP federation.

https://support.google.com/code/answer/56278

That meant the network boundary was softer than the company boundary.

Federation did not require Google’s permission

Google’s documentation said outside service providers did not need special approval to federate with Google Talk. If their servers supported the XMPP standard, their users could communicate with Google Talk users and vice versa.

https://support.google.com/code/answer/55704

Another Google help page listed Earthlink, Gizmo Project, universities, corporations and individual XMPP servers among the kinds of systems that could participate.

https://support.google.com/code/answer/55703

That is genuine interoperability. A person could choose a different provider or client without necessarily abandoning everyone on Google Talk.

Then the product direction changed.

Hangouts replaced Talk without XMPP federation

In May 2013, Google announced Hangouts as the replacement for Google Talk. Google’s old developer documentation now carries the same blunt notice on multiple pages:

Hangouts does not support XMPP.

https://support.google.com/code/answer/55693

The messaging service still worked. Google users could still talk to Google users. What disappeared was the open bridge that had allowed independently operated XMPP systems to participate in the same conversation network.

That is a different kind of product change from removing a button.

A button can be relearned.

A protocol boundary decides who can connect at all.

Adoption makes lost interoperability expensive

Once enough contacts, organizations and conversations accumulate inside one provider, losing federation creates a practical choice for outside users: move closer to the dominant service or accept reduced reach.

Google had legitimate product reasons to build Hangouts differently. Messaging had expanded beyond simple text and presence into richer media, mobile synchronization and tightly integrated Google services. Open standards can also constrain how quickly proprietary features evolve.

But that tradeoff belongs in the record.

The original system advertised openness as a feature. The replacement system kept the audience while dropping the protocol that made cross-provider communication possible.

Interoperability is most valuable before a platform wins.

It is also easiest to remove after everyone has already arrived.

Posted on

Data export tools that technically exist but produce impractical migrations

A ZIP file is not a migration plan.

Google Takeout is one of the better-known examples of a large platform giving users a way to export their information. Google says users can create archives containing data from products including Gmail, Drive, Calendar, Photos and YouTube.

That is useful. It is also easy to overstate what it means.

https://support.google.com/accounts/answer/3024190

Possession is the easy part

Takeout can give you files in formats such as JSON, CSV, ICS and other product-specific exports. The result is evidence that your information is not completely trapped inside Google’s interface.

But portability has two halves.

The first is getting the data out.

The second is having somewhere else that understands it.

Google’s own help page says a downloaded archive can be shared with another service through whatever upload or integration mechanism that third party provides. In other words, the receiving service decides what it can actually ingest.

That distinction matters.

An exported mailbox can be perfectly valid while the destination service cannot recreate labels, filters or account-specific behavior. A photo archive may contain the images you care about while related metadata arrives separately. A social or activity history can be readable by a human without being importable as a living account somewhere else.

The files survived. The system around them did not move.

Direct transfer only works where both sides cooperate

Google has also added direct data-transfer mechanisms for some third-party services and regions. Its current documentation is explicit that the receiving third party must choose to support the transfer and that availability varies by country, account and product.

https://support.google.com/accounts/answer/14452558

That is closer to genuine portability because the receiving service participates in the process.

It also exposes the real problem: portability cannot be created by the exporting platform alone.

If the destination does not understand the source format, relationships and metadata become folders full of evidence rather than a functioning replacement.

A backup can be excellent and still be a terrible exit

Data export is still valuable. If a company disappears, a Takeout archive can preserve mail, photographs, documents and years of personal records. That is far better than a locked account with no export at all.

But “Download your data” should not be confused with “Move to a competitor.”

A workable migration preserves enough structure that the user can resume the underlying task elsewhere without rebuilding everything manually. That can require compatible schemas, import tools, stable identifiers, relationship mapping and cooperation between services.

Without those pieces, the exit door technically opens.

It just leads to a loading dock covered in boxes.

Posted on

Third-party client restrictions that narrow user choice

A service and its interface are not the same thing.

For years, Twitter users could read the same network through clients such as Twitterrific, Tweetbot, Fenix and Echofon. Those applications used Twitter’s API but supplied their own interface, notification behavior, accessibility choices and power-user features. Some third-party clients were older than Twitter’s own native mobile apps.

That arrangement ended abruptly in January 2023.

The clients stopped first

On January 13, multiple third-party Twitter clients stopped working. Their developers reported failed API requests and suspended credentials without a clear explanation from Twitter. Ars Technica documented the failures while noting that Twitter-owned TweetDeck still worked.

https://arstechnica.com/tech-policy/2023/01/third-party-twitter-clients-are-broken-whether-by-policy-or-glitch/

A few days later, Twitter said it was enforcing “long-standing API rules.” Then on January 19, its developer agreement was changed to prohibit using licensed materials to create a substitute or similar service to Twitter’s own applications. TechCrunch and Ars both documented the new clause and the timing of the change.

Twitter officially bans third-party clients after cutting off prominent devs

https://arstechnica.com/tech-policy/2023/01/twitter-retroactively-changes-developer-agreement-to-ban-third-party-clients/

The practical meaning was uncomplicated: if an app’s purpose was to provide another way to use Twitter, that app was no longer welcome.

Alternative clients provide more than different colors

Third-party clients can compete on things the platform owner does not prioritize.

One may use denser timelines. Another may offer stronger filtering, keyboard navigation, different notification controls, or a cleaner experience with fewer distractions. A client can also remain comfortable for users who built years of muscle memory around it.

None of that requires a separate social network. The user keeps the same identity, follows the same people and reads the same conversations.

That is exactly why client choice matters. It separates the network from one mandatory presentation of the network.

The official interface becomes part of the price

Once alternative clients disappear, changing interfaces means changing services.

A user who dislikes the official application cannot simply choose another front end while keeping the same social graph. The remaining options are to accept the official interface, use whatever limited alternatives the platform still permits, or leave the network entirely.

There can be legitimate reasons to restrict APIs: security, abuse prevention, infrastructure cost and product consistency are real concerns. But banning substitute clients goes further than limiting abusive requests. It makes the platform’s own interface a condition of participation.

The network may contain the same people the next morning.

The choice around how to reach them is gone.

Posted on

API pricing changes that threaten independent client applications

An independent app can look like its own product while depending on somebody else’s valve.

APIs are that valve.

A third-party Reddit client, for example, needs Reddit’s API to retrieve posts, comments, account information, voting state, and other data required to turn the Reddit service into a usable application. The client developer can design a completely different interface, but the underlying conversations still come from Reddit.

In 2023, Reddit changed the economics of that access.

Reddit announced a premium access model for higher-volume API use and later stated that, effective July 1, 2023, third-party apps requiring higher usage limits would be charged $0.24 per 1,000 API calls. Reddit argued that large-scale commercial data use created infrastructure and opportunity costs that it could no longer subsidize.

Reddit describes the policy in its API update announcement and its later API facts explanation.

An API bill scales with somebody else’s users

This is what makes API pricing unusual.

An ordinary software developer can often estimate the cost of distributing another copy of an app. A third-party client built on a platform API may instead pay according to how heavily its users interact with the underlying service.

More successful app usage can therefore mean a larger bill to the platform.

If the API price changes sharply, the developer has only a few choices:

  • absorb the new cost,
  • charge users more,
  • reduce API usage or functionality,
  • redesign the business,
  • or shut down.

The code can still work perfectly while the product becomes economically impossible.

Reddit had costs too

It would be misleading to describe API access as free infrastructure with no burden on Reddit.

Every request consumes systems, bandwidth, engineering, security, and operational capacity. Reddit also argued that its data had become commercially valuable, particularly as large datasets were sought for purposes beyond ordinary community clients.

The company said reasonable use cases would remain accessible and carved out policies for various developer and moderator needs.

So the real dispute was not whether Reddit could charge for expensive access.

It was what price and terms would allow an independent application ecosystem to remain viable.

Users lose more than an icon on their phone

Third-party clients often exist because the official application does not serve every preference equally well.

Independent apps may offer different navigation, accessibility, moderation workflows, customization, performance characteristics, or simply an interface some users prefer.

When API economics eliminate those clients, the platform becomes more vertically integrated: the same company controls the community, data access, advertising environment, and primary user interface.

That can simplify support and security.

It also reduces user choice.

Developer dependence is easy to miss until the price changes

An API is not ownership of the underlying service.

It is permission to interact with it under terms the platform controls.

That is the lesson worth carrying beyond Reddit. A developer can invest years building a polished independent product and a loyal user base, yet one upstream pricing decision can redraw the entire business overnight.

The application may be independent.

Its oxygen supply is not.