News for hackers. Stuff that matters.
Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by whylo on Thursday November 05, 2020 @07:37AM (#24997694)
Unfortunately it looks like the output, at least on the web, is completely inaccessible. The DOM of the Simple Calculator example (https://calculator.platform.uno/) and the gallery (https://gallery.platform.uno/) is a div soup with no use of HTML-native widgets for buttons, radios, checkboxes etc. Nothing is keyboard-focusable and there's no screen reader support at all. I'm not sure how it fares on desktop but I would strongly urge people not to use this in its current state for web applications
Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by jlaban-uno on Thursday November 05, 2020 @09:06AM (#24998286)
- Uno dev here

Accessibility is high on our feature list; we have added aria base support in recent builds of Uno, which the calculator will start using soon (the iOS https://apps.apple.com/us/app/uno-calculator/id1464736591 and Android https://play.google.com/store/apps/details?id=uno.platform.c...) versions of the same app are screen-reader enabled). The Linux one (Snap https://snapcraft.io/uno-calculator, AppImage https://github.com/unoplatform/calculator/releases/tag/1.2.4...) is not yet enabled, but will also be.

The WinUI framework provides great accessibility support, and we intend to port it fully in the coming months.

Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by whylo on Thursday November 05, 2020 @09:13AM (#24998345)
Thanks for your response. It's great to hear you're improving accessibility - I look forward to trying it out when it's released

If anyone else is interested, I found the relevant GitHub issue: https://github.com/unoplatform/uno/issues/1141

Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by thomasfromcdnjs on Thursday November 05, 2020 @07:45AM (#24997748)
I've been thinking for a while that the larger spidering community (google/bots) can just agree on a way to associate data with a url.

e.g.

https://blah.com/dashboard (web assembly) (not indexable)

https://blah.com/dashboard.data (common format for representing data) (what the DOM currently tries to do)

Then somewhere in your <head> you point it at the pages data representation.

I'm going to bet something like this will happen and be a stepping stone towards the future.

It will have a million or so problems to solve such as accessibility, but I'm convinced all we do in programming is reinvent wheels but reduce the friction to speed as we go.

Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by s_fischer on Thursday November 05, 2020 @08:21AM (#24997981)
Wouldn't separating the indexable content from the actual DOM representation be a huge opportunity for abuse? It seems like it would make it much easier to game SEO or mislead users for even more malicious reasons.
Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by thomasfromcdnjs on Thursday November 05, 2020 @08:43AM (#24998134)
Yeah I agree, don't doubt it will have problems.

Search engines have been dealing with black hat SEO for a while now. I'm a bit persuaded that Google knows whats up.

As in, I think it's just one of those inevitable technical challenges of castle defence.

Build better walls, they build better trebuchets, ad infinitum.

Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by sdfhbdf on Thursday November 05, 2020 @07:59AM (#24997836)
That's interesting you mention.

I think it's already happening in a little different form with Structured Data [1] and schema.org and it's using for example JSON-LD [2].

But a separate endpoint might also be an evolution. Right now this could be the sitemaps and robots.txt as an entrypoint for spiders.

Although the one drawback that comes to my mind with a separate endpoint is that it'd have to be kept in sync with the normal page and that might vastly enlarge the costs for maintaining it. So keeping it close to the DOM seems to be reasonable

[1]: https://developers.google.com/search/docs/guides/intro-struc...

[2]: https://json-ld.org

Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by thomasfromcdnjs on Thursday November 05, 2020 @08:51AM (#24998178)
Sounds like we come from the same experience.

I think for anyone who wants to pioneer this idea, the costs will be noticeable, but that's what bandwagons and the youth are for =D

Ultimately I think there will be a reduction in costs (bits, process, maintenance)

To steal from React lingo, UI represented as state, that is more or less what any web page is.

Wrapping it in a meta layer like the DOM just adds overhead which I think can be optimized.

I'm undecided but still entertaining the idea.

Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by cool-RR on Thursday November 05, 2020 @10:04AM (#24998825)
Given that they promise pixel-perfect cross-platform control, I don't see how it's reasonable for them to use DOM elements. Unless they have an embedded browser in all the other platforms, and even then I doubt they'd get to pixel-perfect control.
Re:Uno: Single-Codebase for Windows, WebAssembly, iOS, macOS... by athenot on Thursday November 05, 2020 @10:29AM (#24999051)
This also looks very foreign on the mac.