Live data from Hacker News

In web design, everything easy is hard again

frankchimero.com

181–190 of 335 posts

Re: In web design, everything easy is hard again

#181

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 your mind tells me everything I need to know about your opinions on tooling.

Re: In web design, everything easy is hard again

#182

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…

“The most baffling part is the strange sense of entitlement as if people releasing their work for free on the internet is a burden to some because now they have to decide if they should use this free option.” Agree with this 100%. I keep hearing coworkers trash a particular open source project/framework with no understanding of what kind of problems it solves.

>I keep hearing coworkers trash a particular open source project/framework with no understanding of what kind of problems it solves.

Also I often think:

I keep hearing coworkers adopt particular open source project/framework with no understanding of what kind of problems it solves.

Re: In web design, everything easy is hard again

#183

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…

> 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.

Re: In web design, everything easy is hard again

#184
post #131
post #81

Earlier quoted context omitted.

I've spent days tracking down a bug around a color picker widget, turns out JS was implicitly casting my string value to octal. I've worked with heaps of toy languages like Lingo, vbscript and ActionScript, and nothing has made me as viscerally angry as JavaScript (ok maybe PHP's complete lack of naming consistency). JS is an accident of history that has somehow become the de facto standard. I guess worse really is b…

> turns out JS was implicitly casting my string value to octal How exactly? I'm really curious. AFAIK it's pretty hard for a JS string to be casted into anything (pretty easy the other way around though). I guess maybe parseInt can do that, but that's neither casting not implicit.

Presumably by calling parseInt('010') which used to detect zero leading strings as octal.

Re: In web design, everything easy is hard again

#185

There is a difference between web design and web application development. If you are a designer making brochure sites for small business, you don't need the modern frameworks and toolkits, and you are over-engineering it if you use them. Everyone needs to take a step back and ask why they are building a web site in the first place. My local hair salon really just needs a brochure, and maybe a scheduling widget. A doc…

There is a difference between web design and web application development. If you are a designer making brochure sites for small business, you don't need the modern frameworks and toolkits, and you are over-engineering it if you use them.

This is true, but the fundamental argument Frank makes in this article is just as applicable to web applications, if not more so.

We are now building significant software that happens to be written in JavaScript and to run in a browser. We call the results web applications, but it’s still just software. The basic principles of building software well are still the same: using modular design to decompose a large system into more manageable parts, separation of concerns, choosing the right data structures and algorithms, being systematic about covering different cases... These are all as relevant to developing front-end web applications as any other non-trivial software.

None of those things implies a need for overcomplicated tooling. None of those things implies a need for dependency trees with an unmanageable level of complexity. None of these things requires a combination of trial-and-error coding and rapid deployment. You can build large, complex, robust, useful web applications perfectly well without those things.

Usually, good tools are simple and do one job well. The tools that have stood the test of time in my web programming toolbox — things like jQuery, Lodash, SASS, Babel, Browserify, Mocha and React — almost invariably fall into that category. I find much less benefit in tools that require more than a few seconds to set up, depend on anything not obviously related, introduce any non-trivial boilerplate that I’m not almost always going to need, or introduce any sort of non-standard changes to source files that aren’t all but guaranteed to work in the long term.

Of course there are no absolute rules here, but it has been my experience that heavyweight frameworks, scaffolding generators, build process and the like often trade off short-term convenience against stability and longevity (and often, worse, understanding what is really happening). Like the current emphasis on continuous/rapid everything, that isn’t necessarily a good trade to make if you’re interested in building larger, more complicated, longer-lived software, as we increasingly are in front-end web development.

Re: In web design, everything easy is hard again

#186

There is a difference between web design and web application development. If you are a designer making brochure sites for small business, you don't need the modern frameworks and toolkits, and you are over-engineering it if you use them. Everyone needs to take a step back and ask why they are building a web site in the first place. My local hair salon really just needs a brochure, and maybe a scheduling widget. A doc…

I lost count of the number of web projects I had to work on that could be rewritten in a tenth of the code, for more performance, better maintainability and less entanglement between components.

Both on the server side and on the client side. Its really, REALLY easy to build complex software; but that never scales or evolves well over time. You end up saving on initial development only to be constantly plagued with problems in the future.

Simplicity is the ultimate sophistication.

Re: In web design, everything easy is hard again

#187

There is a difference between web design and web application development. If you are a designer making brochure sites for small business, you don't need the modern frameworks and toolkits, and you are over-engineering it if you use them. Everyone needs to take a step back and ask why they are building a web site in the first place. My local hair salon really just needs a brochure, and maybe a scheduling widget. A doc…

>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 author documents (not apps) that are more complicated (prettier, aesthetically pleasing column layouts, gradient backgrounds, drop caps, dynamic resizing of frames, and so on) that require more knowledge than his "hello world" type of simple HTML.

Even a web "document" like the wikipedia page on The Beatles[2] requires quite a bit of complexity and advanced HTML knowledge. I've been writing HTML on and off for 20 years and I'd have to do quite a bit of googling and stackoverflow research to replicate that wikipedia page.

[1] https://frankchimero.com/writing/everything-easy-is-hard-aga...

[2] https://en.wikipedia.org/wiki/The_Beatles#Controversy,_final...

Re: In web design, everything easy is hard again

#188

Earlier quoted context omitted.

> proposal-2-final-new-FINAL-draft-02-2018.docx isn't exactly sane data-sharing It is, when you can freely move it onto a USB drive, or attach to an e-mail, an IM message, or transmit over countless other systems that have no relation with Microsoft Office. > You can create walled gardens both on the desktop and the web. That's a question of ethics not technology. Yes, but that's pretty much a tautology. Technology i…

> Ultimately, the web is what killed end-user open source. A web application is an ultimate anathema to both open source and free software - you don't get to run the program as you like, you can't inspect it in any way (even if it's "open sourced", you can't verify if this is what really runs on third-party server), you can't distribute it, you can't modify it, and to top it off, you no longer own the data you work o…

Holy shit, that list is big! Thanks for it.

Re: In web design, everything easy is hard again

#189
post #177

Earlier quoted context omitted.

> Debugging is one of the biggest problems with FP I don't see why that's a problem with FP and not just the lack of tooling in most FP languages. Debugging in F# via Visual Studio is a breeze, and OCaml's time travelling debugger looks pretty good.

I guess if you start using nth-order functional compositions and everything is a recursion, it's super difficult to figure out what is going on from e.g. stack traces or just simple log statements. And often FP programs are more-less solutions to "puzzles" and to understand the solution you need to keep that "puzzle" on mind. Now what are you doing if you have multiple levels of "puzzles" at the same time and you nee…

Just a clarification for anybody else who might be reading this: there absolutely are mutable variables in pure fp languages like Haskell, you just have to explicitly ask for them (and reflect that fact in the type), i.e:

    do
       x 
will print 2. In fact, I'd argue that many times writing programs with mutable state is actually easier in Haskell/etc, especially when it comes to concurrency where something like software transactional memory [0] is invaluable (and more or less practically unusable in other ecosystems), if it fits your constraints.

[0] https://en.wikipedia.org/wiki/Software_transactional_memory

Re: In web design, everything easy is hard again

#190
post #35

I completely share the thoughts of the author of this article. However, I'm not sure if his proposed solution would work for most people. It's not that I want or like to use npm etc. - I'm forced to use them as it's the new default way of working with almost anything useful in today's web development work. An alternative would be to start from scratch - and then reinventing all these things again, making another full…

You're trying to conflate document design with UI design. By the writing of the author, he is clearly doing just fancy documents. He didn't even touch the problematic issues you normally face in web development. You can do pretty neat things with trivial html/css these days, where you needed quite a bit of JS just 5 years ago. Platform GUI toolkits are designed for controlling an interactive program from the start, a…

I've had the feeling that modern gui toolkits copy the dom not due to any superiority, but because of the massive developer base it has.
Post reply on HN