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."
It takes a team of 35 people to manage code for 32 different devices?
Wasn't the fragmentation of Android supposed to be a myth, according to its fanboys?
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! :)
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.
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.
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.
CM7 killed my galaxy s in a sort... cameras were too dark to use and texting didn't work. Went back to a stock ron and everything got corrected except outgoing texts. I can receive, but no longer send even after wiping etc. I'm not sure what from CM7 is still on the phone screwing things up but man its annoying
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.
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.
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?
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)
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 :)
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?
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.
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...
... 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.
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.