<?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: Aram Drevekenin</title>
    <description>The latest articles on DEV Community by Aram Drevekenin (@imsnif).</description>
    <link>https://dev.to/imsnif</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F223753%2F77c82f6d-a7fc-4b25-95fd-3e5054fec78c.png</url>
      <title>DEV Community: Aram Drevekenin</title>
      <link>https://dev.to/imsnif</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/imsnif"/>
    <language>en</language>
    <item>
      <title>Zellij 0.43 brings the terminal to your browser</title>
      <dc:creator>Aram Drevekenin</dc:creator>
      <pubDate>Tue, 05 Aug 2025 08:55:08 +0000</pubDate>
      <link>https://dev.to/imsnif/zellij-043-brings-the-terminal-to-your-browser-57lg</link>
      <guid>https://dev.to/imsnif/zellij-043-brings-the-terminal-to-your-browser-57lg</guid>
      <description>
  
  Your browser does not support the video tag.


&lt;p&gt;Zellij 0.43.0 has just been released! &lt;a href="https://github.com/zellij-org/zellij/releases/tag/v0.43.0" rel="noopener noreferrer"&gt;Check it out!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Client&lt;/li&gt;
&lt;li&gt;Multiple Select&lt;/li&gt;
&lt;li&gt;Key Tooltips&lt;/li&gt;
&lt;li&gt;Stack Pane Keybinding&lt;/li&gt;
&lt;li&gt;New Rust Plugin APIs&lt;/li&gt;
&lt;li&gt;Performance Improvements&lt;/li&gt;
&lt;li&gt;
Please Support the Zellij Developer ❤️&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Web Client
&lt;/h2&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%2Fzellij.dev%2Fimg%2Fweb-client-preview.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%2Fzellij.dev%2Fimg%2Fweb-client-preview.png" alt="A screenshot of a Zellij session running inside a browser" width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Zellij was never meant to live exclusively in your terminal, and this release brings it to the browser. With a keypress, you can now share existing sessions to the browser with Zellij's multiplayer capabilities: each client getting their own cursor.&lt;/p&gt;

&lt;p&gt;No more "can you share your screen?", no more ssh key exchange and NAT traversal dances. Just simple, secure sessions in your browser.&lt;/p&gt;

&lt;p&gt;Use for remote access, teaching, demos, collaborative debugging or even as your daily driver - making a dedicated terminal emulator optional.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Check out the new &lt;a href="https://dev.to/tutorials/web-client"&gt;web-client screencast&lt;/a&gt; if you'd like to learn more.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Bookmarkable Sessions
&lt;/h3&gt;

&lt;p&gt;Each session gets its own unique URL (eg. &lt;code&gt;https://127.0.0.1/my-session-name&lt;/code&gt;)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hit that URL while the session is running and you attach to it directly.&lt;/li&gt;
&lt;li&gt;Hit it after the session has exited and Zellij resurrects it with the same layout and commands.&lt;/li&gt;
&lt;li&gt;Enter a new URL and a session by that name is created.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bookmark your favorite sessions and you will always be able to come back to them - locally, from a different trusted machine or even from your phone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Built-In Security Measures
&lt;/h3&gt;

&lt;p&gt;Your terminal is a vulnerable and private interface. Access to it must be carefully guarded and protected.&lt;/p&gt;

&lt;p&gt;For this reason, Zellij requires any user be authenticated with a special token before they can log in from the browser. These tokens can be generated and revoked, but are kept hashed in a local database, so can never be displayed again. They are never saved in your browser or written to any storage.&lt;/p&gt;

&lt;p&gt;In addition, Zellij enforces the use of HTTPS with a user-provided certificate if listening on a public interface (anything that is not localhost/127.0.0.1).&lt;/p&gt;

&lt;p&gt;These security measures cannot be disabled.&lt;/p&gt;

&lt;h3&gt;
  
  
  Don't like this feature?
&lt;/h3&gt;

&lt;p&gt;No problem. Zellij now also offers a &lt;code&gt;zellij-no-web&lt;/code&gt; release without the web client or any of its dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multiple Select
&lt;/h2&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%2Fzellij.dev%2Fimg%2Fmultiple-select-demo.gif" 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%2Fzellij.dev%2Fimg%2Fmultiple-select-demo.gif" alt="An animated gif demonstrating the multiple select feature - first selecting 3 panes and stacking them, then selecting 3 other panes and making them floating. " width="760" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This release adds the ability to perform bulk operations on several panes at once. Mark several panes either with the mouse or with a keyboard shortcut, then:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Turn them into a stack&lt;/li&gt;
&lt;li&gt;Break them out to a new or existing tab&lt;/li&gt;
&lt;li&gt;Make them all floating/embedded&lt;/li&gt;
&lt;li&gt;Close them all&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To mark panes: &lt;code&gt;Alt p&lt;/code&gt; while focused on the pane (or &lt;code&gt;Alt &amp;lt;left-mouse-click&amp;gt;&lt;/code&gt; on any pane) and then follow the on-screen instructions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Tooltips
&lt;/h2&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%2Fzellij.dev%2Fimg%2Fcompact-bar-tooltip-demo.gif" 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%2Fzellij.dev%2Fimg%2Fcompact-bar-tooltip-demo.gif" alt="An animated gif demonstrating the toggle-able tooltip feature, in which we see the Zellij compact bar accompanied by a floating tooltip which changes to show the keybindings of the current mode." width="900" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A much requested feature has been to be able to temporarily see the keybinding hints without having them constantly take up valuable screen space. This release includes the ability to add temporary tooltips for use with the existing compact-bar. These tooltips can either be toggled or only displayed as needed when performing operations outside of the base mode.&lt;/p&gt;

&lt;p&gt;To use in the &lt;a href="https://zellij.dev/documentation/configuration.html" rel="noopener noreferrer"&gt;zellij config&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// compact-bar location="zellij:compact-bar" { &amp;lt;== comment out this line&lt;/span&gt;
&lt;span class="nx"&gt;compact&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;bar&lt;/span&gt; &lt;span class="nx"&gt;location&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;zellij:compact-bar&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="c1"&gt;// replace it with these lines&lt;/span&gt;
    &lt;span class="nx"&gt;tooltip&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;F1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;// choose a keybinding to toggle the hints&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;default_layout&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;compact&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;// make sure this is set so you'll get the compact-bar instead of the default UI&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Stack Pane Keybinding
&lt;/h2&gt;

&lt;p&gt;Zellij has included stacked panes for a while, but this release adds the ability to explicitly create a stacked pane inside the currently focused pane - making this feature more accessible.&lt;/p&gt;

&lt;p&gt;By default: &lt;code&gt;Ctrl p&lt;/code&gt; + &lt;code&gt;s&lt;/code&gt; (or &lt;code&gt;Ctrl g&lt;/code&gt; + &lt;code&gt;p&lt;/code&gt; + &lt;code&gt;s&lt;/code&gt; for "unlock-first").&lt;/p&gt;

&lt;h2&gt;
  
  
  New Rust Plugin APIs
&lt;/h2&gt;

&lt;p&gt;Since many of these new features are implemented as built-in plugins, this also adds lots of interesting APIs for Rust plugins.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;GroupAndUngroupPanes(Vec&amp;lt;PaneId&amp;gt;, Vec&amp;lt;PaneId&amp;gt;, bool), // panes to group, panes to ungroup, bool -&amp;gt; for all clients,&lt;/code&gt; - used for multiple select&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;HighlightAndUnhighlightPanes(Vec&amp;lt;PaneId&amp;gt;, Vec&amp;lt;PaneId&amp;gt;), // panes to highlight, panes to unhighlight&lt;/code&gt; - used for mouseovers, but can be used for other things (eg. bookmarking panes)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CloseMultiplePanes(Vec&amp;lt;PaneId&amp;gt;)&lt;/code&gt;, &lt;code&gt;FloatMultiplePanes(Vec&amp;lt;PaneId&amp;gt;)&lt;/code&gt;, &lt;code&gt;EmbedMultiplePanes(Vec&amp;lt;PaneId&amp;gt;)&lt;/code&gt; - used for multiple select and will operate on the panes that have been grouped, either by the API or by the user&lt;/li&gt;
&lt;li&gt;Web client operations:

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;StartWebServer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;StopWebServer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ShareCurrentSession&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;StopSharingCurrentSession&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;QueryWebServerStatus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GenerateWebLoginToken(Option&amp;lt;String&amp;gt;) // String -&amp;gt; optional token id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RevokeWebLoginToken(String)           // String -&amp;gt; token id (provided or generated)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ListWebLoginTokens&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RevokeAllWebLoginTokens&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RenameWebLoginToken(String, String), // (original token id, new token id)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;InterceptKeyPresses&lt;/code&gt; - temporarily intercept all user keypresses (excluding actions), not just ones sent to the plugin directly&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ClearKeyPressesIntercepts&lt;/code&gt; - clears the above intercept (also happens automatically on plugin close)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ReplacePaneWithExistingPane(PaneId, PaneId), // (pane id to replace, pane id of existing)&lt;/code&gt; - useful for pane pickers&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All of these APIs are behind relevant permissions, for more information see the &lt;a href="https://zellij.dev/documentation/plugins.html" rel="noopener noreferrer"&gt;plugin documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance Improvements
&lt;/h2&gt;

&lt;p&gt;This version includes a global debounced async rendering mechanism for both terminal text and Zellij actions such as opening new panes. This serves to reduce the number of renders and make the experience of using the app much smoother.&lt;/p&gt;

&lt;h2&gt;
  
  
  Please Support the Zellij Developer ❤️
&lt;/h2&gt;

&lt;p&gt;Zellij is a labor of love and is provided free and open-source to anyone who wishes to use it.&lt;/p&gt;

&lt;p&gt;Zellij will never display ads or collect your data.&lt;/p&gt;

&lt;p&gt;To help sustain the project, please consider a recurring donation so that the developer can pay their bills: &lt;a href="https://github.com/sponsors/imsnif" rel="noopener noreferrer"&gt;https://github.com/sponsors/imsnif&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>webdev</category>
      <category>cli</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why we started Devsession</title>
      <dc:creator>Aram Drevekenin</dc:creator>
      <pubDate>Thu, 06 Jan 2022 13:46:32 +0000</pubDate>
      <link>https://dev.to/devsession_is/why-we-started-devsession-575a</link>
      <guid>https://dev.to/devsession_is/why-we-started-devsession-575a</guid>
      <description>&lt;p&gt;When I started developing, after a certain period of writing code alone, I was taught how to collaborate with others. I was introduced to version control tools (back then it was SVN, today it would be Git) as the point of coordination. My first impression was that someone was trying to play a trick on me. &lt;/p&gt;

&lt;p&gt;In order to work along side my teammates I would need to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Work on my feature alone until I'm done&lt;/li&gt;
&lt;li&gt;Try to push my changes to the joint code base&lt;/li&gt;
&lt;li&gt;Have Git tell me what it understands are the contradictions I need to fix&lt;/li&gt;
&lt;li&gt;Fix those contradictions, and hope there aren't any more non-textual contradicting assumptions that the tool couldn't catch&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This just seemed so needlessly complex to me.&lt;/p&gt;

&lt;p&gt;We waste so much time on merge conflicts, and on fixing bugs that happen because Alice zero indexed the IDs while Bob one indexed them.&lt;/p&gt;

&lt;p&gt;Development is team work, but as individual developers, our teammates' work is often a point of friction rather than a welcome additional pair of hands.&lt;/p&gt;

&lt;h2&gt;
  
  
  What if things could be different?
&lt;/h2&gt;

&lt;p&gt;This is where Devsession comes in. We're building an IDE synchronizer that would allow you to have a Google-docs-like collaborative experience in your own IDE, and see your teammates type in real time.&lt;/p&gt;

&lt;p&gt;Plug in a url (for example: &lt;code&gt;https://my.devsession.is/alices-session&lt;/code&gt;) into your IDE, terminal or browser and you're in the session.&lt;/p&gt;

&lt;h3&gt;
  
  
  Join a dev session from your own IDE
&lt;/h3&gt;

&lt;p&gt;With Devsession, the code is shared between all members of the team, but each one still works in their own environment.&lt;br&gt;
Devsession will also include a built in set of feature flags, allowing developers to switch each other's changes on and off if they want to temporarily work alone without having to diverge the code itself.&lt;/p&gt;

&lt;p&gt;The feature flags are logical rather than textual. This means that instead of having a language specific feature flag such as &lt;code&gt;if (my_feature_flag_name == true)&lt;/code&gt; inside the code, Devsession will be able to manage which parts of the code should appear in your editor depending on which flags you switched on.&lt;/p&gt;

&lt;p&gt;In addition, Devsession will include a built in modern messaging system. Meaning that if you don't want to be interrupted in your flow, you could also set yourself as "Do not disturb", and then your teammates can always switch off your feature flag if they want to.&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.amazonaws.com%2Fuploads%2Farticles%2Fyb24z37usdpqmxiiye01.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.amazonaws.com%2Fuploads%2Farticles%2Fyb24z37usdpqmxiiye01.png" alt="A depiction of a generic IDE with Alice and Bob writing code together concurrently with a set of feature flags they can use to turn each other's changes on and off" width="400" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Share your terminal without sharing your cursor
&lt;/h3&gt;

&lt;p&gt;Devsession will also allow you to synchronize your terminal, with each user having their own cursor rather than being made to share the cursor with others. This would allow developers to hop between the different environments of their teammates in order to be able to seamlessly pair on a joint problem in the middle of development.&lt;/p&gt;

&lt;p&gt;This solution could also be used separately. In order to collaborate on solving a production issue or temporarily helping a friend out of a jam.&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.amazonaws.com%2Fuploads%2Farticles%2Fzi5niqhpoxpc7ip8b2wn.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.amazonaws.com%2Fuploads%2Farticles%2Fzi5niqhpoxpc7ip8b2wn.png" alt="A screenshot of a terminal with multiple users connected, each one with their own different colored cursor" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Say goodbye to meticulous coordination
&lt;/h3&gt;

&lt;p&gt;Imagine you and your teammate are working on two different features, each one touching the same data structure. For example: in a social media site, both of you need to change the &lt;code&gt;User&lt;/code&gt; model. One of you wants to add an attribute, and the other wants to change the type of a different attribute. Today, depending on our language or environment, we would often have to meticulously coordinate such tasks. Usually this would not even be enough and on the whole, we would be slowing each other down.&lt;/p&gt;

&lt;p&gt;With Devsession, this problem goes away. We would both make our changes to the data structure and quickly fix any contradicting assumptions each developer's implementation creates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Look through history with varying levels of granularity
&lt;/h3&gt;

&lt;p&gt;How often did you try to optimize a piece of code someone else wrote only to end up with basically the same thing after a few iterations? No shame, it happens to us all.&lt;/p&gt;

&lt;p&gt;Right now, if we need to understand a piece of code as developers, the only history we have is our git log. While certainly better than nothing, git commits tend to be of finished pieces. There is a lot of context about "why things are this way" that gets lost. We could ask the developer who wrote it... if they are still around - or if they even remember.&lt;/p&gt;

&lt;p&gt;Wouldn't be cool if we were able to analyze a piece of code and see exactly how it was written? Kind of like going through an undo-chain in our own editor.&lt;/p&gt;

&lt;p&gt;An upshot of Devsession is that since everyone is coding together in the same instance - the instance itself has memory. We could use it to better understand what was happening when a piece of code was created - and we could even edit it into a feed that developers could browse to find out what happened while they were on vacation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do you want to get rid of Git?
&lt;/h3&gt;

&lt;p&gt;No, not at all! We believe Git is a great tool for version control, but that we've been misutilizing it as a collaboration tool.&lt;/p&gt;

&lt;p&gt;We think Git should be used in tandem with Devsession, with developers deciding when to commit a larger change together as part of the code-base's evolution.&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.amazonaws.com%2Fuploads%2Farticles%2F8gsnr0ubrozw71bj5vfq.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.amazonaws.com%2Fuploads%2Farticles%2F8gsnr0ubrozw71bj5vfq.png" alt="A diagram showing how a Devsession instance can be used as a client for git with developers connecting to it directly and together deciding to push to Git" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Devsession is an open source company
&lt;/h2&gt;

&lt;p&gt;Devsession was started by the team behind &lt;a href="https://github.com/zellij-org/zellij" rel="noopener noreferrer"&gt;Zellij&lt;/a&gt;. We intend to use Zellij as our technological infrastructure and be the first major app in a growing ecosystem around it. To that end, we intend to sponsor the development of Zellij and work to improve it and nurture others who might benefit from the infrastructure it offers.&lt;/p&gt;

&lt;p&gt;As a free service to the Zellij community - Devsession also intends to offer terminal sharing over the web for free. Sharing that will not lock users in to only having one cursor each. But instead allow them to work separately in the same session. When we launch, we intend for terminal sharing to be as simple as sending a friend a URL: &lt;code&gt;https://my.devsession.is/alices-session&lt;/code&gt;. They would open the URL in their browser or through Zellij and immediately start working together.&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.amazonaws.com%2Fuploads%2Farticles%2F8h6tof9y2yqd1i2b9b73.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.amazonaws.com%2Fuploads%2Farticles%2F8h6tof9y2yqd1i2b9b73.png" alt="A diagram showing multiple users connected to the same Zellij instance, some from a browser and some from terminal emulators, assisted by Devsession in order to facilitate connecting to the session through a my.devsession.is url" width="800" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Devsession itself intends to be as open-source as possible. Pursuing revenue by providing services rather than creating intellectual property.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sound interesting? Want to learn more?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://devsession.is" rel="noopener noreferrer"&gt;Sign up for early access!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>news</category>
      <category>showdev</category>
      <category>linux</category>
      <category>git</category>
    </item>
  </channel>
</rss>
