Live data from Hacker News

In web design, everything easy is hard again

frankchimero.com

241–250 of 335 posts

Re: In web design, everything easy is hard again

#241

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…

I disagree with the often-heard premise that HTML is a somehow inferior tool for creating GUIs that we somehow ended up with despite better choices beings available. Yes, native GUI frameworks and widget toolkits like Swing, Qt, Cocoa and MFC have their place but it's precisely the nature and features of HTML (most notably: The link) that enabled most of the innovation we've seen on the web. If building web apps was…

When I'm a user, I like the old, simple HTML UI, and I've nearly always just deeply, profoundly hated and despised

> the desktop experience

To me, the whole "desktop experience" was based on some nonsense from Xerox PARC, that (1) the screen should be a metaphor for a traditional desk with several sheets of paper, (2) what was on the screen were representations of various objects that a user would manipulate directly using the pointing device, and (3) how the screen UI (user interface) worked should not be explained or documented but should be intuitively obvious, as obvious a sheet of paper on a real desk, and otherwise easy enough to learn just by experimentation.

Well, for a very well designed UI for, say, a microwave oven, it worked, yet my microwave oven did come with a nice user manual.

But for the goal of all of computing, IMHO, the Xerox PARC model and assumptions are a huge pain in the back side.

E.g., for Microsoft's Windows Media Player 12 with Windows 10, I tried for hours, clicking, and clicking, basically enumerating and traversing all the UI before I finally resorted to my old favorite -- just put the mouse pointer, trial by trial, at nearly every point on the screen and there do four things, left click, right click, double left click, double right click, and see what happens. Don't look for any links, push buttons, controls and, instead, just throw clicks at the screen, exhaustively. Finally via such meaningless clicking, I was able to get some new options and, eventually, play an old audio CD but was not able to play a movie DVD. Some "user experience".

To me, the situation is similar for a lot of common desktop software -- the UI is not described, documented, or obvious, and too often a LOT of experimentation is needed to figure out what the heck was going on.

My UI Excedrin headache #948,223,594,667 was just last week with Outlook from Microsoft's Office.

So, I wanted to use the old Microsoft command XCOPY, with some carefully selected options in a script in Rexx, to back up the directory tree that contains all of MY (not Microsoft's or HP's ) data on the computer, copy the directory tree to an external disk drive connected via USB (universal serial bus). So, I started the backup and in the morning discovered that the backup had failed.

Failed? The computer and the external disk drive are quite new, and XCOPY and the options I was using are quite old and long perfect, so what the heck could have failed? I've been doing XCOPY backup and restores for 10+ years back to Windows 2000. Before that I was doing similar operations with similar software on OS/2 and then Prime computers.

So, the last few lines on the screen explained the problem: The PST (personal storage or some such?) file that I have Outlook using was "locked". The actual message was the dreaded (from what can see via Google)

File creation error - The process cannot access the file because another process has locked a portion of the file.

So, but the only program that could have that file "locked" was Outlook, and as far as I knew it was not running. Then I looked at the output of the latest version of Microsoft's Task Manager (Windows 10 does have one although it is very different from what was on Windows XP) and saw that a program OUTLOOK.EXE was running.

So, I told Task Manager to "kill" the program and started XCOPY again. So, then the XCOPY run worked fine!

Then, presto, bingo, the next day trying to run Outlook gave

Microsoft Office Outlook has stopped working

A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available.

Well, I decided not wait for a notification!!!!

I renamed that PST file and copied to the old name an old PST file and found that Outlook gave the same message. So, the problem was not the PST file. So, the bad memory Outlook was using about had to be in the Windows Registry.

So, maybe I could do a system restore? Looking around, such is still available. So I did a system restore.

Then Outlook started right away but also said that the PST file (the one Outlook was using before this mess) had not been closed properly or some such, checked the file, and found nothing wrong and now Outlook seems to be working again.

So, before doing a backup, do a system save. For Outlook, try to have it not running.

Why was Outlook running when I'd long since closed it? Okay, someone sent me via e-mail an appointment. A first ever for me. Of course, no way do I want Outlook involved in appointments. But, then, with that appointment, Outlook kept giving me notifications. The first backup attempt was actually after the appointment time and date, but somehow Outlook, when healthy again, reminded me again about the appointment. So, apparently if there is an appointment, Outlook will not stop but just keep running so that it can send notifications about appointments.

So, before doing a backup, go into Outlook and delete, cancel, eradicate, obliterate, get rid of, destroy utterly everything about appointments.

I JUST want Outlook to do e-mail, JUST e-mail, JUST simple, old SNMP (simple network mail protocol) and POP3 (post office protocol 3) e-mail. And, actually I want all the e-mail to be just simple, old ASCII text or UTF8. For more, use attachments as in MIME (multimedia internet mail extensions) with base 64 encoding, etc.

So, for this cause and cure, are just throwing stuff against the wall, hoping, causing problems, getting into a system restore with some work lost etc. Bummer. Huge bummer.

No, Xerox, Microsoft, your UIs are NOT "obvious". No, you NEED documentation.

But, for old, simple HTML, say, without JavaScript, for some 100+ million such Web sites in the world, some trillion+ such Web pages in the world, and for 2+ billion people in the world, modulo natural language, every person can understand every Web page and Web site right away, no users manual or experimentation required.

Lesson: On the desktop, the Xerox PARC stuff was an open door for chaos; on the Web, the simple HTML with its few, simple, well understood controls cleaned up much of the chaos and provided discipline that greatly helped UX (user experience).

So, for the goal of having Web pages more like desktop applications, UIs, UXs, no thanks.

Re: In web design, everything easy is hard again

#242
post #60

Earlier quoted context omitted.

I disagree. While Python, for instance, certainly has its quirks, it doesn't have multiple ways of declaring a function, each with their own scope and hoisting gotchas. In Python, self isn't ambiguous the way this is in JavaScript. Python's datatypes are straight forward, unlike JavaScript, where 1 + "1" produces a valid result. In Python, 9999999999999999 is precisely 9999999999999999, however in JavaScript this is…

I've been a professional Javascript dev for over 5 years and never once run into a bug due to any of these problems. I agree that they are problems, but their impact on day to day use of the language is zero. If you want examples of real problems that give good front end devs hell day in and day out, start looking at some of the libraries, tooling and abhorrent "best practices" that get thrown out and cargo culted to…

Sure, you can work around JavaScript's warts, but it is one thing to say the warts can be circumvented and quite another to claim that JavaScript is on par with well-designed languages like Python.

I do agree with you that the JavaScript community's issues you mentioned are hell to deal with; however, in my opinion, JavaScript's internal weaknesses are one of the driving factors behind this churn.

Re: In web design, everything easy is hard again

#243

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…

Use elm.

Re: In web design, everything easy is hard again

#244
Innovation often has casualities and the pace of innovation of the front end particularly has exploded in the last few years combine that with mobile uptake and we have a whole can of soup on our hands. At the moment it feels like we havent quite settled on a proposed standard of build tools and processes which comes across as daunting but imo is also indicative of not reaching the absolute peak. Underneath it all we still have the fundamentals of html css and js and that aint gonna change anytime soon.. I only hope some of the tools we have for layouts settle soon as the browser landscape and chasms are only getting wider as mobile devices and iot throws a whole new can of worms at producing cross browser compatible applications. In my instances that fact alone is choking the web.

Re: In web design, everything easy is hard again

#245

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 p…

> Simplicity is the ultimate sophistication.

IMO, it's also ultimately difficult to pull off.

Re: In web design, everything easy is hard again

#246
This is perhaps my favorite part:

"If you go talk to a senior software developer, you’ll probably hear them complain about spaghetti code. This is when code is overwrought, unorganized, opaque, and snarled with dependencies. I perked up when I heard the term used for the first time, because, while I can’t identify spaghetti code as a designer, I sure as hell know about spaghetti workflows and spaghetti toolchains. It feels like we’re there now on the web."

Re: In web design, everything easy is hard again

#247

Earlier quoted context omitted.

I said nothing about poor engineering. >one should not have to perform mental padding calculations just to know how wide an element will be on screen This, and the paragraph, falls directly into my comment about not wanting to think or do the work. >The tag also forces the browser to "do something it doesn't do natively" (enter standards mode) Bad example. Using a doctype was not originally required and was only forc…

My "poor engineering" remark was a response to your original comment stating that "In the past, standards were developed through engineering and computer science." Re: "not wanting to think or do the work": why would anyone want to think more or do extra work that is not required, except perhaps for fun? Computers were created precisely to automate and abstract away mundane tasks (such as adding padding measurements…

My remark was in regard to my first statement about standards following fads but that does not mean the standard is poorly engineered.

My main point, again, falls back to people wanting things done for them because they don't take the time to learn how things works. They want things done for them and never learn the basics, the foundation of understanding. If one cannot figure out how to make an element a certain width using "width" + padding + border + margin because they never bothered to read the specification, or any of the multitude of online tutorials, where it is clearly explained that width is the containment area alone, then this is nothing more than plain laziness mixed with "give me teh codez".

Re: In web design, everything easy is hard again

#248
As a back-end developer, I started off coding ~15 years ago, and hated the entire experience back then. Nowadays, as I look at the tools, frameworks and language enhancements, I'm so glad to be coding in 2018, and not in 2004. The things I can easily accomplish now, far exceed anything I could have done back then.

I've heard so many front-end developers/designers say the opposite about their field though, and I wonder why that is. If the newer tools/frameworks are just adding more complexity, or reinventing the wheel, couldn't you just choose not to use them? I suppose some might reply that you're forced to use these new tools/frameworks, because of dependencies on other tools/frameworks that you actually care about. But if that's really the case, and if this frustration is widespread enough, wouldn't people/companies have invested time and effort into supporting the classic-but-equally-good tooling?

As someone watching from the outside, I can't imagine a world where an entire industry is running in circles, creating churn devoid of positive value. Maybe I'm too optimistic, but I suspect that many of the complainers are suffering from rose-colored glasses. As a heavy web-user, I've noticed that the functionality and aesthetics of websites have improved dramatically in the past 1-2 decades. The websites I see from the 90s and early 2000s, look like a joke today. I suspect that this improvement is only made possible by the new tooling and frameworks that exist today. That they are indeed more complex, but they still unlock new potential that would be too hard to achieve otherwise. That anyone who tries to use ancient tooling from 10-20 years ago, would find themselves unable to provide an equally good mass-market UX. If this is not the case, I invite someone to prove me wrong.

Re: In web design, everything easy is hard again

#249

Earlier quoted context omitted.

> There appear to be an excessive number of package managers involved. Largely agree with your assessment except for this. Which package managers are you referring to? 99% of the js world uses npm, and the other 1% uses yarn. I’m not aware of a single other package manager in the web ecosystem. In fact this is probably one thing where they got it right.

Bower?

It's all moving to npm

Re: In web design, everything easy is hard again

#250

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…

> There appear to be an excessive number of package managers involved. Largely agree with your assessment except for this. Which package managers are you referring to? 99% of the js world uses npm, and the other 1% uses yarn. I’m not aware of a single other package manager in the web ecosystem. In fact this is probably one thing where they got it right.

And those 2 are largely interchangeable because they use the same repository (barring unusual setups)
Post reply on HN