[HTC Pico (Explorer)] thewisenerd:
Ok, let's quote scott.hart.bti here.

I remember my first work, around 7 months ago, which I released on XDA (before that I was just working on some random tools, scripts and stuff, making custom themed CM ROMs, naming them "Zeta ROM" etc), which was Cyanic Sense. Before that I had my first experience "making" a kernel. It took 40 minutes on my pre-pentium 4 processor. I remember Rishik999 who I worked with. I remember releasing a flashable zip for the Stock ROM v1.43.720.2 with the combined efforts of me, rishik and racerroney, with help from explorerman.

Back to cyanic sense, Though it was just theming, it was difficult, for I didn't know where to start. I quit that, because of two reasons.

1. stock, was buggy, and slow.

2. there wasn't any "real" developing that I was doing.

2.5. I had got a new computer, so, no longer did I have to wait for ~40 minutes to get a kernel compiled.

Now, looking back to about two months ago. The end of october. Cyanogenmod ICS was the first ROM that I compiled, just to test the specs of my pc, build times, etc. Still, I was making builds at the rate of a build per hour and half, or so. Looked at MiniCM, there was great potential in there, for it. I was starting to learn things.

MiniCM was THE greatest project (IMO, until now) ever that I worked on, that I can be proud of (till this day), just because I did it, and It was my first work. No matter, I decided to "stabilize" the ICS ROM with k3.0.101. I remember that day, when [MENTION=1463407]rcan[/MENTION]e had released a flashable s2w zip update for it on the thread. I flashed it, didn't work. Decided to make it work, and voila! That was the first build, with very few changelog.

First, started out with cherry-picking, (too many of them), most useful ones had been abandoned by them cm-gerrit, just because ICS was outdated. decided to create repos, and implement some real useful features into ICS, making it "rock stable", and stuff as you'd say it. User suggestions started flowing in (those who did care for ICS). Had a hard time keeping up with all the features that the users requested (not many, as only a few used ICS). I wasn't able to fix up all their requests, but still... Anyways, I was still learning. Collaborated with Umair (omerjerk), and went on to add toggles and stuff... Finally, went on to create CodyROM, (with some more great collab, with Vaibhav (#Superuser), and Dhruman (dhrumangajjar)) just because of two things:

1. It was over with the MiniCM brand name, as it limited my functionality.

2. Users really didn't think any different of MiniCM, and i was just the guy, providing builds, and they neither do that now, either.

I also did a few builds of cm10, cm10.2, but never really released them. just because there wasn't anything that I added or so :\

Did anyone bother? Nope. Except the ones who used ICS? Nope. Did I bother? Nope. Because I knew I was outdated, and Kitkat had released too, so none really bothered. Did I care? No. Because I was learning. That project gave me both the headstart and confidence, experience and a little knowledge about the android build system.

Without it, I wouldn't be what I am today.

Finally, went from "I" to "we". Then, there was quite a some pressure from "people" regarding, "ICS is outdated", "move on", and so on...

So, decided to work on my first kitkat ROM, Omni. Thanks to the experience that I gained from MiniCM, and CodyROM, I was able to get it booted at first attempt (using the really outdated device tree at picokat) (the tree's still the same way).

Ok, so Kitkat booted. Problems: audio not routing. RIL didn't work. black screen in browser. dang outdated, because pico was using ION. and mainly: incompatibility of sources. AOSP doesn't simply make sources compatible. Even now, for CM, we use a hacked display-legacy, media-legacy, and frameworks/av. hoepfully, there were certain commits in the gerrit of omni, that helped me along the way. I'd like to thank sachin thomas for helping me get ION booted in pico, and cute_prince for enabling ION in the pico kernel. This fixed some of the issues. Also, few others like Nihar, and galaxyfreak helped, and RIL, camera working. That was Omni, for Pico. That was the ever first release of TeamCody, in kitkat.

At this point, i'd take a timeout to say how the ROMs itself are made:

First they add the features (keeping in mind to add compatibility later)

ROMs are compatible for nexus, voila! great! bravo!

And, at some point of time, it slips out of their mind that they have to add compatibility too.

One common example of it would be missing drawables. When adding new featues, mostly these are tested in XHDPI devices, like the Nexus? So, another problem faced: I really wouldn't know what's missing, until I boot the ROM, and get hell lot of FC's.

Meanwhile, ROMs were releasing in the Development section. Ported ROMs. I was never with the idea of ported ROMs, because I have a blind belief that ROMs built for the device would be stabler, and bugs can be more easily fixed that way. (not that I don't use ported ROMs. I do use them, in cases inevitable, or when I don't be able to build them from source)

So, decided to make them ROMs, so that I could fix bugs, along the way, thus helping the community back, and in the course, learning more. If you'd have seen, Carbon, AOSPA, Beanstalk, AOKP was already ported. I'd done only Evervolv, and Omni.

AOKP was a request by Amal, who said that he couldn't get AOKP booted with ION by porting... Evervolv, I did it for the legacy support (they're teh best at that). Beanstalk, I had a strong feeling to get this one done. because of the customizations available. Carbon, had to be done, because its another great ROM. Omni, was my wish to do.

Now, there's one thing that *most* of the custom ROMs lack today. Legacy support. I decided to use AOSPA-legacy repos, just because one can't build from the official AOSPA repos for older hardware. its built FOR nexus. Carbon, NVM, had a tough time cherry-picking commits. AOKP, was equally difficult. Omni, please. They said that legacy support would be their prime aim. now, all that vanished into thin air.

On the other hand, Cyanogenmod, says you. Great! Functionality at its best! Reason: solid legacy support! legacy support at its best. ALL phones are likely supported. You just need to hack device specific repos that are hardware oriented like media-legacy, display-legacy, and frameworks/av to get it working. Its easy to just sync the cm repos, and make fully booting, working ROMs, "without any bugs", as you say.

But, that's not the case with all other ROMs, both cm-derived and otherwise.

It takes time to find, merge support for legacy devices like ours.

It takes time to find missing drawables.

It takes time to hash out all changes that are "device specific" breaking builds, or so.

It takes time for me to build kitkat. 3 hours, for the first compile, with ccache, and a hour and half the next time. Not to mention, 3 hours, if the build doesn't break. and the build doesn't boot? then, derp around with frameworks, and hardware repos a bit more to find why it doesn't work, and how to get it working.

I don't have a build server that churns out builds every half an hour, so that I can test it, rebuild with fixes.

Beanstalk's frameworks/av was almost not synced with CM's for the past few days.

Also, Beanstalk had missing drawables, as said earlier, just like Carbon did. Sorry, if it seems like I'm repeating stuff.

And yes, users seem to be very very biased to names, ROms, and otherwise.

Cyanogenmod, yes. A build by a "recognized person", yes. I remember joilaroi, the person who was responsible to making a very stable cm-10.2, was first recieved with "doubt" when he said that he'd fixed them bugs.

Ok, this post's gone too far. Spoke too much.

I ain't saying that I am a great developer or anything. The real great people are the poeple who work on the ROMs, and its features. I am still learning stuff. just that it's taking too much of a toll on me, my health, and my academic life.

I've still got a lot to learn, and won't be *not* doing it, just because people say so.

Finally, I quote scott again.

Don't like what I said? Go on, report this post. Report me. Just to let you know, that I don't give a damn.