61 views
# NLNet grant application (draft) To be published at [Forgefriends forum](https://forum.forgefriends.org/t/consideration-for-applying-at-nlnet-grant-deadline-1st-dec-2022/925). Deadline 2022-12-01 https://nlnet.nl/news/2022/20221001-call.html https://nlnet.nl/propose/ Thematic call: NGI Zero Entrust Your name: André Jaenisch Email address: entrust2022@forgejo.org Phone numbers: (mobile or landline?) Organisation (if any): N/A Country: Germany Project name: UI components to catalyse cooperation between Dev & Design Website / wiki: https://codeberg.org/forgejo Requested amount: 50.000 € ## Abstract (currently 1194 characters) As part of a collective of free software initiatives that have formed an alliance to coordinate our R&D for maximum effectiveness User Interface plays a central role for us. It is the touch point the majority of people will interact with when using a forge. Up until now, forges focused mainly on a developer experience. Other stakeholders have had to use alternative services, thereby causing friction in the Free Software Development Lifecycle. Using Forgejo as a reference implementation I believe it is possible to involve disciplines such as design. By opening up forges for a broader network by means of federation I expect the number of issues in play at anytime to surge and participation to increase. Issue management will become more inclusive, encouraging participation by more than developers. In furthering the reach of Open Source maintainers socially, we enlist and enable all stakeholders to participate. With this grant I want to develop UI components over a course of six months. I want to refine them with UX designers (if available) before implementing them; this will allow other projects to adopt and adapt from our discoveries, thus strengthening the whole community. ### Have you been involved with projects or organisations relevant to this project before? And if so, can you tell us a bit about your contributions? I have worked in the industry for several years. My clients range from startups up to international enterprises. Next to Front-end development I learned the basics of adjacent fields such as back-end development, design and UX. My focus is on accessibility. I have already gained [some experience with Gitea][1] and want to bring Forgejo to the next level. The challenge of designing for federation is exciting me. I am able to read source codes of already existing federated software like Mastodon, BookWyrm or GoToSocial in order to learn from them. [1]: https://github.com/go-gitea/gitea/issues?q=commenter%3ARyuno-Ki ### Explain what the requested budget will be used for? The issue interface will be extended to invite stakeholders into the process that aren't working on code. Currently it is not optimal for them so they work around its limitations. Therefore I want to conduct expert interviews via Codeberg e.V. or other avenues to learn more about the challenges. Possible prototypes will be developed in Penpot and tested with them. After some iterations I expect patterns that work well enough to be implemented and documented in Forgejo to collect feedback from a wider population. Forgejo strives to be as inclusive as possible. Therefore each milestone is intended to be backed by user research wherever possible. Since we have a strategic alliance, documentation should help other projects to benefit from learnings made within this grant work. To my knowledge, NLNet grants are the sole funding for development of Forgejo. ### Compare your own project with existing or historical efforts. Projects like waffle.io were built on top of the proprietary forge GitHub and allowed for easier project management. I can see similar academic research and prototypes with https://github.com/jazlynhellman/oss-codesign Penpot focuses on cross-domain teams and make a good match from a starting point as designer. ### What are significant technical challenges you expect to solve during the project, if any?) I only have limited experience with Penpot yet but I understand SVG well enough. As far as I can tell an experimental API is already available but requires investigation to learn about the structure. If Penpot cannot be used directly, alternatives have to be explored. Design is developed in iterations. I'm not sure, whether Penpot is version controlling steps in the process. ### Describe the ecosystem of the project, and how you will engage with relevant actors and promote the outcomes? Forgejo is part of a strategic alliance of free software initiatives. By adding federation capabilities it will become a citizen of the Fediverse and work together with other projects in this space. Since there is no standardised vocabulary of different applications, Forgejo contributors will have to study the respective codebases and negotiate with the maintainers to allow for interoperability. Results and learnings will be promoted in the respective forums as well as on the fediverse itself. ### Attachments N/A [x] I allow NLnet Foundation to keep the information I submit on record, should future funding opportunities arise (Since I'm the only beneficiary, I'm fine with this.) ## WIP: Notes *Everything as of here is subject to change or get removed before the application is submitted.* Focus: UX, linked towards UI development. Perhaps as subject „moderation“? It touches several areas that are important. I have [opinions on issue management as well](https://forum.forgefriends.org/t/on-issue-management-braindump-edition/770) if a secondary focus can be covered. Especially in the age of information overload. I even [shared ideas on how I would handle it](https://layer8.space/@RyunoKi/108408821081347859) Evidence: [Commits in Gitea](https://github.com/go-gitea/gitea/search?q=author%3ARyuno-Ki&type=commits) + conversations in Matrix and forgejo repositories ([Global search](https://github.com/go-gitea/gitea/issues/2434) is not yet implemented in Gitea, therefore a link to the API - TODO: consider filtering for a specific date as upper limit) - [forgejo](https://codeberg.org/api/v1/repos/forgejo/forgejo/issues?mentioned_by=Ryuno-Ki) - [meta](https://codeberg.org/api/v1/repos/forgejo/meta/issues?mentioned_by=Ryuno-Ki) - [website](https://codeberg.org/api/v1/repos/forgejo/website/issues?mentioned_by=Ryuno-Ki) Math study with focus on statistics might help evaluating samples for evaluation. ## Open questions * Can I pick up on moderation mentioned in the Gitea grant application? Drawing from [Block Party](https://stackoverflow.blog/2021/05/25/podcast-341-blocking-the-haters-as-a-service/) or similar services? loic: everything UI/UX related is fair game, moderation included: you're the only UI dev around at this point in time so you don't really have to worry about stepping on anyone toes * Will Software Bill of Materials be relevant to me? (see [example intake document](https://forum.forgefriends.org/t/nlnet-grant-application-for-federation-in-gitea-deadline-october-1st-2021/354/3) on the forum) loic: no * Can or should I mention security? I have [co-authored a blog post on Snyk](https://snyk.io/blog/third-party-javascript-concerns/) and held a [talk about it in context of JavaScript](https://archive.fosdem.org/2022/schedule/event/writing_less_insecure_javascript/). I'm in contact with security researchers. loic: not sure... I suppose it is relevant to the extent that it relates to UI/UX * What milestones could go into a roadmap? [UX issues on Gitea](https://github.com/go-gitea/gitea/issues?q=is%3Aissue+is%3Aopen+label%3Akind%2Fux) are not limited to federation. Will the application be for Forgejo? Or Gitea? Or both? loic: don't worry about detailed workplan right now, try to define 5 to 10 big tasks that will further be refined * How can we communicate trust? [Privacy icons](https://wiki.mozilla.org/Privacy_Icons)? Web-of-trust relies on PKI. Perhaps between servers? But there has to be an additional layer for humans. Looking at Mastodon? I hinted [my will to contribute to Castopod](https://layer8.space/@RyunoKi/108228029132772063). Already [contributed to BookWyrm](https://github.com/bookwyrm-social/bookwyrm/commits?author=ryuno-ki), so I know AP implementations in different languages already. This allows me to compare different approaches. * Can I utilise auxiliary services by NLNet? (e.g. accessibility foundation contacts) loic: yes, you can, but I strongly advise your application stands on its own merit, without mentioning them * Is NLNet grant the only funding? Dachary mentioned something like French employees having the option to get paid for working on Open Source. ## Also worth knowing * [Working with Open Source Design](https://codeberg.org/codename/meta/issues/20) (I have met with [Elio](https://ura.design/en/about/) before in context of Mozilla and Gallium OS activities) * https://codeberg.org/forgejo/meta/issues/20#issuecomment-687271 about codesign-oss * Offering a filter for bugs and features (via labels already possible) * https://adrianhesketh.com/2021/10/23/using-storybook-with-go-frontends/ ## Prior art * [NLnet grant application for federation in Gitea (deadline August 1st, 2022)](https://forum.forgefriends.org/t/nlnet-grant-application-for-federation-in-gitea-deadline-august-1st-2022/823) * (Failed) [grant application for domain](https://ar.al/2022/07/29/nlnet-grant-application-for-domain/) * https://forum.forgefriends.org/c/funding/5 lists several projects * https://codeberg.org/forgejo/forgejo/issues/23#issuecomment-693210