Protect Non-Expert Users From Themselves

What features/apps/bugfixes needed in a future Puppy
Message
Author
User avatar
johnywhy
Posts: 879
Joined: Sat 20 Aug 2011, 14:52

Protect Non-Expert Users From Themselves

#1 Post by johnywhy »

Last Known Good
An example, I installed openbox and window switcher on Slacko 5.3.3, restarted x-windows, and got, "sorry, your window manager is not configured, cannot load your window manager, you're out of luck." What? Configured....? Good thing I had pupsave backups.

At least ms windows says, "cannot load windows, do you want to load your last good configuration?" Seems like that would not be hard to implement in puppy.

Incompatible Pets/SFS's
Seems like it would not take much to, say, prevent installation of an incompatible SFS or PET. At least a couple ways:
  • all pets/sfs's could have a tag or property indicating which puppy versions they are known to work with. On attempted install, alert user if their puppy version is not known to be compatible.
  • have a 'catch-all' menu, where launchers are placed if a pet/sfs tries to write to a menu that does not exist.
  • installers make other changes to the OS. Puppy should be "aware" of what the installer is doing, and alert user if the installer is trying to do something inappropriate.
Pupsave Backup/Restore
Many of us do manual backups and restores of the pupsave. Would love to see that automated (with manual option). Could be combined with "Last Known Good", above. I compress my backups, since they do compress so small. Even more space could be saved by making them incremental.
http://murga-linux.com/puppy/viewtopic. ... 862#629862
http://murga-linux.com/puppy/viewtopic. ... 865#629865

I think these sorts of protections could help expand puppy's userbase to mainstream, non-expert users-- if that is a goal.

What other breakage-protections and fool-proofing can folks think of?

----
asus eeepc 1001PXB
2x Intel(R) Atom(TM) CPU N450 @ 1.66GHz
2064MB RAM, 1024x600 Display
Detailed HardInfo: https://sites.google.com/site/johnywhy/my-asus-pc
Thank you for Puppy!

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#2 Post by darkcity »

Hi johnywhy,

Good ideas, if implemented they would undoubtedly make Puppy easier to use. I covered some of these ideas in a post in the PPM thread. see- http://www.murga-linux.com/puppy/viewto ... 951#598951
Incompatible Pets/SFS's
As mentioned in the post- if a PET tested and known to work with a your particular Puppy it could be flagged as okay to load. Otherwise a warning message could pop up, for example-

Please confirm PET installation - it is not verified to work on this Puppy?
(Yes, try loading) (No, use verified software only)


-The feature could be turned off if they don't want warning.
I think these sorts of protections could help expand puppy's userbase to mainstream, non-expert users-- if that is a goal.
I believe non-dev use is a goal, but a low priority. I think the following two points are Puppy ideals-
(A) to create a simple easy-to-use slimline OS which is hassle free
(B) to create an OS which people can experiment and learn development techniques.

So what do I mean when I say 'low priority'. This is because virtually all (if not all) the developers work 100% voluntary. Therefore they work mainly on what interests and motivates them. Implementing new ideas is more fun than testing software on different versions and hardwares to make sure they work. For example, even the administration for verifying software packages (never mind the actual testing) could be very time consuming - depending on how its implemented. There is no obvious procedure for software to be tested and added to the pup repository.

So Puppy is on the verge of being user friendly for non-devs - closer I believe than any other flavour of Linux. How could it be pushed a little further to be made excellent?

One solution I see is to have a Puppy Community Foundation that users donate to - a bounty system could be implemented. For example, if you want 'Last Known Good restore' feature then you would donate to that bounty.

A cut from the donation could perhaps be taken for Barry, lead devs and admin. Depending on how Barry feels it might have to be a fork of Puppy. The advantage to this system is the boring tasks that make Puppy more usable get done and crucially the software remains free. bounty example-http://www.riscosopen.org/content/documents/bounties

The other route is to set up a company and charge for service and/or software (which may violate the gnu license). Personally I'm not a fan of this method, but on the other hand you get a more complete piece of software (a la lowtech's Studio 13.37).

User avatar
`f00
Posts: 807
Joined: Thu 06 Nov 2008, 19:13
Location: the Western Reserve

#3 Post by `f00 »

@darkcity - good points

more..

Save/Nosave option
Depending on install method, this can be vital (it's standard on liveCD multisession), if things go seriously wrong having Nosave as the default logoff action enables a graceful exit. As I recall, shinobar's pupsaveconfig does this for frugal installs.

Examine packages
This can be a chore, especially with larger more complex packages. Simple dotpets are easy to tear apart - just rename the extension 'pet' to 'tar.gz' (or use pet2tgz, if I recall correctly) and see what's inside. For example; new jwm version dotpets may use a standard /etc/xdg/templates/_root_.jwmrc which will replace my customized one (not what I want), so I make adjustments and do the install manually. Sfs files can be opened/checked for sfs-type or trialed with an on-the-fly sfs loader. Some pups use their own particular repo for version-specific packages (usually good practice to check there first).

Eat slowly
Give your pup time to digest package 'meals', try them out and get familiar with what you have before scarfing up the next bunch. It's much easier to deal with issues if you keep it simple and do changes one step at a time.

"My new app doesn't work!"
Try loading it via the console. Dependency checking isn't perfect at times. Usually the console will give hints as to why a particular app is having difficulties. Sometimes you can fix it yourself, other times it might be best to check this forum for advice.

Compatibility - slight reprise
Due to the vast variety of pups and puplets, what they have in their base, kernel and so forth .. I can't see any simple solution or maintenance procedure on the near horizon. Here's a basic rule of thumb for dotpets I agree with.

hth

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#4 Post by greengeek »

Some really useful suggestions here. I especially like the idea of being prompted to make a savefile backup (last known good). Wish I had understood the significance of that when I first started using Puppy for heaps of work stuff. Painful lessons learnt.
`f00 wrote: if things go seriously wrong having Nosave as the default logoff action enables a graceful exit. As I recall, shinobar's pupsaveconfig does this for frugal installs
Yes, this is a great option. If you set the pupsaveconfig save time to zero it never saves and prompts you at shutdown to "save" or "no save". Very handy, and a real timesaver if you have a usb install on a usb stick which has a slow write speed.

User avatar
johnywhy
Posts: 879
Joined: Sat 20 Aug 2011, 14:52

#5 Post by johnywhy »

darkcity wrote: the administration for verifying software packages (never mind the actual testing) could be very time consuming - depending on how its implemented.
that did occur to me, especially given the very many packages out there.

4 ways to check:
--a manual and/or automated review process of packages
--a database of puppy version-incompatibilities/compatibilities
--on the fly analysis of the file at the time installation is attempted
--tag or property on the package itself, stating known incompatibilities/compatibilities

Having not built a package myself (yet :)), I wonder if there are a few ways that process could be partly automated or distributed, eg.--
  • certain puppy kernals expect certain 'earmarks' (or teethmarks) in any package compatible with them, which might not tell for sure if a package will work with a particular puppy, but can tell that a package would for sure not work with a given puppy.
  • release date of the package is a clue
  • ask package devs of released packages to voluntarily register in a public database which puppies its sure to work with, and/or those its sure not to work with. All other puppy versions would get a 'don't know'. The package manager would look up that database at install time.
  • initiate a new "requirement" that new package releases internally state (internally and/or in a public registry) their known incompatibilities/compatibilities
really great to hear all the feedback.
[b]Now[/b]: X-Tahr 2.0! StretchDog! DevuanDog!
[b]Tops[/b]: TarhNOP Vlina-R2 Racy
[b]Used[/b]: Puppeee Precise Lucid Wary Tahrpup Quirky Slacko MacPup Saluki Puppy Studio LxPupTarh Lina-Lite Lina
[i]i ♥ Puppy[/i]

User avatar
harii4
Posts: 448
Joined: Fri 30 Jan 2009, 04:08
Location: La Porte City, IA , U.S.A.
Contact:

#6 Post by harii4 »

the administration for verifying software packages (never mind the actual testing) could be very time consuming - depending on how its implemented.
user can give feedback like - hey this works in 3.01.
Thats how i found an Yad that worked with puppy 4.

Protect Non-Expert Users From Themselves
With all the road laws and highway signs we still have car crashes? :?
Nothing fails like success because we don't learn from it. We learn only from failure. ~Kenneth Boudling
3.01 Fat Free / Fire Hydrant featherweight/ TXZ_pup / 431JP2012
----------------------------------------------------------------------------------------
Peace and Justice are two sides of the same coin.

User avatar
johnywhy
Posts: 879
Joined: Sat 20 Aug 2011, 14:52

#7 Post by johnywhy »

harii4 wrote: user can give feedback like - hey this works in 3.01.
Yeah, and perhaps that feedback could be captured by way of a feedback tool, which would send the user rating, plus (automatically) correct info about the app in question, up to the compatibility registry. Another way to distribute the effort :)
With all the road laws and highway signs we still have car crashes? 
And imagine how much worse it would be without that! But, any idiot-proofing in puppy should not lock down the OS, or restrict powers users/developer from getting under the hood. That's one reason we don't like commercial proprietary software, right?
[b]Now[/b]: X-Tahr 2.0! StretchDog! DevuanDog!
[b]Tops[/b]: TarhNOP Vlina-R2 Racy
[b]Used[/b]: Puppeee Precise Lucid Wary Tahrpup Quirky Slacko MacPup Saluki Puppy Studio LxPupTarh Lina-Lite Lina
[i]i ♥ Puppy[/i]

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#8 Post by greengeek »

johnywhy wrote:Yeah, and perhaps that feedback could be captured by way of a feedback tool, which would send the user rating, plus (automatically) correct info about the app in question, up to the compatibility registry.
One of the few problems with this forum is that it is not possible to add new comments directly to a post. Sure, it is possible to quote it 37 pages further on, but it would be handy to correct misinformation, or add vital new info, directly where an incorrect or incomplete post existed. This is especially true with a new Puppy, which might have 10 different issues under discussion on page one, followed by 90 pages of randomly distributed answers.

And I'm not wanting to be negative about the forum - it is a fantastic resource.

User avatar
johnywhy
Posts: 879
Joined: Sat 20 Aug 2011, 14:52

#9 Post by johnywhy »

Hey green-- not sure how my post is related to your comment....?
[b]Now[/b]: X-Tahr 2.0! StretchDog! DevuanDog!
[b]Tops[/b]: TarhNOP Vlina-R2 Racy
[b]Used[/b]: Puppeee Precise Lucid Wary Tahrpup Quirky Slacko MacPup Saluki Puppy Studio LxPupTarh Lina-Lite Lina
[i]i ♥ Puppy[/i]

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#10 Post by greengeek »

johnywhy wrote:Hey green-- not sure how my post is related to your comment....?
I was picking up on your idea that feedback would be app specific and be linked to that app in some sort of registry - At the moment this forum is the only way to offer that feedback (and to correct information about compatibility etc), but the forum does not keep that feedback/info grouped in any way. The feedback concerning any particular app or feature is spread throughout a multi-page topic and can be impossible to find/co-ordinate.

I've no idea how a registry could keep track of such feedback (maybe a database??), but I was just commenting that this had been one of my frustrations when trying to get apps to work - info is spread all over the place.

User avatar
Eyes-Only
Posts: 1043
Joined: Thu 10 Aug 2006, 06:32
Location: La Confederation Abenaquaise

#11 Post by Eyes-Only »

Fabulous thread johnywhy! I find all your points very well thought out and valid, plus they'd go a very long way towards making for a far better Puppy/user experience.

Hmm... ( can you smell wood burning from my thinking here? lol! ) seeing that so many devs are busy, now how about increasing your knowledge and experience and implementing them into Puppy yourself? This is said in all seriousness and in great encouragement my friend - trust me here! The great thing about Puppy is that due to its simplicity it's a "can do" distro: A person can come in with little-to-no-knowledge ( nearly all of us in fact ) and end up making great strides in changing the Puppy map.

I think back to the days when PlayDayz made his very first .pet. Look at where HE is today my friend! ;) Another would be Tux. And I stop here as there are just too many to name or I'd be here all day long.

Food for thought johnywhy! You can really eat your fill here, believe me!

Cheers/Amicalement,

Eyes-Only
"L'Peau-Rouge d'Acadie"
*~*~*~*~*~*
Proud user of LXpup and 3-Headed Dog. 8)
*~*~*~*~*~*

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#12 Post by darkcity »

greengeek wrote:
johnywhy wrote:Hey green-- not sure how my post is related to your comment....?
I was picking up on your idea that feedback would be app specific and be linked to that app in some sort of registry - At the moment this forum is the only way to offer that feedback (and to correct information about compatibility etc), but the forum does not keep that feedback/info grouped in any way. The feedback concerning any particular app or feature is spread throughout a multi-page topic and can be impossible to find/co-ordinate.

I've no idea how a registry could keep track of such feedback (maybe a database??), but I was just commenting that this had been one of my frustrations when trying to get apps to work - info is spread all over the place.
I believe you are talking about the 'threaded' forum style, don't think this is possible in phpBB. People can use the wiki to structure the information, unfortunately it is under used - with only three or four regular contributors.



threaded verse flat:
wiki-
http://en.wikipedia.org/wiki/Comparison ... ._threaded
discussion-
http://www.phpbb.com/community/viewtopi ... &t=2118098

pup wiki
http://puppylinux.org/wikka/HomePage

User avatar
johnywhy
Posts: 879
Joined: Sat 20 Aug 2011, 14:52

#13 Post by johnywhy »

greengeek wrote:was picking up on your idea that feedback would be ... linked to that app in some sort of registry...
Ah. The registry would not at all be for general feedback about an app.

Rather, the registry only tracks which puppies a given app is compatible with. Then, when a user tries to install an app, puppy pkg mgr would check the registry to make sure the app is compatible with the user's puppy. 

Devs and end-users would add compatibility info to the registry, but would simply be 2 lists per app:
   -puppies it's known to work with
   -puppies it's known not to work with

Alternative to the registry-- bundle compatibility info into the app packages. Which approach would be better, anyone?

Idea: a checkbox in pkg mgr options to "Only display apps that are compatible with this puppy". 
Last edited by johnywhy on Mon 04 Jun 2012, 16:20, edited 1 time in total.
[b]Now[/b]: X-Tahr 2.0! StretchDog! DevuanDog!
[b]Tops[/b]: TarhNOP Vlina-R2 Racy
[b]Used[/b]: Puppeee Precise Lucid Wary Tahrpup Quirky Slacko MacPup Saluki Puppy Studio LxPupTarh Lina-Lite Lina
[i]i ♥ Puppy[/i]

User avatar
johnywhy
Posts: 879
Joined: Sat 20 Aug 2011, 14:52

#14 Post by johnywhy »

Eyes-Only wrote:Fabulous thread johnywhy! I find all your points very well thought out and valid, plus they'd go a very long way towards making for a far better Puppy/user experience. 
Merci beaucoup!
Eyes-Only wrote:now how aboutimplementing them into Puppy yourself?
I've been thinking about that too! Actually I'm researching an idea for an xfce plugin for saluki (my current fave puppy). Current challenge-- need functions to read/write to .gtkrc-2.0. Know of any? :)
[b]Now[/b]: X-Tahr 2.0! StretchDog! DevuanDog!
[b]Tops[/b]: TarhNOP Vlina-R2 Racy
[b]Used[/b]: Puppeee Precise Lucid Wary Tahrpup Quirky Slacko MacPup Saluki Puppy Studio LxPupTarh Lina-Lite Lina
[i]i ♥ Puppy[/i]

User avatar
Eyes-Only
Posts: 1043
Joined: Thu 10 Aug 2006, 06:32
Location: La Confederation Abenaquaise

#15 Post by Eyes-Only »

johnywhy wrote:"...Know of any?"
Unfortunately, no. And likewise my days of doing any "programming/daubbling" whatsoever are far over and done with I'm afraid. :cry:

Sorry my friend. I sure wish I could help as it would be a fun and fascinating project for sure!

Cheers/Amicalement,

Eyes-Only
"L'Peau-Rouge"
*~*~*~*~*~*
Proud user of LXpup and 3-Headed Dog. 8)
*~*~*~*~*~*

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#16 Post by darkcity »

you could ask for help in the programming forum. . .

User avatar
johnywhy
Posts: 879
Joined: Sat 20 Aug 2011, 14:52

#17 Post by johnywhy »

Another suggestion, which probably has already been made:

-auto-enlarge the pupsave as needed.
[b]Now[/b]: X-Tahr 2.0! StretchDog! DevuanDog!
[b]Tops[/b]: TarhNOP Vlina-R2 Racy
[b]Used[/b]: Puppeee Precise Lucid Wary Tahrpup Quirky Slacko MacPup Saluki Puppy Studio LxPupTarh Lina-Lite Lina
[i]i ♥ Puppy[/i]

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#18 Post by Lobster »

ask for help in the programming forum . . .
or the Saluki thread
. . . or the Salukians Forum
http://saluki-linux.com/Forum/index.php :)
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#19 Post by nooby »

I support what 'f00 writes

"Save/Nosave option
Depending on install method, this can be vital
(it's standard on liveCD multisession), if things
go seriously wrong having Nosave as the default logoff action
enables a graceful exit. As I recall, shinobar's pupsaveconfig
does this for frugal installs. "

The problem seems to be that for frugal install on internal HD
most puppies are set to save each 30 minutes so it is already too late
to stop the saving. Sure one can change this but a noob would not know.

One need to manually change that to only save when the user wants it to save.

On making Puppy better. Devs being totally volunteer make this hard.
One would need to donate for to get certain features or do it oneself.

I support that Devs should be allowed for to decide on what they feel for
or else we would not have had any Puppy at all if it where paid work.

Puppy is this good because none got paid for it and only did what they felt for to do on their own.
I use Google Search on Puppy Forum
not an ideal solution though

User avatar
johnywhy
Posts: 879
Joined: Sat 20 Aug 2011, 14:52

#20 Post by johnywhy »

nooby wrote: "Save/Nosave option can be vital 
(it's standard on liveCD multisession), 
My suggestions above are for frugal installs, which is the scenario I would recommend for non-expert users-- no flash drive to lose, reuse, or confuse. 
nooby wrote:The problem seems to be that for frugal install on internal HD most puppies are set to save each 30 minutes 
How is that a problem? How does it relate to my suggestion?
nooby wrote:On making Puppy better. Devs being totally volunteer make this hard. I support that Devs should be allowed for to decide on what they feel 
For sure. Do you think I'm saying someone should be "required" to implement my suggestions? Of course not. I posted suggestions here because this is the "Suggestion" Forum. Presumably it's called a "Suggestion" Forum to encourage people to post suggestions here. Devs can do what they like. 

Is this "Suggestion" Forum intended for lower-level, coding suggestions, rather than feature suggestions? If so, my bad and I retract my suggestions.

Cheers! 
[b]Now[/b]: X-Tahr 2.0! StretchDog! DevuanDog!
[b]Tops[/b]: TarhNOP Vlina-R2 Racy
[b]Used[/b]: Puppeee Precise Lucid Wary Tahrpup Quirky Slacko MacPup Saluki Puppy Studio LxPupTarh Lina-Lite Lina
[i]i ♥ Puppy[/i]

Post Reply