CyanogenMod: the History of an Android Hack
An anonymous reader points out a Wired story about some of the efforts behind CyanogenMod, a popular piece of Android modification software. Quoting:
"CyanogenMod expanded into a team of 35 different 'device maintainers,' who manage the code for the 32 different devices that the project supports. Like Google, the team publishes its code to an online repository and accepts online submissions for changes to the code from other developers. Seven core members decide which of the submitted changes make it into the next release of CyanogenMod, and which don’t. ... Ultimately, CyanogenMod aspires to be more than just a software mod. 'I think one of our biggest dreams is to see a phone ship with Cyanogen on it,' says Soyars. But pairing the software with a phone is no easy task. First, CyanogenMod would have to pass the tests required by Google’s certification program in order to bundle Google’s proprietary apps — Gmail, Calendar, etc. — on the phone."
The hardware and resulting drivers (often proprietary) is where the fragmentation is.
Google wanted to give manufacturers enough freedom to build what they they want so that innovation could happen but by doing that there is obviously going to be possibly major differences between different pieces of hardware.
I would say 35 for 32 devices is not really enough. There is a lot of testing and development, porting that needs to happen.
Also, hardware fragmentation isn't really fragmentation, Its choice.
Android fragmentation usually refers to the pathetic fact that many phones don't get their system updates ported on time (or at all), thus leaving a platform with multiple major OS versions around.
If you are going to troll, at least do it right. :P
I've been using CM7 on my Samsung Captivate for roughly two months now and the change between it and the ROM Samsung/AT&T make available is astounding: A) GPS actually works. On my stock eclair ROM it'd take upwards of a few minutes to get a lock if ever. B) Stock eclair/froyo would give you 3G at best. The Captivate is capable of HSDPA which CM7 offers (but to be fair all you'd really need to do is flash a compatible radio firmware to enable this on stock ROMs). C) Instead of randomly shutting itself off during the day and night, CM7 keeps on ticking 24/7 unless something catastrophic happens. D) I'm not 100% what filesystems each use, but the stock filesystem causes a well known very noticeable lag that CM7 doesn't have. E) Easily modified for Netflix usage. F) None of those god awful AT&T apps forced upon stock ROM users. I hated those with my Palm Treo 680 and I still hate them. To be fair most, if not all, custom roms are capable of the above. I have used others but typically found that my device would continue to randomly shut itself off, though this might be fixed by virtue of having gingerbread instead of eclair.
This one's out there somewhere. I'm looking for it.
Congrats to the whole CyanogenMod team. Even if the numbers show that CM users are the minority, I think its a pretty damn good project. I love my CyanogenMod enabled phone :)
I am happy to be able to get a phone that is unlockable by design, and put an alternate mod on it that provides me with features that a stock OS doesn't. Thanks CM team! :)
Why don;t you tell us about how many engineers and test systems Microsoft needs for their "standard" platform.
The calendar is weak, I want more view options, how many days ahead can I see, setting the start and end time of the day so I can see 8:00am till say 9:00pm in a single window snapshot. Things like that.
I've taken to installing one called "Business Calendar Free" but it's not quite right either.
Does google ever update it's apps or do they just assume users will swap to third party applications so they only do a basic one?
P.S I was going to link to the Android marketplace to show the calendar app I'm using but oddly enough it's not in the list of devices on my handset, no idea why - this kind of inconsistency is frustrating with Android, I think I should just switch back to Appbrain and forget Market.Android at this point
I have installed CM7 twice:
- Once on my brother's X10 mini pro. The thing was barely usable before, extremely slow, bloated crapware... With CM7 it feels like a new phone, much snappier, and with a much better interface and software portfolio.
- On my own WinMob 6.5 HTC HD2. More to check if it actually worked than to really use it, I am quite happy with WinMob since I don't do anything fancy with my phone. Well, strike that. I now run android all the time. The interface is much better, so are the apps... I only miss winmob's RDP server.
So kudos, and thanks, to the CM team. Phone manufacturers should pay you, or at least help you. You breathe new life into old and clunky phones.
One remark though, being totally new to modding phones, I struggled a bit with the instructions on the XDA-Dev site. The hackers there assume some knowledge of modding (how to boot in "Flash Update" mode, installing the root...). Following 10 lines of instructions for the X10 install took me about 3hrs, lots of cold sweat... but worked on the first try.
The Cloud - because you don't care if your apps and data are up in the air.
what on earth gave you the idea that microsoft tests anything, or more specifically, that they do not consider the initial wave of bug reports and complaints to be their testing phase.
Snowden and Manning are heroes.
I bought a Nook Color for the sole reason of installing CyanogenMod on it and using it as a general purpose touch pad. Works great.
Now if I could just get a variation of the koi live wallpaper that has piranha that attack your finger whenever you touch the screen.
-- Will program for bandwidth
I couldn't agree more I was ready to sell my HTC Evo because the firmware was so horrible CM7 has been excellent for me as well particularly when you use the rom manager it makes upgrading so simple.
It's the opposite of fragmentation. 35 people manage 32 devices, yes, but the rom looks and feels the same on every phone. 35 people are required because usually a developer only has one or two phones.
I took the plunge and bought my nexus one "without contract" a few months after it was released. Since then I unlocked and and have run different versions of cyanogen mod. Doing so has increased it's functionality (For instance FM radio did not work on the stock roms but does with the radio updates used in Cyanogen mod)
Although it was only a small amount I donated what I could to support them. May the folks involved in the project get all the credit they deserve. Thanks for the good work guys!
The stock Filesystem on the captivate is probably RFS. That's what it is on my Vibrant (or was, until i flashed a rom that uses ext4). Glad to hear GPS works. It's horribly broken in all the Galaxy S Variants. Seems to be a driver issue. As soon as CM7 is stable i'll be switching (either that or the CM7 based MIUI).
Motorola's long awaited Froyo update for the original Milestone was bad. Really bad! That convinced me to try CynogenMod 7, and it's just great: phone is faster, batteries last more, everything seems to be working just fine.
SeqBox
But pairing the software with a phone is no easy task. First, CyanogenMod would have to pass the tests required by Google’s certification program in order to bundle Google’s proprietary apps — Gmail, Calendar, etc. — on the phone.
Non sequeter. Having Google's proprietary apps is not necessary in order to "pair the software with a phone". Sure, it helps, but it's not necessary.
I installed CM7 on my vibrant a few days ago and it's stable enough now to be a daily driver. I get better performance and better battery life. I haven't had a chance to really test the GPS yet though.
Your comment shows why programmers are forever doomed to be under appreciated, because the arrogance and ignorance of the general public will never understand the actual amount of effort or testing put into large software design.
what on earth gave you the idea that microsoft tests anything, or more specifically, that they do not consider the initial wave of bug reports and complaints to be their testing phase.
That's a good question. I wonder what they call the beta software releases at microsoft. Obviously not testing.
I run a TMobile Vibrant. Awesome phone after I put Team Whiskey's stuff on it. It wasn't "bad" before that, but it is definitely better and has things enabled that TMobile would rather I not enable such as wifi tethering. (But that's okay, I only use it when absolutely needed and that is RARELY. I did need it once because I had a crappy eBook reader that wouldn't get on my company's guest wireless.)
You sound like you are having some pretty rough problems with the phone though -- have you done an Odin reload? That supposedly restores the phone to factory defaults and reloads an older firmware load. From there you will have to re-root and all that other nonsense if you want to try another alternate firmware, but if you want to go back to carrier-default, then Odin will be all you need to do. After that, any OTA updates will eventually find their way to your phone.
I've been using Cyanogenmod on my phones since JesusFreke decided to quit maintaining for the G1..and it's really great to see how the community has grown. There are more phones and devs maintaining them than I ever would have imagined back then.
I hope SOMEONE eventually has the balls to ship a phone with Cyanogen on board..at least a developer phone or something..I think it'd be good for the community and good for the phone companies to see what can be done. It's OUR hardware once it's bought..use what you want on it..and help develop it..
MOAR OPENSOURZ PHONZ!
Oops..was I supposed to push that button?
... You never know when they might randomly stop supporting your device. :( I'm looking sadly at my Mytouch 3g (which can TOTALLY handle gingerbread, btw).
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
Because Windows 7 shipped with so many serious bugs, right? And Office 2010, just riddled with bugs, right? But no, keep mindlessly bashing Microsoft in totally unrelated topics.
On most (all?) phones, installing this or other mods requires using an exploit to get around the phone's security. It's a sad, dismaying situation to me. With PCs, you get to own it after you buy it, by design. You can install whatever OS and software you want, and it obeys you. With phones, even if you pay full price and forgo a plan, they're mostly locked down hardware. Newer ones like the HTC Sensation have cryptographically signed bootloaders and haven't even been broken yet.
The whole situation is fucked up. By default, you don't actually own the device even if you've paid for a full price non-subsidised phone. Since the future lies in most computing needs being met by these devices, why on earth are so many people financially supporting companies that retain control over things you buy, after you buy them? It seems like a stupid direction, to me. Sure, exploits can get around some of that, for the moment, but is this *really* the direction we want to take, letting multinational companies control our personal electronics?
This is actually the best attempt at homogenization on the Android platform that I see out there.
This rom kind of works and feels the same on every device. Some minor tweeks here, some extra features due to better hardware there, but very similar overall. It also has the capability of resurrecting some very old phones with primitive hardware.
The reason for 32 developers, I bet, it's because most of them work for the phone(s) they own. If 7 or 8 of them had them all and worked full time on this there'd be no necessity for so many people.
Okay, you're trolling but I'll bite.
If you followed my history of posting about Android here, you'd think I'd be taking your side.
I have a bone to pick with OEMs and Google who make CyanogenMod a necessity for some power users, not just a neat side project. It's not just hardware that's fragmented, it's software too. But ultimately my problem with Android is how Google lets OEMs treat Android users(yes, Apple is locked down; blahblahblah but Jony Ivy isn't tweeting about how 'open' iOS is then taking it back for shits and giggles saying it's open for OEMs only and users can go kick rocks; they offer a locked product, they sell a locked product).
Android fragmentation is real, CynaogenMod is an attempt to make that fragmentation as painless as possible. CM is what Android could be, and that makes me really, really, REALLY sad.
Non impediti ratione cogitationus.
Think about that for a minute. WinXP was an alpha, Vista was a beta, and Win7 is release candidate 1. When they get around to Win10, maybe they'll actually have a legitimate operating system. But, I wouldn't count on it . . .
"Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
Such good stuff. I don't think I could ever go back to stock android. /w T-mobile's GAN calling ported from MyTouch 4G
CM 7 on HTC Passion (Google Nexus One)
Likewise, roughly one person is all it takes to maintain the software side of Android for a model phone. So, why can't hardware makers come out with updates in a timely manner? They use their programmers working on the bloated crap like HTC's Sense that nobody wants.
My old HTC Hero (October '09) was pretty slow and difficult to use until I rooted it and went with other ROMs. HTC barely came out with Android 2.1, several months late. Then they stopped development, since it was too old. With Cyanogenmod, I was able to get a lot more use out of it going into Android 2.3 (Gingerbread).
I have an LG Optimus S with CyanogenMod installed, and it's leaps and bounds over the stock Sprint ROM. Thanks to the entire team, especially those who put in the effort to get it ported to my dinky hardware. Cyanogen is the suit that turns my Clark Kent into Superman.
It's not that the team stops supporting the device. It's that there's no device owners who want to step up and maintain the device. Look at the Hero GSM; its maintainer went and got a new phone, and stopped caring about the Hero, so it was dropped. Dream/Sapphire was dropped because it was too much of a headache to maintain, and the rest of the team would rather focus their time on newer devices like the G2x. Developers are free to come forward and be maintainers. But those who port CM7 to unsupported devices haven't come forward, and tend to make code edits which break CM on every other device. Or they're just greedy and don't push their changes to Gerrit.
Yup... I've tested a ton of Rome.over the years ( such as docs ron, cm7, and many others I can't remember and story k.Tom's from samfirmware.com as well. The thing is I did do a Odin flash with re-partition and still a no go. I thought at first it was an issue with art sin e my derive uses their towers where I'm at now.. but the same issue exists even at work which uses the carriers native towers. Oh.. and no OTA updates for me (or at least that I've ever received from my carrier) hence the flashing :)
There are better explanations of the fragmentation down below, but one needs to remember, these 35 people are all volunteers. These are people who try to give their time when possible, but may not be giving as many hours that a full time developer would be doing for earning his/her main income.
Because you payed them a lot for all the free versions you got (that, I'm sure, are better than your stock rom).
Also, that is a very weak phone. It might "handle" gingerbread, but not well enough (that's what I'm told, i believe that's the same as the htc magic).
2.2 is miles away from the rom that came with that phone, you should thank them for what they done instead of complaining.
...if I install Cyanogen Mod on my phone, will I still be able to use the Google Market?
What the fuck do you think Vista was you jackass?
Your comment shows why programmers are forever doomed to be under appreciated,
Actually, it shows why software development shouldn't be called engineering (yet).
"I've got more toys than Teruhisa Kitahara."
CM is the only Android I'll use; great thanks to the team for making it happen. PSA: See that "Donate" box on the bottom of www.cyanogenmod.com? Use it!
A first-gen android device IS underpowered for gingerbread. Even CM6 was on the heavy side on my G1 (same hardware as your myTouch). You had to be careful what apps you installed so you didn't kill performance. That's not a satisfactory experience.
But the shelf life of these devices has nothing to do with the actual capability of the hardware. From the manufacturer the problem is planned obsolescence. From a community project, support runs out when there are no volunteer developers left who think its worth the effort.
How long ago did HTC last ship an update for your phone?
I use CyanogenMod based roms on my Android devices, and the main reason is the power control widget. It has many more features than the stock one. When you add it you can choose to have toggle buttons for stuff like 2g/2g+3g/3g, flashlight, orientation, wireless hotspot and many more, including the ones from stock like bluetooth, wifi and data traffic.
First thing I did when I got my Desire HD was to get rid of the stock sense rom and install CleanDHD (Cyanogen 7-based).
Dvorak on Doomtech
Which is one of the things that Cyanogen-Mod doesn't do on the original T-Mobile G1: WiFi.
Wanna tether? Have a nice day. Doesn't work. Wifi doesn't work. Bah.
---- Teach Peace. It's Cheaper Than War.
Yes Cyanogen is great, I run it on an Android phone or two and love it to bits. But that's not really the point...
The question here was about shipping a phone with CM preloaded, and that comes down to a number of business concerns.
In order to get the real penetration that this would need to get off the ground, CM would obviously need to pair up with a hardware OEM in order to get a handset crafted (or repurposed) and then they would also need carrier backing in order to get the sales penetration needed for a sustainable plan.
The major issue carriers will have with CM is the fact that the OS is rooted out-of-the-box and that carriers have a multitude of requirements imposed on handsets they'll slap their brand name on. Carriers tend to have business needs that require them to preload certain content on the device, rooting a device allows the user to quickly remove this content (something a carrier might have to swallow from the more knowledgeable users, but not something they would be willing to allow their userbase to perform at the flip of a switch). Rooting also opens a whole mess of security questions, which a carrier would tend to want to stay away from:
User: "My personal info was stolen from my phone!"
Carrier tech support: "Well your phone is rooted and you downloaded some nasty apps that captured your private data"
User: "But you sold me a rooted phone."
You also face issues like some of those mentioned in the comments here to the tune of "CM7 makes it easy to use Netflix". This is one example of many, but Netflix is currently only supported on select few handsets. I can imagine the lawsuits if a carrier were to sell and sponsor a device that "allows user to easily bypass device restrictions" put in place by app vendors. I'm not saying I don't have fun tinkering and hacking around apps in my spare time... but opening those doors to the masses and being liable for such a product is a whole different story.
Now the carrier is faced with having to support and guarantee a product that in the hands of an ignorant or unknowing customer can go horribly wrong.
Sony Ericsson has tackled this issue lately, allowing them to certify phones with carriers and have a secure out-of-the-box experience, but allow the customer to void his/her warranty by punching in their handset's IMEI on a website, obtaining an unlock code for the bootloader allowing full modification of the device. Forcing the customer through a lengthy agreement that renders all warranties null and void makes the carriers and OEMs safe from fallout if the user screws up their device from that point forward.
Cyanogen mod has quite a ways to go yet until they're ready to play in a commercial (and corporate) world where legal implication and stupid users require everything to be dumbed down and secured for consumption by everyone from preteens to seniors. I look forward to the day when I can sign up for my wireless plan and walk away with a Cyanogen handset, however I fear that if they look to commercialize the product they will end up taking away all that is great about CM in the first place.
In my opinion CM will thrive best staying where it is, being the best after-market mod/distro for Android devices.
I've had CyanogenMod installed on every single phone I've owned, from the G1 back in the day, and the MyTouch Slide to the G2 I use now and the G2X I'll be using in the near future. It's really what pure Android should be from the start. Amazing how they can get updates and working builds to phones ages before the carriers get around to it. And all in the team's spare time. I will never buy an Android phone if it's not capable of running the latest CM builds.
Actually, a lot of people want Sense. Personally, I love Sense with its widgets, social network integration, contact integration, contact lookup, and performance. Never have I seen performance issues with Sense.
What CM is good for is supporting phones that have been dropped by lazy manufacturers, like the Hero which was old hardware when it was released (which is just a G1 with no keyboard). AOSP and OSS in general has always been great for supporting old hardware and bringing new life to it. I'd personally like to see more Samsung phones supported just because Samsung is the shittiest manufacturer for updates. A chunk of the the Galaxy S line just recently got some support but the old Samsung Moment could use some love. Samsung dropped it after the (horrible) 2.1 release as well. I'm currently on an HTC Evo Shift and using the Gingerbread Sense leak and it's great.
I consider it odd that carriers can hobble Android at will and pass the Google cert program, but a community of dedicated programmers devoted to restoring functionality to Android users would have problems passing this so-called certification process.
Read between the lines: You must be a mobile carrier with $$$ to pass a certification process -- this permits you to have carte blanche to lock down your phones and remove features as you see fit. A real certification process would ensure the Market app would be able to run on each phone or tablet running Android, prevent the device from being loaded with crapware by the carriers, and allow the user to have "root" privileges.
Until a user can do what he or she wants on their mobile, this certification is a bad joke by Google and mobile carriers at the expense of their users and customer base.
MIUI is a Chinese ROM that is NOT opensource. Be wary of using it.
I love Cyanogen, which is why I hope they never pair it with a phone. Call me paranoid, but I'm convinced a lot of effort which now goes into supporting a wide range of phones will then be diverted into their "own" phone. A cool phone potentially, but only potentially, and at the cost of choice.
Don't get me wrong, they have every right to do that. Hell, they could even become a closed brand and make loads of money if the wanted, but I hope they don't.
so did I and I was a happy donor.
But I completely understand the justification - the device had 96mb of RAM which was getting too difficult to work around. The mod was no longer supported by the CM process but there is still an active community working on it.
FYI - I upgraded to a Mytouch 4G and could'nt have been happier.
Then I got frustrated for the bugs, the limitations and the obsolescence of the single 1.6 ROM that HTC had granted to my phone and I decided to void the warranty and install CM.
It turned out that CM is much more stable than the stock ROM: just to make a single example of its quality, the original ROM had a delay of a couple of seconds (!) between pushing a button on the headset remote and the phone executing the matching action; and HTC was perfectly happy with that.
And above all, by virtue of being updated to Gingerbread, the phone now has most of the features that I was missing when I switched from Symbian to Donut.
My only concern is that my phone contains a lot of personal information, so I'm a bit afraid of exploitable bugs (or backdoors - hey, you can never be too cautious). But since CM is fully open source, I feel a bit safer for the "many eyes" principle.
Oh well, my PS3 already sent all my personal details to the hackers anyway :D .
CM7 has been stable for quite a while now. Currently on 7.0.2 final, IIRC...
Good news...
It was announced at I/O 2011 that from now, the major manufacturers and carriers will be obliged to push updates for 18 months following the release of a device.
But for some time, the reality has been that you could reach 95% of devices by targeting v2.1
Fragmentation isn't the bogeyman some on here would have you believe.
... You never know when they might randomly stop supporting your device...
How is this different than your carrier and handset manufacturer?
They can't support things forever but they should at least tell you up front what they are going to support. For example:
* Up front they should state OS upgrades only for x amount of time (I think a year or none is fine).
* Security and bugfixes for as long as they sell their phones plus the length of their longest contract.
Their business model is all about limited lifetime hardware and longer contracts.
Keep the Classic Slashdot.
How is 720p mkv playback? if that works, i'm sold. right now i'm running Axura (pretty much the latest before it died). Very stable and fast rom. Gps is a bit broken, tho. Does GPS work? Becuase I use that a lot.
Vista had some teething problems everyone latched on to, but quickly became a rock-solid, fast OS.
When they get a working build for the Fascinate, I'll happily toss some cash their way.
Women are like electronics: you don't know how damaged they are until you try to turn them on.
Mobile TV Elite Bonus, a review of this product that Internet sales leads. http://www.mobiletvelitebonus.org/
I have run many versions of CM (even contributed to CM early on) and many versions of stock. My conclusion: CM breaks a heck of a lot more than it fixes -- and the community is more likely than not just going to get mad at you or ignore you if you try to report bugs. Extremely unfriendly, unhelpful community. Since about Eclair, CM has *not* been better than stock.
Also, the average user will pretty much not know or notice *any* improvement by running CM, if they already have Gingerbread.