22nd June 2013, 5:22 PM
The problems lie a little deeper than with PCs, or even Apple owned hardware. As you know, with Apple's OS, they strictly control ALL the hardware the OS is designed to work on, so they can very easily make sure it will work with all hardware configurations. Driver issues are invisible to the end user, because the OS discs include all the driver related information that's needed right there.
With PCs, there is a long lineage of "legacy" behind it. Video hardware and processor hardware is set up with "basic operations" modes, so even without a driver, a "universal" driver can be used just long enough for a user to install the driver meant to utilize all the hardware's features. That's why if you don't have video driver hardware installed, you can still see the screen, even if in incredibly low color depth and resolution. It is using an incredibly old but consistent standard for communicating with graphics devices. There also a universal communication language between the OS and the hardware layer called the "BIOS" which allows a very basic language to control the hardware just long enough for something more complex to come about. BIOS is being replaced with UEFI, but the same basic advantage exists, a universal standard to allow an OS to communicate with the hardware no matter how the hardware may differ.
However, mobile phones are a whole different ball game. NO universal standard was ever really developed. There IS no universal BIOS, just whatever bootloader the manufacturer hard coded into the system. As such, the way the OS gets installed varies from one iteration to the next. I complained that Android needs a driver architecture, but the reality goes deeper. Before Google can add such a system to the OS, mobile phone hardware makers need to agree on an industry standard for bare minimum instructions to the hardware. When this is in place, then an OS will have a way to communicate with the hardware to begin with so the user can get far enough to GET to a point where a driver package can be installed.
It gets worse when you consider that mobile phone hardware vendors (more specifically, the manufacturers of the individual components like the antenna array) will put a price on their drivers (not always, but often enough for it to be a problem), and require them to be licensed out to those compiling the OS for that device. These drivers are all too often "close sourced" on top of that, meaning that if some company deems it not worth their time to upgrade their particular iteration of Android for their particular phone to the latest version, it is up to homebrew communities to do it instead, and if the driver was close sourced, they will either have to give up or struggle to cobble together their own driver, which without any sort of documentation to go by leaving them to reverse engineer how the hardware works, very often will be rather buggy.
(This is compounded with phone manufacturers insisting on coding in all sorts of messy bloatware right into their own personal builds of Android, and the locked and guarded ecosystems of phone manufacturers and phone providers in general. It is nothing like the PC world.)
It is a sad situation in the mobile phone world, and it is the reason why the widely used Android OS is still struggling with so many early adopters stuck at version 2.1 of the OS. Simply put, they have no way out of it. In short, the ONLY android phones worth getting are the Nexus brand, the only brand that Google has direct control over and directly codes releases of Android for. Those are the only ones where you can know for sure that you've got full access to the latest Android the moment they release it and without bloatware.
With PCs, there is a long lineage of "legacy" behind it. Video hardware and processor hardware is set up with "basic operations" modes, so even without a driver, a "universal" driver can be used just long enough for a user to install the driver meant to utilize all the hardware's features. That's why if you don't have video driver hardware installed, you can still see the screen, even if in incredibly low color depth and resolution. It is using an incredibly old but consistent standard for communicating with graphics devices. There also a universal communication language between the OS and the hardware layer called the "BIOS" which allows a very basic language to control the hardware just long enough for something more complex to come about. BIOS is being replaced with UEFI, but the same basic advantage exists, a universal standard to allow an OS to communicate with the hardware no matter how the hardware may differ.
However, mobile phones are a whole different ball game. NO universal standard was ever really developed. There IS no universal BIOS, just whatever bootloader the manufacturer hard coded into the system. As such, the way the OS gets installed varies from one iteration to the next. I complained that Android needs a driver architecture, but the reality goes deeper. Before Google can add such a system to the OS, mobile phone hardware makers need to agree on an industry standard for bare minimum instructions to the hardware. When this is in place, then an OS will have a way to communicate with the hardware to begin with so the user can get far enough to GET to a point where a driver package can be installed.
It gets worse when you consider that mobile phone hardware vendors (more specifically, the manufacturers of the individual components like the antenna array) will put a price on their drivers (not always, but often enough for it to be a problem), and require them to be licensed out to those compiling the OS for that device. These drivers are all too often "close sourced" on top of that, meaning that if some company deems it not worth their time to upgrade their particular iteration of Android for their particular phone to the latest version, it is up to homebrew communities to do it instead, and if the driver was close sourced, they will either have to give up or struggle to cobble together their own driver, which without any sort of documentation to go by leaving them to reverse engineer how the hardware works, very often will be rather buggy.
(This is compounded with phone manufacturers insisting on coding in all sorts of messy bloatware right into their own personal builds of Android, and the locked and guarded ecosystems of phone manufacturers and phone providers in general. It is nothing like the PC world.)
It is a sad situation in the mobile phone world, and it is the reason why the widely used Android OS is still struggling with so many early adopters stuck at version 2.1 of the OS. Simply put, they have no way out of it. In short, the ONLY android phones worth getting are the Nexus brand, the only brand that Google has direct control over and directly codes releases of Android for. Those are the only ones where you can know for sure that you've got full access to the latest Android the moment they release it and without bloatware.
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question." ~ Charles Babbage (1791-1871)