Announcement

Collapse
No announcement yet.

Firefox 82 Released With Performance Improvements, Video Playback Enhancements

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by polarathene View Post

    I get what you're saying with software dev in general, but for web this isn't always the case. It doesn't always apply, but when you make money from customers and they are in regions or on devices where data is expensive and/or slow, reducing the network overhead can make a world of a difference.

    If the webflow kitchen sink demo was an actual product page for some business, you'd have an incredibly high bounce rate for all the customers that gave up before that 15MB was downloaded and the preload screen that blocked any interaction was removed. I wasn't the only one, it was a sponsored facebook ad and filled with comments asking if the website was broken due to nothing changing for over 30 seconds. For those with the patience or faster connections, the constant CPU overhead from animation logic further down the page was slowing down responsiveness.

    You don't have to go hardcore with optimizations, but a page should ideally be loading up and accessible within 3 seconds at most (based on UX studies). As a business, besides the desire to retain potential customer interest, you also don't want to waste money on bandwidth unnecessarily (it did not need to download 15MB per user to begin with), if it was a high traffic site, they could have cut their bandwidth costs down 90%, depending on expenses that could be pretty decent savings.

    Not always about saving money though, as you point out other priorities will have convenience and speed to develop come out on top. Using BunnyCDN instead of AWS services for CDN alone has it's own fair share of savings. Not having a high bounce rate due to poor UX is the bigger justification though.
    I understand what you're saying, and I know you and a small but significant portion of the people in our field are doing really well compared to the industry average on things like this. But the trend is still heading in the wrong direction, and it's moving so quickly it carries even the best of us along for the ride.

    So for example, you're targeting a 3 second web page load time on low end hardware through low bandwidth for customer engagement. You trim your website down to 80k of content not counting images and the Javascript is optimized until it runs quickly enough not to ruin user experience on a Moto G phone from 2015.

    The bright news is that your content is more efficient than literally 99% of other web content, and 90% of the people with a smart phone in the world can use your site.

    The bad news is that smart phones and tablets from 2010 which should be perfectly viable computing devices today still struggle with your content, or can't handle it at all. And spending the extra time to take the site content down from 80k to 40k or less will never pay for itself in increased customer engagement, because the people with devices that need that 40k improvement are by definition the ones with no discretionary money for your products.

    So even by being efficient, you're going to cut people at the bottom out. And I'm not angry at you for that, because I understand you can't pay your bills catering to those people. But the result is the same - in 10 years you will be one of the comparatively efficient people, which by then will mean you're targeting smartphones that only have 2GB of RAM and 10 mb/s connection speeds, while the rest of the market assumes 8GB of RAM and 50 mb/s.

    Remember, nobody uses an iPhone 1 for anything today. They're an antiquity. And it has more than 200 times the raw speed of the computer that powered the moon landings and more than 50,000 times as much memory. Apple sold millions of that phone and the users loved it. It was good enough for six million people in the first year it was out. Today, just 13 years later, it's good enough for nobody and I'd be surprised if 10 of the 100 most popular sites on the internet work on it at all.

    Comment


    • #32
      Originally posted by Michael_S View Post
      I understand what you're saying, and I know you and a small but significant portion of the people in our field are doing really well compared to the industry average on things like this. But the trend is still heading in the wrong direction, and it's moving so quickly it carries even the best of us along for the ride.
      I can relate to that and it is a bit worrisome, I'm not sure if much can be done when we consider what is causing such trends, other than convince / motivate businesses with a language they can grok and value to justify doing things proper (or closer to).

      Originally posted by Michael_S View Post
      So even by being efficient, you're going to cut people at the bottom out. And I'm not angry at you for that, because I understand you can't pay your bills catering to those people. But the result is the same - in 10 years you will be one of the comparatively efficient people, which by then will mean you're targeting smartphones that only have 2GB of RAM and 10 mb/s connection speeds, while the rest of the market assumes 8GB of RAM and 50 mb/s.
      Sure? I'm only talking about performance from a pragmatic standpoint. It becomes more and more effort for declining ROI, especially when the visitor isn't likely to be in a position to become a customer. Supporting such customers can additionally be a security risk.

      I don't think the resources need to grow like that. There's a consistent effort within the industry towards doing things better and more efficiently, they do take time and I can't say how well that surfaces to non-devs that use software services to composite a website via a GUI.

      Some websites today can be done far more efficiently and easier than they would have been 5-10 years ago. There's a whole ecosystem that contributes towards making that possible though, and complexity has increased notably to do that well, this doesn't mean that the benefits aren't more accessible to less experienced developers though, Gatsby is an example of that (although lately it's been giving Wordpress vibes a bit, and I have seen some inexperienced developers mess up bloating the weight of a page..).

      Originally posted by Michael_S View Post
      Remember, nobody uses an iPhone 1 for anything today. They're an antiquity. And it has more than 200 times the raw speed of the computer that powered the moon landings and more than 50,000 times as much memory.
      You're comparing to very different devices. The iPhone was capable of considerably more than what you compared to it, which I doubt had much generic support, you want websites as fixed-width terminal output instead?

      Originally posted by Michael_S View Post
      Today, just 13 years later, it's good enough for nobody and I'd be surprised if 10 of the 100 most popular sites on the internet work on it at all.
      It wouldn't function with the majority of websites at all.

      Even if it were able to use an updated browser as they'll enforce TLS 1.2 (all browsers currently deprecated earlier versions with a error/warning page until removal of support completely in near future releases). TLS 1.2 was official from 2008, and more widely available in implementations around 2010, but server distro releases lacked packages until later releases, which also have slow adoption, this is especially the case with mail servers. iOS5 added TLS 1.2 support I think, but only for HTTPS, other protocols like for email was delayed until iOS9.

      Not only that the amount of supported cipher suites that servers make available and support the earlier protocol versions is fairly limited now. Some legacy clients like old versions of Java cannot use some of the cipher suites for perfect forward secrecy due to limitations in the Java run time back then that would be considered insecure to allow now. You'll also find old mobile devices lacking hardware accel for encryption where software AES is like 30x slower or so, there's a modern alternative which is near hardware accel performance in software, but was only available as a standard since 2016.

      The browsers themselves if not updated would probably break in other ways too due to lack of newer CSS features, browser APIs and other support like image formats.

      I've had old devices from back then and remember even some native apps (android) weren't all that snappy, especially single core low clockrate SoCs (I had a Samsung Galaxy S1 which was still quite a leap ahead of the original iPhone I think). Websites weren't the only poor performers.

      I'm just glad we're not working with hardware resources like I grew up with in the 90s, programming stuff on those especially games I recall they went to quite extensive lengths to be efficient. Now we have embedded hardware with that processing power for a few dollars or less and it runs off bugger all power.


      Last edited by polarathene; 24 October 2020, 05:45 AM.

      Comment


      • #33
        Originally posted by polarathene View Post

        I can relate to that and it is a bit worrisome, I'm not sure if much can be done when we consider what is causing such trends, other than convince / motivate businesses with a language they can grok and value to justify doing things proper (or closer to).
        I don't think anything can be done, which is why I wrote that our whole industry is fucked.

        Originally posted by polarathene View Post
        Sure? I'm only talking about performance from a pragmatic standpoint. It becomes more and more effort for declining ROI, especially when the visitor isn't likely to be in a position to become a customer. Supporting such customers can additionally be a security risk.

        I don't think the resources need to grow like that. There's a consistent effort within the industry towards doing things better and more efficiently, they do take time and I can't say how well that surfaces to non-devs that use software services to composite a website via a GUI.

        Some websites today can be done far more efficiently and easier than they would have been 5-10 years ago. There's a whole ecosystem that contributes towards making that possible though, and complexity has increased notably to do that well, this doesn't mean that the benefits aren't more accessible to less experienced developers though, Gatsby is an example of that (although lately it's been giving Wordpress vibes a bit, and I have seen some inexperienced developers mess up bloating the weight of a page..).
        I'm not thinking in terms of pragmatism, I'm thinking in terms of environmental waste, customer satisfaction, and harm to the bottom third of households by income in wealthy countries and even more people elsewhere.

        A laptop or desktop purchased in 2005 should be usable for day to day tasks today - but the only people that could make effective use of one are pretty sophisticated tech professionals that can replace the factory OS with Linux or a *BSD and figure out how to browse sites with Lynx and do most of their other actions from a terminal prompt.

        I look forward to my hardware upgrades because I've got the budget for it. Friends and relatives with a tiny fraction of my income don't.

        Originally posted by polarathene View Post
        You're comparing to very different devices. The iPhone was capable of considerably more than what you compared to it, which I doubt had much generic support, you want websites as fixed-width terminal output instead?
        Definitely, the iPhone 1 is capable of considerably more than the Apollo 11 nav computer. I grant that completely. But the question is, is the iPhone capable of 100 times as much? Because in every raw performance metric, it's at least 100 times as capable. So even considering all of the things the iPhone can do that the earlier 1969 computer can't, the iPhone makes horrifically inefficient use of its resources.

        Originally posted by polarathene View Post
        It wouldn't function with the majority of websites at all.

        Even if it were able to use an updated browser as they'll enforce TLS 1.2 (all browsers currently deprecated earlier versions with a error/warning page until removal of support completely in near future releases). TLS 1.2 was official from 2008, and more widely available in implementations around 2010, but server distro releases lacked packages until later releases, which also have slow adoption, this is especially the case with mail servers. iOS5 added TLS 1.2 support I think, but only for HTTPS, other protocols like for email was delayed until iOS9.

        Not only that the amount of supported cipher suites that servers make available and support the earlier protocol versions is fairly limited now. Some legacy clients like old versions of Java cannot use some of the cipher suites for perfect forward secrecy due to limitations in the Java run time back then that would be considered insecure to allow now. You'll also find old mobile devices lacking hardware accel for encryption where software AES is like 30x slower or so, there's a modern alternative which is near hardware accel performance in software, but was only available as a standard since 2016.
        But again, all of these security protocols were designed and adopted by the industry with the idea that any device past a certain age could be ignored.

        Now, I'm sure if there were lots of secure cryptographic protocols that were as easy to run on a 486 as they are on a 5th generation Core i7, those would have been adopted in TLS 1.3. So designing cryptographic algorithms and protocols that allowed older devices to stay relevant must have been difficult. But in a better world, billions would have been poured into that research into protocols that were still secure but support older hardware, because it would have allowed hundreds of billions of dollars in older hardware to continue wide use.

        Instead, this is our world: "If we roll this out, people with a Samsung Galaxy S3 or iPhone 4 won't be able to use our service any more. Their only option will be to buy new devices." "So what?"

        Originally posted by polarathene View Post
        The browsers themselves if not updated would probably break in other ways too due to lack of newer CSS features, browser APIs and other support like image formats.
        Again, the old devices are abandoned by manufacturers because it's not profitable to update them. So even if you wanted to browse a website that uses a modest amount of RAM - like I said, Phoronix uses less than 6MB on most pages for me - your Samsung Galaxy S1 probably won't work because Samsung saw no profit in updating it.

        Originally posted by polarathene View Post
        I've had old devices from back then and remember even some native apps (android) weren't all that snappy, especially single core low clockrate SoCs (I had a Samsung Galaxy S1 which was still quite a leap ahead of the original iPhone I think). Websites weren't the only poor performers.

        I'm just glad we're not working with hardware resources like I grew up with in the 90s, programming stuff on those especially games I recall they went to quite extensive lengths to be efficient. Now we have embedded hardware with that processing power for a few dollars or less and it runs off bugger all power.

        Comment

        Working...
        X