Hacker News new | past | comments | ask | show | jobs | submit login
CyanogenMod Installer Application Removed from Play Store (cyanogenmod.org)
290 points by eknkc on Nov 27, 2013 | hide | past | favorite | 188 comments

With the CM Installer in the play store many lay-people started using it, rendering their phones unusable[1] when any little issue cropped up.

Also the process wasn't foolproof even for people capable of dealing with technical issues[2].

It isn't polished enough to go in the play store IMO. I don't know WTF the cyanogenmod team was thinking, non-technical people messing with CM will just lead to negative press.

1: http://www.reddit.com/r/nexus4/comments/1qkfaw/cannot_uninst...

2: http://www.reddit.com/r/nexus4/comments/1qi5lw/official_cyan...

But that is only one person whose phone is rendered unusable and not many as you insinuate. Same thing happened with PS4 launch when people reported issues, but statistic turned out to be <1%. This app is exactly for the non-technical people to stop messing around. http://arstechnica.com/gadgets/2013/11/android-roms-the-easy...

I run a Android Development company and has high respect to Koush and others at CyanogenMod. I believe they add great value to android ecosystem. But CyanogenMod installation is anything but fool proof. Had issues on Nexus4 and 7(2013) personally.

CyanogenMod definitely doesn't belong in PlayStore. Having an app like that on Play Store enables many non techies to try it out without understanding repercussions. Who do you think these people will call?

Here is the order:

1. Carrier (Walk in Store)

2. Play Store Support Number (Surprise Surprise Google actually provides phone support)

3. ????

The same thing did not happen with the PS4 launch; there, the consumer can get a FREE replacement of the damaged goods. Here, you're SOL.

The best I can tell, this is like all of those teenagers installing Napster, Kazaa, or whatever on grandma's PC. Feds show up and "OMG, fines!? I didn't know! I'm computer dumb. I paid $10/month for all nsync!"

I love what CM is doing, but if lay persons and even "experts" are getting burnt, who is responsible? Who gets blamed? Google? Because that's the first place consumers are going to go or to distributors or manufacturers who are going to also going to defer to Google.

If an app bricks one phone in ten thousand, that's too much for the Play store. That doesn't mean the package can't exist outside of the Play store.

In fact, the ability to install something outside of the Play store framework seems like one good test for whether someone is ready to make the jump.

I tried it on my girlfriends S2; we followed the directions precisely but we got some odd error messages about the device not being found, and the phone stopped being able to boot. Had to go through a "normal" Cyanogen installation procedure to get it working again; not hard for me but nothing you want a non-technical person going through (hence why the installer exists).

I have no idea what the percentage of people having problems is, but it certainly happened to more than one person...

I think an accurate comparison would be EA providing software via the Playstation Store which attempts to change the OS, leading to a situation where the warranty becomes void and Sony refuses to replace or fix broken PS4s free of cost.

When problems creep up on a product like this, the user will get shafted badly in the end. Google will refuse to help (cue complaints about Google allowing potentially destructive apps in Play store) as they don't support either the software or the phone, the manufacturer will also wash their hands off it, CM does not provide support for this from what I understand.

I have been using Android phones since 2010 (rarely on a stock ROM) and even now flashing anything is done with a prayer on my lips. There are just too many things that can go wrong with the way it is done right now.

Same here. Been running Android since 2010 on 3rd party ROMs. Thought I'd bricked on more than one occasion but somehow got away with it. Guides purporting to provide the "definitive" or "foolproof" rooting / flashing method rarely do, leaving out crucial steps and not considering the full combination of starting points that might / will occur and the effect of tinkering.

I concur with justin66. The necessary skills to deal with something going awry would seem to be good criteria for searching out Cyanogenmod for themselves and making the jump rather than casually clicking on "install" in the play store.

To be fair, most of my bricking has been due to my own carelessness, including a dead boot that had to be finally rescued via the JTAG route. Even with the best guides, it is easy to miss a step or two no matter how many times you have done it before.

One downside of CM raising money is that they will have to go for high impact initiatives as a must-have than as a welcome side-effect of the stellar work that they have already been doing. Guess they will eventually go the route of CM phones or phones that come with CM pre-installed. The money they raised does not make sense for building a purely software offering.

Browse the support forums of carries and device makers and you'll find plenty of such testimonials. They would brick their devices and find themselves without warranty, which is not exactly an ideal situation.

It's not unheard of, but extremely rare to "brick" modern phones. Four years ago, when you had to replace the bootloader you could flash something that would "brick" a device to the point that only JTAG could fix it, but that hasn't been typical since the Nexus One. More commonly you can still access fastboot or ODIN and restore a system image which returns the device to a stock OS. This isn't ideal for non-tech savvy users, but it is a recoverable state.

I recovered once that way, but it is definitely an unrecoverably bricked device for my parents and even for my brother.

An app that bricks even <1% of the devices just doesn't belong in the app store where it gets exposure to lots of non technical users.

Why doesn't CyanogenMod replace or repair bricked devices, when their software caused that problem in the first place?

Why should Google or the device manufacturer pay for it?

Because it comes without any implied warranty as per the Apache 2.0 license[1] they use. Though when they go and put it on the Android Market, that creates a gray area that was not an issue when it was confined to the Android Modding Forums.

Users installing it outside the market though as it was always installed have no more right to Cyanogen giving them a new device than Debian or the Linux Foundation would if you destroy your PC installing Debian Linux.


First comment from the first thread you linked to:

Aaaaand this is why making root and roms easy access is a terrible idea. I miss the days where knowledge of at least adb and fastboot were required.

It's not politically correct to say, but it's true.

Yes. If you're not able to sideload this app, you probably shouldn't be using it.


I was excited when CM first announced their plans but I had assumed that, if they were going to release a product aimed at the average consumer, they would first ensure it was suitable for use by the average consumer. If those two Reddit threads are anything to go by, they didn't. That is a massive and potentially fatal mistake on CM's part.

Before they launched the new installer, the traditional CM user needed to have a minimum level of technical chops to even attempt to get CM onto their device. That meant that, if something went wrong, they had a chance of saving themselves. By contrast, the average consumer is non-technical and if your product is aimed at non-technical users, you need to make fucking sure that it's literally idiot-proof because Murphy's Law applies.

Code doesn't exist in a vacuum. It forms just one part of a broader system that can include other code, hardware, network connectivity and people, any of which can behave in unexpected and irrational ways.

At the risk of generalising slightly, developers tend to (a) think that things are going to work the way they expect them to, (b) expect people to behave rationally, and (c) assume that they don't have to worry about dependencies that are outside their control.

Reality is that (a) things often don't work as you expect them to, (b) people (especially non-technical ones) don't always behave rationally, and, (c) if you are relying on something outside your control to work properly, you better make sure that the code you write is capable of handling errors, failures and exceptions.

I constantly hear developers using the words "should" when talking about issues. The user should make sure that the battery is fully charged before starting the install. $3rd_party_dependency should work as advertised. The user shouldn't pull out the USB cable in the middle of an install.

Assume that things aren't going to work as they should, even if you can't imagine why they wouldn't. Why would the USB connection be interrupted in the middle of an install? Who the fuck cares why?! The user might be an idiot. They might clumsily knock the phone off the table. They might have a two-year old child who wants to play with daddy's phone. It doesn't fucking matter why or how it could happen, just assume that it might and figure out how to deal with it if it does!

In fact, assume that your product is destined to be used by someone who is going to do their darnedest to fuck it up. I used to answser the tech support line for an ISP back in the '90s and the one key thing I learnt from that experience is that users will do the most stupid things imaginable.

Any time you use the word "should", it's a fuck-up waiting to happen! Exception-handling, exception-handling, exception-handling! Not just in code but in the processes and procedures that surround the product that contains your code. Test it to death and then test it some more. Get your non-technical friends to try using it and watch them. Any time they need help or prompting, take note and change your product accordingly.

This is why empathy is such an important quality in product managers. Empathy is what gives one the ability to put oneself in another's shoes. Imagine I'm a housewife whose technical prowess extends to putting on the dishwasher. Imagine I'm a college student who fancies himself as the next Mark Zuckerberg and thinks that coding is writing HTML and CSS. Imagine I'm an impatient high-school senior who wants to differentiate himself somehow from all his friends who also have Android phones. If you're releasing a product via the Play Store, it needs to cater to all those potential users and more.

CM need to get on top of this. There's a massive difference between an obscure piece of software aimed at geeks or hobbyists, and an Installer aimed at the mass market. Even the rumour that the installer is bricking phones could do serious damage to CM as a brand (not to mention put them at risk of litigation - how much do you want to bet that some shark isn't already thinking about a class action lawsuit?). Just look at how much focus and effort Elon Musk puts into rebutting any suggestion that Tesla cars are prone to fires. He knows that confidence is crucial when you're marketing to consumers.

CM need to adopt the same mindset.

And, of course, CM still phones home by default, which is malware behavior, and not something we need to condone.

Don't be so dramatic. The phone home to provide statistics, it's much better then what is built in every stock rom. Also, phoning home is not malware behaviour. Every single website in the world does it, is that all malware?

He rattles off this complaint any time Cyanogen is brought up on HN (twice in this thread[1]). It gets a little trite after a while for him to keep dragging this complaint out when all one has to do is uncheck a box.

[1] https://news.ycombinator.com/item?id=6812771

> The phone home to provide statistics

What are they doing with those statistics? What could they do with them in the future? What could they be forced to do with them?

If it's so harmless, why isn't it opt-in?

> Every single website in the world does it

Obviously not. Websites don't have access to hardware the way CM does.

> What are they doing with those statistics? What could they do with them in the future? What could they be forced to do with them?

If you would quit trolling for one moment, you could easily find your answer[1][2]. It's no more likely they will get away with sneaking something in than any other Linux Distro would as there are many eyes, including myself, looking at their source as a hobby. There are also those that dislike Cyanogen and would love to see them slip that monitor their source constantly. That is a good thing, and serves a purpose, unless it's a false alarm that "cries wolf" and gets repeated so much, everyone just ignores it when there's finally a real issue. Think about that please when you keep dragging up this current non-issue.

They also give a preview of what they are collecting when you go to the "opt out" screen on your device and the source is on Github. If you're super paranoid, compile your Cyanogen yourself minus the stats instead of relying on what they give prebuilt.



That's what they say they're doing. Do you trust them now? Do you trust them when the NSA comes calling?

And now, the question nobody will answer: Why isn't it opt-in?

There is plenty of such software on the Play Store.

E.g. Rom managers such as this one. https://play.google.com/store/apps/details?id=com.koushikdut...

> I don't know WTF the cyanogenmod team was thinking, non-technical people messing with CM will just lead to negative press.

I know atleast three people who tried to install Linux and formatted their Windows partition in the process. So you mean Linux CDs and DVDs should never have been bundled with magazines?

I don't think there's any danger of grandma seeking out CM and going through the process to install it. CM has over 8M installs, having a handful of bricking incidents is nothing at that scale.

Hopefully this has nothing to do with CM making its own handsets http://www.rethink-wireless.com/2013/09/20/cyanogen-aims-cre...

That's a terrible analogy.

Firstly, a PC != mobile phone.

This isn't a bloody OpenMoko phone - this is a working consumer device that's sold to you as a "dumb" device. It's like buying a television or DVD player, flashing some weird third-party firmware, then taking it back and saying, gee, it just stopped working...

Or flashing your car's ECU chip.

The manufacturer is certainly not expected to fix your mistake. They might for goodwill, but they have no obligation to.

Yes, there is certainly a danger in the proverbial grandma flashing her phone (why do we always pick on grandma's? I mean, geez, Hopper Grace was a grandma wasn't she? Lol).

I've seen countless phones soft-bricked by bad flashes. It's like upgrading your BIOS - if you get unlucky, or the power goes, you're SOL.

Google's just being responsible. The whole point of Android is that you can sideload ADB's easily.

Think of it as a entry test - if you can't load a non-PlayStore ADB onto your handset, you have absolutely no business installing a custom ROM.

Put it this way - you ask me how to flash your car's ECU.

I say, well, firstly, you need to pop open the bonnet and read me some numbers. And then you said to me, "Gee, how do I do that? I've never popped a bonnet open".

My next thought would probably be, "Err, are you really sure you want to flash your car's ECU?".

Cheers, Victor

Actually, it's quite a good analogy. I have installed Linux on half a dozen newly purchased PCs and was just recently flummoxed by UEFI and trying to retain a Windows partition. I had to make an informed decision to do without Windows entirely on this latest machine. The effort to install an aftermarket ROM is similar.

No it's not a good comparison because you cannot brick a PC installing Linux. At most you lose any data that wasn't backed up, but you can then just use the normal recovery discs to get your machine back (which is a process the average user is expected to do every few years anyway - if just to fix the natural decay of Windows)

> E.g. Rom managers such as this one.

That particular ROM Manager requires having root and an unlocked bootloader prior to use while the CM installer does not. That alone is a big difference, since it implies someone should be aware slightly of what they're doing if they have gotten past the unlocking/rooting stage.

The only thing that matters is who pays when someone bricks his device with that software.

And those users are surely not expecting that they are going to pay themselves, since they installed the software from the official Google Play store.

What CM does (doesn't matter if intentionally or not) is externalizing the cost for support to Google and the device manufacturers, since they themselves are not willing to replace or repair devices that have been bricked by their own software.

It seems like no matter how blatantly Google carries out it's updated "Microsoft from the 1990's" act there will be a coterie of apologists on HN explaining away it's actions. The Cold War provided an appropriate label for this crowd: "useful idiots".

Let's recap.

Prior to today, a community-developed fork of Google's open-source operating system could be installed by using an app from Google's own app store (which sometimes bricked the phone).

After today, a community-developed fork of Google's open-source operating system can be installed by downloading the installer from the CM website.

This somehow makes Google like 90's Microsoft?

How many operating systems or web browsers did Microsoft open-source?

How many forks of their software did Microsoft tolerate?

Calling Google "90's Microsoft" is like calling Obama a socialist: it shows an utter lack of perspective of what a real socialist looks like. (If you want to see a real socialist, read about Kshama Sawant who was just elected to the Seattle City Council and wants to collectivize Amazon.com and Boeing).

I wouldn't even bother responding to stuff like this, but it's getting upvoted on HN which is depressing.

let me see... google and the open handset aliance advertise an open source OS, that you cant install without voiding warranties and bending to proprietary radio and firmware code. just like pc manufacturers of the 80/90s (bios was reverse engineered from IBM and then tightly controled by ami. it only looked slighly open because IBM was much more closed. same with android standing next to apple.

> that you cant install without voiding warranties

So you think that a user should be able install an OS that bricks their phone and still have the phone still covered by warranty?

How does that make sense?

Is this people's expectation of Google, that if they don't give you whatever you want (at their own expense) then they are like 90s Microsoft?

It makes complete sense because it shouldn't be possible to brick the phone just from trying to install a different OS, and installing software shouldn't make it possible to void the warranty. Hardware and software should be separate.

Hm, at what point is hardware separate from software? When you write some C code that gets loaded on the Attiny85 chip, is that still considered software? Many SoCs come with the firmware already loaded so it just looks like a normal cpu when in actuality it contains a mini OS, graphics, networking, etc, all on a single QFN-72 package.

The point at which hardware is separate from software is when hardware is transistors and software is instructions. This isn't a difficult concept. And even if you want to get super pedantic in true insufferable-nerd fashion and argue about microcode, it doesn't apply to the operating system level, which is well, well into software level.

Most of the phones that have been "bricked" by the CyanogenMod installer aren't actually permanently bricked, they're just not fixable by anyone who'd actually need the CyanogenMod installer to help them install it.

Any user action that is completely reversible, like installing software, should not render the warranty void.


Yes - but why don't you think what you said through a bit...

I flash my motherboard with a custom BIOS image I've hex-edited together.

Now, it won't boot correctly.

Yes, it's reversible - I can probably figure out a way to flash the original image back on.

However, the motherboard manufacturer is hardly going to tolerate me taking it back going, you need to fix this. That's hardly reasonable.

They're going to be...err...you did something stupid and unsupported. You fix it. They might give me advice, but the onus is certainly not on them.

Or say I flash my car's ECU to give me another 5 HP of output. Then my car stops starting up reliably. I can't exactly take it back to Honda and say, fix it. They'll be like, we sold you a working car - you did something out of spec, and overrode the ECU software - we aren't fixing it.

Yes, it's reversible - I can flash the right ECU image back on and it will start up correctly - but the onus isn't on them to hand hold me through that process.

Cheers, Victor

>...why don't you think what you said through a bit...

I have.

>I flash my motherboard with a custom BIOS image I've hex-edited together.


>Now, it won't boot correctly.


>Yes, it's reversible - I can probably figure out a way to flash the original image back on.

In most cases. It is possible to brick some hardware, but easily-brickable hardware is probably not something that OEM's should ship; that's just asking for trouble.

>However, the motherboard manufacturer is hardly going to tolerate me taking it back going, you need to fix this. That's hardly reasonable.

They might if they like selling things. AMD tolerated and even encouraged overclocking, finding that it won them more sales than problems that it may have created.

>They're going to be...err...you did something stupid and unsupported. You fix it. They might give me advice, but the onus is certainly not on them.

Well, yes and no. They ought to either publish a spec that would tell you how to fix it, or let you ship it to them and re-flash it for a reasonable fee. People do send motherboards back all the time claiming that it "broke" or was "DOA" when they may know full well what broke it. Right or wrong, a company will have to do a postmortem engineering analysis on a part to prove it was tampered with, and they will need to be able to prove tampering if they don't want bad press from consumers. I'm not saying that makes lying right, but that is probably the reality for a lot of cases.

>Or say I flash my car's ECU to give me another 5 HP of output. Then my car stops starting up reliably.

>I can't exactly take it back to Honda and say, fix it. They'll be like, we sold you a working car - you did something out of spec, and overrode the ECU software - we aren't fixing it.

Again, the consumer can say "I didn't do anything, I'll sue you. I'll tell the local TV station." Now the dealer has to risk a lawsuit, bad press, in which case they will need a professional engineering analysis; or the Dealer could just re-flash the firmware. I'm not sure how it is handled these days, but the customer can create a lot of doubt about the origin of the problem, and make it difficult for the dealer/carmaker to prove malfeasance on the customer's part.

>Yes, it's reversible - I can flash the right ECU image back on and it will start up correctly - but the onus isn't on them to hand hold me through that process.

If markets worked the way I was taught they ought to, then customers would never tolerate that. Then you could expect to take your car to the dealer, and for a reasonable fee they'd re-flash your ECU firmware or whatever, and then try to sell you some new floor-mats and an oil change. Unfortunately in many cases you're right; you can expect to be treated like a chump at the car dealership's service dep't. which is why "Right to Repair" laws are important. I think it is interesting now that Toyota has tried the "Cosmic Ray Defense" for exploding firmware how a car-maker (especially Toyota) might react to a customer with a bricked ECU who offers no explanation as to why his ECU is bricked.

>Cheers, Victor

Cheers indeed, and happy Thanksgiving, unless you are Native American, in which case, my apologies. (If you're not in the US be thankful Columbus didn't find your country instead.)

>So you think that a user should be able install an OS that bricks their phone and still have the phone still covered by warranty? > >How does that make sense?

Because software shouldn't brick the phone. It should ALWAYS be possible to download and restore the pre-installed operating system and factory settings (it definitely was on my last android phone - an xperia - which I 'bricked' multiple times trying to get cyanogen to work).

This really does remind me of the bundle/don't bundle internet explorer wars. "Oh, but you can just download netscape if you really want it!"

>Because software shouldn't brick the phone.

It's not software, it's a damn operating system.

Isn't it because the apps aren't completely customizable/removable without rooting? So if a carrier includes apps that you don't like and that you want uninstalled but can't. The same probably goes for google play services. What if you don't want that to auto update?

it only has the possibility to brick the phone because they went the extra mile to try to deny access to doing it.

>So you think that a user should be able install an OS that bricks their phone and still have the phone still covered by warranty?


>How does that make sense?

It makes sense the same way that installing Linux and/or wiping Windows doesn't void a PCs warranty.

Should users be allowed to install any programs including keylogging malware on Windows computers? Shouldn't Microsoft protect them by locking it down so that only approved apps from their app store can be installed? Like mobile app stores?

It is rare to "brick" your PC by installing linux/windows. Phones are different because their input/output interfaces are limited to a single usb port, and in many cases that usb port doesn't even support host mode. Technically the phone isn't really bricked, but there's no way for a normal user to fix it without cracking open the phone to attach a jtag.

If PCs in the 1980's could be destroyed simply by improperly installing an OS, you bet manufacturers would void warranty for software misuse.

Sounds like bad design though. It's normal for embedded devices to have a non upgradable bootloader that can always be triggered at boot and is able to reflash a pristine copy of the original firmware wiping whatever was later written. iOS does that (see DFU mode), and all embedded devices I design at work do the same. Why an Android device shouldn't? Apple devices are nominally warranty voided when you jailbreak them, but since you can always reflash an original firmware leaving no traces behind, it's basically moot.

NOTE: no sarcasm here, I'm genuinely interested on why android phones can be software bricked and can't have a boot loader like anything else.

Android devices have similar failsafes (e.g. recovery, fastboot mode), but since they're part of the infrastructure that validates that you're only flashing authorized changes, you are often working around them when you modify your device.

Which is exactly the problem, the fact that you have to work around them to begin with.

Which means that the barrier placed by Android manufacturers is artificial.

> It makes sense the same way that installing Linux and/or wiping Windows > doesn't void a PCs warranty.

Have you ever actually tried getting warranty support for a Windows PC you installed Linux on? The last time I tried even just mentioning the word "Linux" was enough to get many support departments to drop you like a hot potato. In my experience, the minimum bar for support is keeping around a Windows partition and any diagnostic/recovery partitions they have, whether or not you want them otherwise. If you're unlucky, you'll have to blow away your Linux install even if it's completely irrelevant to the issue at hand.

Modded Windows PCs are easier to deal with because you can usually erase all traces of Linux/other OSes if you need to for support (no eFuses and similar nonsense), but the on-the-ground support policies aren't all that different from modded phones.

> It makes sense the same way that installing Linux and/or wiping Windows doesn't void a PCs warranty.

You need to take another look at user grade warranties for PCs. Many of them are void if the users installs a different OS. Especially if they break the HPA partition where the OS reinstall stuff is kept.

If I download instructions to hotrod my lawnmower, and then engine block cracks when the head gasket blows out, should I blame Toro for not locking down my lawnmower?

But in this case Toro used to host those instructions on its website.

But should they be?

Say there's a Toro site for add-ins (flashing lights or whatever, I have no idea how you'd mod a mower...lol).

And some of those add-ins will void your mower, and potentially break your machine. It's certainly within their prerogative to say "We won't host them. But you can just go to <some website> and get it from them instead". In fact, doesn't Google make a search engine? Surely, it's not hard to just Google for Cyanogenmod and find their hompage? In fact, if you can't do that, then probably shouldn't be flashing a ROM...

You can't install on some consumer hardware without voiding the warranty. The quality of the hardware you get subsidized from AT&T doesn't change the openness of Android.

If you had a board and wanted to start porting android to it today everything you need to make it happen is there and out with permissive licensing too. What more to do you want out of a software project?

> This somehow makes Google like 90's Microsoft?

You should have stopped there. Removing Cyanogenmod may not be it, but the rest of your post just opens it up for pointing out how Google is just like Microsoft.

> How many operating systems or web browsers did Microsoft open-source?

Red herring. Selling software and Operating Systems is Microsoft's core business, and you expect them to give it away? How much software that is the core of Google's business has Google given away? I see nothing of the search, advertising and distributed systems infrastructure being open sourced.

> How many forks of their software did Microsoft tolerate?

Hah, why don't we ask Acer that? The moment there's any leverage at all, Google will use it to squash forks. Conversely, has Microsoft ever tried to stop WINE or ReactOS? (Honest question, actually, I don't know.)

Now let's ask some more relevant questions:

1. How many times has Google been investigated and fined by the FTC and DOJ for illegal business practices?

2. How many times has Google been investigated by US and EU government agencies for privacy breaches?

3. How many times has Google been investigated for anti-competitive behavior in the US and the EU?

4. How many times has Google been accused (and sued) by smaller companies for unfair business practices?

5. How many times has Google been accused of intentionally providing poor support for a competitor's product?

6. How many times has Google been sued for infringing somebody else's IP?

7. Has Google been sued by Sun for "hijacking" Java?

8. Has Microsoft been made to pay damages for abusing standards-essential patents?

9. Has Microsoft been sued for colluding in anti-poaching agreements?

Some things Google has escaped (e.g. antitrust in the US), and some don't apply to Microsoft (abusing FRAND patents, anti-poaching collusion, illegal pharma ads), but most apply to both: investigations, settlements and fines in the US and EU for anticompetitive conduct, privacy breaches and illegal business practices; accusations of crippling competitors' products (Netscape etc. for Microsoft, competing service providers like Yelp, YouTube/Maps on Windows Phone for Google); accusations of stealing IP and unfair business practices (e.g. Apple's UI lawsuit and i4i for Microsoft, Author's Guild and SkyHook for Google); and so on.

Anecdotally, having been privy to some negotiations with Google in two separate companies, they very much throw their weight around.

> I wouldn't even bother responding to stuff like this, but it's getting upvoted on HN which is depressing.

As much as you'd not like to admit it as an employee -- and it may not be apparent to the rank and file from inside -- there are very clear parallels in how both companies behave. Google is certainly throwing their weight around these days, which is precisely why Microsoft was hated in the 90s.

> Google is certainly throwing their weight around these days, which is precisely why Microsoft was hated in the 90s.

Not really. There's nothing intrinsically wrong with "throwing your weight around," as you put it. For example, that's exactly what IBM was doing when they decimated SCO's absurd lawsuit.

Microsoft was hated because they aggressively pushed out competitors in dishonest ways, because they intentionally made it difficult to interoperate with their software through proprietary protocols and file formats, and because they attacked open source.

Some of your questions directly illustrate why "throwing your weight around" can be a good thing. Did Sun/Oracle accuse Google of "stealing" Java? Yes, but do you really want to live in a world where people can copyright APIs, thereby giving creators of popular APIs a large amount of control over everyone else? I surely don't (and I say this as someone who has dedicated literally years of my life into designing APIs) but Oracle and Microsoft would like that world.

I don't "expect" Microsoft to give away anything, but the fact that their business model depends on tightly controlling it makes them an inherently less open source-friendly company than Google.

> Microsoft was hated because they aggressively pushed out competitors in dishonest ways, because they intentionally made it difficult to interoperate with their software through proprietary protocols and file formats, and because they attacked open source.

To me that sounds a lot like "throwing their weight around" :-) As my post hoped to show, Google simply does it in different ways.

Well... if you believe Yelp, the SkyHook lawsuit and various antitrust complaints in the US and EU, "pushing out competitors in dishonest ways" is something Google is doing as well. And we all know how interoperable YouTube is with Windows Phone devices. And we saw how Google pressured OEMs into not supporting competing software (cf SkyHook, Acer).

So maybe not that different after all.

> Some of your questions directly illustrate why "throwing your weight around" can be a good thing.

No doubt Microsoft supporters will say the same thing about Microsoft's antics :-)

> Did Sun/Oracle accuse Google of "stealing" Java? Yes, but do you really want to live in a world where people can copyright APIs, thereby giving creators of popular APIs a large amount of control over everyone else?

Well, that's the purpose of IP, isn't it? If you create something popular that others find very useful, you deserve enough control to ensure proper compensation.

Otherwise you get what Google did to Sun. Sun sank millions in developing -- and billions in marketing -- Java to make it the dominant development language that it is and to create, out of nothing, a huge Java-savvy workforce. Google, to bring developers to their new platform, simply hijacked the ecosystem with nothing in return to Sun (now Oracle). Of course, Sun was very careless in its control of Java, but I think Google derived immense benefit from Sun's investment and is being extremely selfish in insisting on not respecting their rights.

> I surely don't (and I say this as someone who has dedicated literally years of my life into designing APIs) but Oracle and Microsoft would like that world.

I too have devoted years of my life designing APIs. I see little distinction in the creative effort that goes into either code or API, and I think both deserve equal protection.

In fact, personally, I see Google's world as worse than Oracle/Microsoft's world. Google's arguments in the Oracle case, taken to their logical conclusion, literally remove support for all copyright protection for software. Part of their argument is that APIs are not copyrightable because they're "functional". You know what else is functional? All the code in the world!

But then, Google's software remains locked away in data centers, away from the world's eyes, further protected by trade secret. Of course, it sees no value in other types of protection, only liabilities.

Me, I'd rather live in a world where valuable works cannot be taken without permission, especially since a lot of my work is exposed to the world. I've open sourced a lot of stuff too, but which of my work can be taken freely should always be my decision.

> I don't "expect" Microsoft to give away anything, but the fact that their business model depends on tightly controlling it makes them an inherently less open source-friendly company than Google.

There's nothing intrinsically wrong with being a "less open source-friendly company" either.

>If you want to see a real socialist

No true Scotsman is a logical fallacy that you should avoid. Saying there is someone out there that is worse actually does nothing to address the original point.

Let me demonstrate, "You think Romney was conservative? Look at X tea party member that wants to own slaves." Do you see how that doesn't do anything to refute that Romney is conservative?

> No true Scotsman is a logical fallacy that you should avoid.

Perhaps, but this is not No True Scotsman.

No True Scotsman involves ignoring a counterexample to a general/universal claim.

For example, if I said "No Republican would vote to increase the deficit" and you countered by saying "actually, George W. Bush is a Republican and did in fact vote to increase the deficit," and I responded by saying, "well, no TRUE Republican would vote to increase the deficit," that would be No True Scotsman. Because I'm ignoring the fact that my broad, sweeping rule has a clear counterexample.

Those elements are not here in this case. I did not make a broad sweeping claim, instead I made a specific one (Obama is not a socialist). Ergo, it is not No True Scotsman.

> Let me demonstrate, "You think Romney was conservative? Look at X tea party member that wants to own slaves." Do you see how that doesn't do anything to refute that Romney is conservative?

"Liberal" and "conservative" describes a spectrum of political belief. If some tea party members have much more extreme views than Romney, then yes, it would demonstrate that Romney is less conservative than more extremely conservative people, but does not refute that he is right-of-center.

Dude, calling Obama a socialist is not comparable to calling Romney conservative. It's more like calling Romney gay.

Oh, you say he isn't gay? No true homosexual Scotsman, it seems.

Who says discussions on the Internet should be free of fallacy?

Agreed. I bet there was very little debate in soviet Russia or in nazi Germany, so at least we have some kind of debate here. We are clearly better than those two examples.

Microsoft didn't have an app store to censor in the 90s. You're thinking "Apple from the 2000s".

Or he isn't using the title THAT literarly, how about that?

Bullshit. Pulling CM from the Play Store is something Google is entitled to do as per their ToS. They didn't pull it because they wanted to drive away competition; they pulled it because CM was harming people's devices.

I am by no means still a fan of Google anymore, but credit has to be given where credit is due. They are still pulling the Microsoft schtick with Google+, but pulling CM isn't it in the slightest.

This was a TOS violation, nothing 90s-Microsoft about it.

Having a rule in the TOS doesn't make it right.

And you are right, it's not 90s-Microsoft, it's worse. I'd say it's reasonable to believe that vast majority of average users _never_ acquire software outside of the walled gardens of Mirosoft, Google, and Apple's app stores. There sure are benefits to these walled gardens, but the loss of freedom to corporate whim should be a very serious concern to everyone here.

What freedoms were lost, exactly?

Besides the limitations spelled out in the TOS and the often reported issues with that, there are the invisible issues with developers not creating products which they know won't be approved.

There is a basic freedom lost when you allow yourself (the entire software market) to be subject to arbitrary corporate control especially when there is inadequate competition. It's clear that the terms are there only to serve the corporate interests and can change at any time if corporate interests change (hello G+ & YouTube)

Being in <store> is now freedom? Should Google allow virus/spy/spamware to run free on their store? Libertas! How different is spamware from software that can brick one's device?

I don't see why such a big deal is being made of this. If users want it, they can install the app from the CM website. The Windows app is also being installed from their website.

Google doesn't want people to hold it liable for potential bricking of devices and took it off its store. What's the issue here?

The freedom to install the software of your choosing? The freedom to actually own your own computer? Seriously?

No installation freedoms were lost; you can still install the software from the article or the secondary software installed by the article's software. No ownership freedoms were lost -- whatever that has to do with the article. Seriously.

You can install what you want -- maybe, if your carrier lets you or you find an exploit to root your non-Nexus phone -- on Android only. That's not the case with iPhones or Windows phones. And yes, this is worse (read: less freedom) than you got with a Windows machine in the 90s.

No, you can just sideload the ADB from outside the Android Market.

That's a pretty basic task for any Android user. In fact, if you can't do that, then you probably have no business whatsoever installing a customer ROM.

Think of it as a basic intelligence test - you want to change your car's air filter - first step is to pop open the bonnet. If you can't do that, then you probably want to seriously consider, gee, should I just get a mechanic to do this?

Can you sideload anything on Windows or Apple phones? No. And on most carrier locked Android phones, you have to find an exploit to root your device before they let you sideload apps. So my point, that you are less free today with modern smartphones than you were with your PC under MS dominance in the 90s, stands.

This isn't like some test to pass before changing your oil. It's like requiring Ford's permission to install some fuzzy dice or a custom seat cover.

> And on most carrier locked Android phones, you have to find an exploit to root your device before they let you sideload apps.

This is wrong.

Allowing this is built in to Android and it's a user togglable setting.

Verizon explicitly mentions sideloading and how to enable it:


    For Android devices, please confirm the device's Location Services
    setting GPS and Verizon Location Services (if present) are set to
    on and the device's Settings > Security > Unknown sources is checked.
http://cache.vzw.com/multimedia/mim/mot_droid_razr_hd/razrHD... PDF Page 15:

    To let your smartphone install apps that are not from 
    Google Play, tap Apps  >Settings >Security & Screen Lock
     and check Unknown sources
Ditto AT&T:

https://www.wireless.att.com/businesscenter/en_US/pdf/att-to... PDF Page 3:

    In order to install these apps, you must ensure the 'Unknown Sources'
    box is checked [...] Follow the instructions on your phone to enable
    this feature and continue with AT&T Toggle installation.

    Before you begin, you'll need to set your Android smartphone
    to allow downloads from non-Market sources by selecting Unknown sources
    in the Settings menu on your device.
Ditto Sprint:


    Go to Settings > Security, and then select the Unknown sources
    option to allow the download and installation of the tool
    through your Web browser.

    If you want to install apps from sources other than the Google
    Play Store app, you must allow the installation of apps from
    unknown sources first.

Fair enough. I've seen phones that disable the setting for allowing sideloaded apps. But fortunately it's not as prevalent as I thought.

Can you name any handset that do that?

I've honestly never seen it before, and I'm curious what manufacturer would actually do this nowadays.

My old Motorola Backflip, for one. Apparently AT&T removed the "unknown sources" setting from their phones prior to 2011[1]. I think my girlfriend's Samsung Exhilarate from a year or two ago is locked out of installing apps from unknown sources, but I should make sure before I go talking out of my ass again.

[1] http://www.sleetherz.com/2011/05/att-users-now-you-can-insta...

quoted from the article:

After reaching out to the Play team, their feedback was that though application itself is harmless, and not actually in violation of their Terms of Service,...

They updated the article, the app is in violation of the TOS.

> Update: Removed reference to stating the app was not in violation of TOS – this was a mischaracterization of Google’s statement.

So is every packet filtering app that requires root, and many other categories of apps requiring root.

I'm not sure what "Microsoft from the 1990's" or the "Cold War" have to do with anything here.

There have been reports of users bricking their devices using the app (check the various support forums) they then try to swap them only to find out they have voided the warranty. Google is asking CyanogenMod to properly inform users about those risks.

Yet inevitably some on the comments here are cringe worthy

The funny thing is that many of the same people you talk about were vehemently against UEFI Secure Boot on Windows 8 being on by default although it actually protects tens of millions of normal users from undetectable rootkits and bootkits because it made installing Linux slightly more difficult by needing to fiddle with the boot settings.

Now the reason being given for this removal is that it needs root(a lot of apps in the Play Store require root on Android, including ROM managers) and that it may brick a few devices, while ignoring the fact that for many who are stuck without security updates because of OEMs and carriers actually benefit from CM. Also wonder if this news was strategically timed before Thanksgiving when most people are on vacation traveling or busy with family.

The installer itself doesn't require root and that isn't why it was pulled. It was pulled because trying to install an unapproved OS on the device may have left the device in a state that non-technical users may not know how to fix. when their device is now "broken" manufactures say that installing the unapproved OS voids the warranty. The finger pointing goes back to Google for allowing an application in the Play Store that voids warranties. Since no application on the Play Store should break a user's device, they asked CyanogenMod to remove the application.

This in no way is meant to prevent users from voiding their warranty, users can still side load the application or they can use more traditional ways of installing a custom ROM. I'm not sure why this decision is ruffling feathers. CyanogenMod has over a million installs to date, and is still thriving. The installer made things a little less complicated, but removing it from the Play Store won't really slow them down.

CM phones home by default. There's a word for software like that: Malware. The Play Store shouldn't have malware.

Seriously? You realize how many apps on the market use Google Analytics or some other form of Analytics? Nearly all of them, including Google's Apps. Nearly all of them give absolutely no way to opt out either short of host blocking. However, CM gives you an option to under device settings.

So that's the standard we want to hold them to? Just a little better than Google?

Why isn't it opt-in?

Are you kidding me? They tell me exactly what data they collect and for what purpose. To say that is malware is either extreme sarcasm or extreme stupidity.

Then why isn't it opt-in?

That's a nice ideal, but practically every app using the internet access permission is phoning home.

Mobile app analytics is huge, including by Google themselves.

While I view this move as hypocritical of Google, it does feel like it's in their customers' best interest.

Think about it from a less technical perspective: I can install an app from the official Google Play store that voids my warranty.

They can't have that on their public facing store. Google wants users to install apps, they don't want them to be afraid of voiding their warranty.

It's interesting to see how things played out over the last few years.

Google has been moving towards a more controlled environment, from something that was initially billed as open.

Apple started completely locked down with a strong customer focus, and has cautiously been making their policies more developer friendly.

I personally prefer Apple's approach, as it was always about the end user — but as a developer I was sometimes envious of Google's lenient policy. Google's assertion of control now makes me more interested in developing for their platform.

Always about the end user?

Like when Apple said that all Apps needed to be originally written in their crappy language, and that you could not cross-compile to it?

That had literally nothing to do with the end user, and everything to do with trying to enforce a monopoly.

Apple said that, but never enforced it. So that piece of policy was more a fallback (i.e., "something we can point at if an app happens to do something we didn't anticipate"). And it was eventually removed (hence my comment about Apple lessening some of their control over time).

Most of Apple's decisions are about the end user, often to the detriment of the developer. Mandatory app review, Apple deals entirely with customers, unified in-app purchase interface.

By the way, when that policy was put in place Apple had no "monopoly" to "enforce". So it simply makes no sense for you to say that.

It had everything to do with maintaining control over their platform. Cross-compilation was not encouraged because it almost always means that the frameworks which cross compile maintain feature parity with older versions of the platform SDK. It means that end users don't see apps taking advantage of new features and frameworks.

Look at where Apple is now and tell me that was a bad decision — developers scramble to update their apps to incorporate the newest OS features, this leads to huge competition in design and polish amongst the best apps on the App Store. Ultimately the decision benefited customers and developers.

The policy was overturned largely because games became unexpectedly popular. And games don't need to use the latest OS features to deliver a quality experience. The rising popularity of Unity 3D also drove the decision. (You will recall that when the policy was publicised, there were hundreds of Unity developed games on the App Store. None were pulled and the policy was instead changed.)

> Most of Apple's decisions are about the end user, often to the detriment of the developer. Mandatory app review, Apple deals entirely with customers, unified in-app purchase interface.

Please explain to me how Apple effectively blocking users of Amazon apps from having the in-app stores (ebooks, mp3s, etc.) they have on Android is in the user's interest. When you're done with that, do the same for Apple's effectively blocking in-app links to Amazon's web stores. From where I'm sitting, that's all about protecting Apple's interests their competing stores, interests of their users be damned.

Conjecture: End users can be confident everything that they purchase in an app is tied to their iTunes account. Purchasing an Amazon e-book using the Kindle app means the end user — who is not the most tech-savvy — needs to have an Amazon account and they need to be aware that anything purchased in the Kindle app (and only the Kindle app) doesn't get associated with their iTunes account, which is a different behavior than every other app on the App Store.

Of course, the 30% cut that Apple wanted to take most likely had something to do with it, but there is a good reason to forbid developers from implementing their own in-app purchases.

If Apple didn't have this restriction, it wouldn't just the Kindle app, of course. It would also be Nook, Kobo, Google Books, Amazon Cloud Player, Google Music, HMV, ...

Superficially, this sounds even worse, but this is exactly the situation on Android. I've never heard of an Android user being confused by it, so I suspect this behavior far more intuitive than you think. On the other side of the ledger, I've heard of more than a few users (including tech-savvy ones who were previously familiar with the relevant history) being confused about not being able to buy books in the iOS Kindle app.

Separately, you didn't address Apple's prohibition of links to the relevant web store / website through which the store can be reached. At that point the purchase isn't even in-app (and the relevant purchase flow is exactly the same except that the user has to remember how to get to the website on their own), so...

Looking where Apple is now, that decision helped them, but I don't think you are making a case that it helped consumers. There are countless ways that Apple stifled competition when 3rd party applications compete directly with the applications Apple ships OOTB.

The unified in-app purchase has benefits, but it also comes with strings attached. The 30% rake means that either users pay for the markup or developers must eat that overhead. By locking application developers out of rolling their own in-house solutions, consumers suffer. That decision may benefit consumers by presenting a unified interface, but it has everything to do with making Apple more money. If Apple really had it's users in mind, they could have simply created an API that provides the unified interface but allows developers to hook in their own back end processing. Better yet, allow in-app purchases that don't have the 30% markup. This will never happen because at the end of the day Apple is looking out for themselves, not the users of their devices.

Your argument does not take into account the fact that a unified interface boosts consumer confidence and trust, which increases spending. It directly influences the quality of the end product — compromising on that is failing your users. Who cares if developers have to give up a cut? It's a level playing field: every developer gives up 30%, so prices standardise with that in mind.

If developers rolled their own and there was a proliferation of mis-matched payment methods throughout the App Store (based on whatever each developer thought got them the most money), then I doubt consumers would be spending as much as they do today. Even Google Play requires developers selling digital goods to use Google's in-app purchase API (of which they get a 30% cut).

The decision helped Apple as much as it helped customers — happy customers pay more money and pay again. So it is in Apple's interest to be as pro-consumer as possible in order to make the most money.

The 30% fee is the same as what Google takes. At the time it was introduced, it was substantially less than other publishers (I heard numbers in the 50-70% range).

Even then, Apple does a lot of work for their 30%. For example, they handle your international tax contributions (Google Play does not), they handle customer returns (Google Play does not).

As a developer that has sold directly and through in-app purchase, I have never felt that the 30% was much of an ask. If you sell on Steam you'll pay around the same cut, almost all other App Stores have standardised on 30% since the App Store.

No one here is arguing that Apple shouldn't offer a standard in-app purchase option. As you describe, there are substantial benefits. The issue is with the way they mandate it, even in situations where it is actively harmful.

Amazon (to take the most notorious of many examples) doesn't need Apple's help to build consumer confidence and trust. In fact, including Apple in Amazon's transactions makes them more complicated and less trustworthy (consider what could happen if there's a hiccup in associating your Kindle account and your Apple ID). And the 30% cut isn't anywhere near a level playing field for them, since they compete with the one company that doesn't pay it (and have similar costs for acquiring the digital content they sell).

You also misunderstand Google Play's policy on digital in-app purchases. Google doesn't require all in-app purchases to go through their IAP system, just the ones that unlock application functionality (so you can't evade the 30% cut of app purchases by rolling your own IAP). This is qualitatively different from Apple's policies as a simple glance at the iOS vs Android Kindle, Nook, Kobo, Amazon MP3 (and on and on) apps will demonstrate.

Finally, I'll add that Apple handling returns isn't necessarily a benefit. It means iOS developers can't offer more generous return policies than the standard one, something many have used to good effect on Android.

You are correct, of course. I agree and think Apple should change their policy regarding non-app specific digital content. However, I believe Apple should simply lower their payment split down to 5-10% and behave more like a standard payment processor attached to your Apple ID.

Amazon should then be allowed to increase their prices on iOS to compensate for the difference. I would happily pay a little extra per-purchase to keep all my purchases under one account, using one interface, and would be happy to take advantage of Touch ID authenticated purchases across stores.

I still do not like the idea of purchasing on iOS outside my Apple ID. It is quite outside my comfort zone to purchase within an app using a different UI, trusting my details with a different provider, and so on.

Regarding handling returns: one of the main complaints I have heard from Android developers is the influx of emails they have from customers asking for refunds, and having to process those refunds. While I agree that it could be used as a promotional opportunity, many developers view it as an unnecessary burden.

>That had literally nothing to do with the end user, and everything to do with trying to enforce a monopoly.

That word, monopoly. I don't think it means what you think it means.

What they were trying to enforce was a common programming language for all apps that they could improve in tandem with the OS, so they wouldn't be held hostage in the future to be backwards compatible to some popular runtime (like Flash once threatened to be for the Web).

P.S And "crappy language", really? As far as pragmatic languages lean on resources for native coding go, Objective-C is up there with the best of them. Not to mention the breadth and the maturity of the Cocoa libs.

Objective C is so good that no one ever chooses to use it outside of Apple world.

That's because there isn't a vast SDK like Cocoa outside of OS X. That needs vendor support.

But that doesn't say the whole story.

Objective-C started as a small language, with a commercial compiler by Brad Cox and no backing by any major vendor. Since then it has only gone from strength to strength.

Before Apple, it was used by NeXT. The first major first-person-shooter (Doom) was done by Carmack on a NeXT in C and Objective-C. The first web broswer was written in Objective-C, by Tim Berner's Lee. Both have praised the environment and language.

Then, there was the OpenStep initiative, between NeXT and SUN, again using an Objective-C API, which, have it been seen to fruition, it would have given us a great UNIX desktop/workstation environment, like a cross between NeXT and Solaris, a decade before OS X and modern Gnome/KDE.

Then there's also the GNUStep project, a third party implementation of that OpenStep/NeXT idea, that also maintains an Objective-C compiler.

There are even ...Javascript ports of Objective-C ( http://www.cappuccino-project.org/ ).

And now of course, Objective-C is adopted by Apple after acquiring NeXT. They sure didn't feel it's a bad language and they have to move on -- instead they bet the whole company's development plans (and third party devs) on the language, and it paid off.

It's one of the most mature and development environments. And I've never seen anyone that programs in it (as opposed to "tried it for a week") badmouth it -- quite the contrary.

Right, because the popularity of a programming language is always directly correlated to the quality of its design, and because when people choose languages to build a project in they only ever take technical considerations into account.

This is the same as criticizing C# because nobody uses it outside of Microsoft world - or Java on mobile because nobody uses it outside of Android.

User installable applications for pre-smartphones were pretty much exclusively in J2ME...

err.. I think there are lot of mono software written in c# that runs on Ubuntu .. and Java not used outside of Android? ROFL

>I think there are lot of mono software written in c# that runs on Ubuntu

Not as much as you think. Mono is a niche product too.

>and Java not used outside of Android? ROFL

He said "Java on mobile". Perhaps try to understand what you read before rolling on the floor?

Java mobile (or "end user" apps in general) are Android, some crapplets, and that is mainly.

If it weren't for development tools for Java devs (Eclipse, NetBeans, etc) and some internal enterprise monstrocities people are forced to use, there wouldn't be any Java desktop adoption either.

You're really reaching if you are trying to argue that Java isn't popular.

"Apple world" is pretty big.

Quit acting like GNUStep doesn't exist.

I don't know about you, but I can't stand it it when my method calls are less wide than my screen. ObjC solves that.

I also like how there are mutually incompatible object types (the C types vs the ObjC types) that you have to MakeLongAndRidiculousCallsToConvertAcross.

Going through the basic stuff on the "learn this language" sites was painful.

ObjC is the most programmer-hostile language I've ever seen that wasn't designed with that in mind.

There is literally no reason to not allow cross-compiling. From one language into Objective-C. From one library into Cocoa. The ONLY reason to prohibit that, is to try to force people to stay inside your walled garden, with no way to climb out, allowing you to simultaneously develop apps for multiple (non-iOS) devices.

It was a dick move, and thank goodness they got called out for it.

And yes, it was to try to enforce a monopoly.

I'm pretty sure the restriction to objective-c was due to performance concerns.

I believe it was also due to wanting developers to make use of the latest OS frameworks. Third party development frameworks often lagged behind in features (i.e, doesn't support new auto rotation features, doesn't support new camera features, and so on).

The policy was changed and ultimately never enforced, but I always viewed it as a way to ensure that developers kept up-to-date.

It think the timing (days before the Adobe Flash CS5 launch, the first release that included iPhone application support, IIRC) and the eventual reversal makes it clear that this was about making life difficult for Adobe and Flash and not much else.

Good point.

And after having a client deliver us an Adobe Air app to "fix", I am so glad it didn't become a popular way to develop iOS apps.

why? if the app performes badly they can just reject it, regardless of the programming language

The app doesn't void your warranty. It encourages you to perform further actions that may void your warranty. Major difference. The article is clear that Google admits the app itself is not harmful.

I don't think that's a good enough distinction. If it's from the official store it should not even indirectly lead to harming your device or warranty.

If an app tells you to throw your phone in the air — and I was both the phone hardware manufacturer and app store curator — I wouldn't allow it on my store either. It's going to increase customer complaints.

Not sure if you're intentionally referencing this, but there are definitely apps in the Google Play store that explicitly encourage you to throw your phone in the air, such as Send Me To Heaven app[1]

[1] https://play.google.com/store/apps/details?id=com.carrotpop....

(I don't actually disagree with your point, just thought it was funny)

Eh, it's actually a pretty weak argument. It doesn't violate your warranty on a nexus device. If google believes in the nexus program, then this is not a particularly consistent position.

The Nexus lines are not the only Android devices out there. Google has a huge interest in the rest of the Android lines and wouldn't want to piss off OEMs by including an app that would void their warranties.

I definitely agree with what that one Reddit comment says - if you can't sideload it then you shouldn't flash your ROM.

While I agree that the Play Store is becoming more controlled, the fact that you can sideload apps means that ultimately, the platform itself is still very open -- maybe just not as much to the typical end user.

It doesn't void my warranty. Nor millions of others'.

How is it “hypocritical”? they tend to boot malware as well from the play store, which also violates the TOS.

This app has bricked the devices of less technical users and left them without a warranty, Google's obligations is to prevent that.

Fair enough, calling Google hypocritical was reactionary on my part.

In my memories of Google's introduction of the Android Market, they seemed to play-up the "no review period" as an advantage over the App Store. I think there has been some mixed messaging from Google over the years — they extol openness and developer freedoms, but clearly enforce terms of service where it counts.

Perhaps it's not hypocritical, but at times it feels like there are two Googles.

At this point it really looks like Google have zero interest in seeing Android improve, beyond ensuring it stays superficially in line with iOS or Windows Phone, and will use whatever means necessary to ensure no one else does it while desperately trying to shoe horn irrelevant features into Chrome in an effort to reach feature parity.

The clause about no forking with the SDK is probably going to rear its head in anger soon.

This is complete bullshit, they've improved the runtime and performance in the most recent version among other things.

It's not at all surprising that this application was removed would you expect to see an install Ubuntu application in the Mac or Windows app stores?

The most recent version... that I cannot install in my Galaxy Nexus, which is barely two years old.

I've been an Apple hater all my life, but this, Google, this is epic bullshit.

As a Galaxy Nexus owner myself, it doesn't look like Google has a choice. The original vendor of the chipset is no longer around to update drivers. You can't wring blood from a stone.

Their top of the line Nexus 10 has issues which they are not able to fix. They are shipping a crippled version of KitKat on Nexus 10 because of a graphics driver issue!

If Google wanted to, they'd figure out a way. It just isn't in their interest. They only care about the new shiny. We'll see what happens with the 2012 Nexus 7 and Nexus 4 this time next year. They'll probably be discontinued too, as none of the Nexus lines have had updates for more than 2 years.

>I've been an Apple hater all my life

Isn't that a sad thing to be?

And for most people mostly stemming out of reverse hipsterism, nonetheless...

That's not a sad thing to be, at least recently. Apple is one of the major enemies of personal computing freedom.

I don't know, I seen to have a free compiler on my Apple laptop.

And a handheld mobile OS with unprecedented capabilities people would be dreaming of just a decade ago -- that I can code for by spending like $100, including the ability to release my apps to half a billion with credit cards at the ready.

Perhaps if you're young enough to only remember the "everything must be FOSS" times, and not the times we paid $100-$300 for a proprietary compiler this seems very restrictive.

I guess you can download the LLVM source but that has nothing to do with Apple.

> that I can code for by spending like $100

Odd that you think that's freedom, because I can put my own apps on my own phone for actual free. I can put other people's apps on my own phone without signing up for an app store and without a third party's permission. I can send my apps to anyone I want and charge them via my own payment processor if I want.

I agree we now have a "handheld mobile OS with unprecedented capabilities" and that iOS and the App Store were incredibly innovative a few years ago. But the problem is not whether or not I am allowed to develop an app, the problem is whether or not I am allowed to use my device on my terms. I couldn't even add a caller blacklist on iOS.

Also let's say I without any argument accept the idea that the past was less free. That still doesn't make what Apple are doing now free in any shape or form, that's just a flat-out logical fallacy. If you have to appeal to a worse past to explain how you are relatively free you have basically conceded the argument.

It would be a sad thing to be if I did it with no reason. But I've been a huge open source supporter all my life, and I've always found Apple strategies to be undesirable, to say the least. Their products have always been overpriced and hard to use if you're not into their ecosystem (say, transfering a mp3 file from Linux to an iPod nano).

>Their products have always been overpriced

I found quite the opposite. Nothing quite beats their prices.

Here's an easy example: when the iPad came out at $499, the first competing touch tablets come out at $749 (and of course were crap compared to it too). It took competitors years to reach and go below iPad level prices.

You also have to know what you're getting and compare like for like. You cannot compare a machine on the medium or lower end of the market with one on the upper end. Hi-end offerings from Dell, Sony etc, are the same (or usually more) expensive as Apple's offering, when you match features. And you still don't get them all.

Was trying to get a PC laptop to match a Retina MPB the other day. I added the configuration options to match it and got it as far as $1700 for the PC laptop on the vendor website. It also had a VGA port as standard, that the MBP doesn't have. Seems like a bargain compared to the MBP I targeted that's $2599, right?

Only the PC didn't have hidpi screen, had half the memory (8 vs 16GB), had a 750 HD and not a 512 SSD.

Those differences easily match or surpass the $900 difference.

What it also didn't have that isn't easily measured, but matters a lot?

-- it wasn't as light (I carry my laptop a lot). -- it wasn't as battery effiecient (I use my laptop outside a lot).

Heck, I'd pay the $900 even just for the twice as much battery life. When you add the with SSD vs HD, hidpi vs plain monitor and weight, it's a no-brainer.

And there's other, minor stuff that adds up: it didn't have as a solid construction, it didn't have a magsafe-like power connector (tripping on a wire means the laptop goes down -- and I've had that happen in the past), it didn't have a multitouch-glass trackpad, it didn't have an illuminated keyboard, it's thicker, etc etc.

Oh, and it didn't come with OS X (and for free!). I had to make do with the crappy Windows 8. Just that would be worth more than the $900 difference to me.

Your last paragraph really takes away all the impartiality your comment seemed to have.

Anyway, it would have been great to know which models you were exactly comparing, because I don't believe what you say about the PC being that bad.

Also, there are some features in the MBP that don't make sense in a PC. For instance, retina display. GOOD LUCK with that resolution in a 15" display using anything other than OSX. Or the battery life. Of course a MacBook is going to have a longer battery life. They have iron-fisted control over everything, from the software to the hardware. It would be hilarious if with such dictatorial control they didn't have good battery life.

It's not bullshit at all. The bulk of what development they're doing is now not in AOSP, but things like the Hangouts app or Play Services. The other changes are increasingly minor while stability on their own Nexus devices has gone down.

For example, were you to improve the Android stock messaging app they are completely within their rights to prevent you pushing it back into AOSP, and worse, if you make a breaking change and distribute as an "improved Android" you could be classed as a fork, which violates the T&C of the SDK. Google having this veto to artificially hold back Android prevents other players from producing interesting forks of it. Cyanogenmod will be perceived as a long term threat, and so they will progressively up the stakes in order to make life difficult, but they're starting with stuff which is easier to justify. Once they've started the fanboys will find it much harder to change their tune.

You can see what's been going on by their staff situation.

I don't think so, there's a lot of development in AOSP as well, Hangouts and Play Services are only getting major visibility because they can be deployed to all versions of Android without waiting for the manufacturers.

On the other end, I think that forks with breaking changes could lead to fragmentation, where some stuff works in a fork and doesn't in the other. Isn't that the definition of breaking change?

Wubi still does not support UEFI/GPT systems, but it would be very interesting thing to check.

no, but I wouldn't be surprised if I saw intall Windows or Mac app inside of a Ubuntu store :)

Made an account just to remind you that Cyanogenmod installer brickled many phones. It's totally normal for them to remove it.

Yep. They do not want the fact that a major weakness of Android as a platform (openness = the ability to fuck up your phone) is being highlighted.

Wait. I thought the ability to fuck up your phone (also known as replacing the shitty UI/crapware that your manufacture forced on you) is a major strength of Android phones?

I get it, you're both joking about how these 'flaws' allow us to do cool things with our phones - but the point being made (which you're both missing or ignoring) is that not everyone is tech-savvy like us and it's very possible for them to brick their devices.

It is a double edge sword. I think this is too early to tell, wait to see if Google will reinstate the app after big warnings in the description.

Did you actually read beyond the headline?! Google didn't remove the app they contacted CyanogenMod about the app being in violation of TOS because it ‘encourages users to void their warranty’ (a totally valid reason) so they voluntarily removed it to sort things out, probably will need to add a disclaimer or something.

I'm not quite sure what you find so objectionable, or how relevant is you comment here.

Did you actually read beyond the headline?

"They advised us to voluntarily remove the application, or they would be forced to remove it administratively."

Which is like saying "He wasn't fired, he was just forced to resign".

It's more like leaving when you're asked to instead of being kicked out by the bouncer. It seems pretty clear that it violates the TOS, but I'm sure they'll find another way in.

You're missing the point, the app is in violation of the TOS, the fact that Google is in contact with the CyanogenMod team about the issues means that it's just an adjustment that is required for it to comply. There have been reports about people bricking their deviced with the app, requiring a proper warning would not be out of line.

Yes, and that's because your point is made up. The article makes no mention of them being asked to remove it while sorting things out or "add a disclaimer or something". While it's possible that's actually what happened, it's certainly not mentioned in the article. That's just speculation on your part - which I only called out as you accused fidotron of not reading beyond the headline.

I think this is completely reasonable. If people want to sideload the app then by all means go for it. The Play Store shouldn't allow apps that can potentially damage your device (or void your warranty).

It's reasonable and not. The installer is a tool for assisted rooting. Yes, that's dangerous and voids warranties. But just search for "root" on the Play Store and you'll find thousands of apps designed to exploit and utilize that status. These are great features, and Google clearly allows them...

That said, part of me is chuckling internally that CM got caught being unable to distribute their proprietary (windows-only!) "installer" solution through Google's proprietary distribution channel. There are open source paths to a solution here, and CM didn't even try...

An application that only runs if your warranty is already voided, and an application that actually voids your warranty are two very different things.

You've got to remember google's position here - for the majority of phones sold, they aren't the manufacturer or the warranty provider. If they allow cyanogen in the play store and it creates a huge warranty headache for Samsung or Sony or any other OEM that includes the play store by default, it jeopardizes google's ability to distribute the Play Store.

Android isn't open. It's Google's and they want to keep it this way. iOS isn't open. It's Apple's and they want to keep it that way.

The open spiel was pure marketing to gain market share. Now that they have it, they are locking things down to maintain control. Threatening decertification, requiring google play services, certification by a private party,...

Now that the open argument no longer works, people are defending it as pro consumer. Hogwash.

Edit: http://techcrunch.com/2013/09/18/cyanogen-mod-7m-benchmark/

Cyanogen has basically become a competitor to Google

The new CM installer nearly bricked my phone! This would be a warrenty/customer support nightmare for Verizon/ATT/Samsung/HTC/whoever.

Preface: I consider myself a fairly advanced power user on linux as a hobby, and I'm a computer technician/sysadmin [Windows] by day. I've had two Android phones over the past two years.

I have a Verizon Galaxy Nexus and was pissed that Verizon decided that phone was not to get 4.3 let alone Google decided no 4.4 for the Galaxy Nexus...(Each iteration of Android broke more things like speech to text.) Rather than wait for the never coming updates I started studying how to flash Cyanogenmod onto this. It looked a bit convoluted even compared to flashing firmware onto micro-contollers. Then the app hit the Play store and I figured I would give it a shot.

The app showed you what settings needed changed (like enable USB debugging) and how to do them, even to the point of opening the settings screens for you. A casual user would never even be able to find the settings again after that first opening. It would be akin to going straight to the Computer Management console in Windows or loading up fstab in Linux without telling a casual end user how to get there! My install process did not go smooth. The first thing it had wrong was the connection mode, said to use Camera Mode PTP instead of MTP. That is flat out wrong for this phone and it won't connect. Then during the bootloader/rooting process, which the installer fully automatically does for you(!) a critical USB driver failed to install and it locked the phone up. The soft power button does not respond here and luckily I was able to pull the battery to reset. If this was a Nexus 4 or 5...I would have been praying that once the battery died I could still power it up for a recharge; a very good possibility it would have been bricked. Now that the software is installed I have no Photosphere in the camera and I can no longer connect to my work exchange calendar. I also managed to lose a few stored contacts somehow. I knew to backup my pictures/docs/data but a typical user would not.

Now imagine a typical consumer has just purchased a Galaxy S4 on contract for $199. They flash CM onto it and now best case they call Verizon/ATT/Samsung wanting to know why feature X isn't working or why they lost the phone numbers of their friends/family – or worse their baby pictures/movies. Now that company either says 'Go fly a kite' or reflashes and they still have data loss. If the phone bricks they will be shocked to learn they will need to pony up $650 to replace it replace it!

Understandable. If people don't know how to enable developer mode, Adb debugging, sideload apps, etc..., they shouldn't be messing around with modding their phone. It really doesn't belong in the Play store.

Good old Googlesoft.

Embrace, Extend, Extinguish.

It's a nice attempt at being pithy but in this case it's more Open, Embrace, Moderate.

This is less a matter of Google being evil or hypocritical. Google is just being dumb. CyanogenMod is an important part of the Android ecosystem, and should be an even more important part of that ecosystem.

Google should encourage aftermarket Android distributions. They serve the customers who want a truly open source Android and they serve the orphaned devices users.

It you RTFA, you see that the app has a very simple function and mostly serves to enable discovery of CyanogenMod. The actual installation requires a Windows PC.

Customers buy a phone. That phone is loaded with terrible, awful, software and unpleasant branding. Customers want to remove that software and that branding.

One way is to use scary software like Cyanogenmod.

There is not other way.

Maybe Google and customers need to start pressuring carriers to stop loading phones with this awful software?

Maybe customers should stop buying awful software? There are plenty of offerings, including Google's own phone. What more can Google do? Close off Android to crapware providers and they'll have the wrath of the community donning their pitchforks. This thread alone should be an example of how irrational some folks are, crying fowl at Google for not wanting brickware in their store.

Selling their own phone in more countries would be a good start. Even in the countries where they do sell the phone, they often only sell it via their web store, so user's who don't research phones beyond walking into a phone shop don't know it exists.

This entire fiasco with the Android ecosystem stems from locked down bootloaders. How many people have bricked their PC's by installing a different OS on them? Why can we not have the same model for phones: If you brick it, some tiny bit of ROM can be invoked which connects to the Internet, downloads, verifies, and installs the latest carrier approved OS. This simple fail safe means that it is impossible to brick a phone and I bet instructions for how to initiate this reset could be made very simple. Instead, it seems that the OS and the bootloader are tightly coupled and the OS can actually screw up the bootloader, which is the root of all Android evil.

I have just download CyanogenMod Installer from Google Play Store and still have it in my now Android KitKat-running Nexus 4.

I intended to install CyanogenMod 10.1.3 which is based on Android Jelly Bean 4.2.2, on my nexus 4. I have not done so.


I also have the intention to install the stock Android Jelly Bean 4.3 on the same nexus 4; downgrading from Android KitKat 4.4.

I found that Android KitKat on Nexus 4 (and Nexus 5) now redirect tethering network traffic to the carrier login page, specifically T-Mobile USA. Strangely, I had no problems using the built-in tethering (Nexus 4 - Andorid KitKat combo) with AT&T network.

This can be disabled, just google it.

I know how to do that and it generally requires roting the device or buying an app.

It really bothers me to find out that Google is taking away a feature specifically to appease T-Mobile. Pure Android experience no more.

If Google knowingly allowed their app store to host software that harms carrier-supported devices, they might easily be in breach of contract with those carriers. This is a defensive move.

I like how http://www.cyanogenmod.org/ doesn't really tell you what it is or why I would want it.

Documentation is for if I already want it, not for figuring out what the thing is. And if you follow the link to http://wiki.cyanogenmod.org/w/CyanogenMod_Installer you still don't find any reason to use it (whatever "it" is)

This question is the closest, lets hope people click on it too: >Why flash CyanogenMod? >There are many reasons to consider for flashing your device. Check out our Why Mod? page for more info!


Then goes on to talk about moding (I guess CyanogenMod is a "mod", but it doesn't explicitly say so right off the bat) and goes on to talk about the cons and pros of modding, but doesn't actually tell you why I would want CyanogenMod until I scroll more than a page down to a bunch of similar screenshots.

So three links deep hidden in the bottom half of a wiki page is a (even complete?) feature set of CyanogenMod. Again cyanogenmod flat out fails to tell new users what they do and why I might want it on the main page. I wonder what the bounce rate on the main page is.

A better compromise would have been to just enforce a modal warning message in the play store, such as:

"Warning! This app can brick your device. Google is not responsible for its damages, and you may loose other warranties, too!"

Regarding kids, that would overlook the warning, they still have to download the PC software. So the procedure isn't significantly more simplified than going directly to the website.

Unlike appstore where most accounts is password protected on download because of credit card associated with their account. Most android phone user don't set such restriction, and what truth is most kids just download whatever they saw on playstore. Google did the right thing to remove a dangerous app with potential to break your device.

When Google is saying CyanogenMod is voiding warranties, are they talking about warranties from the hardware manufacturers? It feels like the OS is open, but the Hardware is not.

Yes. So have fun spending 800 dollars to replace your phone when it is bricked, but as expected many here instantly jumped on the google hate train.

Fortunately, Android is open enough

Well, make CyanogenMod Installer Application open enough and put it onto F-droid.

Don't wan't to? Well, neither GOOG ...so much about openness PR.

Well there are other ways in which you can crack an android phone, cyanogen was just a noob friendly way to do so...

Windows only? Are you joking around?

put it on fdroid

Google is a new Apple?

As long as CM phones home, it shouldn't be in the Play Store.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact