Just over a year ago, Overcast developer and ATP co-host Marco Arment wrote about what he felt was the fall of software quality at Apple, and its contrast to the continuing excellence of the company's hardware. Today, Walt Mossberg echoed similar complaints, though more specifically about Apple's apps. Here's what he wrote on The Verge:

In the last couple of years, however, I've noticed a gradual degradation in the quality and reliability of Apple's core apps, on both the mobile iOS operating system and its Mac OS X platform. It's almost as if the tech giant has taken its eye off the ball when it comes to these core software products, while it pursues big new dreams, like smartwatches and cars.

Jim Dalrymple followed up on The Loop:

Walt touched on iTunes for the desktop and how bad it has become, especially since the integration of Apple Music. I've been harping on Apple Music since it was released, and while it has gotten much better, I am amazed it was released in the state it was.

And John Gruber on Daring Fireball:

Software and hardware are profoundly different disciplines, so it's hard to compare them directly. But it seems obvious to me that Apple, institutionally, has higher standards for hardware design and quality than it does for software.

As has often been said, it's easier to update bits than atoms, so you have to get the latter right and right away. I suspect there's more to this, though, than hardware simply being less forgiving than software.

Apple and software

First, Apple doesn't have just one software team. iTunes.app, for example, is the responsibility of the services organization under senior vice president Eddy Cue. As is Apple Music and iWork, among others.

iOS and OS X and most of the core iPhone, iPad, and Mac apps are handled by the software organization under senior vice president Craig Federighi.

Second, human perception is such that any current annoyance is unbearable while past annoyances are barely memorable. A quick trip through message boards from the last decade will show an unending stream of complaints about broken software, services, and promises. Often the complaints intensify during periods when Apple pushes to get new technology to market, and ebb when Apple falls back to iterating on those technologies.

The difference now is that Apple is doing so many things so quickly that cycle is stretched thin.

Third, Apple sometimes gives apps impossible jobs. iTunes.app, for example, has to support untold millions of Windows users and sync untold millions of legacy iPods. Music.app, while supposedly simpler in its prototype stage, ultimately came to support the unworkable complexity of old libraries ripped from CDs, locker services, new streaming services, playlists, queues, radio stations, custom stations, social networks, and more. News.app was developed in a silo apart from Siri news recommendations, and so the former leverages none of the personalization of the latter. Likewise, all the work that's been put into Safari Reading Lists and Shared Links is wasted on both.

The first two are atypical examples of Apple prioritizing backwards compatibility instead of the company's usual ruthless, relentless drive towards a simpler and more opinionated future. The third an example of when surprise wins out over delight.

Eliminating the impossible

Moving all development to Craig Federighi has been suggested as a solution, and could be something we see eventually, but that organization already has impossible jobs all its own. With iOS 7 they had to handle a completely new interface and interaction model, with iOS 8, a completely new functionality model. Both were crucial to where Apple is now, but both were also brutally hard to ship on the yearly update cycle — like trying to sprint through a marathon.

In days gone by, "no" would have been said far more often. iOS would have been kept simpler, without continuity or extensibility. Mobile Me- and Ping-style problems, though, would still happen, and things like Gmail's "eccentric" IMAP implementation would still have to be supported.

Apple would also still have to contend with resource constraints. Even for one of the biggest companies in the world, there's a limit to how many top flight engineers will work in Cupertino, especially with intense competition from other major players and startups. Either way, impossible jobs remain impossible.

Perhaps that's where the answer lies — in stopping the impossible. Tough as it is, letting go of the legacy Windows and iPod support would let Apple take iTunes to the cloud and modularize sync and other services on the desktop. Letting customers with old libraries manage them the old way would let Apple Music stream unencumbered. Making things like News system-level projects surfaced consistently across apps would both surprise and delight.

There'd be outrage from customers who feel abandoned, of course, but we all have to adapt sooner or later.

Towards better bits

These are all incredibly hard decisions that need to be made high up the chain. There are signs, however, that Apple may already be doing just that. There are rumors, for example, of Apple switching from simply tracking "crashers" to also tracking "annoyers", and providing time for engineers to fix not only the bugs that are showstoppers, but the bugs that aggravate everyone.

Engineers are, after all, craftspeople. They are passionately committed to making the absolute best software in the world. Remove the impossible jobs and those remaining, no matter how incredible, would not only be attainable but maintainable.

Ultimately, though, great software requires constant scrutiny — both external and internal. And the most effective way for Apple to keep doing better is to keep telling the company it needs to do better.