[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: partman-auto menu reorg and default item

Frans Pop wrote:
> Can someone update me on that discussion?

<Alphix> joeyh: sorry for nagging you....but....feedback on the partman-auto menu reorg?
<joeyh> I'll try to look at it, but I'm not very good at determining partman's behavior from reading its code
<Kamion> Alphix: is there a bug number? I'm interested
<Alphix> one moment
<Alphix> #384527
<Kamion> Alphix: https://wiki.ubuntu.com/UbuntuExpress/PartitioningTool may be interesting - I always wanted to implement that layout in partman, but never got round to it
<Kamion> basic idea was choose a disk first, and then choose what to do to it
<Alphix> Kamion: you already know which layout I'm talking about? :)
<Kamion> Alphix: Fabio did some of this sort of thing in Ubuntu's partman-auto - I don't really like the way it's laid out internally though
<Kamion> yours looks better at a first glance
<Alphix> cool....reviews are welcome....the layout reorg is currently what's blocking partman-auto-crypto
<Kamion> use [ "$method" ] && [ "$disks" ] rather than [ -n "$method" -a -n "$disks" ]
<Alphix> the reorg would also allow multi-disk auto-partitioning schemes in the future
<Kamion> test(1)'s -a and -o operators are evil and nonintuitive
<Alphix> evil?
<Kamion> the specification for test's behaviour is 
<Kamion> much more complicated than you might expect
<Kamion> it's best to keep it simple and use shell operators to do (con|dis)junctions
<Alphix> okey
<joeyh> it's also more portable..
<Kamion> Alphix: personally, I'd ask for the disk first
<Alphix> it does
<Kamion> oh
<Alphix> no it doesn't :)
<Alphix> sorry 
<Kamion> see joeyh's comment above ;)
<Kamion> hmm, I guess that might not interact too well with multiple disks
<Kamion> er, multi-disk partitioning
<Alphix> we need to ask method first cause we don't know if random method supports multiple disks
<Kamion> right, I see what you mean - none of them offer multiselects though
[joeyh!~joey@wren.kitenet.net] ACTION still feels that asking method first will piss a lot of users off
<Alphix> Kamion: nope, not yet
<Kamion> method first is problematic for certain things
<Alphix> joeyh: why?
<joeyh> at least I am not a big RPN fan :-)
<Alphix> RPN?
<Kamion> so in Ubuntu (I never got round to merging it and it's not obvious how right it is just now), we have an auto-resize method
<Alphix> Kamion: problematic for which things?
<joeyh> reverse polish notation
<Kamion> given a disk, this figures out whether it's possible to shrink a partition enough that you can install into the free space created by doing so
<Kamion> trying to decide up-front whether you can do that for multiple disks seems harder
<Alphix> Kamion: I think I've seen this when installing Ubuntu on my gf's laptop.....but the auto-resize doesn't *have* to support multiple disks
<Kamion> that's true, but the UI gets nasty if other methods do and it doesn't
<Alphix> Many methods will just support one....but some, like lvm or crypto/lvm will support several (after Etch)
<Kamion> I suppose it might work actually
<Kamion> you could select auto-resize and then it would offer the disks it can manage to do auto-resizing on
<Kamion> or none if none of them would work
<Alphix> Kamion: not really...you'll get a multiselect debconf dialogue or a select dialogue depending on the method
<Alphix> And the methods are supposed to check if they can be run at all before they add themselves to the first menu
<Kamion> yeah, I guess that's doable
<Alphix> Additionally, if only one disk is available, the second screen should be skipped altogether and immediately go to a confirmation screen
<Kamion> I'm trying to get my head into a mode where I can think about joeyh's point
<Alphix> joeyh: I don't feel that method first, disk later is reverse......it goes along the line of.....I want to do a METHOD install to DISK please....i.e. method first :)
<Kamion> I think it might be OK if you gave a description up-front of e.g. how big each of the disks is
<Kamion> to help the user get their bearings?
<Alphix> in the second menu you mean?
<joeyh> well, consider if you've never used d-i before, you have data you want to keep on /dev/sde, a couple of other partitionable disks, and the first thing it asks you in partitioning is, "automartition disk, use lvm, or use raid?"
<Kamion> no, the first
<Kamion> joeyh: the questions would have to be phrased as "one of your disks" or "some of your disks"
<Alphix> Kamion: how would I give partition size indications when methods are listed?
<Kamion> Alphix: partition size wouldn't really fit of course, but when a partitioner asks me questions, I often find myself reaching for something that will give me some information about what disks are there
<Alphix> http://www.hardeman.nu/~david/files/patches/debian/menuone.png
<Alphix> http://www.hardeman.nu/~david/files/patches/debian/menutwo.png
<Kamion> it's a psychological thing I think
<Alphix> Check those two images, that's the current menu with the patch
<Kamion> just something like "You have 2 disks available: sda 1.1GB, sdb 1.1GB"
<Kamion> maybe partitioned vs. free space
<Alphix> The second menu option in the first menu "Automatically partition the largest continuous free space" is only added if there is free space on one disk so it already implements the dynamic option
<Kamion> 1.1GB (0.2GB free)
<Alphix> Sure, I can add that as well
<Kamion> that sort of thing is quite handy for getting a quick feel for what's on the disks
<Kamion> Alphix: my other concern there is that at least in English all those items are really visually similar
<joeyh> it's not clear from that first screen whether automatically partitioning a disk is reversable. It's also not clear that "automatically partition a disk" will let you choose which disk gets partitioned
<Kamion> I think maybe some spacing or putting distinguishing text other than at the end would help
<Kamion> I agree with joeyh
<Alphix> Ok....but most of these comments refer to proper template wording, right?
<joeyh> yes, but the wording is only so seriously important because of the ordering
<Kamion> can we do something like the desktop-ish convention of "Automatically partition a disk..."
<Kamion> ?
<joeyh> a really good wording is only going to be working around the uncertanty this ordering causes, I think
<Kamion> joeyh: the other ordering makes multi-disk partitioning basically impossible though
<joeyh> yeah, I know :-(
<Kamion> while I see your point ... trying to see how to reconcile those
<Kamion> actually
<joeyh> I posed a proposal for some more complex menus that avoid the problem, at the expense of not being as clean as these
<Alphix> would it be better to change "automatically partition a disk using lvm" to "choose disk(s) to automatically partition using lvm"?
<Kamion> how about asking for disk first, but letting it be a multiselect?
<joeyh> Kamion: people hate multiselct, especially in d-i newt..
<Kamion> then if you can't do whatever it is on multiple disks, it doesn't get offered
<Alphix> seems even more backwards to me :)
<joeyh> I tend to assume that 10% of people will fail to use a multiselct widget, so it needs to at least have a default that's right for 90% of those. Doable for tasksel, seems impossible for this
<Alphix> before Etch I don't think any recipe will support multi-disks though
<Kamion> how about "choose another disk?"-type flow?
<Kamion> it's not as clean, but ...
<joeyh> if it can be implemented, sure ... :-)
<Kamion> "choose an additional disk" I mean, not a different one
<Kamion> and then, the complexity still disappears if the method can only handle one disk
<joeyh> my idea was to have a menu with choises for regular autopartitioning of each disk, and then at the bottom, items that went to submenus to allow selecting multiple disks for lvm and raid
<Kamion> disk first means you get oriented as to the state of your system right from the word go
<Alphix> FJP told me that the menu needed reorganisation cause it would overflow the screen with 2+ disks
<Alphix> if it's kept as is now
<Kamion> yeah, with more than two disks and possibly even with two, it gets pretty messy
<Alphix> there are 5 choices with partman-auto-crypto.....6 with partman-auto-raid
<Alphix> (per disk)
<Kamion> also, there should be a manual partitioning option at each level
<Kamion> so you can break out at any point
<Alphix> Why not add at the top a brief list of disks, and a text saying you'll get to choose the disk in the next menu?
<Kamion> if you're doing that in enough detail to give a reasonable level of orientation, honestly, I think you might as well just let them select the disk
<Kamion> otherwise with (say) 4+ disks it will either be (a) badly wrapped and very confusing or (b) one per line and take up a big chunk of screen space anyway
<Kamion> so might as well just let it be a select box
<maks> Alphix ack for your suggestion cryptopts is not an official kenrel-parameter.txt
<Alphix> limit it to "4 disks have been found in your system"
<maks> Alphix: but i'd like an easy example of boot args in README.initramfs :)
<Alphix> maks: cool....I'll ping you when a cryptopts capable cryptsetup is in unstable
<Alphix> maks: so you do want the documentation anyway?
<Kamion> Alphix: better than nothing, but I honestly think it will still have users reaching for fdisk
<Alphix> Kamion: even if menu2 is more verbose?
<Kamion> yeah
<svenl> Kamion: fs mentioned qla2xxx is already defined in kernel-wedge proper, which is why i didn't add it.
<maks> Alphix: yes an quick shot like for nfs you can have root=/dev/nfs ip=dhcp rootnfs=auto
<Kamion> users will stop at menu1, they won't think "hey, let me select something random, I can always go back"
<Kamion> also, manual partitioners often make you pick a disk first, so it's a familiar workflow
<Alphix> maks: will mail you one later
<maks> Alphix: put it in Readme.initramfs, or do you think it's misplaced there?
<svenl> (didn't check though)
<Alphix> maks: ah, I thought you wanted one....sure, I'll add it to the cryptsetup docs
[joeyh!~joey@wren.kitenet.net] ACTION ponders .. there just don't seem to be a lot of situations where you reach for the tool and only then look around for what to apply it to
<Alphix> Kamion: perhaps different template altogether for menu1 depending on whether you have one or +1 disks?
<joeyh> except for war^Wnethack :-)
<Kamion> Alphix: if you have one disk, you skip the disk menu :-)
<Kamion> that one's easy ...
<Alphix> Yes, and you say so in menu 1 as well (found disk X, which method do you want to use on it?)
<Alphix> But for multiple disks the menu might as well say: found multiple disks, please choose method and you'll be able to select the disk soonish
<Kamion> personally, I'd be going "I don't know, I need to know more about the disk before I decide what to do with it"
<Kamion> "what am I going to be erasing?"
<Kamion> that sort of thing
<Alphix> even when told you'll get to choose the disk in the next step?
<Kamion> yeah - I'm sorry, I'm not sure I know why, it just feels far more comfortable this way round
<Kamion> oh, possibly I know why
<Alphix> so don't keep us in suspense :)
<Kamion> nobody really trusts software that much - there's a subconscious feeling that it might not bother asking you before starting to trash things
<Alphix> agreed
<Kamion> to me, "pick a disk" is something that very definitely suggests that there has to be something more to decide
<Kamion> since you haven't picked what to do yet
<Kamion> so it feels safe
<Kamion> "pick something to do to a disk" - even if you say "we won't actually do anything yet" feels dangerous until you've picked the disk you're going to do it to
<Kamion> and to me, something that feels safe is better than something that you have to reassure the user about
<Alphix> I'd feel the opposite....who knows if after I "pick disk" it will thrash the partition table to prepare for the auto-whatever.....but when I choose the method, the installer doesn't know of any disks yet
<joeyh> yes, think of it like picking up a live power tool.
<Kamion> does that make any sense at all to anyone else, or is it just my twisted psyche?
<joeyh> it makes sense to me
<Alphix> In the end......I don't care, make a decision and I'll implement the menu accordingly :)
<joeyh> thing is, you know the installer knows about disks, because it's told you it was detecting them just before this ..
<Alphix> So why not just tell the user that they'll get to select disk(s) next and that nothing will be done to them yet....?
<svenl> Alphix: maybe you need a dialog where both gets to be chosen simultaneously :)
<Alphix> by the way...the current menu lies about the reversability of the actions (partman-auto-lvm is not reversible)
<joeyh> I'm with kamion, reassuring the user can work, but it means the user was not sure all along
<Alphix> svenl: that's the current menu....which FJP wants to have reorganised
<svenl> Alphix: what menu is it ? The partman one ? 
<Alphix> svenl: yes...the partman-auto one
<svenl> hehe.
<Alphix> joeyh: will the user ever be sure when a tool wants to "automatically" trash disks?
<joeyh> well, that's another question, weren't we using the term "Guided partitioning" to avoid the scare factor of "auto"?
<Kamion> they'll never be quite sure, but I think there's a qualitative difference between the software not knowing what to do yet, and knowing what to do but not what to do it to
<Kamion> in my head, anyway ...
<Alphix> On "guided" vs. "automatic" I've got no idea, but I could of course change that as well....guided feels a bit hypocritical though....it doesn't guide you as much as it automatically commits changes to your disk....but that's a different topic :)
<Alphix> perhaps we could simply reverse them....."Please select the disk(s) that you want to install Debian to".....and then "Please select the automatic partitioning method to use" (with options according to number of disks chosen)...for etch the first menu could be a simple select instead of multiselect since only one disk is supported anyway
<Kamion> that does feel better to me
<Alphix> joeyh?
<Kamion> we can talk about avoiding multiselects if need be later on
<Alphix> multiselect might be a corner case anyway....how many people who are neophytes have multi-disk computers?
<joeyh> well, it could work... it'd need to loop back if the user selected nothing to avoid the main problem they have with multiselects
<Alphix> it would be a "normal" select for Etch at least
<joeyh> it's not that these people have never seen one before, it's that it's not at all clear what key selects something va what key posts the form
<Kamion> Alphix: they all have dmraid ;-)
[Kamion!~cjwatson@83-216-156-196.colinw664.adsl.metronet.co.uk] ACTION runs
<Alphix> yes, please beat me over the head and tell me that I need to support that as well :)
<Kamion> I wouldn't inflict that on you
<joeyh> <Alphix> it would be a "normal" select for Etch at least
<joeyh> I guess we could make somehow dealing with multiselect a pre-req for adding the stuff that would use it.
<joeyh> I'd be ok with that
<joeyh> I hadn't realised we weren't due to get those schemes in time for etch
<Alphix> I thought FJP opposed it....I could easily add it to at least partman-auto-lvm and partman-auto-crypto
<joeyh> did he oppose it on destabalisation grounds?
<Alphix> something like that...too much changes too close to RC1
<Alphix> http://lists.debian.org/debian-boot/2006/08/msg00862.html
<Alphix> and http://lists.debian.org/debian-boot/2006/08/msg00924.html
<Alphix> "This may make it impossible for users to see which disk they are selecting with which type of auto-partitioning and IMO that _is_ an RC issue that necessitates a reorganization."
<Alphix> so what's the conclusion?
<joeyh> I think it's to put the disk first, in a select, and defer changing that to a multiselect until the issues with those can be cleaned up
<Alphix> good
<Alphix> just outta morbid curiosity....do you have any idea on how the multiselect issues could be cleaned up later?
<joeyh> I also think there should be break-outs to the manual partitioning in both screens, and that both screens need to be careful of wording to keep the user from getting scared they will eat his disk w/o confirmation
<joeyh> well, a special help line at the bottom of the screen when they're up might help.
<joeyh> we'd have to see, I think.
<joeyh> making them impossible to post w/o tabbing to the <OK> would work, but would be so annoying
<joeyh> it's how dialog deals with this issue, iirc
<Alphix> mm....perhaps add a "partition multiple disks" options on the first "choose disk to partition" menu which would in effect change the select to a multiselect
<joeyh> well, that's close to what I suggested before..
<joeyh> yeah, some kind of toggle between a regular select to multiselct could work
<joeyh> even something in the cdebconf UI
<Alphix> yes, I know....I'm reading your mail in the background as I type :)
<Alphix> sue me ;)
<Kamion> joeyh: impossible to post w/o tabbing> that's what we used to do and it attracted bugs too ...
<Alphix> the preseeding would work with that kind of layout as well
<Kamion> when I made it possible to post by just hitting OK, I considered it a bugfix
<joeyh> Kamion: what were the bugs?
<joeyh> just people getting trapped?
<Kamion> yeah, people not realising they needed to hit tab - at the time there was no visual indication of that
<Kamion> and general clunkiness complaints too
<Kamion> bug #252751
<Alphix> for multiple disks, partman-auto/disk would be set to e.g. "/dev/sda /dev/sdb" or for a single disk, "/dev/sda" and partman-auto/method could be e.g. "lvm" or "raid"
<Kamion> joeyh: hah, you filed that :)
<joeyh> yeah, there's a visual indicator for tab now, so things have changed
<joeyh> plus, I didn't realize people expected to use enter to toggle a choice. Still astounds me
<Kamion> I think a help line could help with that, as you say
<Kamion> it's the help line that's telling them to use tab, so ...
<Alphix> I think my recollection of FJP's opposition to multi-disk recipies might have been incorrect :) I'll see if I have time over once the dust settles on the partman-auto menu reorg whether I have time to look into that as well

see shy jo

Attachment: signature.asc
Description: Digital signature

Reply to: