Fork me on GitHub
#off-topic
<
2021-05-11
>
sova-soars-the-sora16:05:56

If clojurians were to redesign html/css/js/ the browser experience... i wonder what that would look like.

sova-soars-the-sora16:05:18

a clojure-based browser 😄

Stuart16:05:34

wasn't the initial idea for javascript to be scheme?

marrs16:05:05

Yes. JavaScript is scheme with an object system borrowed from Self and a syntax borrowed from Java

marrs16:05:03

Eich’s original scripting language was in fact Scheme but management told him not to be silly and to try again

thumbnail16:05:34

On fosdem 2020 there was a talk about nyxt-browser (called next back then). a browser built in common lisp. (https://github.com/atlas-engineer/nyxt) The engine is pluggable (Blink / Webkit allowed), looked pretty interesting. Obivously just an UI though (not re-imagining html/js/css 😛)

thumbnail18:05:34

also; yes. I was at the 2020 talk; but since there was another talk too it seems 🙂

Stuart18:05:08

On the subject of css, I'd really like something new and better to come along. Then I won't be fighting with issues like this: Why is it moving! W.T.A.F

Aron19:05:41

I bet it's some dynamic css causing it, loading then unloading. I don't think this is actually something that's just CSS's problem, similar issues can arise in any context.

naomarik18:05:42

looks like you got something changing the window height slightly to put the vertical scrollbar on right side.

Stuart18:05:55

It was working when I had stuff lower on the page. I had stuff I had to scroll down to see, I removed that. ANd now everything twitches

naomarik18:05:54

yeah because the scrollbar was always present

Stuart18:05:54

You're right, so I need to now make one of the top three boxes smaller

Stuart18:05:55

but i dont understand, how is the vertical scrollbar being triggered?

naomarik18:05:19

dunno without seeing the page, perhaps have an element that's resizing itself by 1px

naomarik18:05:07

can take a quick look at it if you want if you have a link

Stuart18:05:08

ive pushed it to my git live page thing https://stuartstein777.github.io/ It twitches, but if you hit parse then play, it twitches even worse!

Stuart18:05:46

I think I'm just going to move the output box to the bottom row

naomarik18:05:29

yeah not getting the issue on my mac, and i'm pretty sure if you resize your window just slightly to reduce the height it won't happen to you either. can check on my pc when i get back home

hindol18:05:04

@qmstuart Even if moving the output box fixes it for you, the issue will still remain. Someone with a different screen size may hit it. It is perfectly fine if you are the only one using it though.

phronmophobic19:05:50

Does anyone have any links/resources for what an ideal, clojure based layout library might look like? (no relation to html/css required)

respatialized19:05:10

https://gss.github.io/guides/ccss Not Clojure based, but IMO constraint solvers are the only approach that matches both the essential complexity of rendering layouts and the accidental complexity inherited from CSS.

phronmophobic19:05:50

backwards compatibility with CSS is non-goal

phronmophobic19:05:50

I recently read Grid Systems in graphic design by Joseph MĂźller-Brockmann which was really interesting. It's the kind of approach I would be interested in, but it only covers static print. It doesn't really cover dynamic UI (it's from 1981)

Max23:05:14

So interestingly enough, Apple’s UI frameworks have used constraint-based systems for a long time and devs hate it. They’re now moving away from it with SwiftUI. I was all gung-ho on ccss and gss before I played around with the Apple version a little and I kind of get it: when the tool you have is CSS you often run into problems that feel like they’d be easier to solve with a constraint-based system, but when the tool you have is a constraint-based system, you just want the overconstrainted/underconstrained errors to go away

phronmophobic23:05:48

Does that include designer sentiment? I think one issue that could use more work is being more thoughtful about the hand off between designers and programmers. It's hard to tell if the issue with constraints is the tooling, workflow issues between programmers and designers, or some combination of other factors.

phronmophobic23:05:45

Just browsing the layout options in SwiftUI, it seems like it's mostly VStacks and HStacks which is reasonable from a programmer perspective, but it kind of already assumes that the paddings, frames, etc. have already been worked out by a designer. It doesn't seem to try to encode or build on top of any design system. The intended workflow seems different compared to the Interface builder approach where you could theoretically have a designer fully layout the UI and the programmer just hooks up actions.

Max00:05:28

I haven’t worked in iOS so I can’t speak much to how it’d work in practice, but my sense is that interface builder is targeted at newbie devs/small teams moreso than designers. Having used it, it does take a fair amount of technical expertise to use effectively. Another interesting data point: from what I’ve heard, one of the first things experienced iOS devs do when “productionalizing” an app is ditch Interface Builder in favor of the plain code. There’s even a bunch of libraries for writing constraints in code more easily. So I get the sense that in general, IF and possibly also constraints don’t scale well? That matches my intuition too: in SwiftUI, interactions are “local”, in that a component can’t base its layout on a component that doesn’t have the same parent. With constraints, any component can reach across the interface and base its layout on anything else, which could yield more entangled/complected results

👍 4
sova-soars-the-sora13:05:58

"Grid Systems in graphic design by Joseph MĂźller-Brockmann" sounds awesome

Aron19:05:17

sounds like asking for an ideal framework

respatialized19:05:10

https://gss.github.io/guides/ccss Not Clojure based, but IMO constraint solvers are the only approach that matches both the essential complexity of rendering layouts and the accidental complexity inherited from CSS.

phronmophobic19:05:23

I guess ideal isn't the right adjective, but any ideas for a cohesive, thoughtful approach. I think iOS is based on the https://constraints.cs.washington.edu/cassowary/. SwiftUI has some interesting ideas.

😅 3
sova-soars-the-sora13:05:40

CSS is apparently a descendant from "let's make a magazine on the screen" and has things like "float" and "clear" because it assumes a "flow" to the "page"

Aron19:05:43

I see, that makes way more sense to me, said it that way, thank you

rakyi20:05:11

not exactly Clojure, but https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/ looked interesting when I checked it long time ago

👍 3
phronmophobic21:05:30

this talk is really interesting so far, https://www.youtube.com/watch?v=Ie-gqwSHQr0. thanks for the pointer!

lilactown21:05:11

facebook’s yoga is a layout engine that implements flexbox cross-platform

phronmophobic21:05:39

seems interesting. Is there any sort of background on why things are the way they are? Like a rationale or first principles approach? I've been slowly reading through different design systems which is the closest analog I can find.

phronmophobic21:05:58

As an example, I think "Grid Systems in graphic design" by Joseph MĂźller-Brockmann is the type of thing I'm looking for, but for computer UIs rather than print

lilactown21:05:06

I don't know anything off hand but flexbox seems to be something that a lot of time and effort went into. I'm sure there's resources out there that goes into the background and rationale of its design

phronmophobic22:05:51

Looking at the https://annairish.github.io/historicizing/history, it seems like it was derived from Mozilla's XUL. I didn't realize flexbox originated in 2008. This is the closest resource I could find to anything that might resemble a problem statement or rationale: http://mb.eschew.org/2 The design examples are pretty great, http://mb.eschew.org/figures/figure2.7.jpg

sova-soars-the-sora00:05:40

flex-box is kinda old and kinda new and also when do i use it? 😄?

mauricio.szabo23:05:45

@U3ES97LAC every time, if possible. Flex is quite amazing to be honest :)

sova-soars-the-sora13:05:59

Hmm I'll have to put some time into learning what the heck it is.

lilactown21:05:32

it is related but not exactly compatible with web’s flexbox