I've see a lot of talk from various places that the 'issue' with the decline in software quality from Apple stems from 'changing too much, too fast' -- I think its actually the opposite -- not changing enough and not changing it fast enough.

There are going to be upgrades -- that is GOOD. But we need to -feel- like there's something new and better and worth the inevitable bugs that -change- is guaranteed to introduce. Those who react to this problem of 'change produces bugs' by saying 'nothing should change' or "don't change what isn't broken" are inevitably in the wrong. Change needs to happen, but more importantly the right changes need to happen.

iCloud is really confusing -- there is just no simple way to understand what it does, what its for, how to use it, how it can go wrong, what happens when it goes wrong ... and on and on. It needs to be turned into something more modular with better boundaries between its unrelated aspects.

- iCloud needs to change faster. In my opinion we've been on on a slow path towards an iCloud account being _required_ for OS X usage -- the slowness of this progression has drastically complicated the introduction of iCloud features. In my opinion, doing iCloud right _requires_ iCloud to be present and configured. Just pull off the bandaid -- require an iCloud identity for each user account and redesign the rest of the setting system to assume its presence ... Re-implement the process by which all the system provided apps query for settings to use the new model designed to keep up with modern users expectations.

In my mind iCloud needs a new statement of purpose. I'd propose this: iCloud is about:

- establishing identity of person for usage of apple services
- establishing the ability to mutate configurations associated with that person on any device that person uses. The other _services from apple should not_be called 'iCloud'. I'd like to see iCloud become:

- a screen which is ONLY about configuring 'the iCloud account associated with this user'. This should be about proving who you are to apple so that you can synchronize your other system settings to/from cloud and other devices. Nothing else.

- The rest of iCloud should be folded into a generic interface to all 'system integrated internet services'. I imagine a screen designed to manipulate a data model that looks something like:
Service Provider -> User Identities -> Devices -> Services

From one place I can configure my authentication credentials for various service providers, and then decide which services from each provider I want to enable on each of my devices.

The associated settings are synced to iCloud and onward to each device. iCloud is one place to define all the system<->internet integrations for all your devices. The implementation of those services is _not_ part of iCloud. I should be able sit on my mac and configure which mail accounts I want my phone to check -- this is iCloud -- actually downloading the mail on my phone, not iCloud. I think iCloud should implement a user-facing synchronized management console for describing the set of network service integrations to enable for each of my devices -- it should also expose an api by which applications can gain access to these service configurations. That's what iCloud should be in my opinion. Its a lot of _change needed_ to get there, but no change here is worse I think by far...

I'd like to see apple change more about OSX -- change something low-level, long-lived ... Do something controversial that forces the most ossified of unix curmudgeons to learn new tricks. How about a new default shell (fish! ... something homegrown)!

My advice for apple: Keep moving the world forward, don't go into maintenance mode, improve things that need improving, embrace the fact that not all change is churn. Someone at apple needs to stand up for that mantra in the face of all this criticism and prove to the world that can still improve things by changing them. That's the only way this perception of 'declining quality' is going to change.