Graphical "One Screen" puppy setup

What features/apps/bugfixes needed in a future Puppy
Post Reply
Message
Author
User avatar
ecomoney
Posts: 2178
Joined: Fri 25 Nov 2005, 07:00
Location: Lincolnshire, England
Contact:

Graphical "One Screen" puppy setup

#1 Post by ecomoney »

When I worked at the cybercafe, one day I plugged in a new monitor on one of the machines, but got distracted before I could boot it and set up the graphics.. When a customer came in to use the machine and switched it on, Puppy detected new hardware was running and ran the xorgwizard. The customer exclaimed "Oh no, this ones got a Blue Screen of Death!!!!!".

Also, it seems whenever I install puppy linux for someone, and I set up their monitor/keyboard/mouse they watch over my shoulder and say "Its not going to do that everytime is it?".

Ive taken a stab at designing a graphical setup wizard that will be much simpler and easier to navigate for new users, and will give puppy a much nicer first impression.

Image

Even the most modest of computers capable of running puppy would be able to run in xvesa/800x600x16 mode. I suggest that this screen resolution is used before the puppy desktop is launched, 640x480 looks "broken" to most computer users, and may automatically trigger the knee-jerk impression that they will have to go on an easter-egg hunt for their graphics drivers (if they have any windows experience). A puppy boot parameter (like the pfix=ram) could be used to start the text-based xorgwizard should someone not be able to start the graphical setup wizard above, for example if they had a really ancient 640x480 laptop which are now very rare indeed.

The mouse detection routines in earlier puppies were really good and only took an extra few seconds when booting puppy for the first time. Ive set up a great deal of computers with 2.15ce, which had automatic mouse detection, and I cant recall them ever failing on me once. I assume that there must have been some reports of the mouse autodetect failing, or an extra screen to select the mouse type wouldnt have been added to the xorgwizard from 3.x series onward.

The detected mouse would be active by default in the mouse type combobox, which has the "focus". This would mean that only a few keypresses of the down arrow button would be required to switch to the other two possible mouse types (there are three USB, Serial and PS2) until the mouse was working in the rare event the autodetect routines fail.

The Keyboard layout combo/dropdown box would contain a list of all of the current possible keyboard layouts with the country after them. I nearly put a box underneath where the user could "test" the layout they just selected, say to make sure they get their @'s and "'s the right way around :-). Im not sure of the technical connotations of changing the keyboard layout "on the fly" (I know the ubuntu setup routines have a keyboard test facility during setup)

The Slider control would set the desired screen resolution, and cause the graphic displayed above to change size. I believe (if I can recall the dark distant past) this is similar to the way screen resolution is changed in windows XP, so would already be familiar to 90% of computer users out there. High resolutions that were over the capability of the graphics card to display in 24-bit mode would automatically set the colour depth option control to 16-bit, if they were at 24-bit to start with.


The "?" buttons next to each option box would display a simple form with more in depth details about each option they represent, hopefully with pictures of different monitor types (LCD/CRT), details about the fixed resolution in xvesa, and about what a "color depth" is.

The "Test" button when pressed would launch a test version of the graphical screen. This feature is already in the present puppy xorgwizard. It might also change the display resolution there and then, keeping the dialog box on screen. This would give the user an impression of what a typically sized dialog box would look like, and perhaps give a "Keep this setting?" question box that would revert back to the previous (working) resolution if "OK" were not pressed within say ten seconds. This would mean that any changes the user inadvertantly made that caused their display not to work would not be kept, as they wouldnt be able to see the "OK" button.

The "Advanced" button would bring up a further dialog box to allow more knowledgeable users to manually set their monitors horizontal and vertical refresh rates, to launch a text editor such a geaney on their /etc/X11/xorg.conf file or even drop to the command line.


From what I have seen of other puppy scripts (such as net-setup.sh for the wireless) the code to do this would be quite small, a few "K". I can only imagine what would have to go on under the hood to make this dialogue work with the current xorgwizard script which has been tried and tested for so long now. It would take a very skilled programmer indeed, and is way beyond my capability at present.

The xorgwizard in puppy already does an excellent job of detect good solid default seconds. I suspect 99.9% of the time first-time puppy users might just click the "Run Puppy!" button when first presented with this screen, and 99.9% of them would get a working puppy straight away. If it did not "just work" then most peoples first reaction would be to reboot and try again, tinkering with the settings on this screen and reading the help until they got it finally to work.

Im including the saved file from the OpenOffice Draw program that I used to create the screen mockup above, to make it easier for someone to create amendments. I think the above dialogue box represents all of the options in the current xorgwizard accurately.
Attachments
OO_xorgwizard.zip
Open Office (2.2) file used to create the proposed new graphical xorgwizard screen mockup
(17.76 KiB) Downloaded 392 times
Puppy Linux's [url=http://www.murga-linux.com/puppy/viewtopic.php?p=296352#296352]Mission[/url]

Sorry, my server is down atm!

User avatar
ecomoney
Posts: 2178
Joined: Fri 25 Nov 2005, 07:00
Location: Lincolnshire, England
Contact:

Further Ideas

#2 Post by ecomoney »

Ive been having a few more ideas about the puppy initial setup. Perhaps a two screen setup would be simpler, and quicker, for the new linux user.

I believe at least 99% of users would be able to start their computers successfully, with the correct keyboard and screen settings using the following TWO screens.....I think I may have to change the title of this thread.

During bootup, on an average speed computer, it takes some seconds to detect the mouse type and xorg settings (where it says "probing monitor"). Perhaps during the computers boot, a message could be displayed "press [ESC] to enter advanced setup". This would give the user about 4-6 seconds to enter the current text based installer....which is currently very mature and stable code.....although IMHO far to complicated for a "Linux Newb". This should deal with the small minority of cases when these screens dont succeed.

Image

The desired location (default locale) and the keyboard layout is chosen by clicking on a map....this is the method used while installing every other OS I can think of. I know there is work ongoing with multi-language support and this could be worked in here too.

Image

The "Advanced" tab would present the new Linux user with options similar to that presented on the first screen (Xorg/XVesa etc)

Your thoughts please!
Puppy Linux's [url=http://www.murga-linux.com/puppy/viewtopic.php?p=296352#296352]Mission[/url]

Sorry, my server is down atm!

User avatar
WhoDo
Posts: 4428
Joined: Wed 12 Jul 2006, 01:58
Location: Lake Macquarie NSW Australia

Re: Further Ideas

#3 Post by WhoDo »

ecomoney wrote:Your thoughts please!
I prefer the one screen setup in your first post - simple, easy to follow and covers all that needs to be covered.... BUT ...

If it were that easy to create, surely it would have been done by now? I believe that the sort of graphics you'd require for that are only available AFTER you tell the system what graphics mode to choose. Until then you only have the standard VGA palette and character set. Am I wrong about that? Unless, of course, you run some complex graphic detection routines that are capable of picking up all sorts of hardware without user intervention ... but then why would you need a setup screen in that case? :?
[i]Actions speak louder than words ... and they usually work when words don't![/i]
SIP:whodo@proxy01.sipphone.com; whodo@realsip.com

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#4 Post by Aitch »

WhoDo wrote:If it were that easy to create, surely it would have been done by now?
Concur with that, though my thoughts are that the hardware recognition script is the real key to this....& I haven't seen anyone analyse it to see if video could be pushed up the list sequence?
I've suggested before the idea that after the initial setup has been done & saved, that a snoozed configuration could be implemented, shortcutting the need to go through full hardware recognition every time, after all, changed hardware is, in my experience, the exception, not the rule, so why scan it every time?
Just ask 'Jo user' - me & you
Then boot a snoozed setup, without running hardware recognition, saving maybe 20 seconds from bootup
I believe newer embedded bioses do similar

Something like this - excuse my inferior graphic
Hope that's not off tack?
Btw, I prefer the onescreen, if your idea IS possible :D

Aitch :)
Attachments
Snoozesetup.PNG
(8.2 KiB) Downloaded 1292 times

User avatar
ecomoney
Posts: 2178
Joined: Fri 25 Nov 2005, 07:00
Location: Lincolnshire, England
Contact:

#5 Post by ecomoney »

Thank you for your attention to this.
Just ask 'Jo user' - me & you
We are not "Jo user"!!!!

Puppy is not designed for us, we are not "Linux Newbs". We have used puppy linux many times before, and are aware what an "X" is, as well as an "Xserver", a "Xvesa" and an "Xorg". What if this was the first time we had heard these mentioned? The first time I booted puppy was the first time I had heard of them, and I remember I just pressed enter cluelessly until it "worked". It was not a good first impression of linux....but I am glad I persevered. Less patient people, I know from experience, will not.

Please, put yourself back in the position of a "linux newb", how would you feel about being presented with a blue screen with a long list of strange numbers with ancient looking terminal writing in it? You might be forgiven for thinking that you were back in broken teletubby land (Windows BSOD!!!). If you doubt this, take some puppy cd's around to your friends and family and watch them try it without any training or introduction.

It is similar to another problem that technically puppy already deals with quite well. Linux sometimes has a problem with ACPI bios's, and will not boot unless ACPI is turned off (boot the CD with the "Puppy acpi=off) parameter. This deals adequately with the problem of the few incompatible ACPI bios's, while not getting in the way of the vast majority of cases when puppy "Just Works".

Puppy linux could have a similar boot function (say "Puppy xsetup=text"), or better an escape [ESC] key function during hardware detection.....or ideally both. This would allow the few cases where automatic detection failed to be remedied, without getting in the way of Puppy Linux "Just Working" in the vast majority of cases where autodetection is possible....just like the ACPI issue.

As mentioned, I believe that 99.9% of computers out there would be capable of showing graphical screen, using xvesa at 800x600 for setup (640x480 looks "broken" to most (i.e. windows) computer users, and their automatic thought is "Oh no, Ive got to risk the online virus gauntlet on a tiny screen with 16 colours to find the windows graphics driver!"). For the 0.1% of others, there would be "puppy xsetup=text"....or the [ESC] key during bootup.

The first screen I think would make for the screen displayed when "advanced..." is clicked, but overall, the simpler method that would make the best first impression to so many first users of open source software would be the "two screen" (with a third if necessary) approach. Even my mother would be able to get puppy linux "working" with that!

Puppy Linux has an uncanny knack of knowing when it is being booted on hardware that it has not been booted on before. Im not sure of the underlying mechanisms that it uses to do this. You are right Aitch that changed hardware is the exception rather than the rule (but do you use usb or livecd boot? Does your lifestyle need that facility). Another one of puppy linux's "features" is its ability to continue running when you remove a hard drive from one, probably broken, machine and put it in another. This makes windows techs jaws drop with astonishment. If these wizards were implemented, all that would be necessary is the final screen (the user may prefer a different screen resolution on the different hardware). I think it would be safe to assume that whoever it was would prefer the same keyboard layout/locale.

I really wish I had the time to learn how to program, as well as implement Puppy Linux...or this would be the first thing I would rectify.
Puppy Linux's [url=http://www.murga-linux.com/puppy/viewtopic.php?p=296352#296352]Mission[/url]

Sorry, my server is down atm!

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#6 Post by Aitch »

I have to admit still being reliant on LiveCDs - usb boot doesn't work on too many of my old boxes at home, and IBM laptops are not the easiest to boot other than default h/d
I keep a zipped ISO on my USB key for replacing the occasional scratch-wreck :wink:
Tried the wakepup alternate on a few boxes, but it was a bit hit&miss with USB flashkeys [floppies!! yuk & again IBM lappies; no floppy]

Aitch :)

Post Reply