News for hackers. Stuff that matters.
Re:It’s time to kill the web app by alkonaut on Saturday September 23, 2017 @06:58PM (#15322235)
I just find the way DOM/CSS does layout and styling to be completely convoluted and crazy compared to any desktop toolkit since 1990. Center anything either vertically or horizontally - that cannot require me to google and most importantly cannot have multiple different solutions. Simple things should not just have simple solutions, they should have one simple solution.

Memory-unsafe programs on the desktop should go the same way as the HTML layout model.

Re:It’s time to kill the web app by TheAceOfHearts on Saturday September 23, 2017 @11:15PM (#15323117)
As the other commenter said, flexbox and gridbox help alleviate many issues that used to be commonly raised a few years back.

Check out Yoga [0]. It's a small layout engine based on flexbox and the CSS box moel. It doesn't cover all use-cases, but it's pretty powerful for its size. I

It's important to remember that CSS and the DOM was initially created and developed with certain kinds of documents in mind. Both are certainly quirky and missing a lot of features, but I wouldn't say they're as bad as many people make it out to be. Based on my experience with native desktop toolkits, they're all quirky in one way or another. One of the biggest issues with modern CSS is that it doesn't have sensible defaults for web apps.

Could you provide an example of your preferred approach to handling layout and styles, and talk a bit about what why you consider it superior?

What key features do you consider missing from CSS and the web?

[0] https://facebook.github.io/yoga/

Re:It’s time to kill the web app by jiggunjer on Saturday September 23, 2017 @11:40PM (#15323184)
What bothers me is that I can't make rules with the same expressive power as a regex.

Also css lacks properties for controlling wrapping limits and non-linear image scaling. And for some reason I always have to optimize on either width or height, I can't control both perfectly.

Re:It’s time to kill the web app by TheAceOfHearts on Sunday September 24, 2017 @12:17AM (#15323274)
I don't understand the first point, could you clarify? Do you mean you wish to define your own CSS properties? You may find it exciting to learn that there's ongoing work to enable this functionality and more through Houdini [0]. You can check out a few examples at this houdini-samples [1] repo.

I'm unclear on what you mean by wrapping limits and non-linear image scaling. Could you provide an example of what you'd like to achieve?

As for having to optimize for width or height. Have you looked into display: grid? I believe it may help enable the kind of layout you're interesting in achieving.

[0] https://drafts.css-houdini.org

[1] https://github.com/GoogleChromeLabs/houdini-samples

Re:It’s time to kill the web app by RUG3Y on Saturday September 23, 2017 @11:49PM (#15323204)
That sounds awesome except for that fact that my customers refuse to use modern browsers that support modern CSS features. GRRR.
Re:It’s time to kill the web app by extrapickles on Sunday September 24, 2017 @12:01AM (#15323236)
For those customers, I gave them an ‘application’ version that was just nw.js (basically chrome). Worked reasonably well for the customers that had somewhat recent OS on their desktops or terminal server.
Re:It’s time to kill the web app by Endy on Sunday September 24, 2017 @01:48AM (#15323515)
Your customers sound like the smartest and most sensible people I've heard about in a while. The current way the Web is changing makes it almost impossible for in-house use in a large corporate environment. But at the same time, it's almost impossible to avoid it entirely; so instead do the smart thing and put a hard stop on it and refuse to hit the moving target.
Re:It’s time to kill the web app by RUG3Y on Monday September 25, 2017 @11:06AM (#15331038)
I don't disagree. I feel like I'm caught in the middle. I personally prefer the old internet where websites could have simple design and typography and still be perceived to have value.
Re:It’s time to kill the web app by marmart on Saturday September 23, 2017 @07:00PM (#15322239)
Gridbox and Flexbox largely make layouts sane again.
Re:It’s time to kill the web app by giblaz on Saturday September 23, 2017 @07:16PM (#15322301)
This to both. However, the problem with the web is there are old implementations that must be maintained in browsers for backwards compatibility. The issue with this is that it increases the barrier to entry for web development because it's much harder for a new person to even know what options to gravitate to.

Of course, there are books and guides to help people, but how would someone figure out which guides are worth it? There are a lot of highly rated books on the topic of web development and if you don't already know what you need, it can be daunting.

But yes, flexbox is great.

Re:It’s time to kill the web app by spynxic on Saturday September 23, 2017 @07:26PM (#15322338)
For the sake of creativity, suppose browsers were the wrong direction to take for web exploration. What do we do now?

The same idea may be applied to an operating system's ability to allow a user to operate on their machine.

Edit: It would be useful to consider why the need for a universal interface to the internet was originally sought out.

Re:It’s time to kill the web app by rident on Saturday September 23, 2017 @10:15PM (#15322883)
Douglas Crockford would say The Seif Project: http://seif.place/

https://www.youtube.com/watch?v=fQWRoLf7bns

Re:It’s time to kill the web app by webjprgm on Saturday September 23, 2017 @07:46PM (#15322402)
Telnet? That's the alternative I can remember.
Re:It’s time to kill the web app by kbutler on Saturday September 23, 2017 @07:53PM (#15322431)
Gopher!
Re:It’s time to kill the web app by azernik on Saturday September 23, 2017 @09:53PM (#15322827)
The old implementations are going away a lot faster than any greenfield environment can totally replace the browser.
Re:It’s time to kill the web app by bayonetz on Saturday September 23, 2017 @10:19PM (#15322901)
True but it's crazy that it took 20 years to get sane layout control.
Re:It’s time to kill the web app by thecrazyone on Saturday September 23, 2017 @10:40PM (#15322984)
Well _it is_ crazy. We can't trace an alternate history and work with that. We work with what we have.

I think, here, we might looking at it with the wrong lens. I'm unable to find the right words to say this. Let me say this statement feels ungrateful. Web is the largest and fastest growing ecosystem of software we've right now (refer: community size, number of projects on github, say, in Javascipt, CSS, and other web technologies).

You're comparing what is what should've been. By that measure, any human activity will fall short of not only yours but anybody's expectations.

You'd think that getting sane layout control is easy, but apparently it's not. Getting a lot of humans to agree on a fast growing technology is hard (it seems like).

PS: I'm not saying "nothing could've been better, be happy with what you have", not at all. I'm just saying this seems like complaining and a better approach is to try and make it better

I needn't have written up a long tirade for such a simple statement. I see that this is the same sentiment that's espoused by several others in this thread, and thought I'd try and provide a different perspective to look at this with

edit: formatting

Re:It’s time to kill the web app by bayonetz on Sunday September 24, 2017 @01:49PM (#15325707)
Fair enough. I just get sad knowing what I'm missing. I've worked with a bunch of desktop GUI builder IDEs (Visual Basic, .Net WinForms, WPF/XAML, and Qt) and I've seen the immense power they have in terms of developer productivity and application performance. Something like XAML is especially interesting because it brings the styling and responsiveness of HTML/CSS to the GUI builder paradigm. I started off with them and then have slowly transitioned to working entirely with web technologies (PHP, Rails, Angular, React, you name it). Not without reluctance for sure! It's a Faustian bargain to me -- trading off overall inferior technology and developer experience for the sheer reach and ease of deployment of the web. It's nuts to me to design a visual thing like a UI by writing lines of code. The GUI builders of yore really nailed this by allowing you to design something visual using a visual modality (drag n drop, realtime layout designers, etc.). I try to explain this folks who've only ever developed for web and usually their eyes glaze over. They can't seem to (or have an incentive not to?) appreciate the impedance mismatches and the fundamental trades being made with web user interfaces.
Re:It’s time to kill the web app by vinnymac on Saturday September 23, 2017 @10:57PM (#15323049)
Your perspective is very interesting to me. It makes me think that as software gets better/easier to write, as web development has become lately, people want to question why it is becoming better/easier. I think this self-reflection we have all been doing on the web is what is causing people to post so many threads and articles with this being the topic.
Re:It’s time to kill the web app by mike_hearn on Sunday September 24, 2017 @09:20AM (#15324594)
Sane layout control for apps was a solved problem 15 years ago (well, for some definition of sane). Look at toolkits like Swing, GTK2, Qt, heck even Cocoa has better layout control for apps than HTML.

Flexbox is essentially an import of those concepts to CSS. There are no new ideas there.

But now flip it around and try to make a beautiful, responsive document in Swing or GTK. The layout managers that make them so great for laying out UIs won't help you much there. They can do it, they have layout managers that operate somewhat like a CSS box flow, but it won't be as natural or as easy.

So it's worth considering if it's easier to evolve HTML towards sane layout management for app-like things, or GUI toolkits towards sane layout management for document-like things.

Re:It’s time to kill the web app by x0x0 on Saturday September 23, 2017 @07:12PM (#15322286)
I used vb6 20 years ago and have recently (quite unfortunately) had to learn html/js/css basics. The web is hot garbage for displaying form data compared to microsoft tools circa 1996.
Re:It’s time to kill the web app by gregmac on Sunday September 24, 2017 @01:34AM (#15323478)
The big problem is they are trying to solve different problems.

Microsoft stuff was going for fixed screen size/resolution, fixed layout, and using a quite limited set of controls.

Web browsers try to be accommodating by default - any screen size (including mobile), zoom built in, and significantly more powerful control primitives that allow enormous flexibility in the way to design things.

If you're building forms applications that only need to work on a PC, the old way was certainly easier, and in fact, Microsoft has WebForms (regular ASP.NET - not MVC or API) that is pretty similar (and doesn't horribly break down so long as you color within the lines, so to speak).

Try to imagine your vb6 app being able to scale down to window the size of a phone screen, and how the WYSIWYG editor for that works even work - I imagine it would be fair to describe it as "hot garbage" also.

Re:It’s time to kill the web app by mike_hearn on Sunday September 24, 2017 @09:21AM (#15324597)
Very few web apps actually use the same HTML for desktop and mobile. It's more common for WordPress templates and other document-like things, but the UI constraints on a phone are so different that it's better to create a dedicated UI for them. So I'm not sure judging VB6 by that metric is valuable.
Re:It’s time to kill the web app by gregmac on Sunday September 24, 2017 @11:49AM (#15325132)
It's not just mobile though - it's different dpi (4k screens are getting more popular), window sizes and zoom levels. Mobile is probably not a target for the forms apps the OP is talking about, but tablets may be, and different generations of various laptops and PCs are.

Web works across everything with little to no extra effort, whereas native app built with WYSIWYG UI builder is going to be constrained to certain hardware and take extra effort for handling display variations.

Re:It’s time to kill the web app by mike_hearn on Sunday September 24, 2017 @03:24PM (#15326074)
HiDPI was pioneered by Apple whose UI toolkits aren't particularly responsive at all.

You can certainly handle different window sizes with traditional UI layout managers. The only thing they don't do much of is totally changing the entire UI layout based on window size, and that's only because it's so rare to have a single app that's actually identical between tiny and huge screens.

Re:It’s time to kill the web app by pjmlp on Sunday September 24, 2017 @06:24AM (#15324182)
Super easy, VB.NET with WPF or UWP layouts.
Re:It’s time to kill the web app by gregmac on Sunday September 24, 2017 @11:54AM (#15325157)
WPF is much closer to web development than the drag and drop WYSIWYG UI development (VB6 / WinForms) the OP was taking about. I've never done UWP but it sounds nearly the same as WPF.
Re:It’s time to kill the web app by pjmlp on Sunday September 24, 2017 @12:39PM (#15325396)
WPF/UWP have exactly the same drag and drop WYSIWYG support as Windows Forms, specially when using Blend, actual components and an healthy market of companies selling them.
Re:It’s time to kill the web app by api on Saturday September 23, 2017 @07:41PM (#15322387)
MS really had rapid GUI development absolutely nailed in the late 90s. For some reason we forgot all that.
Re:It’s time to kill the web app by otakucode on Saturday September 23, 2017 @11:16PM (#15323121)
I was really surprised when I went and wanted to build a GUI app to find that everyone had abandoned the WYSIWG model completely. You can't just drag your controls over, set their properties, then build the code to drive everything. You have to manually wrestle with containers and whatnot even for desktop things. I could potentially see it as an acceptable tradeoff for wide device compatibility (things with substantially different screen dimensions, etc)... but I still have yet to figure out why the layout systems of the past couldn't simply be made a little bit smart to deduce the constraints necessary to result in the same development experience as before.
Re:It’s time to kill the web app by api on Sunday September 24, 2017 @12:15AM (#15323268)
I've come to believe that some number of developers actually like it the hard way. It's the only explanation that makes sense. We have gone so far backward in GUI development tools.
Re:It’s time to kill the web app by alkonaut on Sunday September 24, 2017 @01:43PM (#15325673)
WPF still works nicely for prototyping in a visual editor. Declarative is much more robust than the old imperative awt/swing/winforms.
Re:It’s time to kill the web app by jkmcf on Saturday September 23, 2017 @10:52PM (#15323032)
MS had nothing on Sun’s Dev Guide, the easiest and best GUI dev tool i’ve ever seen.

I say this because it took me zero effort to use due to how intuitive it was to get started...

Re:It’s time to kill the web app by ibdknox on Sunday September 24, 2017 @01:21AM (#15323442)
do you have any pointers for learning about it? Looking up "Sun Dev Guide" didn't seem to find me anything related to GUI editors.
Re:It’s time to kill the web app by cm2187 on Sunday September 24, 2017 @02:21AM (#15323570)
And what I don't understand is how the same people managed to get it completely wrong with WPF 10y later, with an extremely convoluted syntax, no autocomplete, poor tooling, etc
Re:It’s time to kill the web app by pjmlp on Sunday September 24, 2017 @06:26AM (#15324184)
The milenials never learned it because Web is so cool!

MS tools are still here for those of us doing native Windows development.

Also the Apple and Google GUI tooling for their mobile OSes are quite good.

Re:It’s time to kill the web app by Udik on Saturday September 23, 2017 @07:40PM (#15322383)
The problem is that if you present an average web user with the interface you can design (quickly and efficiently) in VB6, they'll spit in your face.

Much of the complexity of web design is not in the tools; it's in the fact that users don't expect a standard whatsoever, they just expect their UIs to be as slick and customly designed as magazines. If every website was written using the same standard, predefined set of widgets and components, the complexity would disappear.

Re:It’s time to kill the web app by gkya on Saturday September 23, 2017 @08:35PM (#15322581)
This is pure illusion. Otherwise reddit, 4chan, hn, google (until 2010), craigslist, and even amazon would suffocate and go away. The fact is that what makes a web app / web site / whatever be liked by the users is the content and the value; and often times a 2005 porn pop-under is better at that than a today's chic, pedantically over-designed website with grey huge lettering, multi-MB graphics, and tonnes of wasted empty areas. They are basically like coke, blunt useless stuff with lots of sugar.
Re:It’s time to kill the web app by ehnto on Saturday September 23, 2017 @09:29PM (#15322758)
Those communities are all very niche, and in fact part of their brand and image is in their design. Even though they are less flashy, that is the point. Try to convince the owner of a clothing ecommerce site that their store should look like a 4chan bulletin board while trying to sell high priced garments to the public, or that the Coke website can't have a vibrant design in line with the rest of their branding.
Re:It’s time to kill the web app by gkya on Sunday September 24, 2017 @05:59AM (#15324122)
So Google and Amazon are niche? And if the plainness/unelaboratedness of deaign is part if Reddit's identity, why most subreddits use elaborate custom CSS? And what I'm saying is different anyways: when you provide some real value, your design is irrelevant. Otherwise you are employing the put-moar-sugar-in-it technique of marketing. Kudos if you make it work, but it's far fetched to say that it's necessary.
Re:It’s time to kill the web app by ehnto on Sunday September 24, 2017 @08:45AM (#15324472)
The are wildly popular but they are in a niche yes. When they were not the Google we know today there were not many providing the same service or value, and potentially still isn't, so that is why they could get away with bland design. It was never bad design mind you.

Amazon is also king of providing value in their markets, and their markets are also apathetic toward flashy design. I don't need animations when I am provisioning an AWS instance nor when I am buying goods at the lowest possible price I can find.

However if I were not me, and I were shopping for luxury or boutique goods, a site that looked like Amazon would not instill me with confidence.

My point is just that the web has diverse design and UX needs and the current toolset caters for that. If someone managed to build a platform with those benefits and more and the webs market penetration then I would be on board.

I will argue still that it is necessary if you want an alternative to the web, as the alternative has to be a better value proposition for the end user not the developer.

Re:It’s time to kill the web app by Karrot_Kream on Saturday September 23, 2017 @11:10PM (#15323096)
I'd like to pose a WhatsApp commerce group as a counterexample.
Re:It’s time to kill the web app by ehnto on Saturday September 23, 2017 @11:35PM (#15323175)
A good counter! However it also helps the argument that the web is diverse enough that having a hyper flexible UI system is beneficial.
Re:It’s time to kill the web app by Endy on Sunday September 24, 2017 @01:57AM (#15323531)
I don't understand one point here - why wouldn't Coke be able to have vibrancy? Animated .GIF images have worked very reliably for web layouts since... forever; and I don't think anyone's going to start calling for everything to be pastels online or in a fixed color scheme. I don't feel that Reddit is by any means 'niche', either. And of course a clothing store (which is an e-commerce product) should look different from an image board; again, no one in their right mind is going to demand otherwise. But they should be able to be defined by the same set of tools (personally, when I design webpages, even under WordPress, I still use HTML tables and the center tag. Heck, I've used the marquee tag in the last year.
Re:It’s time to kill the web app by ehnto on Sunday September 24, 2017 @08:52AM (#15324496)
I am a huge proponent of keeping it simple for websites. If you can achieve the same branding with less tooling then that is ace, and it is what I try to do. Less complexity means it's more maintainable and normally quicker to build.

But it will need to be the same experience that the client asked for. Coke is never going to ask you for a react website with webpack tooling and a lambda backend, they are going to come to you with some grand vision of an application that their marketing team imagined in the shower months ago and has been workshopped into a mess. You may or may not be able to deliver that with simple HTML and CSS.

I am also keen for the web to move toward some kind of stability in technology as well, the churn and wheel reinvention factory that we currently have is creating a bit of a mess but I don't think it's worth throwing the web away just yet.

Re:It’s time to kill the web app by Endy on Sunday September 24, 2017 @09:18AM (#15324583)
My response to "grand vision" projects is to say, "work up an actual spec of what's necessary, and I'll respond based on what's technically feasible." I find that when they finally get their heads out of their entrails, most needs are very simple. Animation can be done in .gif, static images can be supported by imagemaps and tables.
Re:It’s time to kill the web app by hesarenu on Saturday September 23, 2017 @10:35PM (#15322965)
I use Amazon just because it has great service. But it's UI is atrocious. Flipkart blows it apart when it comes to UI. So easy to search based on several sub parts. it's Mobile UI is also very well done.
Re:It’s time to kill the web app by namelost on Saturday September 23, 2017 @08:03PM (#15322470)
This is a really observant point.

Users expect every website to have a unique identity (unlike anything built with WinForms), that is what creates the complexity.

If you actually use something like bootstrap, your website will look unoriginal, but it will be dead easy to make.

Re:It’s time to kill the web app by mike_hearn on Sunday September 24, 2017 @09:44AM (#15324663)
Indeed. The lack of easy theming (i.e. difficulty of producing a unique visual brand) is one reason why desktop toolkits lost out to the web, amongst many others.
Re:It’s time to kill the web app by olmo on Saturday September 23, 2017 @07:54PM (#15322432)
Most enterprise web apps use bootstrap, that is quite Standart. But they do it on top of react/angular/grunt/we pack and a zillion npm packages to choose and keep updated. Nothing of this was necessary to make VB6 applications.
Re:It’s time to kill the web app by noir_lord on Saturday September 23, 2017 @08:00PM (#15322460)
This is true, the monstrosity I inherited at work is built on bootstrap (2...and it was started after 3 came out..) but modern tooling has radically improved.

yarn/typescript and (though some days I hate it..it has gotten better) webpack largely make it feel sane(r).

That said getting to a point where I was comfortable with all three was insanely more complex and time consuming that picking up Delphi 6 was in the early 2000's.

Shrugs, the beast is what it is until someone does something better.

Re:It’s time to kill the web app by catnaroek on Saturday September 23, 2017 @08:39PM (#15322590)
It's a pity that (classic) VB's excellent Form Designer is tied to such an ugly language.
Re:It’s time to kill the web app by int_19h on Saturday September 23, 2017 @10:27PM (#15322928)
VB6's form designer (and UI framework that underlies it) has one crucial problem: it has basically zero understanding of flexible layouts. As a result, things break as soon as you try to make an easily resizable window, or font size or family changes (even if it's something as simple as accommodating high DPI), or you localize the dialog and some strings become longer.

This lack of support for anything other than hardcoded absolute layout is exactly what made it so simple and easy to use. It's the equivalent of doing document layout by padding with spaces - it works for simple cases, and it's very easy to teach people, but it's a mess for anything even remotely complicated.

Re:It’s time to kill the web app by cm2187 on Sunday September 24, 2017 @02:25AM (#15323573)
I don't think anyone is advocating vb6 forms for today's tasks, it is a 30y old technology that hasn't been updated in 20y. But its simplicity and effectiveness was remarkable and should be considered a benchmark when designing new UI tools and technologies.
Re:It’s time to kill the web app by catnaroek on Saturday September 23, 2017 @11:13PM (#15323107)
> it has basically zero understanding of flexible layouts.

That's largely a non-issue to me. If I need anything fancy, I'll draw it myself. The simple stuff ought to be simple.

> As a result, things break as soon as you try to make an easily resizable window

Au contraire! It is much easier to make a resizable window when you are in full control of how nested widgets are resized along with it. That being said, some automation is fine (e.g., how MFC resizes views in response to their parent frame being resized) as long as simplicity isn't lost in the process (I'm looking at you, CSS).

Re:It’s time to kill the web app by pcwalton on Saturday September 23, 2017 @11:34PM (#15323171)
CSS is incredibly simple if all you care about is absolute positioning.

It's just that nobody wants to make a Win32 style app with absolute positioning on the Web. That's because responsive apps are superior to nonresizable, manually positioned UIs.

Re:It’s time to kill the web app by tluyben2 on Sunday September 24, 2017 @01:26AM (#15323457)
Are they? Most 'web apps' I use have a preferable browser size; if you use them at a smaller size they still work (they are responsive) but are just unusable for anything sane. So superior... I made those layouts with Delphi too early 90s and the same consistent behavior was true then as it is now; 99% (to not get 'source?' questions; I have been writing consumer software for almost 30 years and in my experience + the experience of peers I talk to) of consumer users of software click on maximize the first instance they open anything; browser or non browser. So sure, I use tiling window managers and like different windows, but most people don't, hence the success of tablets; they are simple because 1 app, maximized at a time. And those apps sure are responsive but they don't need to be; they look the same on all tablets for the resolution they were designed to be used at. Just simply scaling them would've worked fine for most people and usecases. You would have to write things twice; one for small screens (phones) and one for big screens (desktops) but that's not really that uncommon now either.
Re:It’s time to kill the web app by int_19h on Sunday September 24, 2017 @02:13AM (#15323554)
Delphi was better in that regard, because you could anchor sides and corners of widgets to their containers. In many cases, it was sufficient to allow for a resizable layout.

But it doesn't solve the problem with high DPI, changing fonts, and localized strings being sometimes significantly longer, requiring widgets to be resized to accommodate them.

Re:It’s time to kill the web app by tluyben2 on Sunday September 24, 2017 @03:44AM (#15323767)
Agreed. And yes, that needs some attention, but most people doing responsive web do not account for most of that either. What does changing fonts mean? You design something for a font and then change it afterwards or?

When I click on some languages (I am not native English and my native language, Dutch, is not very high on the list of priorities for most companies) in some of the biggest companies in the world, you notice it just wasn't designed for that. From just making it wrap and enlarge to break the design to simple sticking outside the box.

For some localizations (Chinese for one) you will have to redesign anyway because 'our' (not sure how to describe) designs simply do not work/sell over there.

Most global companies have a local presence doing their local sites; I know some, even inside the EU, very big companies that have a site per country and have the html/css look 'the same-ish' for the user but completely different when you check the source to accomodate for local taste / language.

I like the dream of this working, as I am a programmer, but I don't see it in real life and I find html/css just painful to work with; not difficult but painful compared to most desktop GUI tech. Flexbox etc is changing that a bit but still it looks like people are shoehorning everything in this html5 stuff just because they desperately not want to use/learn other things instead of using the best tool for the job.

Disclaimer: I am old and have seen this before. I do create webapps and use React (new license makes it workable outside hobby projects), but I will gripe about it like the author of the blog post.

Re:It’s time to kill the web app by int_19h on Sunday September 24, 2017 @04:57AM (#15323971)
> And yes, that needs some attention, but most people doing responsive web do not account for most of that either. What does changing fonts mean? You design something for a font and then change it afterwards or?

Think about user changing the default UI font. OS X and Windows both make it difficult to impossible, and for this exact reason. On Linux, though, it's common and expected (which is probably why all UI frameworks that target it do have some decent dynamic layout support).

But aside from font family, there's also the issue of font size. That one can be cranked up on high-DPI displays, or for accessibility purposes.

> I find html/css just painful to work with

Don't get me wrong, I'm certainly not praising HTML5 and CSS here. They're vastly overcomplicated for what they do, for app development. And layouts are a long solved problem in desktop UI frameworks - Qt, Tk, Swing, WPF are just a few examples. WPF in particular is a good example of an XML-based markup language specifically for UI, and it's light years ahead of HTML5 in terms of how easy it is to achieve common things, and how flexible things are overall.

If even half the time and energy invested into building "web apps" (including all the Electron-based stuff) went into an existing UI framework - let's say Qt and QML - we'd all be much better off; developers with far more convenient tools, and users with apps that look and feel native, work fast, and with smaller download sizes (because you aren't effectively shipping the whole damn browser with them).

Re:It’s time to kill the web app by pjmlp on Sunday September 24, 2017 @01:54PM (#15325727)
> WPF in particular is a good example of an XML-based markup language specifically for UI, and it's light years ahead of HTML5 in terms of how easy it is to achieve common things, and how flexible things are overall.

This is why I had big hopes in XHTML and the XML components, but then we got HTML5 instead, yet another pile of hacks.

Re:It’s time to kill the web app by pcwalton on Sunday September 24, 2017 @04:52AM (#15323953)
I used to write Petzold-style Win32 apps. I've also written native Cocoa apps as recently as last month, and I've used Qt and GTK+. Having experience with all of these, my preference is still for Web apps, because of the ease of portability and the fact that TypeScript beats C++ for ergonomics, safety, and ecosystem (just having a package manager is huge, even if NPM leaves something to be desired).

I find it fun to write Cocoa apps too, and I do on occasion for throwaway stuff that only I am going to use. But too many people (including me, at home!) simply don't use Macs. When I have to write a portable app, the choices basically come down to GTK+ (doesn't look native anywhere but GNOME on Linux), Qt (requires C++ plus moc and doesn't always look native either, for example on GNOME), or writing everything from scratch for every platform. While the last choice may be the "right" one from a purist's point of view, the extreme amount of work necessary to make duplicate Windows/Mac/Linux (often plus Android and iOS) versions makes it all but out of reach for anyone but big companies.

Re:It’s time to kill the web app by pjmlp on Sunday September 24, 2017 @02:07PM (#15325772)
When I started coding for Win16, my first option was Turbo Pascal with OWL, eventually I started to use Turbo C++ with OWL.

With the switch to Win32, the tools became VB, Delphi, Smalltalk and Visual C++ with MFC.

Like every Windows developer I also own the Petzold book, bought for Window 3.0 development, and other good one from Sybex, probalby the one book that ever explained how to properly use STRICT and Message Crackers introduced with WIndows 3.1 SDK.

However I might have written about five applications in pure Win32 API instead of using one of the former language/frameworks, as requirement for university projects.

In general, I think many developers only have the bare bones native experience without making use of proper RAD tooling, or the UNIX way, which has always been pretty bad in tooling for native GUIs versus Mac and Windows or even OS/2.

Re:It’s time to kill the web app by mwcampbell on Monday September 25, 2017 @10:38PM (#15335736)
Qt also isn't very good for accessibility. https://blind.guru/qta11y.html
Re:It’s time to kill the web app by alkonaut on Sunday September 24, 2017 @01:51PM (#15325716)
When the VB/MFC layout was replaced it was with WPF. WPF is declarative, flexible, handles high resolutions well etc.

It's what I imagine a reasonable HTML/CSS would look like.

Re:It’s time to kill the web app by int_19h on Sunday September 24, 2017 @02:12AM (#15323552)
Again, "anything fancy" here includes something as simple as a localized dialog. In most commercial apps, this means pretty much everything would require "drawing it yourself".

At which point you can basically throw the designer away, since you'll be writing code to manage layout for all widgets anyway.

Re:It’s time to kill the web app by catnaroek on Sunday September 24, 2017 @02:37AM (#15323595)
> Again, "anything fancy" here includes something as simple as a localized dialog. In most commercial apps, this means pretty much everything would require "drawing it yourself".

My day job is to implement a commercial ERP system that has never been and probably will never be localized.

All software I use on a daily basis is English-only, even when localized versions to my native language exist, because:

(0) The translations are absolutely horrible. Who in their right mind would think that they are actually “helpful”?

(1) Even if the translations weren't horrible, the extra complexity simply isn't worth it. (Admittedly, my tolerance for system complexity is rather low compared to most other users.)

So, from my point of view, when you talk about localization, you might as well introduce yourself as a visitor from a parallel universe (where localization is presumably useful).

Re:It’s time to kill the web app by mike_hearn on Sunday September 24, 2017 @09:43AM (#15324655)
GUI toolkits moved on since the 1990's.

Go download NetBeans and create a Swing UI in Matisse. You'll find these issues aren't an issue. You can drag/drop and end up with a flexible, responsive layout that can handle things like strings changing length due to localisation. You can do the same with Scene Builder for JavaFX, although it's not as slick as Matisse. Or even Glade, if you're more a UNIX person. The latter two tools require you to understand box packing but allow for a relatively responsive layout.

The thing they don't do is let you totally change the layout depending on window size. But that's a fairly easy trick to pull off by just swapping out between different UI designs at runtime. There are widgets that can do this for you.

Re:It’s time to kill the web app by int_19h on Sunday September 24, 2017 @10:55PM (#15327775)
I know that full well. But one thing that you might note about these tools that you've listed, is that they're nowhere near as simple as the VB6 form designer, that was exalted in the comment that started this whole thread. They're more complicated, because they have to deal with dynamic layouts, and you are exposed to this overhead even in visual mode.
Re:It’s time to kill the web app by mike_hearn on Monday September 25, 2017 @03:49AM (#15328674)
I guess technically you don't have to use dynamic layouts. All toolkits and designers I've seen do allow absolute positioning. It's just discouraged.

But yes, these days, people do expect windows to be always resizable and that does add some complexity.

Re:It’s time to kill the web app by pjmlp on Sunday September 24, 2017 @02:09PM (#15325781)
Even Windows Forms has a layout manager with data binding, but devs have to explicit take advantage of it, there is no need for "drawing it yourself".
Re:It’s time to kill the web app by int_19h on Sunday September 24, 2017 @11:02PM (#15327794)
WinForms layout managers are a pain to work with in the designer, though. It wasn't written with them in mind - they only showed up in .NET 2.0 - and it shows. Dragging and dropping things doesn't often do what you want them to do, and sometimes things just disappear, and you have to dig them out from the control tree.

Data binding is better in that regard, but once you start doing complicated nested data bindings, it's rather tedious to do it in the designer (because you can't just bind to "A.B.C" - you have to set up a hierarchy of data sources).

Worse yet, you start hitting obscure bugs in the frameworks. Here's an example that I ran into in a real-world production WinForms app ages ago (side note: I wasn't an MSFT employee back then, so this was an external bug report): https://connect.microsoft.com/VisualStudio/feedback/details/...

Having said all that, the aforementioned app was written entirely in WinForms, using designer for all dialogs (of which it had several dozen - we used embedded controls heavily as well), with dynamic layouts and data binding throughout. And it did ship successfully. So it wasn't all that bad. Still, not the kind of experience I'd want to repeat, when I can have WPF and hand-written XAML.

Re:It’s time to kill the web app by kingmanaz on Sunday September 24, 2017 @12:34AM (#15323326)
>That's largely a non-issue to me. If I need anything fancy, I'll draw it myself. The simple stuff ought to be simple.

Exactly. At least 90% of the functionality of my forms-based applications use nothing more than the standard UI components Tk provided in the early '90s. Why the web of 2017 still cannot grasp this is unfathomable. To be perfectly honest, I've never seen any toolkit match the productivity of Tcl's Tk of more than two decades ago, and it's even better today:

http://www.tkdocs.com/tutorial/

Re:It’s time to kill the web app by edwinyzh on Saturday September 23, 2017 @11:15PM (#15323119)
There are alternatives - https://www.lazarus-ide.org/ or Delphi.
Re:It’s time to kill the web app by petra on Saturday September 23, 2017 @07:35PM (#15322362)
The web isn't the place to look for good tooling.

Properiatery low-code tools built over the web are a better starting point.

Re:It’s time to kill the web app by zzzzerp on Saturday September 23, 2017 @09:56PM (#15322837)
I prefer no-code to low-code solutions.

Good lord I hate this buzzword bingo. How the hell are proprietary low-code tools better? In what world is that a sane response?

Re:It’s time to kill the web app by petra on Sunday September 24, 2017 @12:06PM (#15325224)
They are simpler.
Re:It’s time to kill the web app by rtpg on Saturday September 23, 2017 @08:26PM (#15322551)
I've found that , once you build up the right set of components for yourself, you can easily get nice layouts that work on a variety of screens without much work. There sometimes ends up with edge cases, but overall it works well so long as you design things with the tooling on mind.

Meanwhile I've struggled to get things looking well with GTK+ or Tcl/tk. Especially when the UI I'm trying to make is dynamic. The tooling has never seemed very condusive to "fit content"-style UIs

Re:It’s time to kill the web app by 3131s on Saturday September 23, 2017 @11:52PM (#15323213)
> Especially when the UI I'm trying to make is dynamic.

That's where I still run into problems with CSS too. However, at some point, and not because I started using flexbox / grid, CSS did click for me and now it's mostly second nature to get the layout that I'm going for.

My feeling on this whole topic is that while as a web developer I have often thought "there must be a simpler way", every time I actually start to imagine what that would look like I end up re-imagining something similar to the web stack as it is now. There is a lot of inherent complexity to GUI-based networked client-server applications that need to be responsive, continuously integrated, database-backed, real-time, etc.

Re:It’s time to kill the web app by yesimahuman on Saturday September 23, 2017 @07:53PM (#15322426)
The DOM is a tree UI data structure like any other UI system. CSS is certainly...unique, sure.