Channel
Interviewed Person
Guillermo Rauch
No description available.
Okay, so like I said, I'm going to talk about the seven principles of rich web applications. Uh, seven is completely arbitrary. I swear to God, just came up with seven. Could have been eight or could have been six. Seven though. Um, so user experience like I was mentioning earlier is has to be the most important thing of everything we do. Uh, it doesn't really matter what languages we're using. Uh, whether it's JavaScript or no.js JS or Spider Monkey or whatever it is or what patterns what really cool patterns we found out and we implemented
um or what the latest flame war on Twitter is about these technologies. Uh none of those things are as important as uh user experience. So what I'm going to talk about today is why JavaScript is uniquely positioned to provide the best possible user experience even though I think in many cases it kind of has broken a lot of aspects of the web. So today I want to talk about what things we broke and we should fix because when we had server rendered applications that
weren't using any JavaScript at all, a lot of behaviors were very well thought through and we and we just broke them. And the other part of the presentation will focus on the new opportunities. Now we have JavaScript everywhere. We have frameworks like socket io um that fix all these inconsistencies and they give us a clean API. So what are those new opportunities that we have now that
those APIs are everywhere or even that browsers these days are auto updating right so if there is a new feature is going to be everywhere so what can we do with those things um like I said the first thing that we got to understand is that in in our chase for the great single page applications that are fully written in JavaScript we broke a lot of things and we didn't just break it I'll show you that in certain cases which is completely completely destroyed it like the web is unrecognizable. Some of those things
that we did is for example we render blank pages uh from the server that load a bunch of scripts and CSS that blocks the page so it continues to be white until they load and then they get interpreted and meanwhile it's still white. Um, we broke the con of scraping, which was a hugely useful thing. Uh, not just for search engine optimization, but any tool that you might want to write, you can't write anymore unless you like basically fire up a headless
browser. We also broke the concept of serverside testability. So with even just curl and bash, we were able before to like get a page and prove that there's something that we were expecting in the HTML. And the one that actually bothers us a lot on a day-to-day basis, I'm sure, is the fact that we broke the back button. It's it's super broken in the majority of single page applications. And also I think we've missed the opportunity to address u new
responsibilities and new uh opportunities for improvement. So for example an example of that would be now that we have all these single page applications that are real time and super responsive are we addressing the fact that maybe the code changes and we need a way to notify the user. So since we're not refreshing the page all the time with every click, this becomes a more of a serious need. Or even the fact that if you're
interacting with a backend that could be changing, so the code of the backend could change at any given request. What are we doing to make sure that that backend actually is working in accordance with the code that you're running? So all of these things I'm going to try to summarize in seven principles. Once you learn these seven principles, I've basically taught you everything I know. There's nothing left and I'll retire. Um so we're we're going to start with I