<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Onat Ribar on KDE Blogs</title><link>https://blogs.kde.org/authors/onatribar/</link><description>Recent content in Onat Ribar on KDE Blogs</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 31 Mar 2026 18:04:10 +0300</lastBuildDate><atom:link href="https://blogs.kde.org/authors/onatribar/index.xml" rel="self" type="application/rss+xml"/><item><title>Making Plasma Setup More Mobile-Friendly: A SoK'26 Conclusion</title><link>https://blogs.kde.org/2026/03/31/making-plasma-setup-more-mobile-friendly-a-sok26-conclusion/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><author>Onat Ribar</author><guid>https://blogs.kde.org/2026/03/31/making-plasma-setup-more-mobile-friendly-a-sok26-conclusion/</guid><description>&lt;p&gt;Hey everyone! SoK '26 is wrapping up, so here's my final post. If you haven't read the midterm update yet, I'd recommend starting there — this post picks up from where that one left off.&lt;/p&gt;
&lt;p&gt;Some relevant links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blogs.kde.org/2026/03/12/making-plasma-setup-more-mobile-friendly-a-sok26-midterm-update/"&gt;Midterm blogpost&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://invent.kde.org/teams/mentor-programs/2026/-/issues/51"&gt;Project proposal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://community.kde.org/SoK/2026/StatusReport/Onat_Ribar"&gt;Status report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://invent.kde.org/plasma/plasma-setup/-/merge_requests/95"&gt;MR: plasma-setup !95&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6411"&gt;MR: plasma-workspace !6411&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="tldr-the-project"&gt;TLDR: The project&lt;/h3&gt;
&lt;p&gt;Plasma Setup is KDE's first-run wizard: it greets you on a fresh install and walks you through account creation, keyboard layout, timezone, and basic system config. It was built with desktop screens in mind, and my project was to make it work properly on phones and tablets running Plasma Mobile
without breaking the desktop experience.&lt;/p&gt;
&lt;h3 id="where-the-midterm-left-things"&gt;Where the midterm left things&lt;/h3&gt;
&lt;p&gt;By the midterm I had worked through most of the UI issues: overlapping components, wallpaper disappearing on portrait layouts, the wizard not filling the screen on mobile, the hostname field overflowing, the timezone page's OpenStreetMap widget being too fiddly for touchscreens. Two MRs were open, one in &lt;code&gt;plasma-setup&lt;/code&gt; and one in &lt;code&gt;plasma-workspace&lt;/code&gt; for the timezone selector since that component lives there. The plan was to spend the remaining weeks getting them merged.&lt;/p&gt;
&lt;p&gt;That's roughly what happened, though it took longer than expected. I requested a two-week extension so we could handle the review process properly rather than rushing it.&lt;/p&gt;
&lt;h3 id="what-the-second-half-looked-like"&gt;What the second half looked like&lt;/h3&gt;
&lt;p&gt;Mostly review cycles. Writing the MRs was one thing; getting them merge-readywas another. A fair amount of that time was spent in the terminal, checking diffs, rebasing, keeping the history clean, more than it was actually writing new code. Anyone who's worked on a shared codebase knows how that goes.&lt;/p&gt;
&lt;p&gt;The MRs were fairly dynamic throughout. Ideas came up during review that hadn't been in the original scope, some made it in, some got tested and scrapped. The final diff looks quite different from what was there at first open, which is usually a sign the review process is doing its job.&lt;/p&gt;
&lt;p&gt;What I did recalibrate to was the specific culture of OSS contribution. The conventions are different from a professional codebase: how commits are structured, how feedback is framed, what a well-scoped MR looks like in this context. Not a harder or easier bar, just a different one, and getting fluent in it is part of the work.&lt;/p&gt;
&lt;h3 id="the-open-threads-from-the-midterm"&gt;The open threads from the midterm&lt;/h3&gt;
&lt;p&gt;I flagged two things in the midterm that weren't guaranteed to get done: virtual keyboard handling and the &lt;code&gt;kcm_keyboard&lt;/code&gt; dependency decoupling.&lt;/p&gt;
&lt;p&gt;Neither got done. The virtual keyboard situation is an open design question for the project, not something I could resolve within this scope. The &lt;code&gt;kcm_keyboard&lt;/code&gt; decoupling is something I'd still like to take a crack at. The underlying issue is real: a mobile setup wizard probably shouldn't need to pull in &lt;code&gt;plasma-desktop&lt;/code&gt;. But testing showed it wasn't causing visible breakage in practice, so it got deprioritised in favour of getting the UI work properly landed. Worth picking up as a future contribution.&lt;/p&gt;
&lt;h3 id="see-it-in-action"&gt;See it in action&lt;/h3&gt;

 


&lt;figure class="text-center ratio ratio-16x9" style=""&gt;
 &lt;video controls&gt;&lt;source src="https://blogs.kde.org/2026/03/31/making-plasma-setup-more-mobile-friendly-a-sok26-conclusion/demo.webm" type="video/mp4" /&gt;&lt;/video&gt;&lt;/figure&gt;

&lt;h3 id="wrapping-up"&gt;Wrapping up&lt;/h3&gt;
&lt;p&gt;I participated in SoK '25 as well but had to drop out partway through, so finishing this one properly feels good. Plasma Setup on mobile is in a noticeably better state than it was ten weeks ago, and the changes are upstream, which is what matters.&lt;/p&gt;
&lt;p&gt;I'm planning to keep contributing to KDE and take on more within the ecosystem. There's plenty left to do and I'd like to have a more permanent stake in it.&lt;/p&gt;
&lt;p&gt;Thanks to Kristen McWilliam for the mentorship throughout, and to KDE and the SoK programme for running this. It's a genuinely good way to get people into open source contribution.&lt;/p&gt;
&lt;p&gt;You can reach me on Matrix at @onatribar:matrix.org.&lt;/p&gt;
&lt;p&gt;Until we meet again!&lt;/p&gt;</description></item><item><title>Making Plasma Setup More Mobile-Friendly: A SoK'26 Midterm Update</title><link>https://blogs.kde.org/2026/03/12/making-plasma-setup-more-mobile-friendly-a-sok26-midterm-update/</link><pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate><author>Onat Ribar</author><guid>https://blogs.kde.org/2026/03/12/making-plasma-setup-more-mobile-friendly-a-sok26-midterm-update/</guid><description>&lt;p&gt;Hey everyone! I'm Onat, and I'm a bit past the halfway mark of my Season of KDE 2026 journey. Here's what I've been working on!&lt;/p&gt;
&lt;p&gt;For reference, here are some relevant links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://invent.kde.org/teams/mentor-programs/2026/-/issues/51"&gt;Project proposal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://community.kde.org/SoK/2026/StatusReport/Onat_Ribar"&gt;Status report of progress thus far&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Project repositories of &lt;a href="https://invent.kde.org/plasma/plasma-setup"&gt;plasma-setup&lt;/a&gt; and &lt;a href="https://invent.kde.org/plasma/plasma-workspace"&gt;plasma-workspace&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-project-plasma-setup"&gt;The project: Plasma Setup&lt;/h2&gt;
&lt;p&gt;Plasma Setup is the wizard that greets you on a fresh KDE install and walks you through account creation and basic system configuration. When I started, it was very much built with desktop screens in mind, and this shows when you try to run it on a phone.&lt;/p&gt;
&lt;p&gt;The project is about making Plasma Setup work properly across tablets and mobile phones running Plasma Mobile, without breaking the expected behaviour of Plasma on desktop. My work so far has been focused on UI and UX, making it adaptive with Kirigami.&lt;/p&gt;
&lt;p&gt;Another area of interest was a dependency issue, in which Plasma Setup currently pulls in &lt;code&gt;kcm_keyboard&lt;/code&gt; from &lt;code&gt;plasma-desktop&lt;/code&gt;, which was awkward for mobile systems. Due to time constraints and priorities, we haven't pursued this yet, but I will make sure to comment on it in my next blog post!&lt;/p&gt;
&lt;h2 id="what-ive-done-so-far"&gt;What I've done so far&lt;/h2&gt;
&lt;p&gt;The first couple of weeks were mostly about getting ready: setting up VMs running both KDE Desktop and Plasma Mobile spins, reading through the codebases of &lt;code&gt;plasma-setup&lt;/code&gt; and &lt;code&gt;plasma-mobile&lt;/code&gt;, figuring out just how tightly coupled the &lt;code&gt;kcm_keyboard&lt;/code&gt; dependency actually is, as well as refreshing my knowledge of QML/Kirigami and testing the GUI to spot any troublesome areas.&lt;/p&gt;
&lt;p&gt;One early relief: Plasma Setup already runs on Plasma Mobile without crashing! But &amp;quot;runs&amp;quot; and &amp;quot;looks good&amp;quot; are very different things, and there were plenty of layout issues to address.&lt;/p&gt;
&lt;p&gt;From weeks 3 through 7, the main deliverables were:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;General fixes for overlapping, overflowing, and misaligned components.&lt;/li&gt;
&lt;li&gt;Fixed wallpapers not showing in narrow layouts.&lt;/li&gt;
&lt;li&gt;Expanded the wizard overlay to fill the screen on mobile.&lt;/li&gt;
&lt;li&gt;Reworked the Time and Date page. The existing OpenStreetMaps map widget was too fiddly for touchscreens to navigate, so I replaced it with a clean region and timezone dropdown pair. This touched &lt;code&gt;plasma-workspace&lt;/code&gt; as well as &lt;code&gt;plasma-setup&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Disabled auto-capitalize and autocorrect on username and hostname fields, which are annoying on a phone keyboard.&lt;/li&gt;
&lt;li&gt;Hid the landing screen buttons on mobile during wizard navigation to prevent accidental taps.&lt;/li&gt;
&lt;li&gt;Endless rounds of testing and reverting changes that didn't make the cut.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There was also a lot of investigative work early on: checking for tight coupling, testing across virtualized Plasma Desktop and Plasma Mobile environments, and verifying behaviour on different CPU architectures. Not exactly glamorous but it was necessary!&lt;/p&gt;
&lt;p&gt;One thing that really improved my productivity later on: I'd been avoiding the nested Wayland compositor for development because of this warning in the &lt;code&gt;plasma-setup&lt;/code&gt; readme file:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;It is not recommended to install this on your system — you should use a virtual machine instead. Installing this on real hardware will leave behind files not trivially uninstallable and could leave your system in a non-function state.&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That warning genuinely spooked me, and I stayed in VMs longer than I needed to. They're safe, but iterating on UI components in a VM was inconvenient and frustrating. My mentor pointed me toward kde-builder and running the applications on a nested Wayland compositor, which upon adoption really sped things up and built my confidence. I wish I'd made the switch sooner!&lt;/p&gt;
&lt;h2 id="what-hasnt-gone-so-well"&gt;What hasn't gone so well&lt;/h2&gt;
&lt;p&gt;Not everything went to plan, but that's expected in a project like this.&lt;/p&gt;
&lt;p&gt;The virtual keyboard situation is still on hold. How Plasma Setup should interact with on-screen keyboards is a bit of an open question, and I've put that aside to focus on the layout work first.&lt;/p&gt;
&lt;p&gt;The dependency side of things (decoupling &lt;code&gt;kcm_keyboard&lt;/code&gt;) is also not started yet; it's been pushed to the later weeks of the project as a side objective, and not only am I running out of time, but it's the part I'm most uncertain about. Refactoring something that touches both &lt;code&gt;plasma-desktop&lt;/code&gt; and &lt;code&gt;plasma-workspace&lt;/code&gt; without introducing regressions is going to need careful testing. Whether this module should be separated is a different concern as well. I will have more to say about this in my final post.&lt;/p&gt;
&lt;h2 id="whats-next"&gt;What's next&lt;/h2&gt;
&lt;p&gt;The remaining weeks will focus on final UI polishing based on feedback and getting MRs across the line. A well-polished Plasma Setup on mobile would be a meaningful step for Plasma Mobile as a whole; first impressions matter, and the setup wizard is literally the first thing a new user sees.&lt;/p&gt;
&lt;p&gt;Special thanks to my mentor Kristen a.k.a. &lt;a href="https://invent.kde.org/merritt"&gt;Merritt&lt;/a&gt; for their guidance. The regular check-ins and assistance outside of that have made a real difference for keeping things on track.&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;</description></item></channel></rss>