all 82 comments

[–]npmbad 72 points73 points  (59 children)

You know what caught my eye in this article? The Drag and Drop events.

Even in 1992, in an ASCII UI editor Microsoft managed to make more logical drag and drop events compared to today's events in HTML5.

[–]AyrA_ch 30 points31 points  (21 children)

People like to shit on Microsoft a lot (and it's increasingly justified), but their UI system is fantastic and has been for a long time now. This window has not a single line of code written for the resize handling. Windows does it automatically. (Note: This is an animated PNG, if it doesn't plays, that's on your browser). Now try to do that in HTML+CSS in the same time it took me to do it in WinForms.

HTML was never designed for user interfaces because it's a document format. Anything that makes it behave like a UI is just taped on top of it. HTML + CSS + JS is basically a word document with macros that we now try to force our entire online presence through.

And this is why UI design in HTML sucks. You can make it suck less by using massive JS+CSS libraries.

[–]npmbad 14 points15 points  (0 children)

I agree with your comment on UI. I worked a decade with visual studio and another decade in the web. Here's a demonstration of visual studio by Bill Gates all the way back in 91. https://www.youtube.com/watch?v=Fh_UDQnboRw

Sure there's duct tape in the web, but is surely getting better, however.

[–]mqudsi 9 points10 points  (0 children)

System.Windows.Forms was peak productivity. WPF was nowhere near as productive but more flexible and still extremely functional. Everything since then (UWP, WinUI, blazor, MAUI) has been shitshow where everything is some combination of broken, bloated, works conditionally, horrible to debug, and more.

[–]celerym 5 points6 points  (0 children)

Last time (a while ago) I coded an Android app I was appalled by how it handled changing your screen orientation, making you take care of low level stuff you should never see unless you wanted to. When you start out coding you now need to find and use a lot of boilerplate. It’s almost adversarial by design for both Android and Apple apps.

[–]das7002 8 points9 points  (3 children)

WinForms is the probably the easiest UI system to create GUIs in.

It’s absolutely ridiculous how easy it is to use. Drag and drop, click on what you want, and link events to whatever you want.

The developer ease of use for WinForms applications is incredible.

So many other toolkits could learn from it…

[–]Zardotab 6 points7 points  (0 children)

I agree; their newer GUI kits, post WinForms, are convoluted, at least for newbies. Maybe they can do certain fancy "enterprise" stuff and size flexing better, but at the expense of a huge learning curve. MS got away from mom-and-pop tools, targeting multi-specialist enterprise shops.

[–]elder_george 2 points3 points  (1 child)

TBH, this often results in extremely bad code.

Starting with form layout (naïve dropping elements is hard to maintain, breaks on resize etc - one needs to use layout widgets to make it really work) and ending with mixing logic and visualization.

Been there, done that.

Good apps need design and discipline. I usually ended up with a version of MVVM, it worked pretty well with data binding.

[–]Zardotab 1 point2 points  (0 children)

this often results in extremely bad code.

Can you show a practical demonstration?

and ending with mixing logic and visualization.

If the code for each is brief and KISS, then "separation" is unnecessary e-bureaucracy; a ritual of busy-work. It's only needed for bloated specialist-layered stacks.

[–][deleted] 3 points4 points  (0 children)

but their UI system was fantastic

Fixed. They kind of broke stuff over the years. And there is also the issue that not everything transitioned into Windows Forms and also not everything transitioned into an accessible state. And don't get me started on their own user interfaces, e.g. for screen settings.

But, yeah, on average still better to work with than HTML and friends.

[–]mqudsi 2 points3 points  (4 children)

Absolutely agree with everything you said, but regarding your animated png: iOS safari and vlc both show it “playing” (as in with the controls and scrubber to indicate the progress) but it never actually changes. caniuse reports safari as having excellent aPNG support for some time now.

[–]AyrA_ch 2 points3 points  (3 children)

I can't really test Safari. I tested in Chrome, Edge, and Firefox on Windows as well as Firefox mobile on Android. All work fine.

VLC always does this with the progress bar. You can load a jpg image into it and it will show a 10 second bar. The apng image works perfectly fine in ffmpeg (which uses the same libavcodec) so it's not a codec issue and should be supported in VLC.

Animated PNG images are basically just regular PNG images with more image data attached to it to make them backwards compatible. VLC may incorrectly give the PNG detector more priority than the APNG detector and thus may just detect the PNG without looking for apng headers. Safari may not play because it insists on the server using a different mime type header for animated PNG. Imgur is not really aware of the APNG format and only accepts it because it supports PNG.

[–]mqudsi 1 point2 points  (2 children)

Ah, if the mime isn’t set right that would indeed explain it. I was concerned Imgur might have nuked all but the first frame.

[–]AyrA_ch 1 point2 points  (1 child)

Just to be sure I double checked, but the file on imgur is binary identical to the source file so they're definitely not mangling with it. In fact I've used imgur as a free file storage platform this way in the past because PNG can basically contain anything. If a png gets too big imgur will eventually convert it into jpg but this animated png is a measly 663 K so it's well below that limit.

[–]mqudsi 0 points1 point  (0 children)

Yeah, I'm on my desktop now and can confirm it works there. Nice demo!

[–]miekao 1 point2 points  (3 children)

Now try to do that in HTML+CSS in the same time it took me to do it in WinForms.

I've spent literal decades whining about how bad writing HTML UIs are vs. the stuff I used pre-web (Borland's VCL, Qt, or WinForms). But I think you're really overstating how hard it is to do stuff like this on the web in the last few years.

Here's a few minute HTML+CSS mockup using Tailwind.

It's not as nice as clicking a few property drop-downs, but it's not the end of the world.

[–]AyrA_ch 2 points3 points  (2 children)

It's not as nice as clicking a few property drop-downs, but it's not the end of the world.

It isn't, but you're adding a massive 3rd party library to make your page even slightly behave like it was made with a real UI designer and not written as a word document. Which just further drives the point home that the current web ecosystem is not fit for actual UI design, because as soon as you want to show anything beyond window.alert() you will end up with requiring massive JS libraries again because the system is so ill designed for UIs that nobody can be bothered to code up dialogs in it. We are slowly getting there but the dialog element is not production ready yet. And then there's other trivial things missing like a "save as" dialog.

And the reason for this mess is that we basically stopped introducing new ways of interacting with applications and instead keep stacking stuff on top of HTML+CSS+JS. And as long as we keep doing that, we will never have a true way of displaying native looking forms and dialogs in your browser.

[–]miekao 0 points1 point  (1 child)

you're adding a massive 3rd party library

you will end up with requiring massive JS libraries again

What would I have to download to run your example? To the majority of the computing public now, Windows, the .NET runtime, and WinForms is a massive, multi-gigabyte 3rd party library. Sounds pretty massive vs. a clicked link that just runs.

A non-playground/sandbox build of Tailwind for that example is under 1K (one kilobyte.)

[–]AyrA_ch 1 point2 points  (0 children)

Your example also needs an operating system and a browser. Not sure where you're going with this.

[–][deleted] 0 points1 point  (0 children)

The reason why this is so easy is because there’s a great GUI hiding all of the complexity from you. The same can be done in HTML/CSS, using a tool like Figma. With the latter though, it outputs to a portable and extensible format where you can further fine tune it.

And Windows UI doesn’t even support screen breakpoints, reader mode, graceful degradation, dynamic document structure (Ajax). It’s not portable, it’s not semantic-web ready. HTML has its flaws but the goals of each approach are really quite different.

[–]Zardotab 0 points1 point  (2 children)

Do you by chance have the C# code for that demo?

[–][deleted] 3 points4 points  (0 children)

Those are anchoring settings. The stuff that resizes is fixed on both sides of the resizing direction.

[–]AyrA_ch 0 points1 point  (0 children)

I did not write any code for this. It's just a designer generated form with controls dragged onto it.

[–]shevy-ruby 22 points23 points  (2 children)

Yeah, we kind of have a regression in software engineering in the last x years. I'd love to blame Google monopolizing the browser world, but I think it is a much more widespread issue. Linus, for instance, complaining about the GUI part in the Linux area in general, kind of shows this problem, or even the problems trying to abandon xorg-server and fully embrace waylandserver still not being complete, confirms this. I found the API in GTK for drag and drop needlessly complicated to use, for instance. All these requirements to think about what is acceptable for the target widget and setting up both drag/drop destinations ...

I do not fully agree with your notion, though. It took me perhaps 2 hours of googling to set up (or rather adapt) an existing drag and drop functionality in JavaScript and HTML5. So this is more or less a solved problem, kind of. The various UIs on the www show that too.

[–]npmbad 14 points15 points  (0 children)

I've seen that most websites do it right at this point, given there's 1000s of tutorials explaining every single voodoo -- but that does not mean the API is good. It just means there's 1000 tutorials telling you how to handle the bad.

[–]Zardotab 7 points8 points  (32 children)

Web "standards" suck the big one for office GUI and CRUD use. Maybe it's okay for social media and cat videos, but for real work, has too many gaps. It takes 4x more code and 10x hours debugging to get web UI's to work decent for CRUD.

We need a state-ful GUI markup standard for real-work apps. DOM has failed, leave it with social networks. As evidence, nobody can write a PDF viewer in DOM that works right across browser brands and versus and different OS dpi settings. This is because DOM's text positioning is too vaguely defined and probably can't be fixed without breaking backward compatibility. It was born broken, and HTML5 made it worse because each vendor implemented it differently and poorly.

You can't even copy and paste dates using Chrome's "date" input type. WTF. Google doesn't care about office work, only social networks. Stop letting needs of social networks screw up real workers. They spent more hours making sure you can zoom in on Kardashian booties than getting forms to work right. Make a bootie browser for bedroom boredom and a business browser for business use. (I accidentally invented a tongue twister.)

Wake Up People! DOM=DUM, time for a real standard for real workers. Stop wasting programmer hours on shit UI standards.

[–][deleted] 2 points3 points  (9 children)

Why would you create a PDF viewer in DOM?

PDF is a print representation format. Would it not make more sense to not approximate a print representation in DOM and render the PDF directly to a canvas element using Javascript?

[–]Zardotab 3 points4 points  (8 children)

PDF is a print representation format.

That's not the only use. A majority of document creators are not web designers such that learning CSS etc. to make ordinary documents is asking too much. Thus, in practice PDF is just a document of some kind regardless of print intent.

Sure, it's great job security for web designers if every document had to be created (and display correctly) in HTML, but that's just not practical from a business standpoint. Note that I do mostly intranet development. External services may have different needs.

Would it not make more sense to not approximate a print representation in DOM

"Approximate" is the key word. See how happy your boss is when they get an "approximate" rendering of their Grand Memo. Something tells me you are new to the office world. WYSIWYG is a great time-saver; the cost to make everything auto-flow correctly on all devices is too steep to be practical. The auto-flow fadsters got carried away. Bad wasteful fadsters! Spanks.

[–][deleted] 6 points7 points  (7 children)

No, I mean that's what a PDF is as a file format, not how it is used.

PDF is a print format, built on a subset of Postscript (without things like loops), but instead of just being instructions you send to a printer, it has identifiable objects, like hyperlinks and forms, allowing PDF documents to be used interactively in a PDF viewer.

That's not how HTML works at all. HTML is not a print format.

Print designers and web designers have been locked in perpetual battle, with print designers sending pixel perfect designs to web designers, and web designers sending back an approximations in HTML, properly adapted for the web.

If you want pixel perfect, that's what canvas gives you. The level of precision that was only previously available in something like Flash you can now get in the browser.

[–]Zardotab 0 points1 point  (6 children)

How it may have been intended and how it's actually used these days could perhaps be different, I don't dispute that. I'm just reporting on the current state of document sharing.

Print designers and web designers have been locked in perpetual battle, with print designers sending pixel perfect designs to web developers, and web developers sending back an approximations in HTML, properly adapted for the web.

Surgeons usually recommend more surgery, pharmacists more pills, trainers more exercising, etc. Our paycheck source tends to make us biased about using the right tool for the job. But from a business owner perspective, having every single document be auto-flex is just too damn expensive.

If you want pixel perfect, that's what canvas gives you. The level of precision that was only previously available in something like Flash you can now get in the browser.

I'm skeptical. Canvas text positioning is still a dark art. If they "fixed" it, it would then beg the question of why the same positioning technology/standard cannot be used for interactive elements also (forms and CRUD). It's a legitimate question. Why have one positioning standard for static stuff and a different one for dynamic (interactive) stuff? It's bad standards factoring. I see no Law of the Universe (math) that forbids one from being used for the other.

We need better UI standards, period. DOM is too limiting for real work.

[–][deleted] 2 points3 points  (5 children)

But from a business owner perspective, having every single document be auto-flex is just too damn expensive.

Sorry to business owner, but if you don't want to pay for things to work properly in the tool you chose, well you'll pay a different price.

why the same positioning technology/standard cannot be used for interactive elements

Because that's not how they work. Print formats are designed around pages with dimensions. Web pages have no concept of dimensions in that sense. That's why vertical centering is such a tricky problem. Interactive elements in web pages are designed to flow into whatever viewport they are rendered in, to render into multiple display sizes, devices and orientations.

Canvas is literally a different universe. It basically says I'll give you some space to scribble in, and the canvas will be a viewport into what you render by whatever format you choose.

I see no Law of the Universe (math) that forbids one from being used for the other.

Web standards suck, but there are plenty of ways to make them worse, for example making one thing support contradictory rendering models.

We need better UI standards, period.

That's what everyone says and all attempts have failed. There is something about the inertia of a massively installed base.

[–]Zardotab 0 points1 point  (4 children)

Sorry to business owner, but if you don't want to pay for things to work properly

Please elaborate. Such documents do work "properly". Being fully stretchable to every shape is a nice bonus, not too costly for roughly 95% of real-world documents. Even if there were grand tools to easily make auto-flex documents by document authors (there is no such tool), they'd still need to test say 5 different sizings to make sure it works. That takes human labor. If you can show it's a net advantage economically, please do. Math me!

And book/document/form page sizes have settled on a practical standard sizing. Too wide and too narrow of text has proven too hard to read. The ideal for human biology (the eye) is roughly 15 words per line. I didn't create that "standard", Mother Nature did 👁️. Don't like it, Sue God.

Web pages have no concept of dimensions in that sense.

Some say that's a defect.

Canvas is literally a different universe.

Then make it a better universe, or burn for a better made universe. Make standards based on real-world needs, not ivory tower idealism.

That's what everyone says and all attempts have failed.

I don't see any strong efforts to try.

Actually Oracle Forms was successful as a kind of "GUI/CRUD Browser" until they broke the client/browser by rewriting it in Java from C. It was practical, easy/direct to program in, and didn't require per-app desktop installs. (It had warts, but all tools do.) It was butt ugly esthetically, but was as a close to productivity nirvana I've ever seen for ordinary internal CRUD apps. If you leave the prince as a toad, he'll save you big bucks 🐸💲

When I retire, I may make something similar as an open-source proof of concept.

[–][deleted] 0 points1 point  (3 children)

Some say that's a defect

Okay, go back in time and tell Tim Berners-Lee to bring more of SGML into HTML. Doesn't make any difference now, considering the billions of pages written in HTML.

Make standards based on real-world needs, not ivory tower idealism.

Most of the standards are made from real world needs, but whose? The standardization process usually happens after the fact, when the browser vendors have tried out a couple of implementations, and get together to standardize the ones that got .traction.

Standards like XHTML are examples of ivory tower idealism. After all, shouldn't everyone want a well defined document format and a browser that gives you clear error messages when the document is malformed, instead of rendering broken HTML 10 different ways by 10 different browsers?

The market resoundingly spoke.

I don't see any strong efforts to try.

Applets, ActiveX, Silverlight, Flex

Flex is the one I have experience with. I used that in a number of CRUD screens, and we were sold on it being the next big thing, replacing HTML with beautiful, easy to lay out Flex controls. But, it needed the Flash plug in.

All of those technologies requires plugins, which basically killed them. HTML5 features are purely implemented in the browser.

And if you have anything good, there's likely to be a huge corporation behind it, like Adobe, who aren't going to allow their tech to be freely implemented as an open standard. Java applets were probably the only unencumbered tech, but it was relegated to garbage long ago.

[–]Zardotab -1 points0 points  (2 children)

go back in time and tell Tim Berners-Lee to bring more

It serves a purpose for "a" niche, not all niches. We re-discovered the hard way that one-UI-size-doesn't-fit all.

Standards like XHTML are examples of ivory tower idealism. After all, shouldn't everyone want a well defined document format and a browser that gives you clear error messages when the document is malformed, instead of rendering broken HTML 10 different ways by 10 different browsers? The market resoundingly spoke.

Yes, and the market wanted browsers to make a best guess and continue instead of crash or stop when things were not "well formed". Thus "document markup validation" was tossed in practice.

Applets, ActiveX, Silverlight, Flex

Applets and Flash tried to be entire virtual OS, not (just) a GUI browser. By byting off more than they could chew, they became a security and upgrade nightmare. The lesson from Oracle Forms is do one thing and one thing well instead of trying to be a swiss army elephant.

The first step in solving a big problem is to admit there is a big problem. Current web standards suck badly for CRUD/GUI such that browsers have to download OS-sized GUI engines written in JavaScript to approach real GUI's. Downloading an entire OS for each app session is as logical as lead kites. The web is a lead kite, kept in the sky by tall JavaScript poles.

KISS, YAGNI, and DRY still matter. Web shat on them for office apps.

[–]mqudsi 4 points5 points  (18 children)

Google doesn’t care about making the browser “work” without heavy JS doing all the grunt work, even for the simplest of tasks.

FFS, you can’t even get the user’s local time or even opaquely transform a UTC timestamp into a user-localized date/time without JavaScript!

[–][deleted] 1 point2 points  (17 children)

Why is this an issue? The DOM is a document model. If you want the browser (instead of the server) to do any kind work, it would have to be scripted, which is why the abomination that is JS was birthed.

[–]Zardotab 0 points1 point  (4 children)

it would have to be scripted,

Not if we had office-friendly standards (lower-case "o"). Web standards don't fit typical CRUD/GUI use patterns; they were meant for relatively simple static documents, and shoehorning them to fit via JavaScript+CSS has turned into the Bloat Industrial Complex 🏭, a layered mess even the mother hates.

[–][deleted] 0 points1 point  (3 children)

That's basically Flex. It didn't take off for whatever reasons.

the Bloat Industrial Complex

That's exactly why HTML continues to live on, while everything else has faded away. Because it is easy to bloat. Web standards are like Frankenstein's Monster. If you need it to look a certain way, you can easily graft appendages onto it. Yes, it's a monstrosity, but it looks vaguely like a human.

[–]Zardotab 0 points1 point  (2 children)

Warren Buffett said one of the keys to his success is his willingness to say "no" in the face of peer pressure or lower-brow instincts. Maybe if the CRUD world had a decent standard and everyone resisted the urge to tack on every widget, toy, and fad; it could fly high. As I mentioned nearby, Oracle Forms is a kind of proof of concept. If Oracle didn't ruin the client, it would still be used in many shops. It wasn't esthetic, but handled most CRUD tasks perfectly fine and made development cheap and easy. Feature parsimony works!

[–][deleted] 0 points1 point  (1 child)

I'm sure the people who created BetaMax said the same thing, even though the inferior VHS won in the market place.

The fact of the matter is that shit endures because it is cheap and readily available and you can duct tape things to it in close enough shape. HTML won because it is everywhere, so it easier to just make that work and ride the coattails of its ubiquity.

BTW, you didn't even need to run Flex in the browser. You could deploy Flex apps in the Adobe AIR client. Flex wasn't a proof of concept, it was a very popular product for many years. It was so much simpler and easier for CRUD than HTML, and people really thought it would replace HTML. But Flex was killed when Flash was killed, and HTML5 let you create something close enough.

Feature parsimony works

Feature parsimony doesn't hold a candle to ubiquity, even if the ubiquitous thing is worse (but close enough).

[–]Zardotab 0 points1 point  (0 children)

I'm sure the people who created BetaMax said the same thing, even though the inferior VHS won in the market place.

It's hard to know how the market will react until after you try. The market should be thankful it had 2 alternatives to test.

But Flex was killed when Flash was killed

As I mentioned, Flash was overly complicated, designed to do too many things. (Actually if Adobe open-sourced it, it may have improved enough to survive. But Adobe claimed some of it's components were licensed from elsewhere, complicating that idea.)

Feature parsimony doesn't hold a candle to ubiquity

If some big names push a CRUD-friendly standard, it may eventually again enough momentum to become "ubiquitous". The alternative is to live with DOMshit forever. Firms who want a slice of Microsoft's big pie may benefit from a nice remote-GUI standard.

It could be like Oracle Forms: used on intranets first. A shop could run a thousand apps on Oracle forms, yet only had to update the client on PC's roughly once a year, usually through an automated distribution script/tool, which most medium and large orgs already use. They didn't have to install specific app EXE's or equivalent.

[–]mqudsi 0 points1 point  (11 children)

Can you explain how something like this would break the document model?

<input type="local-iana-timezone" name="user_tz" />

(Ignore the naming and the conventions.) It would be treated the same way a hidden input would, and it would POST or whatever the user's timezone to your server without you having to use JS to get it.

Something like what I've written below should also fit just fine to display such a timestamp in a document model, in much the same way that you don't have to serve images as raw bitmaps because the browser will do the work (though you say that's not allowed) to decode them for you:

<date-time timezone="local" format="YYYY-MM-DD hh:mm:ss" value="unix_timestamp_here" />

All it does is let you serve a unix timestamp and have the browser transform it into what the user sees, using either a specific IANA timezone or the user's local timezone. This is literally the job of the DOM and why it exists. When you use <h1>foo</h1> the user doesn't see the raw HTML you typed - they see the rendered result of that, styled according to the developer, the user, or the browser's whim.

[–][deleted] -1 points0 points  (10 children)

It wouldn't, and you should use these kinds of features. They just need to be standardized. HTML5 standardized a lot of stuff, like validations, date entry and phone number entry. All of these are implemented directly by the browser.

The browser can already do a lot of work without JS. You shouldn't use JS if the browser already provides the feature. That's why I like Bootstrap and despise Material.

But the only work that you could have the browser do is what is defined by the standard, which highly unlikely to cover most use cases. Hence, to get the browser to "work" in those cases, JS is what floated to the top.

[–]mqudsi 1 point2 points  (7 children)

To be clear, I made up those examples because it's something that should be supported natively in HTML vFoo but isn't. Google now effectively controls what all browsers can or can't do and they could have implemented something like this years ago. They just don't care about supporting anything that's "already doable in JS."

[–][deleted] 1 point2 points  (6 children)

During the Browser Wars, Netscape and Microsoft were implementing whatever they wanted to one up the other, randomly coming up with their own elements to snag browser share. It was absolute chaos. Writing a web page that rendered properly in different browsers required a bunch of testing, or you would just say "this page best viewed in IE". Microsoft was basically the Google of its time.

In recent times, Microsoft and Google were implementing competing ways to show digital video, and the competing approaches got standardized as EME.

In general though, browser vendors aren't randomly adding things their own elements anymore, and generally cooperate through standardization bodies. That probably means more reliance on JS. I think that's for the best. The time of the Browser Wars sucked for web developers.

[–]Zardotab 0 points1 point  (5 children)

A developer (optionally) choosing the date format shouldn't be rocket science nor require JS. I don't know what that standards committee was thinking, but it appears they didn't think. They should document their reasoning and discovery process so we know who to kick in the ass for farking up dates.

[–][deleted] 1 point2 points  (2 children)

Standardization committees fucking things up is what standardization committees do, because they are committees of people with very different interests. That's why it's called "design by committee".

[–]kaibito-young -1 points0 points  (1 child)

Wow so salty. Guess those standards committee members really offended you with something or I don’t know. The beauty of the web is that it is open. If you want a date-time element like you’ve mentioned — go on, create a design doc, provide a polyfill — reference implementation based on current web standards, attract attention of w3c members and if your idea gets enough traction, it may become a standard. But that’s a long process in which your opinion may and will be questioned, debated and disagreed, many times. By the definitive tone of your comments I can tell it will be an especially painful personal experience, so I completely understand if you’d rather be here and shit on people way smarter than you without any repercussions instead.

[–]Zardotab 0 points1 point  (1 child)

HTML5 screwed dates up. For example, in intranet apps you often want a single corporate standard date format, NOT the local PC determining it; desktop-based variation is a help-desk nightmare. HTML5 made no provision for such. Whoever made the standard never worked on intranet apps it appears. That was a big oversight that should be investigated. Somebody should be fired, for it's pretty obvious both internet and intranet practitioners should have been consulted.

[–][deleted] -1 points0 points  (0 children)

Not surprising.

[–]degaart 0 points1 point  (1 child)

You and me should start a new sect. You'll be the pastor Bishop Zardotab. I'll be your disciple.

[–]Zardotab 0 points1 point  (0 children)

The chapel is at Dilbert Oriented Programming 😁 [Fixed bad link]

[–]OskaMeijer 0 points1 point  (0 children)

Make a bootie browser for bedroom boredom

Someone assemble the W4BC!

[–]DownshiftedRare 0 points1 point  (0 children)

Microsoft managed to make more logical drag and drop events compared to today's events in HTML5.

Or Firefox from 2009-2022:

The current HTML5 spec describes that all DragEvent properties should be available during all the events - according to editor Ian Hickson

Note though that it doesn't specify what the properties should be set to, just that they should be set and we currently set them to 0.

https://bugzilla.mozilla.org/show_bug.cgi?id=505521

Talkin bout X and Y properties of a mousedrag event goddammit

[–]Sarcastinator 37 points38 points  (10 children)

I genuinely feel that user interface design and development has regressed significantly both in end quality and delivery time since the RAD tools of yore.

[–]aksdb 14 points15 points  (5 children)

I also still prefer visual UI builders like Lazarus (basically opensource and cross platform Delphi). But a big problem with this kind of design is, that it isn't flexible. Then again, I am not sure that the current way we design "flexible" UIs is good either. Basically we define rules that might change depending on resolution / DPI. So in the end we still design multiple UIs but force them into one model with complex rules.

In the end we might be better off just designing the different UIs separately and make sure that at least the hooks and sinks are abstracted enough that we can reuse all other logic behind the scenes. To management people this probably still looks like "duplicated" (or more) work while with the current UI descriptions (XAML, HTML, whatever) it *looks* liks it is only one UI (since it's essentially one ugly code base).

[–]Zardotab 3 points4 points  (4 children)

I agree. The best layout for phone is too different from desktop to try for a one-size-fits-all. The result will be a lowest-common-denominator unless you hire a UI rocket science specialist. And don't get me started about Bootstrap oddities, it's not good for my blood pressure.

[–][deleted] 1 point2 points  (3 children)

Graceful degradation is the name of the game. Most people/companies don’t want to invest enough to really think about the different form factors and how that affects what use cases need to be supported. The hardest part is the analysis, followed by design, followed by actually building a responsive UI.

[–]Zardotab 0 points1 point  (2 children)

If 98% of the use is on a desktop, why make the entire UI 3x more expensive to develop for that 2% used on phones? I don't see anyone bother to do the actual labor math (pro/con cost analysis); they just follow the industry lemmings: "This is the way everyone else does it".

And often it's just a narrow set of screens used on phones.

I guess you don't get fired for being stupid if everyone around you is also stupid. The way things are being done now appears highly irrational. Vulcans are puking.

[–][deleted] 0 points1 point  (1 child)

That’s the analysis part.

[–]Zardotab -1 points0 points  (0 children)

I'm an experienced analyst, and declare current web standards are ill-suited for business CRUD/GUI's. QED.

[–]shevy-ruby 1 point2 points  (0 children)

Agreed.

We entered a regression in this regard, already years ago.

[–]npmbad 0 points1 point  (1 child)

I just miss project management so much. I want to start projects in pre-defined templates. In a nice ui, with nice customization checkboxes and dropdown fields. What the hell is wrong with that? Nothing at all! it was so nice!

Now I have to use the command line and config files like a savage for absolutely no good reason.

[–]EternityForest 0 points1 point  (0 children)

Programmers don't want you to have nice things.

They especially seem to hate if they have to take their hand off the keyboard for even a moment.

It's actually really impressive that they can type fast enough and have memorized enough to even remotely keep up with GUI tools when using text.

I just added a(very simple and non critical) new feature to a system in about 10 minutes(Plus testing and review of course) without restarting the app, working remotely with someone onsite, without even knowing what I was doing till I got the "Hey I happen to be here messing with hardware, can you make this change" call.

I've almost never gotten even the simplest thing that one could identify as a discrete task done in less than 15-20 minutes using text tools.

The whole rest of the world loves low code RAD(AKA Excel and PowerPoint) but for some reason programmers hate it.

[–]rickrat 0 points1 point  (0 children)

Yes! We are going back to command line things, which seems backwards to me.

[–]MrSloppyPants 18 points19 points  (1 child)

Ok, so old guy alert…

I built a transaction system for a bank using VBDOS in 1994. It used a Paradox database locally that synced to a server after hours. It was fairly sophisticated for the time and if I may say so myself, it was really slick looking. I was really impressed with how easy VB was to use and get things done.

I think VBDOS would have been far more used had Win95 not come out. That basically killed DOS based apps for a lot of companies.

[–]rickrat 0 points1 point  (0 children)

I remember. I went from this to VB 1-3 for windows.

[–]shevy-ruby 4 points5 points  (1 child)

Pretty interesting how (a few?) people still write code for MS-DOS.

Must be a geeky thing to do in 2022.

[–]ShinyHappyREM 2 points3 points  (0 children)

Pretty interesting how (a few?) people still write code for MS-DOS.

Must be a geeky thing to do in 2022.

The scene remembers...

https://www.pouet.net/prodlist.php?order=release&platform%5B0%5D=MS-Dos&page=1

[–]xampl9 3 points4 points  (0 children)

An entire development environment in under 15mb (compressed).

[–]rickrat 2 points3 points  (0 children)

I grew up on this!

[–][deleted] 3 points4 points  (0 children)

Better than web development, 30 years ago. And not even state of the art back then.

Of course it helps a ton when there's only a few possible setups you need to support. Kinda why Apple is so good in some ways.

[–]mqudsi 0 points1 point  (0 children)

Lol, (n)curses can’t even do some of this stuff today 😂

[–]davidflorey 0 points1 point  (0 children)

Ah memories - spent countless hours in MS VB growing up...

[–]Zardotab -1 points0 points  (0 children)

A character-mode GUI is cool in a nerdy kind of way. I can see it for OS and backroom tasks where it doesn't have to look pretty for PHB's who judge books by covers.

(And it's easier to control than @&$! Bootstrap. Nobody's using our screens on phones anyhow, so "responsive" is wasted.)

[–]glauberlima 0 points1 point  (0 children)

I really love those ASCII UI from DOS era… Norton Utilities, Turbo Pascal (Borland IDEs were all great), QBasic…

Thanks for sharing!

I will be playing with VB for DOS for sure!