Representative AJAX: Everything wrong with modern webdesign in 562 bytes
-
On every fucking page load:
https://what.thedailywtf.com/api/widgets/render?v=3cc48c9c-dd35-4e09-b3d9-fea030f826bc&locations%5B%5D=sidebar&locations%5B%5D=footer&locations%5B%5D=header&template=unread.tpl&url=unread&isMobile=false
Response:
[{"location":"sidebar","widgets":[]},{"location":"footer","widgets":[{"html":"<footer id=\"footer\" class=\"container footer\">\r\n\t<div class=\"copyright\">\r\n\t\tCopyright © 2004 - 2016 Inedo Publishing. Forum powered by <a href=\"https://nodebb.org\">NodeBB</a>.\r\n<br><br> <!-- apparently mobile wants two <br> tags -->\r\n\t</div>\r\n</footer>"}]},{"location":"header","widgets":[{"html":"<div class=\"alert alert-info\"><p><a href=\"https://github.com/BenLubar/what-bugs/issues\">Please report bugs on the <em>What bugs?</em> tracker.</a></p></div>"}]}]
So-- every page. Every goddamn fucking page-- makes an ADDITIONAL web request. It goes BACK to the server to get a piece of HTML. And then injects that HTML into the page as a footer.
Why was this not done on the initial page request? Why did the response not have that 273 bytes already in the page? Why did we have to make a web request to get 562 bytes of data (plus the overhead of the request), and spend an extra 127ms-- just to get HTML?
Not JSON that is going to be used to dynamically create an element. Not data that has to be processed. This isn't doing a request to a webservice to get, say, data for a calendar to build into an existing HTML structure.
No, this is A PIECE OF ALREADY FORMATTED HTML!
This is literally everything wrong with modern web design in a nutshell. There is literally NO reason to have this AJAX call. Literally none. And yet-- there it is.
-
Oh, and as an ADDED bonus, since those elements are injected after the browser has already rendered the page-- it contributes to jellypotato!
-
Remember when I got yelled at for calling that mode where the editor turns shitty "mobile mode"? Looks like their API canonizes that terminology. So fuck all y'all, I was right all along.
-
I have no clue where that comes from. Obviously something that @ben_lubar touched, though.
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
On every fucking page load:
https://what.thedailywtf.com/api/widgets/render?v=3cc48c9c-dd35-4e09-b3d9-fea030f826bc&locations%5B%5D=sidebar&locations%5B%5D=footer&locations%5B%5D=header&template=unread.tpl&url=unread&isMobile=false
Response:
[{"location":"sidebar","widgets":[]},{"location":"footer","widgets":[{"html":"<footer id=\"footer\" class=\"container footer\">\r\n\t<div class=\"copyright\">\r\n\t\tCopyright © 2004 - 2016 Inedo Publishing. Forum powered by <a href=\"https://nodebb.org\">NodeBB</a>.\r\n<br><br> <!-- apparently mobile wants two <br> tags -->\r\n\t</div>\r\n</footer>"}]},{"location":"header","widgets":[{"html":"<div class=\"alert alert-info\"><p><a href=\"https://github.com/BenLubar/what-bugs/issues\">Please report bugs on the <em>What bugs?</em> tracker.</a></p></div>"}]}]
So-- every page. Every goddamn fucking page-- makes an ADDITIONAL web request. It goes BACK to the server to get a piece of HTML. And then injects that HTML into the page as a footer.
Why was this not done on the initial page request? Why did the response not have that 273 bytes already in the page? Why did we have to make a web request to get 562 bytes of data (plus the overhead of the request), and spend an extra 127ms-- just to get HTML?
Not JSON that is going to be used to dynamically create an element. Not data that has to be processed. This isn't doing a request to a webservice to get, say, data for a calendar to build into an existing HTML structure.
No, this is A PIECE OF ALREADY FORMATTED HTML!
This is literally everything wrong with modern web design in a nutshell. There is literally NO reason to have this AJAX call. Literally none. And yet-- there it is.
-
@boomzilla said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
I have no clue where that comes from. Obviously something that @ben_lubar touched, though.
Oh, I see it now. Extend -> Widgets in the admin panel.
-
@boomzilla said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@boomzilla said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
I have no clue where that comes from. Obviously something that @ben_lubar touched, though.
Oh, I see it now. Extend -> Widgets in the admin panel.
It does the same thing for GA code, "taskbar", jQuery inclusion, and various other things. I chose the header/footer as the most stup-tarded example.
Also, we need a jQuery plugin for this, apparently:
https://what.thedailywtf.com/vendor/jquery/timeago/locales/jquery.timeago.en-short.js?_=1462816875187
Not only do we show the idiotic "time ago" format, but it's done client-side. With a plugin. That has to make a second request to get the formatting info.
-
Also, pressing paste cases an error in the upload module. But that's a whole other level of stupid.
/me presses ctrl-v, gets this:
TypeError: can't convert undefined to object https://what.thedailywtf.com/src/modules/composer/uploads.js?3cc48c9c-dd35-4e09-b3d9-fea030f826bc Line 174
-
@Lorne-Kates I could support you if you were using a version of Firefox released in the last 5 minutes.
-
@ben_lubar said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates I could support you if you were using a version of Firefox released in the last 5 minutes.
Then it would be 4 minutes out of date, as per Mozilla's rapid release.
I honestly don't care about paste-to-upload. Just pointing out that the module throws an error instead of doing error handling. Because
-
@Lorne-Kates it turns out you're one version off of being able to use it:
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Not only do we show the idiotic "time ago" format, but it's done client-side. With a plugin. That has to make a second request to get the formatting info.
Which doesn't even load on some languages, yet "x minutes ago" still works.
-
@ben_lubar said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates it turns out you're one version off of being able to use it:
Firefox 23 changed the logo to the "flat" logo. I don't like how that looks. That was the line in the sand that broke the camel's slippery slope for me.
-
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
I don't like how that looks
I thought it was relatively simple to replace the program icon in Windows executables, unless they're doing some kind of code signing that breaks it if you replace resources?
-
@Tsaukpaetra said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
I don't like how that looks
I thought it was relatively simple to replace the program icon in Windows executables, unless they're doing some kind of code signing that breaks it if you replace resources?
It isn't, as far as I know.
edit plus it wouldn't replace the icon in the program itself.
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
It isn't, as far as I know.
edit plus it wouldn't replace the icon in the program itself.Let me introduce you to the awesomeness that is
So long as the program is mostly sane, this will allow you to replace the program icon (that you see in File Explorer and usually the tray and window decorations).
Now, if Firefox itself plays around with its own icon, then it might not work so well, but it's rather easy to try.
-
@Tsaukpaetra You're talking to someone who claims to not update his browser because of the icon. There's no point helping him.
-
@loopback0 said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
There's no point helping him.
Well if all he wants is a look-and-feel kind of thing, we can build him a simple Linux distro that has the right themes applied, and none the wiser!
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Also, pressing paste cases an error in the upload module. But that's a whole other level of stupid.
/me presses ctrl-v, gets this:Oh, is that why pasting images in Firefox is broken?
checks...
well now, would you look at that:
And before you start...
-
@Tsaukpaetra said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Resource Hacker
Hmm. Will test to see if it fixes the icon. If so I may upgrade firefox a version or two. Need to check when Australicancer become the default theme.
-
@anotherusername said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
checks...
Congratulations. You are literally the first person to test this. Including the NodeBB dev team.
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Will test to see if it fixes the icon. If so I may upgrade firefox a version or two
The problem is that every upgrade is likely to replace the executable, so have a batch script handy to run post-update. ;)
-
This post is deleted!
-
@Tsaukpaetra Yay for micro-cooties!
-
@Tsaukpaetra said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Will test to see if it fixes the icon. If so I may upgrade firefox a version or two
The problem is that every upgrade is likely to replace the executable, so have a batch script handy to run post-update. ;)
This will be a one-time thing. The browser-icon thing was the last bit of "cool-hip-wack-let's-be-Google" change for the sake of change I was willing to put up with. It's minor and arbitrary, yes, but enough was enough.
The AssCancer redesign is a dealbreaker. I will never upgrade to that version or beyond. Especially since "beyond" means "loss of UI, built-in ads, and breaking the entire Plug-in framework".
-
@Vaire said in [Representative AJAX: Everything wrong with modern webdesign in 562 bytes](/post/8867
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
On every fucking page load:
https://what.thedailywtf.com/api/widgets/render?v=3cc48c9c-dd35-4e09-b3d9-fea030f826bc&locations%5B%5D=sidebar&locations%5B%5D=footer&locations%5B%5D=header&template=unread.tpl&url=unread&isMobile=false
Response:
[{"location":"sidebar","widgets":[]},{"location":"footer","widgets":[{"html":"<footer id=\"footer\" class=\"container footer\">\r\n\t<div class=\"copyright\">\r\n\t\tCopyright © 2004 - 2016 Inedo Publishing. Forum powered by <a href=\"https://nodebb.org\">NodeBB</a>.\r\n<br><br> <!-- apparently mobile wants two <br> tags -->\r\n\t</div>\r\n</footer>"}]},{"location":"header","widgets":[{"html":"<div class=\"alert alert-info\"><p><a href=\"https://github.com/BenLubar/what-bugs/issues\">Please report bugs on the <em>What bugs?</em> tracker.</a></p></div>"}]}]
So-- every page. Every goddamn fucking page-- makes an ADDITIONAL web request. It goes BACK to the server to get a piece of HTML. And then injects that HTML into the page as a footer.
Why was this not done on the initial page request? Why did the response not have that 273 bytes already in the page? Why did we have to make a web request to get 562 bytes of data (plus the overhead of the request), and spend an extra 127ms-- just to get HTML?
Not JSON that is going to be used to dynamically create an element. Not data that has to be processed. This isn't doing a request to a webservice to get, say, data for a calendar to build into an existing HTML structure.
No, this is A PIECE OF ALREADY FORMATTED HTML!
This is literally everything wrong with modern web design in a nutshell. There is literally NO reason to have this AJAX call. Literally none. And yet-- there it is.
You keep posting this, is this a picture of you?
-
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
-
@Tsaukpaetra , Firefox checks CRC or other shit. You change the icon, you break the executable.
But hey, @Lorne-Kates , why not compile Firefox on your own? Only this way you can be sure no one's spying on you!
-
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Firefox checks CRC or other shit. You change the icon, you break the executable.
Go go gadget collision attack!
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
why not compile Firefox on your own?
Uh. Or that.
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
Seriously though, that's probably from a movie or a tv show. Which one?
-
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Only this way you can be sure no one's spying on you!
How can I trust the compiler?
-
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Firefox checks CRC or other shit. You change the icon, you break the executable.
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
-
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
Seriously though, that's probably from a movie or a tv show. Which one?
2 Broke Girls. Been on for like 5 seasons now. Stars Kat Dennings. Where chu been? o_0
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Only this way you can be sure no one's spying on you!
How can I trust the compiler?
We are all compilers on this blessed day.
Filed under: speak for yourself
-
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
Seriously though, that's probably from a movie or a tv show. Which one?
2 Broke Girls. Been on for like 5 seasons now. Stars Kat Dennings. Where chu been? o_0
Work, just got back a moment ago. And you?
-
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
Seriously though, that's probably from a movie or a tv show. Which one?
Stars Kat Dennings.
She hot. Srsly.
-
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
Seriously though, that's probably from a movie or a tv show. Which one?
2 Broke Girls. Been on for like 5 seasons now. Stars Kat Dennings. Where chu been? o_0
Work, just got back a moment ago. And you?
"work" ... me too :)
-
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Where chu been?
I don't watch television all that much.
-
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
Seriously though, that's probably from a movie or a tv show. Which one?
Stars Kat Dennings.
She hot. Srsly.
Yeah, we know. That was why she co-starred in the Thor movies ;)
-
@Tsaukpaetra said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Where chu been?
I don't watch television all that much.
I didn't say I watched the show ;)
-
@Tsaukpaetra said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Where chu been?
I don't watch television all that much.
Me too, but I think we're
Filed under: and they're broke! That means we all have a chance!
-
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
You keep posting this, is this a picture of you?
- Yes. Her name is Max. :|
- She posted it to me first, and I get jealous every time she loves someone else.
Seriously though, that's probably from a movie or a tv show. Which one?
Stars Kat Dennings.
She hot. Srsly.
Yeah, we know. That was why she co-starred in the Thor movies ;)
Woo-hoo!
-
@Vaire said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
I didn't say I watched the show
I didn't say you watched the show either.
-
@kt_ said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Me too, but I think we're
The first two seasons are OK. The rest is shit. So stop after season 2. You're welcome, I saved quite some time and disappointment.
-
@Tsaukpaetra said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
Let me introduce you to the awesomeness that is
Long time user of RH.
I use it to put official Firefox icons into Palemoon. so I'm pretty sure you can do the same with Firefox.
-
@Lorne-Kates said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@ben_lubar said in Representative AJAX: Everything wrong with modern webdesign in 562 bytes:
@Lorne-Kates it turns out you're one version off of being able to use it:
Firefox 23 changed the logo to the "flat" logo. I don't like how that looks. That was the line in the sand that broke the camel's slippery slope for me.
I remember having a flat logo at some point, but I don't have one now.
I haven't been playing much attention to that, so... shrug.By the way, @ben_lubar, when pasting the above screenshot (as d by @anotherusername ):
TypeError: can't convert undefined to object
This is because, as http://caniuse.com/#feat=clipboard tells us, every version of Firefox "Supports cut & copy events without a focused editable field, but not paste (presumably for security reasons)".
In this line of code:
var items = (event.clipboardData || event.originalEvent.clipboardData || {}).items;
there's noevent.clipboardData
andevent.originalEvent.clipboardData
has no.items
.
-
Edit: if anyone wants to dedicate more time to test this and submit a PR, it might be possible to reach the data through:
event.originalEvent.clipboardData.getData( event.originalEvent.clipboardData.types[0] )
2nd edit, a few days later after noticing I accidentally made a double post : why did my attempt to edit the previous post become a new post with a quote? In any case, I'm deleting the quote.
-
https://addons.mozilla.org/en-gb/firefox/addon/classicthemerestorer/
Get rid of most of the horrific UI.