Start Here: Web Widget Performance beta

Pinned

25 Comments

  • Jon
    Comment actions Permalink

    Excellent news! Happy to hear that things are moving forward.  How stable is the current beta version?  To be clear you're asking us to install this in our production environments?

    Specifically for the changes mentioned above, is it just separating out the components but still serving every file, so it's still +2MB but split into 9 requests instead of 1? Or is it only loading the most minimal resources required and then loading the rest as necessary?

    Thank you for working on this!

    1
  • Daniel Aron
    Comment actions Permalink

    Hi Jon, yes assuming you sign up for the beta, we'll then send you a new Web Widget snippet which can be embedded in a production environment. If you want to confine it to just a single page to test it you can. It should be stable but as with any beta there is some level of risk and potential kinks to work out. For the first phase of the beta, the package size in total will be the same (currently 1.3MB), the difference is all the major dependencies are served individually over a single connection via HTTP2. Helping us test this new architecture will enable us to continue to roll out improvements that will decrease package size in the future. Your last sentence regarding only loading what's necessary is where we want to get to.

    1
  • William Eaton
    Comment actions Permalink

    Hi Daniel, thanks for accepting us into the beta plan. I am currently testing the code and comparing the results. I see the zopim + zendesk files reduced from 705kb to 570kb which is a good start (135kb saved). I've noticed however that despite the fact that we tell you what language we want, we still see multiple languages returned in the translations file.

    Also, in certain pages we disable the chat functionality in the initialisation allowing only the email form, however I notice that this doesn't affect the download size.

    We will launch this code for now but it is still by far the slowest element on our site and affects the page load time.
    Please keep up the good work, and we look forward to seeing the next round of improvements.

    1
  • Daniel Aron
    Comment actions Permalink

    Thanks for the feedback William. Great to hear the beta is working for you and you've had a good start!  We'll take your feedback onboard for our future work. More to come.

    1
  • Dominic Watson
    Comment actions Permalink

    This is still insane. There's no reason ZenDesk needs 119kb of lodash. You can replace that with < 1kb of functionality. It's just lazy development that's wasting bandwidth all over the internet.

     

    Feel like I could rewrite this in about 20kb instead of 1,000

    4
  • Ravi Gidwani
    Comment actions Permalink

    I agree with others here. Zendesk widget is one of the slowest scripts to load on our pages. I have been experimenting with existing Zendesk script by loading Zendesk lazily i.e show a support button and load the widget (and relevant scripts) only when the user clicks the support button. Its works OK, but hopefully the new widget supports this out of the box. 

    7
  • Roger Herbert
    Comment actions Permalink

    Is the beta available when using the Zendesk app for Shopify?

    1
  • Carolina Cubria Bacre
    Comment actions Permalink

    HI, i signed in for this but so far haven't received any contact?

    0
  • Quentin Farizon
    Comment actions Permalink

    Hello,

    In mobile, you make the chat button open in another window, which is very good since this page will load the scripts, only for customers having clicked.
    So in this case you should NOT load the scripts in the original page, which you still do, their are simply not needed anymore.
    It would be a great improvement for mobile users !

    Apart from that, I agree with others : the widget is too heavy, and tests ran on the beta widget vs the classic show no improvements for end users due to multiple files downloading.

    1
  • James Robinson
    Comment actions Permalink

    I also signed up for beta but received no confirmation and no contact.

    Why is development so very slow on this?

    0
  • Tomasz Eitner
    Comment actions Permalink

    Hi , 

     

    Quick question, does this EAP works alongside 2 other EAPs where web widget is involved ?  ( Zendesk Beta - Web Widget Integrated Chat Experience EAP ) and (Zendesk EAP - Answer Bot for Web Widget) ? 

    1
  • Maurice
    Comment actions Permalink

    I just did some tests, the Beta appears to be about the same speed/size as the new updated published widget under settings. 

    Both are around 10 GET requests and 730 KB. The only difference is the published widget seems to be a bit faster, around 1s average, whereas the beta is usually closer to 2s.

    They both cache well, but the overhead of 10+ GET requests still adds 1s/2s to each page render. I still use my own custom widget, these simply add too much overhead on a site that receives thousands of requests a day. 

    1
  • Marc Mayr
    Comment actions Permalink

    @Maurice are you willing to share your custom Widget?

    0
  • Maurice
    Comment actions Permalink

    Already have @Marc Mayr :)

    Download it for free on Github.

    See a live demo here.

    0
  • Marc Mayr
    Comment actions Permalink

    @Maruice does it support chat tho?

    0
  • Maurice
    Comment actions Permalink

    @Marc nope, it's purely a lightweight, homebrew, contact widget for anyone wanting a near-zero footprint for support requests. I only put the code on GitHub by request, I don't maintain it. 

    0
  • Pierre
    Comment actions Permalink

    Hi, I restart the subject opened by @Ravi regarding the lazy loading. i.e show a support button and load the widget (and relevant scripts) only when the user clicks the support button. Any news about this feature? thanks

    0
  • Ravi Gidwani
    Comment actions Permalink

    @Pierre: 

        I did not hear back from Zendesk on this. I assume this is still not supported by Zendesk Widget out of box. If it helps, here is how I do it:

    // This is a basic version to demonstrate the idea, I am sure you can achieve better/similar one using your favorite choice of JS framework. 

    var zendeskLoaded = false;

    //create the support button as per your liking and style it. 
    var supportButton = document.createElement('button');
    supportButton.innerHTML = 'Support';

    //add a click listener
    supportButton.setAttribute('onclick','loadZendeskScript(); ');
    ..
    ..
    function loadZendeskScript() {

    //check if we have already loaded the zendesk on this page, if not load it
    if (!zendeskLoaded) {

         //script given by Zendesk. You may need to tweak it for using it within a function. 
         window.zESettings = {
                webWidget: {
                       ....
                }
    };

         // finally once set our loaded flag to true
         zendeskLoaded = true;
    }
    }
    1
  • Pierre
    Comment actions Permalink

    Hi @Ravi thank you very much! I finally developed an improvement concerning the angular lib called ngx-zendesk-widget. I'm waiting for the approval of the developer, my work is here: https://github.com/pegaltier/ngx-zendesk-webwidget

    0
  • Björn Hansson
    Comment actions Permalink

    How is the progress going? The file size is still extremely heavy, what improvements have you made so far?

    1
  • Daniel Aron
    Comment actions Permalink

    Hi Bjorn, we recently optimized translations. We keep this FAQ article up to date as a reference on Web Widget performance. 

    0
  • Björn Hansson
    Comment actions Permalink

    Ok, but the size is still huge, I was hoping for more after 1 year, there is soo much more you could do to decrease the file size just by taking a quick look at the code.

    2
  • James Robinson
    Comment actions Permalink

    yeah, it's an improvement, but it's a very minor one in the grand scheme of things. The Zendesk widget still accounts for approx 40% of the file size of a typical page on our site and is used by approx 0.2% of our visitors. For those customers it's really important that we have it, but it's a huge compromise for us and we're totally baffled that it's not a priority for Zendesk at all.

    If it's an issue of functionality not being able to be squeezed in, then what we would really like is a 'lite' version whereby all that is loaded is the floating icon that toggles between 'CHAT' and 'HELP' as per the availability of our team. If someone interacts with the button then great, let's load the rest of the files in, but for this to be mandatory and unavoidable for the 99.8% of customers who won't use it is crazy.

    We constantly strive for a better website as does any business, and page load speed is a big factor in how successful we are, but every time we ask ourselves how our site can be better and faster, the answer comes back 'take the Zendesk widget off!'

    4
  • Tim von Gimborn
    Comment actions Permalink

    @ James Robinson - You nailed it. I completely agree. Long page load times through the Zendesk widget means lost €€€ $$$ ...

    @ Zendesk - Improvement is taking too long and there is very little progress. Too many customers are busy building workarounds... or are not able to use the widget at all. What sense does it make to add more features to the widget if the page load time problem is not solved?

    If you don't have the internal resources or knowhow, maybe think about hiring some freelance coders to get the job done. Or look at some of the custom built solutions, that your customers have worked on.

    4
  • Björn Hansson
    Comment actions Permalink

    Totally agree, I'm quite sure now that nothing major will ever change regarding the size so I will make the switch to an alternative solution. So disappointed.

    1

Please sign in to leave a comment.

Powered by Zendesk