Live data from Hacker News

In web design, everything easy is hard again

frankchimero.com

231–240 of 335 posts

Re: In web design, everything easy is hard again

#231

This is my experience of web development, every time I return to it. I’m really not an expert in web dev, but it _feels_ like web dev has been badly engineered. JavaScript is a very badly designed programming language (yes, even in its modern form), which I think has caused a lot of problems. Many JS developers don’t know much about programming language design, so they can’t see how bad it is, and they make matters w…

Javascript WAS terribly designed but still allowed su to do amazing things. I would argue that in the last 3 years its come a long way and is no longer a terrible language.

I think complications of today came from the problems of its past where it was taken for granted that you needed a framework to get around browser differences.

My personal and professional view has been use plain vanilla modern JS. Make an informed decision on whether using a framework makes sense for your particular project.

If you're making a mess of JS, its more likley you need to re-evaluate your approach to the problem rather than the easy thing to do which is to blame the language.

Re: In web design, everything easy is hard again

#232
It's not hard to make websites, it hard to make fashionable websites. It always takes effort to be fashionable, since it distinguishes your vitality from the dead and dying from yesteryear.

If it was easy to fake fashion, everyone would do it, and we'd lose the vitality signal. Fashion changes unpredictably, so it can't be anticipated. All this is a feature, not a bug, so it will never be "solved".

Re: In web design, everything easy is hard again

#233
post #192
post #187

Earlier quoted context omitted.

>There is a difference between web design and web application development. His essay isn't really about documents vs apps. It's about documents vs documents. Or more accurately, he's lamenting about docs_simplesyntax vs docs_complicatedsyntax. He shows an example of easy HTML syntax[1] that harkens back to "simpler times" in the olden days: My First Web Page My First Web Page The problem with that is people want to a…

I agreed with you until you mentioned that the problem stemmed from people want[ing] to author documents (not apps) that are more complicated... , thus implying that to make "pretty, fancy" web pages you need to complicate the process of creation: I totally disagree with that premise and think that it's entirely possible to create complex looking and behaving web pages without complex code or processes. However, for…

>, thus implying that to make "pretty, fancy" web pages you need to complicate the process of creation: [...], people have accepted the use of 15 different toolkits

I wasn't implying that nor endorsing the use of toolkits to complicate process of creation. Yes, the vast majority of other comments in this thread have focused on overuse of "tools" and "frameworks" but my point was about his first frustration mentioned... the syntax itself becomes more complex to achieve richer (non app) web documents. Yes, the author mentioned "npm" and "react" but his first paragraphs were the exasperation of syntax TABLE "" to CSS float.

Staying with that theme, his subsequent paragraph emphasized the increase complexity of syntactic foundations before accounting for any toolkits and HTML generators:

>My point is that the foundations are now sufficiently complicated enough on their own that it seems foolish to go add more optional complexity on top of it. I’ve kept my examples to the most basic of web implementations, and I haven’t touched on Javascript, animation, libraries, frameworks, pre-processors, package managers, automation, testing, or deployment. Whew.

My point (which is based on the universal phenomenon of increasing complexity in other document layouts languages such LaTeX, Postscript language, etc,) is that the small and simple HTML example he cited isn't full-featured enough for modern web documents. I learned to code "plain HTML" by hand in 1990s but my beginner's knowledge of a few HTML tags in my brain isn't enough to replicate a Wikipedia page. If I decided to do it, it wouldn't matter if I used Dreamweaver, or used a Javascript static site generator, or typed HTML5+CSS3 by hand in Notepad ... the end result would still be a more complicated set of illegible syntax that continues the exasperation of to CSS flex float.

For example, one desirable feature of a modern document (not app) layout would by dynamic resizing of page components depending on big desktop vs tiny smartphone screen. Every example out there to accomplish that (whether multi CSS files, or single CSS file dynamically changed by Javascript) will look more complicated than his "hello world" HTML. For any new feature "X", there's a minimum Kolmogorov complexity to accomplish it which makes the syntax grow in complexity.

[1] https://en.wikipedia.org/wiki/Kolmogorov_complexity

Re: In web design, everything easy is hard again

#234

Earlier quoted context omitted.

I'm surprised that you think FP requires mastering category theory. Au contraire. It's perfectly possible (and indeed easier for programmers) to understand the abstractions that Haskell and Scala pioneer (higher-kinded types, and things like type-classes as well as monads which are basically enabled by HKTs) without category theory. It is true that monads were discovered via category theory, but in retrospect program…

Monads existed before their connection to category theory was discovered (by Wadler and company), they just didn’t have an elegant way of describing or naming but. them, and definitely the connection allowed them to push them more. The biggest problem of very functional code on the web is simply debugging it. So much control flow is buried in compositions that there isn’t much to grab on in terms of break points or v…

I'm not a historian. It's certainly true that monads or monad-like things where discovered independently in many context. This isn't even surprising, given how natural, and trivial in a sense monads are. But the systematics realisation of the concept and its wide applicability comes from algebra and the efforts to recover algebra categorically. Let me quote from Wadler's [1]:

The notion of monad comes from category theory [...] It first arose in the area of homological algebra, but later was recognised (due to the work of Kleisli and of Eilenberg and Moore) to have much wider applications. Its importance emerged slowly: in early days, it was not even given a proper name, but called simply a "standard construction" or a "triple" [...] Eugenio Moggi proposed that monads provide a useful structuring tool for denotational semantics [...] He showed how lambda calculus could be given call-by-value and call-by-name semantics in an arbitrary monad, and how monads could encapsulate a wide variety of programming language features such as state, exception handling, and continuations. Independent of Moggi, but at about the same time, Michael Spivey proposed that monads provide a useful structuring tool for exception handling in pure functional languages, and demonstrated this thesis with an elegant program for term rewriting [...]. He showed how monads could treat exceptions [...] and non-deterministic choice [...] in a common framework.

[1] P. Wadler, The essence of functional programming.

Re: In web design, everything easy is hard again

#235
post #192
post #187

Earlier quoted context omitted.

>There is a difference between web design and web application development. His essay isn't really about documents vs apps. It's about documents vs documents. Or more accurately, he's lamenting about docs_simplesyntax vs docs_complicatedsyntax. He shows an example of easy HTML syntax[1] that harkens back to "simpler times" in the olden days: My First Web Page My First Web Page The problem with that is people want to a…

I agreed with you until you mentioned that the problem stemmed from people want[ing] to author documents (not apps) that are more complicated... , thus implying that to make "pretty, fancy" web pages you need to complicate the process of creation: I totally disagree with that premise and think that it's entirely possible to create complex looking and behaving web pages without complex code or processes. However, for…

GOOD! Thanks, I needed that!

For the Web pages for my startup, I just started with what I wanted the pages to look like. Then I calculated where everything should be. I looked at this as a special case of layout in word processing, e.g., D. Knuth's TeX.

Then I turned to HTML and saw tables. Okay, the HTML table constructs are nice, sorry D., nicer than in TeX. So, I decided to use tables.

I heard about CSS, but I saw only a little need for that. Eventually I wrote a few lines of CSS. So, sure, I discovered that I could have separate CSS files, but that seemed like a way to slow the upload to the users. So, I just copied the CSS into the HTML code of the relevant Web pages.

For the rest, I saw how to use the Microsoft .NET ASP.NET to create and send the pages with the appropriate dynamic content, e.g., the results for the user.

I heard about JavaScript but saw no big need for it and so far have written not even a single line of it. Eventually I discovered that somehow ASP.NET writes a little JavaScript for me, maybe having something to do with cursor positioning -- maybe convenient and nice but not really necessary.

For the page designs, they are simple -- high contrast, large fonts, simple parts and pieces easy to understand right away, each page exactly 800 pixels wide, no icons, pull-downs, pop-ups, roll-overs, or overlays. There are some links, but each one is just a word in English.

The pages all have both horizontal and vertical scroll bars and should still be usable in a window only 300 pixels wide. So, the pages, without change, should look good on everything from a smartphone to a high end desktop. The user just needs a Web browser up to date as of maybe 10 years ago -- so, there should be no compatiblity problems. And, there are no user IDs, passwords, logins, or use of cookies! JavaScript is optional!

There really are some really simple, really successful Web pages on the Internet. So, sometimes simple can be good enough!!!

Re: In web design, everything easy is hard again

#236

html, css, and jQuery work just about exactly the same as they did a decade ago, nothing stops you from using tools you already understand. If it was up to facebook then react would be the only framework used on the web; problem solved right? In reality, there are different tools for different needs and if you don't understand the specific problems a tool was made to solve then of course you're going to find it confu…

>Just because a tool exists doesn't mean you have to use it. Most developers don't just grab their tools based on what they want to play with at the moment. Actual software engineering today involves working with other people and their code. Code reviews, integrations, maintenance, enhancements, technology overhauls, system decommissioning, working with vendors. The fact that this simple reality didn't even cross you…

> Most developers don't just grab their tools based on what they want to play with at the moment. Actual software engineering today involves working with other people and their code. Code reviews, integrations, maintenance, enhancements, technology overhauls, system decommissioning, working with vendors.

And? What's that point you're making? If it's not your job to pick the tools then the point is moot because you'll work with whatever the technical leads decide, all you have to do is get to work.

Re: In web design, everything easy is hard again

#237
post #153

Earlier quoted context omitted.

> All the actually useful things You're pre-emptively trying to define what's useful for everybody else. That's the only way your premise works. In my equally subjective view, XMLHttpRequest radically altered and improved the useful things you can do with the Web. You can't use a 90s browser for Google Maps, Gmail, YouTube, nearly any online productivity software, and dozens of other common activities on the Web toda…

All those things existed before they became web sites, and they aren’t web sites for any particularly good reason today. Email is a good example. GMail is Outlook rewritten in VBA running inside Word. Let me guess... you’re a JS dev and you think “little upvote arrows” are where the real value is?

Except for the fact that most people use these services in the browser even when there are native clients available? In nearly all of the listed cases the bottleneck is almost always the network and not the JS runtime.

Clearly the users are wrong, I guess? Perhaps you should explain to them why your delicate design sensibilities dictate that they should download native clients because you think HTTP has gone off spec.

Let me guess... you're a COBOL dev and think computers should have never developer GUIs.

Re: In web design, everything easy is hard again

#238

Earlier quoted context omitted.

> I have a very hard time coming up with a worse programming language than XSLT What a straw-man argument. He clearly says "[t]he XML/XSLT approach", which is not advocating that XSLT is the best thing ever, but that we ought to consider that the people who developed XSLT had a similar problem to solve, thought hard about it, and came up with that. Many years later, it isn't out of this world that we could come up wi…

> What a straw-man argument. He clearly says "[t]he XML/XSLT approach", That's a good point. I think I'm so scarred by how much I dislike XSLT that I fail to read comments that are positive about it in good faith. Clearly a mistake on my part, thanks.

I made a pivot table creator in XSLT, it was pretty awesome and amazingly fast compared to how slow JavaScript was back in 2007.

Still, I know what you mean. Blizzard had a pretty cool WOW character editor in XSLT.

If you used only certain stuff and never had to debug someone else's XSLT it was pretty awesome.

Re: In web design, everything easy is hard again

#239

Earlier quoted context omitted.

I do wonder how much of the problem is that most of the tools and libraries comes out of organisations like Facebook and Google who have completely different constraints to the majority of us. React might suit Facebook but it probably isn't a good solution for someone who's application only gets a few hundred hits a day.

It's a complete bifurcation of the Web's technology underpinnings. That will keep getting more dramatic. Developers and their pay will bifurcate similarly more and more as time goes on. AWS has 150 services or so now. How many of those does a 12 employee small business need? None most likely. That business's site gets maybe 1,000 or 3,000 or 10,000 hits per month. It's an absurdity to throw all the new tools, librari…

> Does my insurance agent, who operates his own small business, need machine learning?

I have a friend who has his own navy. It's a small navy. He does like boats.

Once he had a men's yacht trip. There I met a guy and his son who ran an insurance agency.

Well, AI or not, one of the keys to his insurance business success was his ability to separate good customers from risky ones. Basically he knew nearly everyone in town, or at least every one of his customers, down to what they ate for breakfast or some such. That knowledge helped him get a good loss ratio and made good bucks for his business.

So, maybe what he did was not AI but real I!!

I'm sure that if someone had an AI tool that would help his loss ratio, then he'd us it!

For a second example, my father in law was on the local bank board. So, a guy in the community applied for a home loan. Well, at that bank, the loan application went to the BoD of the bank -- no joke.

Then at the BoD meeting, everything about the applicant got exposed and discussed right down to the details of his lifestyle. So, again, if some AI application could help that bank make better loan decisions, then likely they'd use it.

Lesson: That local insurance agent and that local bank both were really big on gathering, analyzing, and using all the data they could get. If AI could help, then they'd use it.

Re: In web design, everything easy is hard again

#240

Earlier quoted context omitted.

> html, css, and jQuery work just about exactly the same as they did a decade ago, nothing stops you from using tools you already understand. A decade ago, the requirements for supporting all/most clients (devices) were radically different. Different requirements mean different solutions and perhaps new tools must be used.

You have to do responsive design, and yes, that's a big change (and a big PITA) but that doesn't require flex or grid or React or whatever. You can't go all the way back to tables, but good ol' div-based design with appropriate CSS works just fine. The new stuff may make some things easier (or not), but if you don't feel like shifting paradigms, you certainly don't have to.

My Web pages are based on tables and have not even one DIV element! Why do I have to use DIV? Actually, I never saw any good explanation on what DIV did. What the heck is DIV good for? Why use DIV?

Why can't I use tables?

Post reply on HN