Wednesday, May 2, 2012

internal representation of actions in the desktop and shell

When looking through the source code for KDE, I saw actions like on click.

I was looking for a way to solve the bug where the system settings panel uses the same settings as files.    The system settings page is basically a web page, where single click is expected, but some idiot decided to punish people for setting double click as their preferred interaction method.

This got me thinking about how to represent interactions with the user, so that programmers are not confused by click.

This is also relevant for touch screens.


I would organize actions by how explicit/deliberate of a request they require.,  so that they could be adjusted by a system setting, and still

onpassiveInquery --    mouseover
oninquery -- righclick
onprobe -- single click
ondoacton --doubleclick
onexplicit action -- double click plus dialog or other interactive confirmation
ondangerousexplicit action -- require a captcha to be typed in
onsystempermission -- requrie sudo level...  (this may still be separete.


This would allow us to design interfaces for multiple types of interaction, and swap the code for the interaction based on what type of device it is.

Tuesday, May 1, 2012

Solution for yanking a liveusb drive out

 Regarding Live Distros,  Knoppix has a "to ram" option, where it copies the compressed file system to ram, and then the media can be removed.

I can't use that on my system because I only have 1gb ram.

Knoppix can create a swap file on a windows volume. (and use another system's swap partition)  I don't want my users to mess up their windows disks.  Yes, they can mount them and write to them, but I don't want accidents.


A solution would be to split the compressed filesystem into two parts.  one that gets loaded into ram, and another that stays on the liveusb drive.

/bin
/root
/etc
(maybe a few of the core applications, like xwindows, and some sort of alert programs, and maybe cheat with a web browser in there so it loads quickly)

and then another with all the rest.

If the system volume gets yanked, a program should pause everything... like a pause for hibernation.  Hopefully the programs will be able to deal with a minor glitch.  If they can't it's a bug.


Then a nice big alert should show,   REINSERT USB DRIVE TO BEGIN DATA RECONSTRUCTION, SYSTEM SUSPENDED, DATA IS LIKELY CORRUPTED






Monday, April 30, 2012

The Sanity Shell


As part of the Cat Proof Computing Initiative,  I want to have a shell that is extra rhobust, and will keep users safe from bad things, and becoming interactive at a certain point. I'm a bit pumped up from Linuxfest.

  • I want to be safe from having files names -rf.
  • I want parenthesis matching
  • I want abnormal filename detection.
  • colorized edit line. (all the text editors do it) 
  • interaction with the terminal so that an output that would display encoded characters does not leave the other applications that follow it in a strange character mode.


some of this danger could be mitigated with aliases.
some of this might require simulation.

*For the simulation*
I can conceive of situations where the action could not be simulated... say with self modifying code, or detection of the conditions like being on a different filesystem.

white listing actions could be interesting...  but this isn't an easy problem to solve.


 I just had a thought  that I could use mount --bind to make a read only copy of my file system.  I then could make a folder differences apparent by having unionfs overlay,  then perform the actions and  confirm that what happened was ok, then apply those changes.


 I think this is a bit like having a transaction based shell... well we have transaction based filesystems, so that is likely the best way to deal with the idea... and reverting has less overhead.

*For shell and terminal interaction, I have seen terminals tell me what program is running inside it.  It should be able to reset it's characters everytime the shell comes back. by paying attention to it's child processes.











Sunday, April 29, 2012

LFNW 2012 Custom Live USB Linux Presentation

Thank you to the attendees of my Linux Fest Northwest presentation!

I got through the material, but I'm sorry for the bits of disorganization.  I feel I was below average, but still OK on quality, and hopefully scores better in usefulness.

I believe I now have 3 people trying my linux distro!


This Live USB project started as my Xmas Live Linux project.

This year, I made a Cat Proof Kubuntu Remix.  I may need to change it's name to Giftable Linux.

iso for catproof is now availabile:
https://docs.google.com/file/d/0B9eYzYpGeqzGWU4tUXRUQVdfUTg



other needed files are available at my website:
http://catproof.org


Tuesday, June 5, 2007

google doesn't recover accounts, laptop was stolen

Well, this may be my last post.

my laptop got stolen, and I changed my google password.

And I tried logging in again, and it didn't work.

So I'm just counting the days until my session expires, I'm screwed! They won't help me!

I'm going to loose all of the things that I use google for, and every other account that I have that is based on my gmail account.

I basically suffered a digital death!

(years later, I was able to gain access to my email that I used to create this account, and have it back again)

Thursday, April 26, 2007

Browsers

Opera has it closest to right.

Opera appears to be an MDI, a multiple document interface! This is perfect for web pages! I should allow pages to put up maybe 16 pop ups... (the user should be able to put limits on things, such as CPU usage and other things)...


The web page should have absolutely no control over the browser, or the host operating system. Period. There shall not be a way for a user to grant access to the OS from the browser. An entirely different interface is needed for that. That's why there are file browsers.

A browser should be ran as it's entirely own user. It's possible to have programs operated by multiple users on the same desktop. Each user should have a Username-browser user whos home directory is /home/username/browser The user should be able to view files in the browser section, but the browser should hvae no access to anything other than that folder.

Firefox barfs on really long pages. Firefox should not be renderingeverything all the time. It should download the content, and render it on the fly... dumping memory for stuff that's not on screen. There is no reason for firefox to take up 99 percent of my cpu and 1.5 gigs of ram.


Only the
Popup, should be entirely contained by their parent window.

Scripts

Wednesday, April 25, 2007

basic UI elements and people with coordination problems

I love two button mice, but I have to agree with apple that we should be able to do everything with one mouse button.

I would like to learn how KDE works with a one button mouse, and I'm sure it's easy to change the click actions of the right mouse button to match the left... HOWEVER, there is an accessibility problem here.

I cannot allow single clicks to open files. Single clicks with even a extra single mouse button are too common. Also, double clicking is a nice convenience for those of us who can do it, but it is an insurmountable obstacle for many.

We need the "double click menu" to be available as the default action for many situations.

I propose an accessibility mode where this happens for icons.
(There are fundimentally, icons, buttons, hyperlinks, and menu items... Icons move, and can operate dangerous or important things(like programs and data)--therefore they must be protected, traditionally by double clicks. They should indicate that they are operational or open, One should be able to open a file multiple times, so this would be a quantity.

Buttons cause an action to occur with a simple action, like a single click, buttons can do many things, but they should be protected by a "button cover" or be undoable/redoable. The action should start immediately.

Hyperlinks, are like buttons, but should not disrupt the current work. "back button" or new window should occur if session data is not revisitable. Hyperlinks open a new interface without disrupting the old one.

Menu items, should not enact any permanent change until a button is activated.

-----
Icons are extremely difficult to use


In an accessible envionrment,
Drag and drop must be rethought. grab, and deposit One should be able to do these operations with the keyboard.. I must give MS credit for the windows keyboards have a right click key.

I hope to edit this piece of dribble... I gotta take a break