Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Page Speed score #440

Open
1 of 4 tasks
meeDamian opened this issue Aug 11, 2014 · 9 comments
Open
1 of 4 tasks

Page Speed score #440

meeDamian opened this issue Aug 11, 2014 · 9 comments
Labels
Milestone

Comments

@meeDamian
Copy link
Contributor

https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Ffullstack-demo.herokuapp.com%2F&

Currently we score:

  • 61% for mobile,
  • 79% for desktop.

I bet we can do better! ;)

There are some things that can be fixed quite easily:

  • enable compression/minimize socket.io.js,
  • set some simple rules for caching,
  • move JS from <head> to <body> (possibly more complicated),
  • UnCSS in grunt (See Grunt/Gulp UnCSS #412).

I wouldn't bother with above-the-fold stuff as that's the first thing anyone using this generator will change (unless there's a grunt plugin that can handle that somehow).

Also is https://fullstack-demo.herokuapp.com kept up-to-date with releases? @DaftMonk since you're the maintainer, how about adding buildcontrol:heroku task to generator's Gruntfile?

@JaKXz JaKXz added the info label Aug 11, 2014
@DaftMonk
Copy link
Member

I'm not sure how to use a minified/compressed socket.io.js, because we're using the one that socket.io itself serves up. Maybe theres a setting to enable compression, but I'm not sure about minification. We could use a bower install and minify it ourselves, but that seems counter to the way socket io wants you to serve the client js.

I definitely need to automate the rebuild and deployment of the fullstack demo. I could probably add it as part of the grunt task for when a new version is released to build and publish the demo again.

@JaKXz
Copy link
Collaborator

JaKXz commented Aug 12, 2014

@DaftMonk the only thing I was going to add to your comment is that the demo should show which version it was built with in the footer.
Also, @chester1000 you should add #412 to the list.

@meeDamian
Copy link
Contributor Author

@JaKXz Agree.

I just copied ones from Page Speed, but it will be great if we completed this list with others as well, indeed :)

@JaKXz
Copy link
Collaborator

JaKXz commented Aug 12, 2014

Would it be overkill to have a few different combinations of setups (e.g. with/without mongo, with/without socketio) in different branches in the demo repo? They would of course be deployed to different heroku and openshift addresses.

EDIT: the recent fix for cdnify will also help, you could add and mark that as completed.

@JaKXz JaKXz added this to the 2.1.0 milestone Aug 13, 2014
@kingcody
Copy link
Member

@DaftMonk, @chester1000 take a look at this branch: feature/baked-in-socket.io

I serve the socket.io.js client file with the default socket.io server when in development env, but when built we minify it into vendor.js and simply tell the socket.io server to not serve the client.

I think i was able to keep it pretty simple and fairly lite in changes. Let me know if you think it would be suitable for a PR.

@chester1000, not sure if you had started working on this or not. Just hoped i might be able to help a lil (:

@kingcody
Copy link
Member

Also, I thought the JS was already in the <body>. Correct me if I'm wrong.

@DaftMonk
Copy link
Member

I've added a grunt task to automate building and deployment of the demo. Not sure if we need different setups, seems a bit like overkill to me, but it wouldn't be hard to add now.

@kingcody Nice solution. That would be welcome in a PR.

@kingcody
Copy link
Member

@DaftMonk to canary I presume?

@DaftMonk
Copy link
Member

@kingcody I think this is a small enough feature that it could go into master, as part of a patch.

@Awk34 Awk34 modified the milestones: 2.3.0, 2.1.0 Jul 15, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants