Hi,

this mail made me laugh, because I can tell very similar stories with
different examples. (Not sure if :) or :( )

On the positive side, I think we got a lot better since then by both,
fixing broken designs and code, and also applying learned lessons to new
sub-systems.

Best regards
Thomas

Am 20.10.2014 12:54, schrieb Gabriele Svelto:
> On 17/10/2014 00:32, Nicholas Nethercote wrote:
>> Thanks for the replies so far! I deliberately left this question vague
>> to see what kind of responses people would give. But mostly I'm
>> interested in code whose awfulness impacts users in a serious way.
>> Ones where refactoring/rewriting efforts would be valuable. That
>> excludes code that no longer exists :)
> 
> A lot of early FxOS code both in gecko and gaia was hacked together in
> no time during caffeine-fueled work weeks by jet-lagged developers. Some
> of it was cleaned up but some is still with us, mostly in gaia I'd say,
> where it often does have an impact on end users. A few things that come
> to mind:
> 
> - In some applications transitions between a panel or a similar UI state
> are not atomic so if you tap fast enough funny things happen.
> 
> - We often store application data in the DOM again making for funny bugs
> when we update the DOM asynchronously while the user is interacting with
> the application.
> 
> - I'm not really sure all of our IndexedDB uses are doing transactions
> properly. We had (and possibly still have) multiple places where we were
> doing things that should have been atomic in different transactions
> (because of async_storage.js for example) and we assumed that a
> transaction succeeded if the last request succeeded (but not the
> transaction itself).
> 
> - Dual-SIM support is still partially done. Some things work, some
> things kinda work, some things don't work at all (e.g. use SIMs from two
> different countries and only the first one's country prefix will be
> recognized correctly when matching numbers).
> 
> - Last but not least issues in horribly buggy Android binary blobs were
> worked around in gecko, some of those workarounds ended up being
> duplicated in different pieces of code as refactorings came and went, e.g.:
> 
> http://dxr.mozilla.org/mozilla-central/source/gfx/layers/RotatedBuffer.cpp#403
> http://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/TextureClient.cpp#226
> 
> I know we blacklist drivers on desktops too; what makes this worse is
> that we can't ask users to update their drivers on their phones and
> these horrors keep creeping into our codebase and we don't know when
> we'll be able to get rid of them (or if we'll remember all the places we
> put them in).
> 
>  Gabriele
> 
> 
> 
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
> 

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to