Discourse is slow on Android. Why?



  • Here's my contribution:

    It's been worse.



  • And the best part is, this isn't the first time. I once did a survey from the random contracting company I'm working through at the moment. I said something along the lines of, "Working with them has been hassle-free." and was asked if they could use it in marketing material. I agreed, but am still rather confused as to why "They aren't particularly annoying." is something you want to use to advertise yourself.


  • Discourse touched me in a no-no place

    They'll probably use it to mean "this was a perfectly smooth and trouble-free experience." See how I superlatized it from "it didn't suck"?

    Actually, in many industries, you expect the experience with contractors to suck, so someone coming along and saying "I didn't have any sucky experience" could legitimately be considered fairly high praise.


  • Banned

    I'm going to get this tattooed on my face.


  • Grade A Premium Asshole

    @codinghorror said:

    I'm going to get this tattooed on my face.

    Have them send the bill to us, we will gladly pitch in and pay for it.


  • FoxDev

    totally would! of course we'd need to see pictures too.


  • Winner of the 2016 Presidential Election

    "Smart" people sense an oppurtunity for marketing and advertisement here:

    "Discourse 1.1
    'I've seen worse.' - Magus, 2014
    Send this message to every person you have ever known ever and Codinghorror will tatoo this slogan onto his face!"

    (Then send the bill to us because that is how marketing works!)

    Filed Under: Suprisingly enough I actually still get these kinds of message from people sigh



  • @accalia said:

    @Intercourse said:
    @codinghorror said:
    @hungrier said:

    I'm going to get this tattooed on my face.

    Have them send the bill to us, we will gladly pitch in and pay for it.

    totally would! of course we'd need to see pictures too.

    LjLjLjLjLjLj


  • FoxDev

    @hungrier said:

    They could probably use it as a review quote

    http://what.thedailywtf.com/badges/135/passable-poster

    (if this post isn't on that list it should be shortly)


  • Banned

    Some updates on this:

    Comment #6 on issue 3663 by bugdro...@chromium.org: Clearing of ICs at GC degrades performance
    https://code.google.com/p/v8/issues/detail?id=3663#c6
    
    The following revision refers to this bug:
      https://chromium.googlesource.com/v8/v8.git/+/9ffdae66e24b7d7a5aaa1699ed9302b6583e2aa6
    
    commit 9ffdae66e24b7d7a5aaa1699ed9302b6583e2aa6
    Author: ulan <ulan@chromium.org>
    Date: Thu Dec 18 13:09:37 2014
    
    Monomorphic and polymorphic ICs with cleared maps should not go megamorphic.
    
    BUG=v8:3663
    TEST=cctest/test-heap/MonomorphicStaysMonomorphicAfterGC
    LOG=N
    
    Review URL: https://codereview.chromium.org/816653002
    
    Cr-Commit-Position: refs/heads/master@{#25882}
    
    [modify] http://crrev.com/9ffdae66e24b7d7a5aaa1699ed9302b6583e2aa6/src/ic/ic.cc
    [modify] http://crrev.com/9ffdae66e24b7d7a5aaa1699ed9302b6583e2aa6/test/cctest/test-heap.cc
    

    They're definitely addressing it in Chrome / Android V8. I'm unclear how long it takes between

    • code fix checked into a Google Chrome / Android V8 repo

    • user downloads Google Chrome with that fix from the play store

    I tried to be clear in that last bullet since a few times @intercourse has tried to tell me that you need to update your entire OS to get a new version of Chrome..

    (which is, oddly enough, true on iOS for Mobile Safari.)


  • Grade A Premium Asshole

    @codinghorror said:

    I tried to be clear in that last bullet since a few times @intercourse has tried to tell me that you need to update your entire OS to get a new version of Chrome..

    I was wrong about that. I misinterpreted the architecture. Android does this a lot more smartly than iOS does.

    Current Chrome requires Android 4.0 at minimum. How many devices are not up to that standard? I have no idea, it was an honest question.


  • Banned

    Discourse doesn't support any Android below 4.1. It's in our faq and everything.



  • @codinghorror said:

    Discourse doesn't support any Android below 4.1. It's in our faq and everything.

    :wtf: Why are you dependent on the OS instead of the browser? As @Intercourse said, the current mobile chrome runs on Android 4.0+1.

    1

    I don't understand why how you need more than the browser does.


  • Grade A Premium Asshole

    @codinghorror said:

    Discourse doesn't support any Android below 4.1.

    You have to be fist-fucking me?



  • This level of WTFery deserves a stamp:



  • @abarker said:

    Why are you dependent on the OS instead of the browser?

    Probably because there are 5 bajillion Belgium'ing browsers for the OS, so it's easier to not have to spec to that low a granularity.


  • kills Dumbledore

    @Intercourse said:

    Current Chrome requires Android 4.0 at minimum. How many devices are not up to that standard? I have no idea, it was an honest question

    Under 10%

    Pre 4.0 is proper legacy. It's a long time since anything was released running Gingerbread, and whatever's still not upgraded past it is pretty much a dumbphone compared to even the cheapest current smartphones.

    Note that the chart is not entirely accurate, it measures devices using the Play store IIRC, but is the generally accepted standard among Android geeks


  • BINNED

    @Intercourse said:

    You have to be fist-fucking me?

    Can't you tell?



  • @chubertdev said:

    Probably because there are 5 bajillion ■■■■■■■'ing browsers for the OS, so it's easier to not have to spec to that low a granularity.

    So why are they not doing the same on desktops? Bypass the browsers! Depend on the OSes! :trollface:


  • Banned

    Android 4 was released Dec 2011. Android 4.1 was released summer 2012.

    You gotta draw a line in the sand somewhere..



  • @end said:

    Android 4 was released Dec 2011. Android 4.1 was released summer 2012.

    You gotta draw a line in the sand somewhere..

    That doesn't explain why Discourse is dependent on the OS instead of the browser.

    Discourse is browser based. You should be using browser features, not OS features. Leave the OS requirements up to the browser. Discourse shouldn't even care about the OS.


  • Banned

    So.. discourse can run on Windows 95?

    The age of the device implied by very old OS would make it unsuitable.



  • If there was a modern browser that could run on Windows 95, why wouldn't it?

    Besides, your product's purpose is to serve text. A computer from the 1970s can display text.


  • Banned

    No modern browser can run on Windows 95. But sure, if the latest version of Chrome loads in Android 2.3 or whatever, it would work. Still, if the device was new as of the time Android 2.3 was, it'd be ridiculously slow by today's standards.



  • To be fair, an ipod 3 (as tested earlier in the thread) is faster than my 2.4ghz 3gb ram android device. (oneplus one)
    Found it: #193 (linking and or copy paste seems to be broken)



  • My issue is that your site says that Discourse requires Android 4.1. However, Google says that the latest Chrome version requires Android 4.0. This discrepancy makes it sound like you are hooking into the OS for something. For a web-app, that is a major WTF.

    Regarding your ridiculous comparison: As others have pointed out, if the latest version of Chrome or Firefox or IE was compatible with Windows 95, then there is no reason that you shouldn't be able to access Discourse on a Win 95 box. But that isn't the case. But you can get a completely up to date browser for Android 4.0, which makes your requirements completely absurd.


  • Banned

    We could probably make it 4.0 but I figured 4.1 was a bug fixed 4 and represented devices of 2012 vintage which are more likely to give a decent performance experience today.


  • Fake News



  • @codinghorror said:

    We could probably make it 4.0 but I figured 4.1 was a bug fixed 4 and represented devices of 2012 vintage which are more likely to give a decent performance experience today.

    Well, it isn't your place to make those kind of calls. Your job is for all your users what the minimum requirements are for your software. And in this case that's Android 4.0.

    As for your "figuring", that's a dumbass way to set requirements. Don't guess. Do your homework. This time, a quick google would have found http://m.androidcentral.com/android-versions, which would have told you that 4.0 is Ice Cream Sandwich and 4.1-4.3 is Jellybean. Based on that, you should expect more than bug fixes between 4.0 and 4.1. Looks like @lolwhat is dead on here.

    Edit: before you go making the vintage call, you should consult the list of current usage that Google makes available.



  • I was curious as to how much Ember has improved, so I went to the test page that @codinghorror linked and selected the first version (1.5 or something).

    My screen froze for about ten seconds, then went blank. When it came back, I was greeted by an empty Chrome instance with this message:

    I'd say not crashing my entire computer is a pretty good improvement.


  • Banned

    Not exactly. Android 4.1 is the first version of Android to ship with Chrome, see http://androidandme.com/2012/02/applications/goodbye-old-browser-chrome-to-become-the-standard-browser-on-android-4-0-and-above/

    I mean Chrome for Android literally did not exist at the time Android 4 was released.

    The implication is that we want to use the shipping default browser which is Chrome as of Android 4.1 -- though sadly as I found out Android vendors will still override the browser with crapware even today. I believe the most recent change is that vendors can't remove Chrome and still have access to the Play store. That is Google's leverage on Android.


  • Banned

    Yeah Nexus 7 (2012) was the first device to ship with Chrome

    Released in July 2012, it was the first device to run Android 4.1


  • Grade A Premium Asshole

    @codinghorror said:

    So.. discourse can run on Windows 95?

    We are not talking about 1995, we are talking about 2012-today. You can still buy tablets that come loaded with versions of Android <4.0. Bargain basement tablets, but still a working tablet with a functioning browser that will load the rest of the web. Discourse would make it shit itself though.

    This entire debate still does not make sense to me. As has been said before:

    @abarker said:

    Discourse is browser based. You should be using browser features, not OS features. Leave the OS requirements up to the browser. Discourse shouldn't even care about the OS.



  • @codinghorror said:

    The implication is that we want to use the shipping default browser which is Chrome as of Android 4.1 -- though sadly as I found out Android vendors will still override the browser with crapware even today.

    My last phone ran 4.1. The default browser was not Chrome. I had to download Chrome. Don't worry about what ships. Tell peoplr what version of the browser they need (current mobile Chrome is 39 something). Stop worrying about the damn OS.


  • BINNED

    @abarker said:

    That doesn't explain why Discourse is dependent on the OS instead of the browser.

    Old Android had it's internal browser and that one was locked in. Chrome was only added later and made to receive updates through play store and not through OS updates.



  • You're talking pre-4.0 though. IIRC, that's even pre-3.5. Still doesn't justify their current position.


  • BINNED

    @abarker said:

    You're talking pre-4.0 though. IIRC, that's even pre-3.5.

    While you are convincing me for? Go talk to Samsung and the likes.


  • Discourse touched me in a no-no place

    @Luhmann said:

    While you are convincing me for? Go talk to Samsung and the likes.

    My new LG G3 that I just got yesterday and was released (I believe) less than six months ago came with the android browser as default. It came with Chrome, too, but that wasn't on the home screen.

    Of course, the fact that, as I said above, my quad-core 2.5GHz CPU still pulls 4500 on the discourse timing thing is pretty fricking sad.



  • @codinghorror said:

    So.. discourse can run on Windows 95?

    The age of the device implied by very old OS would make it unsuitable.

    phpBB runs on Windows 3.1 just fine. It takes a second or five to load a page, but then again that's not much worse than Discourse on my phone. It's markedly better than Discourse on my iPad 1, which works fine otherwise and which I won't be upgrading.

    And while this wouldn't be my first choice, it actually is mostly tolerable to use. And that with 24 MB of RAM. And the only real feature Discourse has and it doesn't, is a like button. This is saying something.


  • ♿ (Parody)

    @codinghorror said:

    Not exactly. Android 4.1 is the first version of Android to ship with Chrome

    @codinghorror said:

    I mean Chrome for Android literally did not exist at the time Android 4 was released.

    @codinghorror said:

    The implication is that we want to use the shipping default browser which is Chrome as of Android 4.1

    No one gets that. They see your weird requirement for an OS version and wonder WTF you guys are doing. If you just said "Chrome v?" or whatever, no one would be confused and you'd have spent less effort trying to figure out lots of dependency stuff that you didn't need to figure out (and got wrong).



  • @marinus said:

    And the only real feature Discourse has and it doesn't, is a like button. This is saying something.

    That the next version should add a like button? :trollface:


  • Banned

    This is a long term game; if it takes a decade to get there, so be it.

    • Long Term: Happy to wait 2-3 years for old devices to die off.

    • Medium Term: significant V8 Android improvements are already in the pipeline, only one Play Store update away in Chrome. If that takes 8 months, that's fine too.

    • Short term: we halved the work for Android devices and made a few other deferments of work such as Suggested Topics. Ember team has a perf suite contributed by us and is focusing on perf for Ember 1.10 which is maybe two to three months out.

    Android 4.1 sets the right expectations; and certainly people are used to OS versions determining this stuff since on iOS (and AFAIK Windows Phone and Blackberry and what ever other fraction of a percent mobile platforms there are) you have to update the OS to get a new browser version. Android is kind of the outlier in this regard, and that can be a mixed blessing since it means vendors will ship crapbrowser as default instead of Chrome.


  • Discourse touched me in a no-no place

    @codinghorror said:

    Short term: we halved the work for Android devices and made a few other deferments of work such as Suggested Topics.

    This hasn't exactly improved things though - see @Frostcat's score in @sam's topic, after the changes, on an LG G3 which is a new, top end phone.

    You're happy for it to maybe take years for your product to work properly on the mobile platform which is the biggest share of the market? If you don't want to take Windows Phone seriously because it's a tiny share then you should be taking Android more seriously for the opposite reason.



  • I don't think this dude really cares about mobile at all at this point. Discourse simply doesn't work for the majority of smartphones out there, and doesn't seem like it will any time soon. I just have to hope forums I DO use on mobile never switch to Discourse.


  • Banned

    Not seeing those results, we need new ones pretty much today, cause this was running Ember 1.8 when we did the first round.

    Not saying stuff is spectacular on android but much improved on my nexus 7 over what it was 2 weeks ago.

    Its not that we don't care, its just that we have limited resources and our first priority at the moment is our customers.


  • Discourse touched me in a no-no place

    http://what.thedailywtf.com/t/how-slow-is-discourse-on-your-mobile/5405/278?u=loopback0

    Is 3 days ago recent enough?

    @sam said:

    we need new ones pretty much today, cause this was running Ember 1.8 when we did the first round.

    Just re-run it. 2855. That's a 300 $ARBITRARY_UNIT improvement over the previous attempt on my S5.


  • Banned

    Keep in mind, we render in chunks so stuff is probably on the screen prior, what the lowest number you see in the box there?


  • Discourse touched me in a no-no place

    Says:

    2816.741999995429 ( 3 )

  • Discourse touched me in a no-no place

    I don't know what the ( 3 ) means but it was also ( 3 ) on my first run.


  • Discourse touched me in a no-no place

    I just got around to running the test with my mobile (I usually read here with a desktop system, so testing with mobile is a little awkward). The current dev build is much faster than 1.8:

    This is with a no-name Chinese phone that happens to look a lot like one of the Galaxy Notes (coincidence?!) running pretty much stock Jelly Bean.


Log in to reply