Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create draft for Unconference report #53

Merged
merged 18 commits into from
Jun 15, 2024
Merged

Create draft for Unconference report #53

merged 18 commits into from
Jun 15, 2024

Conversation

PoignardAzur
Copy link
Contributor

No description provided.

There was discussion about various platforms and build system, and the difficulty of having to eg write Java code for an Android port, and whether anyone wanted to take responsibility for maintaining that glue layer for the rest of the ecosystem.

Unfortunately the discussions on this subject didn't really go anywhere, as far as I could tell.
Packaging Rust apps is still very much an open problem.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general? Or just on mobile etc?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be honest, I dropped out of that discussion pretty quickly. I think someone else than me would be better placed to summarize it.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the Android-specific Java build, I've published the android-build crate under Project Robius.

We started some work on packaging Rust apps as of last week, but nothing there to share yet. Unfortunately David, who was working on this, has recently decided to leave the project, so packaging/bundling work has been stalled a bit.

Copy link
Member

@DJMcNab DJMcNab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, I really like this post; it lays things out well.

Not approving as still draft.

Provided some small feedback items, and a couple of one sentence per line misses

content/blog/2024-05-22-rustl-2024-unconference.md Outdated Show resolved Hide resolved

### Winit

By now all of the Rust ecosystem has firmly converged on [`winit`](https://github.com/rust-windowing/winit) as the windowing platform-abstraction solution of choice.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think Tauri also still uses TAO, although afaik they hope to use upstream.

content/blog/2024-05-22-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-05-22-rustl-2024-unconference.md Outdated Show resolved Hide resolved

- [winit](https://github.com/rust-windowing/winit) for creating windows.
- [AccessKit](https://github.com/AccessKit/accesskit/) for plugging into accessibility APIs.
- [Parley](https://github.com/linebender/parley) for rendering text and as a basis for a text-editing widget.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Afaik, rendering is out-of-scope for Parley, although I haven't dug into it too much.

content/blog/2024-05-22-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-05-22-rustl-2024-unconference.md Outdated Show resolved Hide resolved
@PoignardAzur
Copy link
Contributor Author

@alice-i-cecile @emilk @jkelleyrtp @DogeDark @kevinaboos @eddybruel @makepaddev

Could you confirm that the "Corporate funding" is currently accurate?

Corporate funding

For open-source projects, "Who funds this" is a difficult question: in any healthy project, there is a large scale of contributions, with individual non-corporate contributors at one end, and companies paying cash to the project's treasury at the other.
In-between are self-employed people like me contracted to work on an open-source project, and corporate employees who contribute to the project as part of their 9-to-5 job.

Some monetary contributions can also come from individual non-corporate donors: Servo has about fifty of them, for instance.

With that in mind, some notable sponsors for projects represented at the Unconference were:

  • Google Fonts: Linebender projects.
  • Futurewei: Dioxus, Makepad, and Servo.
  • Embark: Bevy, winit and rust-gpu.
  • Foresight Spatial Labs, MeetKai, Encultured and a few others: Bevy.
  • Igalia: Servo.
  • Wyeworks: Makepad.
  • Rerun.io: egui.

Not present at RustNL but relevant to the ecosystem are System76 (funding iced and COSMIC-Text) and Slint who are self-funding as a startup targetting embedded UIs.

Overall the number of different backers feels like a symptom of a healthy ecosystem: while some large corporate sponsors bring much more resources than others (Google and Futurewei especially), the ecosystem isn't in a state where any specific backer pulling out would completely collapse progress.

@PoignardAzur
Copy link
Contributor Author

Also @hecrj, pinging you to confirm, is this paragraph currently accurate?

Not present at RustNL but relevant to the ecosystem are System76 (funding iced and COSMIC-Text) and Slint who are self-funding as a startup targetting embedded UIs.

@PoignardAzur
Copy link
Contributor Author

@tronical Same question.

xorgy
xorgy previously requested changes Jun 10, 2024
Copy link
Member

@xorgy xorgy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added some suggestions, feel free to edit for voice if you feel like it. I don't think that much more needs to be said about these things, so I kept it simple.

content/blog/2024-05-22-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-05-22-rustl-2024-unconference.md Outdated Show resolved Hide resolved
@hecrj
Copy link

hecrj commented Jun 10, 2024

@PoignardAzur System76 does not directly fund iced development (i.e. me). They fund the development of a fork (maintained by them) with occasional contributions upstream.

iced is mainly funded by Kraken.

@xorgy context

@tronical
Copy link

@tronical Same question.

Regarding #53 (comment) , yes, that seems accurate. We were not present at RustNL (time constraints).

cc @ogoffart

@makepaddev
Copy link

makepaddev commented Jun 10, 2024 via email

@nicoburns
Copy link
Contributor

My understanding is that much of Igalia's work on Servo is ultimately being funded by Futurewei (with some funding also coming NLnet and Github/OpenCollective donations to the Servo project). I'm not sure if they're independently putting money into the project.

@mrego may be able to give you more accurate information on the Igalia/Servo funding situation.

Comment on lines 34 to 47
I'm not sure the self-organized format worked well.

From what I saw, the Embedded team took well to it, and the Rust team was kept productive thanks to Alice Cecile's efforts in marshalling everyone.

In the case of the GUI team, people were spread in a very large room, which should have been conducive to small side-discussions and people splitting up to talk about the problems that interested them. Instead, there was an unspoken accord to progress through agenda items one by one, with a few people dominating the discussions on these items.

Because those people we spread around a large room, they had to talk loudly to address each other, which left little room for side-discussions.
Because the people talking were naturally the more confident and extraverted, more introverted people ended up taking a passive role in the discussion.

To me, this feels like a strategic mistake.
It was a setup that encouraged bikeshedding and long back-and-forths, and discouraged plurality of opinions.
It's no coincidence that the most interesting conversations of the Unconference happened at lunch: lunch was the point of the Unconference where people were most mixed, had the most spontaneous conversations, and were least constrained by having to follow what someone else was saying.

Our discussion were still productive, I just feel like the format could have been improved.
Copy link

@kevinaboos kevinaboos Jun 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the critiques and feedback here; we'll definitely incorporate this and the other feedback we received for next time.

Regarding the agenda/topics/structure, given the total absence of replies to my requests before the unconf, I felt like I had no alternative but to bring up the suggested topical agenda and steer everyone through it at the top of the actual unconf proceedings, in order to ensure that nobody's views/issues got excluded. Hopefully, with more time to plan ahead of future unconfs (and ideally some additional participation from UI experts in the planning phase), we can receive more input from the attendees and come up with an agreed-upon agenda before we actually meet.

Copy link
Contributor

@nicoburns nicoburns Jun 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The web engines hackfest had people suggest breakout sessions as github issues (https://github.com/Igalia/webengineshackfest/issues). These were then scheduled prior to the start of the conference (which some room for reorganisation) and people could choose which sessions they wanted to attend. I think this is quite a good way of doing it as it allows everyone to participate in negotiating session content rather than putting everything on a central organiser. I think you're bound to not get much in the way of responses if people are asked to submit privately.

Not blaming you - it's a learning experience for everyone - and you at least stepped up to try and organise things. But some suggestions for next time :)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggest breakout sessions as github issues

that's a good idea!

you at least stepped up to try and organise things

i was "voluntold", haha, but yea, someone's gotta do it

@kevinaboos
Copy link

thanks for the nice summary, overall it's a great writeup! I left a few comments (apologies if I came off defensive 😅, I really don't mind the critiques of the unconf organization).

In accordance with our markdown formatting guidelines.

Co-authored-by: Daniel McNab <[email protected]>
PoignardAzur and others added 2 commits June 12, 2024 11:14
Co-authored-by: Aaron Muir Hamilton <[email protected]>
Co-authored-by: Daniel McNab <[email protected]>
Co-authored-by: Alice Cecile <[email protected]>
@PoignardAzur PoignardAzur marked this pull request as ready for review June 12, 2024 11:26
@PoignardAzur PoignardAzur requested a review from xorgy June 12, 2024 11:26
@PoignardAzur
Copy link
Contributor Author

I think the article is ready to publish now.

Copy link
Member

@xStrom xStrom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good stuff generally. I have a few content change suggestions and a bunch of typo-type suggestions.

content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
content/blog/2024-06-12-rustl-2024-unconference.md Outdated Show resolved Hide resolved
@PoignardAzur PoignardAzur dismissed xorgy’s stale review June 15, 2024 11:06

Changes have been applied.

@PoignardAzur PoignardAzur requested review from xStrom and DJMcNab June 15, 2024 11:07
Copy link
Member

@DJMcNab DJMcNab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A handful of small nits, but otherwise looks good!


By now all of the Rust ecosystem has firmly converged on [`winit`](https://github.com/rust-windowing/winit) as the windowing platform-abstraction solution of choice.

(Well, not all! [One small project](https://github.com/makepad/makepad) with indomitable maintainers still holds out against the invaders.)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In what sense do you mean "small" here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's an "Asterix the Gaul" joke.


(This might sound like it contradicts my section about structurelessness above.
It doesn't.
I'm not saying organizers should have pushed harder for accessibility - they did try - I'm saying that we should strive for a culture where framework developers think about accessibility without waiting for someone to tell them to.)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely agree on this point - I was pleased with how Kevin pushed for Accessibility to be discussed, but am disappointed that it didn't catch.

content/blog/2024-06-15-rustnl-2024-unconference.md Outdated Show resolved Hide resolved
### Requests for Rust features

Jon Kelley, the creator of Dioxus, had [a laundry list of features](https://dioxus.notion.site/Dioxus-Labs-High-level-Rust-5fe1f1c9c8334815ad488410d948f05e) he wanted from the Rust language.
That list was later [filed in the Project Goals repository]((https://github.com/rust-lang/rust-project-goals/pull/10)).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do the doubled brackets here represent? They seem to stop the link being rendered on GitHub - is that intentional?


### Requests for Rust features

Jon Kelley, the creator of Dioxus, had [a laundry list of features](https://dioxus.notion.site/Dioxus-Labs-High-level-Rust-5fe1f1c9c8334815ad488410d948f05e) he wanted from the Rust language.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an advantage to linking to both the document and the PR? It seems to me that the PR (/where it is merged into) is the canonical reference.


- [winit](https://github.com/rust-windowing/winit) for creating windows.
- [AccessKit](https://github.com/AccessKit/accesskit/) for plugging into accessibility APIs.
- [Parley](https://github.com/linebender/parley) for rendering text and as a basis for a text-editing widget.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In discussions since the unconference, Bevy has (correctly) decided to go with cosmic-text for text layout.

If you want a third example, I think wgpu is probably a better candidate.


### Requests for Rust features

Jon Kelley, the creator of Dioxus, had [a laundry list of features](https://dioxus.notion.site/Dioxus-Labs-High-level-Rust-5fe1f1c9c8334815ad488410d948f05e) he wanted from the Rust language.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a quick scan (e.g. GitHub, website), it looks like they generally use "Jonathan" rather than "Jon"; although I can't remember either way from the unconference itself

@PoignardAzur PoignardAzur merged commit 31495c5 into main Jun 15, 2024
1 check passed
@PoignardAzur PoignardAzur deleted the report_rustnl branch June 15, 2024 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.