<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Owen Burns</title>
    <description>The latest articles on DEV Community by Owen Burns (@owenburns).</description>
    <link>https://dev.to/owenburns</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4111399%2F205917d6-5bd1-4300-a516-97253e5d9995.PNG</url>
      <title>DEV Community: Owen Burns</title>
      <link>https://dev.to/owenburns</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/owenburns"/>
    <language>en</language>
    <item>
      <title>Ramen 2026.09.1: A New UI</title>
      <dc:creator>Owen Burns</dc:creator>
      <pubDate>Wed, 23 Sep 2026 19:37:49 +0000</pubDate>
      <link>https://dev.to/owenburns/ramen-2026091-a-new-ui-3k9p</link>
      <guid>https://dev.to/owenburns/ramen-2026091-a-new-ui-3k9p</guid>
      <description>&lt;p&gt;I’ve just released &lt;strong&gt;Ramen 2026.09.1&lt;/strong&gt;, and this one feels like a pretty big step forward for the project.&lt;/p&gt;

&lt;p&gt;Most of the work in this release went into how Ramen looks and feels. I rebuilt the application UI, reworked the branch selector, fixed a number of terminal issues, and added a small feedback form so it’s easier to report things directly from the app.&lt;/p&gt;

&lt;p&gt;This release is less about adding a long list of new features and more about making the parts of Ramen that you use every day feel better.&lt;/p&gt;

&lt;h2&gt;
  
  
  A completely new UI
&lt;/h2&gt;

&lt;p&gt;The biggest change is the UI redesign.&lt;/p&gt;

&lt;p&gt;The dialogs, editor chrome, title bars, workspace layout, navigator, and light and dark themes were all rebuilt. I also took the opportunity to clean up some of the older UI decisions that had accumulated as the application grew.&lt;/p&gt;

&lt;p&gt;The result is a much simpler layout with less visual noise and more space for the things that actually matter when you're working.&lt;/p&gt;

&lt;p&gt;Along with the redesign, I also fixed a few editor and LSP issues, including completion popup handling, diagnostics, and LSP lifecycle problems.&lt;/p&gt;

&lt;p&gt;I also removed the workspace and project title text blocks from the interface. They were taking up space without adding much, and removing them helped the new layout feel cleaner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhe065wkcakcv0y2znsj0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhe065wkcakcv0y2znsj0.png" alt="Ramen Editor" width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The branch selector got a complete rewrite
&lt;/h2&gt;

&lt;p&gt;The other big piece of work in this release is the branch selector.&lt;/p&gt;

&lt;p&gt;The old dropdown has been replaced with a much larger popup inspired by the branch workflows found in IDEs like Rider.&lt;/p&gt;

&lt;p&gt;It took several passes to get this right. I wanted it to be useful when you have a handful of branches, but also hold up when a project has a much larger and more complicated branch list.&lt;/p&gt;

&lt;p&gt;Branches can now be grouped into folders based on their names. For example, branches such as &lt;code&gt;feature/auth&lt;/code&gt;, &lt;code&gt;feature/settings&lt;/code&gt;, and &lt;code&gt;feature/editor&lt;/code&gt; can be grouped under a &lt;code&gt;feature&lt;/code&gt; folder.&lt;/p&gt;

&lt;p&gt;Nested folders are supported too.&lt;/p&gt;

&lt;p&gt;The current branch is shown first in each section, and the popup also includes upstream tracking information and a Recent section based on the Git reflog.&lt;/p&gt;

&lt;p&gt;There is also a search field that filters the branch list and automatically expands folders when matching branches are found.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1qewyl8jamxl1lrzoij6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1qewyl8jamxl1lrzoij6.png" alt="Git Dropdown" width="800" height="680"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a branch is now possible without leaving the popup as well. The new branch field validates the name and shows an error directly in the popup when something isn't right.&lt;/p&gt;

&lt;p&gt;I also added full keyboard navigation. You can move through branches with the arrow keys, expand and collapse folders, move between sections, create a branch, and close the popup without reaching for the mouse.&lt;/p&gt;

&lt;p&gt;The branch data is refreshed every time the popup opens, and checkout and branch creation now go through the Git service properly.&lt;/p&gt;

&lt;p&gt;After getting all of that working, I spent some extra time going back over the popup for performance and usability. There were a few places where the first version worked but didn't feel quite right, so this part of the release went through several iterations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terminal fixes
&lt;/h2&gt;

&lt;p&gt;The terminal also got some attention in this release.&lt;/p&gt;

&lt;p&gt;One of the more annoying issues was on macOS, where Command key shortcuts weren't being handled correctly. Command was never being mapped properly, which meant shortcuts could end up typing letters into the terminal instead.&lt;/p&gt;

&lt;p&gt;That is now fixed.&lt;/p&gt;

&lt;p&gt;On macOS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Cmd+C&lt;/code&gt; copies&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Cmd+V&lt;/code&gt; pastes&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Cmd+A&lt;/code&gt; selects the full scrollback&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Ctrl+C&lt;/code&gt; sends SIGINT as expected&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;Ctrl+V&lt;/code&gt; paste also now works across platforms.&lt;/p&gt;

&lt;p&gt;There is also an option for copying text automatically when selecting it in the terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fszw0g46ntm9vavuvzg6c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fszw0g46ntm9vavuvzg6c.png" alt="Terminal" width="800" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sending feedback from Ramen
&lt;/h2&gt;

&lt;p&gt;I also added a small feedback form under the Help menu.&lt;/p&gt;

&lt;p&gt;The new &lt;strong&gt;Send Feedback...&lt;/strong&gt; option lets you submit feedback directly from the application and choose what kind of feedback you're sending, whether that's a bug, an improvement, or an adjustment.&lt;/p&gt;

&lt;p&gt;It's a small feature, but I wanted there to be an easy way to send feedback without having to leave Ramen and figure out where to report something.&lt;/p&gt;

&lt;h2&gt;
  
  
  A few other fixes and cleanup
&lt;/h2&gt;

&lt;p&gt;There were also a few smaller changes that aren't as visible but were worth doing.&lt;/p&gt;

&lt;p&gt;The branch popup had a bug where its chevron could disappear after expanding and collapsing sections. That's fixed now.&lt;/p&gt;

&lt;p&gt;I also removed the &lt;code&gt;.idea/&lt;/code&gt; folder from source control and cleaned up a number of duplicate files that had been created by iCloud, including duplicate build scripts, styles, and wiki pages.&lt;/p&gt;

&lt;p&gt;There was also a leftover comment in &lt;code&gt;Ramen.csproj&lt;/code&gt; that got cleaned up along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Version 2026.09.1
&lt;/h2&gt;

&lt;p&gt;The release is now pinned to &lt;strong&gt;2026.09.1&lt;/strong&gt; throughout the application.&lt;/p&gt;

&lt;p&gt;The version in the project files, macOS &lt;code&gt;Info.plist&lt;/code&gt;, and About window all match, so the version shown inside Ramen should now always line up with the version shown by Finder.&lt;/p&gt;

&lt;p&gt;The macOS release is packaged as:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Ramen-2026.09.1-macos-arm64.dmg&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It's a self-contained Apple Silicon build that is ad-hoc signed and verified.&lt;/p&gt;

&lt;p&gt;Because the app is ad-hoc signed, macOS may show a warning the first time you open it. Right-click the application and choose &lt;strong&gt;Open&lt;/strong&gt; to launch it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;This release was a good chance to step back and spend time on the foundation of Ramen's interface rather than constantly adding more to it.&lt;/p&gt;

&lt;p&gt;There is still plenty I'd like to improve, but the new UI gives me a much better base to build on. The branch popup in particular was one of those features that started as a simple dropdown and gradually turned into something much more useful.&lt;/p&gt;

&lt;p&gt;Ramen 2026.09.1 is available now.&lt;/p&gt;

&lt;p&gt;I'm looking forward to using this version myself and seeing what starts standing out now that the bigger UI work is out of the way.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://ramen.owenburns.co.za/downloads" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;ramen.owenburns.co.za&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
      <category>git</category>
    </item>
    <item>
      <title>Ramen - My Own Creation</title>
      <dc:creator>Owen Burns</dc:creator>
      <pubDate>Sun, 20 Sep 2026 16:34:06 +0000</pubDate>
      <link>https://dev.to/owenburns/ramen-my-own-creation-192k</link>
      <guid>https://dev.to/owenburns/ramen-my-own-creation-192k</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyaa8859pbxll57szgy3w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyaa8859pbxll57szgy3w.png" alt="Ramen - Building" width="800" height="1067"&gt;&lt;/a&gt;&lt;br&gt;
I've always been a builder.&lt;/p&gt;

&lt;p&gt;Even as a child, I would take apart old toys and attach pieces of them to other toys. I'd modify things, upgrade them, and try to figure out what I could make them do.&lt;/p&gt;

&lt;p&gt;Looking back, that's probably what eventually led me into Software Engineering.&lt;/p&gt;

&lt;p&gt;I've always enjoyed taking something apart, understanding how it works, finding the problem, and figuring out how to make it better.&lt;/p&gt;

&lt;p&gt;Over the years, that skill grew.&lt;/p&gt;

&lt;p&gt;I taught myself how to write software. I learned how to track down those obvious-but-somehow-frustrating bugs. I moved through different areas of technology, including QA, Automation, and Software Engineering.&lt;/p&gt;

&lt;p&gt;And eventually, I started building Ramen.&lt;/p&gt;

&lt;p&gt;When I first published Ramen, I thought the hard part was building the application.&lt;/p&gt;

&lt;p&gt;Turns out, that was only the beginning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building something is only half the job
&lt;/h2&gt;

&lt;p&gt;Once Ramen was out in the world, I started using it differently.&lt;/p&gt;

&lt;p&gt;I wasn't just looking at it as a project I had built anymore. I started looking at it as a QA tool.&lt;/p&gt;

&lt;p&gt;And when you start looking at something from the perspective of the person actually using it, you notice things you simply don't see while you're building it.&lt;/p&gt;

&lt;p&gt;The interface worked, but it didn't quite feel like the environment I wanted Ramen to be.&lt;/p&gt;

&lt;p&gt;Some workflows made sense to me because I knew how the application worked internally, but that didn't necessarily mean they were intuitive.&lt;/p&gt;

&lt;p&gt;Some parts of the UI were functional, but didn't communicate what they were actually doing.&lt;/p&gt;

&lt;p&gt;And that made me realise something:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I needed to stop looking at Ramen as its creator and start looking at it as its user.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I started taking it apart.&lt;/p&gt;

&lt;p&gt;Not literally this time, but in the same way I've always approached things.&lt;/p&gt;

&lt;p&gt;What works?&lt;/p&gt;

&lt;p&gt;What doesn't?&lt;/p&gt;

&lt;p&gt;What's confusing?&lt;/p&gt;

&lt;p&gt;What can be simplified?&lt;/p&gt;

&lt;p&gt;What can be rebuilt?&lt;/p&gt;

&lt;h2&gt;
  
  
  Making Ramen feel like a development environment
&lt;/h2&gt;

&lt;p&gt;That process led to a fairly significant rethink of the Ramen experience.&lt;/p&gt;

&lt;p&gt;One of the biggest changes has been the interface itself.&lt;/p&gt;

&lt;p&gt;I wanted Ramen to feel more like an actual development environment.&lt;/p&gt;

&lt;p&gt;Not because I wanted to copy an existing IDE, but because developers and QA engineers already have certain expectations about how these environments work.&lt;/p&gt;

&lt;p&gt;The way projects are organised.&lt;/p&gt;

&lt;p&gt;The way source control is represented.&lt;/p&gt;

&lt;p&gt;The way different parts of a workspace interact with each other.&lt;/p&gt;

&lt;p&gt;The previous design was functional, but it didn't quite have that feeling yet.&lt;/p&gt;

&lt;p&gt;So I started rebuilding it.&lt;/p&gt;

&lt;p&gt;The Git experience was redesigned to actually resemble a Git container rather than simply presenting Git-related information in a UI.&lt;/p&gt;

&lt;p&gt;The branching system was redesigned.&lt;/p&gt;

&lt;p&gt;Various parts of the interface were reworked to make the overall experience more intuitive and cohesive.&lt;/p&gt;

&lt;p&gt;None of these changes are necessarily huge features on their own.&lt;/p&gt;

&lt;p&gt;But together, they change how Ramen feels when you're actually using it.&lt;/p&gt;

&lt;p&gt;And that's something I've become much more conscious of while building this project:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Functionality is only part of building a good tool.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The experience around that functionality matters just as much.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building with users, not just for them
&lt;/h2&gt;

&lt;p&gt;The other major change isn't really a visual one.&lt;/p&gt;

&lt;p&gt;It's how I want Ramen to evolve.&lt;/p&gt;

&lt;p&gt;I've added a feedback system that allows users to provide feedback directly from within Ramen.&lt;/p&gt;

&lt;p&gt;Because I don't want to build Ramen in isolation.&lt;/p&gt;

&lt;p&gt;I don't want to disappear into a room, decide what I think people need, build it, release it, and then repeat the process.&lt;/p&gt;

&lt;p&gt;I want the people actually using Ramen to have a voice in what it becomes.&lt;/p&gt;

&lt;p&gt;If something is confusing, I want to know.&lt;/p&gt;

&lt;p&gt;If something is frustrating, I want to know.&lt;/p&gt;

&lt;p&gt;If something works really well, I want to know that too.&lt;/p&gt;

&lt;p&gt;The goal is for real-world usage to become part of the development process itself.&lt;/p&gt;

&lt;p&gt;And this became particularly important once I released &lt;strong&gt;0.1.0-preview.1&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting Ramen into the hands of other people
&lt;/h2&gt;

&lt;p&gt;The preview release was an important step for Ramen.&lt;/p&gt;

&lt;p&gt;Until that point, a lot of the testing was happening from my perspective.&lt;/p&gt;

&lt;p&gt;I knew how Ramen worked.&lt;/p&gt;

&lt;p&gt;I knew where things were.&lt;/p&gt;

&lt;p&gt;I knew what certain controls were supposed to do.&lt;/p&gt;

&lt;p&gt;That makes it surprisingly easy to overlook problems.&lt;/p&gt;

&lt;p&gt;Someone using the application for the first time doesn't have that context.&lt;/p&gt;

&lt;p&gt;They don't know what I intended.&lt;/p&gt;

&lt;p&gt;They only know what the application communicates to them.&lt;/p&gt;

&lt;p&gt;And that's exactly what I needed to learn.&lt;/p&gt;

&lt;p&gt;Where do people get confused?&lt;/p&gt;

&lt;p&gt;What workflows feel natural?&lt;/p&gt;

&lt;p&gt;What feels unnecessarily complicated?&lt;/p&gt;

&lt;p&gt;What breaks?&lt;/p&gt;

&lt;p&gt;What features do they immediately understand?&lt;/p&gt;

&lt;p&gt;And perhaps most importantly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Ramen actually feel useful?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Releasing the preview wasn't about declaring Ramen finished.&lt;/p&gt;

&lt;p&gt;It was about getting it out of my head and into the hands of people who could actually challenge the assumptions I'd made while building it.&lt;/p&gt;

&lt;p&gt;And once that happened, the process changed again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Taking it apart again
&lt;/h2&gt;

&lt;p&gt;This is probably the part of building software that I enjoy the most.&lt;/p&gt;

&lt;p&gt;Taking something apart.&lt;/p&gt;

&lt;p&gt;Figuring out why it isn't working the way it should.&lt;/p&gt;

&lt;p&gt;Finding the frustrating parts.&lt;/p&gt;

&lt;p&gt;Understanding the problem.&lt;/p&gt;

&lt;p&gt;Then rebuilding it.&lt;/p&gt;

&lt;p&gt;Ramen has given me another opportunity to do exactly that.&lt;/p&gt;

&lt;p&gt;Except this time, I'm not taking apart an old toy.&lt;/p&gt;

&lt;p&gt;I'm taking apart a product I've built myself.&lt;/p&gt;

&lt;p&gt;The difference now is that I'm not doing it entirely on my own.&lt;/p&gt;

&lt;p&gt;I'm building.&lt;/p&gt;

&lt;p&gt;I'm testing.&lt;/p&gt;

&lt;p&gt;I'm listening.&lt;/p&gt;

&lt;p&gt;I'm learning.&lt;/p&gt;

&lt;p&gt;And then I'm rebuilding.&lt;/p&gt;

&lt;p&gt;That's become the development cycle for Ramen.&lt;/p&gt;

&lt;p&gt;And it has changed how I think about the project.&lt;/p&gt;

&lt;p&gt;I'm not just trying to add more features.&lt;/p&gt;

&lt;p&gt;I'm trying to make the features that already exist feel better.&lt;/p&gt;

&lt;p&gt;I'm trying to make the workflows more natural.&lt;/p&gt;

&lt;p&gt;I'm trying to remove friction.&lt;/p&gt;

&lt;p&gt;I'm trying to understand what people actually need from a Quality Development Environment rather than assuming I already know.&lt;/p&gt;

&lt;h2&gt;
  
  
  The next release
&lt;/h2&gt;

&lt;p&gt;That brings me to the next release of Ramen.&lt;/p&gt;

&lt;p&gt;I'm moving away from traditional semantic versioning for Ramen and towards a date-based versioning system.&lt;/p&gt;

&lt;p&gt;The idea is simple: the version should tell you when the release belongs to, while the release and patch numbers identify the iteration.&lt;/p&gt;

&lt;p&gt;So rather than continuing with &lt;code&gt;0.1.0&lt;/code&gt;, &lt;code&gt;0.1.1&lt;/code&gt;, and &lt;code&gt;0.2.0&lt;/code&gt;, Ramen is moving towards versions such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2026.09.20.1&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's a small change, but it reflects how I want to approach Ramen going forward.&lt;/p&gt;

&lt;p&gt;Ramen isn't a project where I'm trying to hit some arbitrary number before I can call it "real".&lt;/p&gt;

&lt;p&gt;It's going to keep evolving.&lt;/p&gt;

&lt;p&gt;Releases will happen as the product develops, and the version should provide a simple reference point for where that release sits in the history of Ramen.&lt;/p&gt;

&lt;p&gt;And this release represents another step in that process.&lt;/p&gt;

&lt;h2&gt;
  
  
  This is still just the beginning
&lt;/h2&gt;

&lt;p&gt;There is still a lot to do.&lt;/p&gt;

&lt;p&gt;There are features I want to build, workflows I want to improve, rough edges I want to smooth out, and plenty of things I haven't even thought of yet.&lt;/p&gt;

&lt;p&gt;But that's part of the fun.&lt;/p&gt;

&lt;p&gt;Ramen started as an idea for a &lt;strong&gt;Quality Development Environment for QA testers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It became an application.&lt;/p&gt;

&lt;p&gt;Then it became something I could put into the hands of other people.&lt;/p&gt;

&lt;p&gt;Now it's becoming something that can evolve with the people using it.&lt;/p&gt;

&lt;p&gt;And I think that's the biggest change I've seen in Ramen so far.&lt;/p&gt;

&lt;p&gt;I'm still taking it apart.&lt;/p&gt;

&lt;p&gt;I'm still rebuilding it.&lt;/p&gt;

&lt;p&gt;I'm still finding things that don't work the way they should.&lt;/p&gt;

&lt;p&gt;But now there's a feedback loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Listen.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rebuild.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repeat.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The building isn't over.&lt;/p&gt;

&lt;p&gt;It's just getting started.&lt;/p&gt;

</description>
      <category>qa</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Ramen - A Quality Development Environment for QA Testers</title>
      <dc:creator>Owen Burns</dc:creator>
      <pubDate>Sat, 05 Sep 2026 16:43:45 +0000</pubDate>
      <link>https://dev.to/owenburns/ramen-a-qde-1bi2</link>
      <guid>https://dev.to/owenburns/ramen-a-qde-1bi2</guid>
      <description>&lt;h2&gt;
  
  
  Why I Built Ramen (and Why QA Needed a QDE)
&lt;/h2&gt;

&lt;p&gt;A month ago I wrote a post that had been sitting in my head for a while, mostly unformed, until I finally forced myself to write it down. The question behind it was simple: why do developers get entire environments built around how they work, while QA engineers are still expected to stitch a pile of unrelated tools together and hold the whole thing in their head?&lt;/p&gt;

&lt;p&gt;That post turned into an idea. This week, the idea turned into something people can actually install and use. Ramen 0.1.0-preview.1 is out. Before I talk about what it is, I want to talk about why it exists, because the why is the part I actually care about.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem I kept running into
&lt;/h2&gt;

&lt;p&gt;I work across QA automation and full-stack development, so I get to see both sides of this pretty regularly. On the development side, tooling is a solved problem. Open an IDE, and it already understands your project, your Git history, your terminal, your build process, your dependencies. Everything is built around one thing: the software you're building.&lt;/p&gt;

&lt;p&gt;QA doesn't get that. A QA engineer's day might start with a requirement, move into reading a product guide, jump into inspecting the frontend, then into writing automation, then into a terminal to run a Docker container, then into a browser to check a locator, then back into an IDE to fix the test that just failed for reasons that have nothing to do with the actual bug. None of these tools know about each other. The browser doesn't know what branch you're on. The terminal doesn't know what element you just inspected. Docker doesn't know what suite is about to run against it.&lt;/p&gt;

&lt;p&gt;That's not really a tooling gap in the sense of "we're missing a tool." It's a gap in shared state. Every tool a QA engineer touches in a day knows something useful, and none of that knowledge is visible to the others. You end up being the integration layer, manually, every single time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I didn't just build another test tool
&lt;/h2&gt;

&lt;p&gt;There's no shortage of test automation tools, AI test generators, or wrappers around Playwright and Selenium. I wasn't interested in adding one more to the pile, and I don't think that's actually what was missing.&lt;/p&gt;

&lt;p&gt;What kept nagging at me was a much more basic question: if you designed a development environment around Quality Engineering from the ground up, instead of adapting a developer IDE to fit QA after the fact, what would it actually look like?&lt;/p&gt;

&lt;p&gt;The answer I kept arriving at was that the system under test needs to be the centre of the project, not the source code. A QA workspace isn't just a folder of test scripts. It's the requirements, the product knowledge, what you know about the frontend, the environments you test against, and the tests themselves, all living in the same place, understanding they belong to the same context.&lt;/p&gt;

&lt;p&gt;That context turns out to matter a lot once AI gets involved. Telling a model to "generate a Playwright test for this feature" without giving it any of that surrounding knowledge is asking it to guess at conventions it has no way of knowing. Give it the workspace instead of just a prompt, and the generated test actually looks like something your team would have written.&lt;/p&gt;

&lt;p&gt;I called this idea a QDE, a Quality Engineering Development Environment, on purpose, because I think QA deserves the same category of tool developers have had for years. Not a QA IDE with a few extra buttons. An environment built around the actual job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who this is actually for
&lt;/h2&gt;

&lt;p&gt;I built Ramen with a fairly specific person in mind, because I've spent a lot of time being that person. Someone doing QA automation who is tired of context-switching between five disconnected tools to do one task. Someone who wants the browser they're testing in to actually be part of their workflow instead of a separate window they alt-tab to. Someone who's excited about AI-assisted testing but has felt the ceiling of what a bare prompt can actually produce without real context behind it.&lt;/p&gt;

&lt;p&gt;It's not aimed at replacing anyone's stack. If you use Playwright, keep using Playwright. If you use Git, Docker, or Claude Code, keep using all of them. Ramen isn't trying to be the twentieth tool in the pile. It's trying to be the thing that finally understands how the other nineteen relate to each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the last month actually looked like
&lt;/h2&gt;

&lt;p&gt;Writing the idea down was the easy part. Turning it into something real was a different exercise entirely, and I want to be honest that it didn't come out fully formed. A month ago this was a concept and a handful of half-working experiments. Since then it's become an actual application, with workspaces, system-under-test context, browser execution built into the environment, an integrated terminal, run configurations, and real testing workflows sitting on top of all of it.&lt;/p&gt;

&lt;p&gt;There were a lot of decisions along the way that I'm still not sure I got right. How much structure to impose on a workspace versus how much to leave open. How tightly to couple the browser and the inspector to locator generation. How much of the AI integration should assume a specific framework versus staying framework-agnostic. Some of those answers are probably going to change as more people actually use this and tell me where it breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why release it now, in this state
&lt;/h2&gt;

&lt;p&gt;I could have kept building quietly for another few months before showing anyone. I decided against that on purpose. I don't want to present Ramen as a finished answer to a problem I only fully articulated a month ago. I'd rather put out something real, rough edges included, and find out from actual usage whether the core idea holds up.&lt;/p&gt;

&lt;p&gt;Maybe it doesn't. Maybe the existing pile of disconnected tools really is the right approach and I'm solving a problem that isn't as painful for other people as it is for me. But I don't think anyone has seriously tried building an environment around the Quality Engineer instead of retrofitting one meant for developers, and I'd rather find out by shipping something than by thinking about it for another six months.&lt;/p&gt;

&lt;p&gt;Ramen 0.1.0-preview.1 is out today. If you do QA automation and any part of this has annoyed you as much as it's annoyed me, I'd genuinely like to know what you think.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://ramen.owenburns.co.za/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;ramen.owenburns.co.za&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>qa</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
