LWN.net Logo

Tasting the Ice Cream Sandwich

Tasting the Ice Cream Sandwich

Posted May 16, 2012 0:52 UTC (Wed) by drag (subscriber, #31333)
In reply to: Tasting the Ice Cream Sandwich by robert_s
Parent article: Tasting the Ice Cream Sandwich

> The linux desktop and an android phone are vastly different things.

Not really.

They _are_ different things, but are not vastly. Unless you are using a very unusual definition of 'vastly', or have a very myopic view of software.

> I'd argue that android has a lot to learn from the linux way of doing things.

I am willing to bet that most of the core Android developers are were very experienced developers and users of the Linux OS. Seeing how Google's core competency relates to using Linux on a massive scale and doing things that very few other people are capable of doing... So it's very likely that they knew very much about the "linux way" and took many lessons to heart.

Could you imagine _anybody_ would have _any_ interest in Cyanogenmod at all if they decided that all users had to use rpm and that the only people that could package software for cyanogenmod users had to go through 2-3 years of mentoring? Week long flame fests on mailing lists about how important it is that users should be able to choose between Meamo, WebOS, and Android UIs at install time and how terrible it would be if users and developers would be able to upload their own packages willy-nilly.

Android has massively more hardware vendor support. Massively more software support. Massively more users. It annihilated Windows and crippled Microsoft's market share and competes head to head with Apple. It's a success in every single way that Linux desktop is not. Of course there is lots to learn.


(Log in to post comments)

Tasting the Ice Cream Sandwich

Posted May 16, 2012 8:38 UTC (Wed) by cmccabe (guest, #60281) [Link]

I'm glad that Android exists, but it was never intended to replace the Linux desktop (or any other desktop, for that matter.)

Can we just accept that traditional Linux desktops and servers have different goals and philosophies than Android, or are we going to have another breathless debate about how everything is converging and OMG, the twitters!

Last I checked, the tools I use on the desktop are not available at all on any smartphone platform out there. Maybe someday they will be and we can have this debate then.

Tasting the Ice Cream Sandwich

Posted May 16, 2012 9:58 UTC (Wed) by AndreE (subscriber, #60148) [Link]

Nevertheless, they created a new platform and from a position of minority sold their idea to developers and users alike. If you don't think there is anything GNU/Linux distros can take away from this, then I don't know what to say.

Tasting the Ice Cream Sandwich

Posted May 16, 2012 16:38 UTC (Wed) by niner (subscriber, #26151) [Link]

The difference is: Android came into a brand new and exploding market where hardware vendors had pracitcally no other option. Yes Apple was very dominant in this market, but it was only one vendor among many. If those others had the chance to install iOS on their hardware, they'd have done so. But they couldn't and Android was the only option with a chance of being competitive with the dominant system. Symbian and Windows Mobile were outdated and Blackberry OS proprietary same as iOS. And they needed something quickly.

Contrast that with the situation in desktop computing. All vendors, really all of them have access to the dominant software platform. It does not even cost them much and has overwhelming customer acceptance and for the most part is even what customers explicitely want. Even Apple Inc. which is the world's most valuable company with all it's hype behind it has a hard time competing in this market with some 4.5 % market share.

Other than with smartphones there is 0 incentive for vendors (except Apple) to ship something other than Windows. There is no pressure to find or support another system.

Tasting the Ice Cream Sandwich

Posted May 16, 2012 13:03 UTC (Wed) by drag (subscriber, #31333) [Link]

> Can we just accept that traditional Linux desktops and servers have different goals and philosophies than Android,

The primary purpose of a desktop is twofold:

Primary function: To be used by people to run applications for whatever goal they have in mind.
Secondary function: To make it easier to be used by developers to write applications.

That is _IT_. That's everything in a nutshell. The OS exists for no other purpose but to do that. It's easy to get hand wavy about 'goals are different', but they really are not that different at all. You can say "Oh well Linux desktop is all about free software". Well... generally speaking Android is ever bit as open source/free software as Linux.

Anything that makes it difficult to write applications, distribute applications, use and install applications is a distinct and significant failure on the part of the platform.

Android has a very significant number of differences to how it's made and how repositories are managed that Linux desktop should adopt. To believe otherwise is a height of arrogance.

> or are we going to have another breathless debate about how everything is converging and OMG, the twitters!

Hardly.

A example:
1. Android tries to make it as safe as possible to run Applications.

Each application has a restricted set of APIs that they use. Each application runs under their own user account in a sandbox. Android uses group membership of that user account to restrict access to system resources.

This is very similar to how people traditionally restrict internet-facing servers to limit damage if one of them has a flaw. Each service is restricted by the functions it can execute in a chroot environment. User and group permissions are used to reduce the OS exposure to the application as much as possible. MAC is used by some systems to restrict it further.

In comparison the Linux desktop any application has full access to all user resources. Applications can intercept and read key presses. They can examine and modify the memory contents of any other application. Any application can download and execute any code it wants with the same permissions as the user. And since all important and sensitive user information is stored in user-accessable places then Linux desktop security is roughly on par with Windows 98. There is some effort to improve this, of course. Ubuntu has some good stuff with their Apparmor.

This isn't perfect on Androids part, of course. But it's massively better. It's more secure, it's easier to try out and play around with different applications, and if applications are malicious or just buggy then at least you have a fighting chance with Android.

This is a example of how Android makes it much easier to run applications then Linux desktop.

There are quite a few other examples. Android success didn't happen by accident and didn't happen just because Google was involved. There are very significant design choices that matter a lot. Combine what I said above with a lot of other things and writing applications for Android, distributing applications for Android, installing applications for Android, and using applications for Android is in a lot of ways much easier and simpler then it is for Linux desktop. This sort of thing is at the core as to why we have the desktop OS. It is it's reason for existing in the first place.

Tasting the Ice Cream Sandwich

Posted May 16, 2012 15:02 UTC (Wed) by ewan (subscriber, #5533) [Link]

"Each application has a restricted set of APIs that they use"

Which is fine when all of your devices are phones or tablets (i.e. big phones) and you can require the hardware to be fitted to the requirements of the OS. If you want to run general purpose computing on general purpose computers you just can't do that.

Tasting the Ice Cream Sandwich

Posted May 17, 2012 6:46 UTC (Thu) by Los__D (guest, #15263) [Link]

That doesn't really make any sense today. Phones are more or less general purpose computing now. Tablets even more so.

CapDesk

Posted May 17, 2012 7:13 UTC (Thu) by gmatht (guest, #58961) [Link]

Even for Android some popular programs need root. Most desktop applications should be easy to implement in a CapDesk like environment, where e.g. documents cannot be opened except via a trusted file open dialog box. Even some existing GTK applications may be able to be partially limited this way by Plash. For those rare applications that really do require bypassing these security measures, maybe requiring them to either be packaged by engineers with 2+ years experience, or only be run on devices that have been explicitly "rooted", isn't such a bad thing.

Also, when I think of "general computation" I usually think of Turing completeness. Running a Turing machine is as safe or safer than loading a webpage.

Tasting the Ice Cream Sandwich

Posted May 21, 2012 1:53 UTC (Mon) by dvdeug (subscriber, #10998) [Link]

I'm not sure how well "Each application has a restricted set of APIs that they use" works; lots, maybe most, applications have more power on my Android phone then I'm comfortable with. Frankly, I'm more comfortable with Debian's security, because I believe that the program author and the packaging developer are on my side as opposed to most apps where the developer is wasting my bandwidth and CPU time downloading ads, and we're hoping that's all he's doing.

Tasting the Ice Cream Sandwich

Posted May 23, 2012 21:54 UTC (Wed) by njwhite (subscriber, #51848) [Link]

> I'm more comfortable with Debian's security, because I believe that the program author and the packaging developer are on my side as opposed to most apps where the developer is wasting my bandwidth and CPU time downloading ads, and we're hoping that's all he's doing.

Exactly. The relationship between developer and user is a very important factor indeed, and one that is far too often undervalued.

Tasting the Ice Cream Sandwich

Posted May 17, 2012 0:14 UTC (Thu) by robert_s (subscriber, #42402) [Link]

Honestly I don't get why we are always getting this nonsense from peopl about the "Linux desktop" needing to be more like iOS & Android and clearly not getting why that will never and can never happen without it no longer being the "linux desktop".

iOS and Android appear to work well because they are "strongman" platforms. Where Apple or Google/Manufacturer/Carrier are the respective "strongmen". There just _is no_ strongman in the linux ecosystem. Who's going to be that strongman? You?

And besides, any such system would be an anathema to the freedoms & power a "linux desktop" is supposed to give you - and if you're not interested in them, you've got to ask what it is you really want. Is it that you want a linux kernel powering your (or your mother's or whatever) desktop? Is it X? Do you have a fierce desire to see gtk powering half the world's desktops? Because if you just want another Windows or Android, Windows and Android are there for you.

"Android has massively more hardware vendor support."

I don't call "I'm stuck with an old OS because my manufacturer can't be arsed to port anything current to my model" hardware support. It's dodgy crap barely working on a couple of releases. It's the dark ages of hardware support.

Grumble grumble grumble...

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds