From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id ED4BCAC56; Thu, 30 Jul 2026 11:04:55 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 3ACD9AC8A; Thu, 30 Jul 2026 11:04:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fout-a5-smtp.messagingengine.com (fout-a5-smtp.messagingengine.com [103.168.172.148]) by atuin.qyliss.net (Postfix) with ESMTPS id 27C8BAC88 for ; Thu, 30 Jul 2026 11:04:52 +0000 (UTC) Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.phl.internal (Postfix) with ESMTP id 58557EC043D; Thu, 30 Jul 2026 07:04:50 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-06.internal (MEProxy); Thu, 30 Jul 2026 07:04:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1785409490; x=1785495890; bh=UnTfv0pfaL cYs41rH6sfQ4CcBL4FfIcyHNDM9O2xp+k=; b=q/qUjVhs6dEhuX755URCE6piRW VQBQoVwrvGcx7136ltGAtV+agb6kJ65BPBtBrRLCkPzbL3RPVuG5rv8MAGpAFo2B ACX3nNAswDQrpCmMoyIHZgG/zcxYD/hdhSohrMs+QlJyORKMdK2hmueOquDYXDKG j5kWcKbCqYNguu/zivFeRdmk8G/rlcK4JDwmrCLctwhIQ7ZLfOeCmp4Tb4Aww0ug Qc8aI398/8fjbyb5y/1F8/94W4bD3bhTFT/Gkc5rwxcdys90Ub/Z6XwPgFL7pBi/ 1M3PYuMHfn6CW3lx1tUr0gCX+F2iOrkC1EMuAgXa//AbTt2cKWxmBWWRbeRA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1785409490; x=1785495890; bh=UnTfv0pfaLcYs41rH6sfQ4CcBL4FfIcyHND M9O2xp+k=; b=IrjOpMyMDOSGWR3QZiPjiDwlWuVzugFnDMaBUwmNuo02DPOWDVu cWAJ2+NQQUDkmMvTmjoEx/H7Wde8i4ofIiZPLW4uISu1j+u4Mnev2xpjLBlJloYN sYB0XXRT/QAqCb9YuLAVqfvo817JdEo+WWPvTpmdsYJA3RFBHcnlfhYsDd29hImo ERDw5Z4NRzH+advdZIZaa0EzGOaXMCj5bCNMgYdjAfol3i6fu70QcE0Krr1qX2xl Dxi6cUFRiCp0w/Fa95dxyp8W39xZo3ic0H1DDYlCK7bdlMBiRXCA91MMcQWmjsBq p3vBZWkQMA7hfEiwz8Bem0YzoKKBpWl+MWg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTGft9nLyaAsdNQL+F0aAT2BOH6KUDYA10WXWnehIW+OjPEjKR76PDAoqZZisc6yYU tudsREuHtMFDHm5QcZmwqzvem1oExk6whW03baPCFPnzud/Hw9fQK/UJBaNX+cYinziIDM G1qQPQBZ0a3vvHZYS5dlLtabTgHD0dMicPW1AcC/im9b9Rid5bVMsOJ5cWbZGiCh7MbIna I3ZNPlFTDGfw3p1T58l9WW42q4F3E/n8rb+hGmFy8eRXDDZhhlmu+MA29HgyC9ED3mex5U f3RE/GFLgL/UAX17smyNm5PRqG22BvFs7bazfleg4W98Ygjgonshi7itmZVvfT56WgFsoZ ulXBaCZnLv0bd817crrTmjuh6RxN2DgtR7Lex/QGmumpV6JVX+hnphAMPm5f08jun0gFKK 5tqfkFfzeqhVOVAq5dmIHLkZYM4nFNt/x85dLa7tvSdER0fNH9C+yer5iEkuD1nvHuNfsu MAIxddzdop49MkChQQIC4ESHK0ZpyBdC3PPuA+E1tf6nfkGzjV+35jMyphZDrIjX1XlVyc yXg9LJHUifPLhbnL7qz20ZCiig7uKiVFpdGHJ2EEh0vNfgmrLggTx/qJdIUVSET77qDjFN th8lud7zwJLn7D6AUc6memvaC+rceG+sojWK+HzpIP5q1JeBxCcvoPSEtoXQ X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 30 Jul 2026 07:04:49 -0400 (EDT) Received: by fw12.qyliss.net (Postfix, from userid 1000) id 80365C5F8F5D; Thu, 30 Jul 2026 13:04:48 +0200 (CEST) From: Alyssa Ross To: Vaida =?utf-8?Q?Plankyt=C4=97?= Subject: Re: UX: Initial use cases & actions In-Reply-To: References: Date: Thu, 30 Jul 2026 13:04:46 +0200 Message-ID: <87cxw43fht.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: 2X4L3MBQGJRYSU5SH6VLF7RSNRHE5PW4 X-Message-ID-Hash: 2X4L3MBQGJRYSU5SH6VLF7RSNRHE5PW4 X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: devel@spectrum-os.org X-Mailman-Version: 3.3.10 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Vaida Plankyt=C4=97 writes: > Sharing some initial key use cases & potential design approaches, so > as to move these conversations into the public sphere and get some > feedback! > > I've consciously abstracted away from describing UI, such as how VMs > are differentiated visually, user-facing naming of entities and > actions, or where actions are located in the UI. There's some ideas > being explored around this, but I thought I'd be good to share the > high-level thinking first and get people's feedback. The aim is to > address key usage scenarios in a user-friendly and flexible way > (easier said than done). > > I'd be most curious to hear if there are obvious usage scenarios that > y'all think should be included as part of this MVP design. One I'm > thinking through is whether the user needs the ability to Duplicate a > Persistent or Non-Persistent VM. > > UC1: Non-Persistent VM for one-off use > * AKA "I want to always launch a fresh instance of this app", e.g. Tor Br= owser > * Opening the base app would open a Non-Persistent VM as a default > * When closed, VM is discarded > > UC2: Persistent VM for continuous use > * AKA "I want to continuously use an instance and have changes > persist", e.g. Signal > * "Make Persistent" action on a Non-Persistent VM changes it to > Persistent: this happens in-place, i.e. there is only one VM, a > Persistent one, as a result of this action > * Autosaving a Persistent VM would be a lot friendlier to the user > than requiring confirm-on-close or manual snapshotting > * When closed, VM persists > > UC3: Non-Persistent VM based on a Persistent VM, for reproducible setup > * AKA "I want to set up an app with my preferences, and open one-off > instances based on this setup for specific situations", e.g. document > viewer > * "Create Non-Persistent" action on Persistent VMs; this allows for > templating-style functionality: a Non-Persistent VM is spawned off, > and is treated as completely separate > * When closed, Non-Persistent VM is discarded, while Persistent VM persis= ts If I have a persistent "My Configured Document Viewer" configuration*, do I choose "Create Non-Persistent" once, and then I have a separate icon or whatever to click every time I want the non-persistent version, or do I click something like "Run Non-Persistent" every time I want to do that? In the former scenario, my new "My Configured Document Viewer (non-persistent)" configuration will be out of date as soon as I change more configuration in the "template", so I'd probably end up wanting to delete it and create it again from the template, which sounds pretty inconvenient. In the latter scenario, that's not a concern, but it might be easier to mistakenly end up running a persistent instance when I meant to run a non-persistent one. To me, the latter scenario would be the ideal one, but we'd need to be confident our specific design mitigated that dangerous potential confusion. * configuration? instance? I wish we had a better name for these things, even if it's agreed that it's not necessarily what we end up calling it to users. Overall these use cases sound right to me. We should bring them up next time we have some community call or community something else to get more input, though! --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQQGoGac7QfI+H5ZtFCZddwkt31pFQUCamsvzwAKCRCZddwkt31p FfPRAP4v5lojOoBiTtGVVwHmeIuLebwytSfASYgLZOeMiTMqLgD/WUPTvVLgWdaB qpYGn7S9LjwlfTrWHhYykhtWhOXTtwQ= =t3j+ -----END PGP SIGNATURE----- --=-=-=--