<story><title>Living without the modern browser</title><url>https://an3223.github.io/Living-without-the-modern-browser/</url></story><parent_chain><item><author>hn_throwaway_99</author><text>As a web developer for the past 20 years, I do know how server-side state works. What baffles me is that, while there is certainly much to complain about the state of front-end JS dev today, the attitude of some that moving the web back 15 years is a good thing.&lt;p&gt;There is a reason single-page apps became a thing, so I&amp;#x27;m not clear why you think a page refresh for every user interaction is somehow a good thing. The dismissive attitude that &amp;quot;Regarding form fields appearing and all your fancy front end logic: none of this would fly in user testing&amp;quot; flies in the face of how 90% of heavy consumer front ends out there work today.</text></item><item><author>deanclatworthy</author><text>Split the form into pages, and use session variables to maintain state. Regarding form fields appearing and all your fancy front end logic: none of this would fly in user testing.&lt;p&gt;I find it mind-boggling there’s a generation of developers after me that doesn’t know the basics of server side state. No offence intended to yourself, and good on you for putting yourself out there to ask :)</text></item><item><author>__ryan__</author><text>&amp;gt; Really, there is no reason why a form should require JavaScript.&lt;p&gt;I’m a web developer who has never done significant forms without JavaScript.&lt;p&gt;So I’m curious: how would you handle reactive form fields without client side scripting? For example (perhaps a bad example): the user is entering data in “rows”. The user clicks “add row” and then a new row of fields appears. The user can also delete rows on a whim. Their changes should only be persisted once submit is clicked.&lt;p&gt;Would the “right” way be a full page reload with the row added&amp;#x2F;deleted, and caching all the values?&lt;p&gt;Not to mention, if fields require cross validation, is it customary to have to submit the form to get the validation error messages to occur? On some of the forms I’ve worked on, this would be very complex.</text></item><item><author>ktpsns</author><text>&amp;gt; JavaScript, captchas, and logins, are the main “gotchas” for text-based browsing, if the functionality of a site (or part of the site) relies on any of these then most likely it will not work.&lt;p&gt;Really, there is no reason why a form should require JavaScript. When jQuery was hip, the js community celebrated &amp;quot;Graceful degradation&amp;quot;. I frequently have the feeling this attitude is lost. That&amp;#x27;s super sad because it also excludes all the handycapped people.&lt;p&gt;Does even anybody remember the good old HTTP basic acess authentification? This is one of the most accessible ways of protecting ressources, it can be consumed by any HTTP client (!), and it is just reduced to the basic.&lt;p&gt;One of the worst things are these terrible captchas everywhere. I wonder why we cannot come up with a web standard interface in a way the captchas could be offloaded to customizable and adaptable GUIS rendered by the browsing client. This way, clients (users) could even declare what kind of captcha they can solve (blind people obviously cannot read images).</text></item></parent_chain><comment><author>Dunedan</author><text>&amp;gt; There is a reason single-page apps became a thing, so I&amp;#x27;m not clear why you think a page refresh for every user interaction is somehow a good thing.&lt;p&gt;So the reason I always hear is performance: Less HTTP-requests, less latency, therefore better user experience. While that might be the case for flaky mobile connections (although executing lots of Javascript on resource constraint devices might not be the best idea either), with fast wired connections I experience the opposite: The single page apps of today feel a lot slower to me, than the websites with the same functionality did 10 years ago, thanks to all the computation which has to be done on client side. Just take Youtube for example: What a bad experience nowadays, especially with Firefox. That was way better back in a time when they didn&amp;#x27;t try to avoid page refreshes. And it&amp;#x27;s not just Youtube, it&amp;#x27;s all over the web. A welcome change to all of that is HN, because it still feels as fast as websites did, before frontend development was even a thing.</text></comment>
<story><title>Living without the modern browser</title><url>https://an3223.github.io/Living-without-the-modern-browser/</url></story><parent_chain><item><author>hn_throwaway_99</author><text>As a web developer for the past 20 years, I do know how server-side state works. What baffles me is that, while there is certainly much to complain about the state of front-end JS dev today, the attitude of some that moving the web back 15 years is a good thing.&lt;p&gt;There is a reason single-page apps became a thing, so I&amp;#x27;m not clear why you think a page refresh for every user interaction is somehow a good thing. The dismissive attitude that &amp;quot;Regarding form fields appearing and all your fancy front end logic: none of this would fly in user testing&amp;quot; flies in the face of how 90% of heavy consumer front ends out there work today.</text></item><item><author>deanclatworthy</author><text>Split the form into pages, and use session variables to maintain state. Regarding form fields appearing and all your fancy front end logic: none of this would fly in user testing.&lt;p&gt;I find it mind-boggling there’s a generation of developers after me that doesn’t know the basics of server side state. No offence intended to yourself, and good on you for putting yourself out there to ask :)</text></item><item><author>__ryan__</author><text>&amp;gt; Really, there is no reason why a form should require JavaScript.&lt;p&gt;I’m a web developer who has never done significant forms without JavaScript.&lt;p&gt;So I’m curious: how would you handle reactive form fields without client side scripting? For example (perhaps a bad example): the user is entering data in “rows”. The user clicks “add row” and then a new row of fields appears. The user can also delete rows on a whim. Their changes should only be persisted once submit is clicked.&lt;p&gt;Would the “right” way be a full page reload with the row added&amp;#x2F;deleted, and caching all the values?&lt;p&gt;Not to mention, if fields require cross validation, is it customary to have to submit the form to get the validation error messages to occur? On some of the forms I’ve worked on, this would be very complex.</text></item><item><author>ktpsns</author><text>&amp;gt; JavaScript, captchas, and logins, are the main “gotchas” for text-based browsing, if the functionality of a site (or part of the site) relies on any of these then most likely it will not work.&lt;p&gt;Really, there is no reason why a form should require JavaScript. When jQuery was hip, the js community celebrated &amp;quot;Graceful degradation&amp;quot;. I frequently have the feeling this attitude is lost. That&amp;#x27;s super sad because it also excludes all the handycapped people.&lt;p&gt;Does even anybody remember the good old HTTP basic acess authentification? This is one of the most accessible ways of protecting ressources, it can be consumed by any HTTP client (!), and it is just reduced to the basic.&lt;p&gt;One of the worst things are these terrible captchas everywhere. I wonder why we cannot come up with a web standard interface in a way the captchas could be offloaded to customizable and adaptable GUIS rendered by the browsing client. This way, clients (users) could even declare what kind of captcha they can solve (blind people obviously cannot read images).</text></item></parent_chain><comment><author>eitland</author><text>&amp;gt; the attitude of some that moving the web back 15 years is a good thing.&lt;p&gt;Straw man. We don’t want to go 15 years back, only 10 :-)&lt;p&gt;Seriously, the web was at a local maximum around 2009. Google worked, GMail was OK, Ajax was expected for r new stuff but was still written with graceful degradation in mind.</text></comment>