[Galaxy S I9000 General] andrewluecke:
Hypothesis of how Samsung development works and why there is no evidence of GPS fix

I thought up a theory of why we haven't seen any real lag fix patches or GPS fixes yet. May be totally wrong, but if correct, it may help make things a bit more predictable..

Background

Samsung is known to release firmware with the designation I9000[UNIQUECODE]YMR, where:

Y = Year (...,I=2009,J=2010,K=2011,...)

M = Month (A=January... L=December)

R = a revision number

This fact is already well publicised on firmware sites So, for instance I9000XXJF4 was a stable firmware released in 2010,June,rev 4.

Recently, I9000XXJP3, I9000XXJP2 and I9000XXJP1 were released, and at least to me, nobody seemed to truly understand why P was used (no month can refer to P). These turned out to be froyo ROM's which were clearly pre-release roms under heavy development.

Simultaneously, I9000XXJM1-JM5 test releases were leaked (utilising yet another impossible month, dec+1). These introduced highmem support for eclair, and a few more usability features. Soon after JM5, a whole bunch of new releases came out with the changes integrated.. They were major changes (even if their impact was minimal).

Why would a company randomly skip letters in their alphabet for firmware names? Because they forgot the alphabet? It is quite odd... Where is JN# and JO#? I don't believe this is a coincidence..

Theoretical firmware naming

I believe the layout they are using for development is:

J(A-L): Stable development series (mainline).

J(M): Temporary branch (HighMem & Usability). This already seems to have been merged back into mainline, and introduces highmem support and a few other usability changes.

J(N): Missing letter with no JN builds.. yet. Probably a branch we haven't seen yet (Lag)

J(O): Another missing letter with no builds. Probably another branch which hasn't been leaked (GPS)

J(P): Froyo Branch.

I believe every firmware marked from JM-JZ are sequentially created branches which are all merged back into the main stable tree (JA-JL) later (which is the one which is distributed officially). Similar to normal development, this allows major changes to be worked on, without breaking the main tree (and keeps things stable). Otherwise, small critical bug fixes can't be added to the main tree and distributed without fixing the rest of the tree, removing the unfinished code, or hacking around wasting time.

It happens in almost any development source code management tree, from the Linux Kernel, to Mozilla. Almost every project works on multiple branches simultaneously, and it is highly likely, this is how Samsung is operating.

So, where is GPS

There is a lot of people expecting GPS changes to be merged into the JH/JG series, except we can be quite confident that the GPS fix (if there is one), is NOT a simple one-line of code (or it would have been fixed by now). It probably makes low level changes to the Android framework (Samsung have already said they are working with Google) or kernel drivers and other components. If it's complex, working on the code in the main tree would probably mean stable releases would be frozen until the end of september. They will probably only merge it into the main tree when it is safe to do so.. The reason why there might be no evidence in the normal builds that they are working on it, is because the work is still independent of the main tree, and the JN/JO trees (if they exist) might not have leaked yet. After all, if the tree wont work, Samsung wont distribute the pre-release to their vendors/testers which dramatically decreases the chances the test-firmware will leak. Why would their distributors want a broken firmware they can't test?

I'd say its likely that we will see a JN# build leaked first with the GPS stuff integrated (it will probably be leaked by the mobile phone companies themselves when it is kind of working), before we see a normal series with it integrated. It also suggests that they are working on something else major with JO# (maybe lagfix). Although, JO might be skipped, because O/oh appears the same as 0/zero with some fonts (ambiguity).

This is just a theory. Maybe totally wrong, but if the designations n-z are allocated for branches, it may provide us greater insight into how the process works. And if it is true, we shouldn't expect to see any real improvements in GPS except in a leaked branch tree, or until the work is merged back into trunk/stable..

There are lots of people getting upset claiming that there is no evidence that the problem is being fixed with drivers. This might be because they aren't there. The GPS changes might not be merged until later, and my theory is that we will see a JN1 rom leaked first (that would be a red-flag to me that something major has been integrated).

Or I could just be wrong, or, I am just reiterating something you guys worked out long ago :P