Interface Guidelines For Developers


gruso

thunderbox
Joined
Feb 28, 2008
Messages
7,461
Age
47
Location
Sydney, Australia
Website
pandorapress.net
The latest chaotic button label discussion got me thinking about something that didn't exist on the GP2X: consistency of controls between applications. Pandora's "user experience" would be enhanced across the board if certain interface guidelines were followed by developers. As suggested by atomicthumbs, the guide could be incorporated into the dev section of the wiki.

Examples of what the guidelines would cover:

- How ABXY buttons should be used for menu navigation (eg. B=forward, X=back).
- How analog pads are to be implemented for mouse control, including left/right click mapping.
- Standard functions of Start/Select buttons
- Standard QWERTY functions across applications, eg. F1 for Help/Readme.

Is anything like this in progess yet? If not, would there be interest in having something like this compiled by the community?


[edit] Nearly forgot - I did some cursory googling and turned these up. Does anyone know of documents similar to these that relate to handheld devices?

http://library.gnome.org/devel/hig-book/stable/index.html.en

http://wiki.laptop.org/go/OLPC_Human_Inter...e/Input_Systems

http://www.scribd.com/doc/833751/Guideline...-User-Interface
 
Just FYI, I for one wouldn't stick to any guidelines if I didn't like them myself :p Altough that list does seem short enough, and lucky you, I like it ;)
 
Oh, that list is just the tip of the iceberg.

:p

I definitely wouldn't want to stifle the individuality of coders. It would just be a "suggested" set of functions, wholly optional. For some coders, having menu controls defined for them might even be a small blessing, allowing them to focus on gameplay. (I wouldn't dare touch the in-game controls. That's hallowed ground, no place for bureaucracy).
 
I totally agree on some more consistent interface / controls. Some guidelines could help but I believe that one of the main issues is that development for this device is kinda hackerish. Developers do as they think is best and the users accepts it as long as it (technically) works.

It would be great if there would be a group that would use the emulators / media players / etc and unify it as a whole. Guidelines could work but I think some sort of framework would work better. Just grab some application, modify it to the guidelines and release it though some official repository. The 'hardcore devs' can still focus on what they are best, optimizing the emulators/apps, and end users have a more unified system.

I had some suggestions posted a while ago in this thread:
http://www.gp32x.de/board/index.php?showtopic=41951
 
Last edited by a moderator:
I suggested before that there be some environment variables that say which button does what kind of action (ie, accept, back, escape, whatever). Then the user can modify these for everything and apps can just load and use them without thinking about button assignment. There won't need to be a consensus on what to use for what and devs won't have to consult said consensus.
 
^ Stop the presses, that's kickass. All the work required to write, maintain and gently enforce a set of guidelines could be avoided. I hope your suggestion is adopted!

I guess that just leaves the discussion of what those buttons & actions would be.
 
Exophase said:
I suggested before that there be some environment variables that say which button does what kind of action (ie, accept, back, escape, whatever). Then the user can modify these for everything and apps can just load and use them without thinking about button assignment. There won't need to be a consensus on what to use for what and devs won't have to consult said consensus.
I second that. Obviously, some sane defaults should be involved.
 
Last edited by a moderator:
Exophase said:
I suggested before that there be some environment variables that say which button does what kind of action (ie, accept, back, escape, whatever). Then the user can modify these for everything and apps can just load and use them without thinking about button assignment. There won't need to be a consensus on what to use for what and devs won't have to consult said consensus.
Perfect!
 
Last edited by a moderator:
Exophase said:
I suggested before that there be some environment variables that say which button does what kind of action (ie, accept, back, escape, whatever). Then the user can modify these for everything and apps can just load and use them without thinking about button assignment. There won't need to be a consensus on what to use for what and devs won't have to consult said consensus.
I agree , similar idea than mine :D


Arialia said:
....
So i have an idea :
why not do for gaming controls the same things as keyboard ?
I mean create gaming controls mapping like keyboard mapping ?

So as we have 'Q' touch which is mapped for example at the physical 'Q' touch in 'Qwerty keyboard' and mapped to 'A' in 'Azerty keyboard'
we could have these virtual touch :
'Acceptbutton'
'Backbutton'
'Thirdbutton'
'Fourthbutton'
'Menu'
'LShoulder'
'RShoulder'
what is the other buttons? i don't retrieve the render of Evildragon which look that :huh:

and in SDL or SFML use of virtual button not physical so if user want the button action will be 'East' it will work as he want :) and for another user it will be 'West' B)

and program could suggest default settings user or a different mapping for example mapping Nes for emulator Nes B)
B)
 
Last edited by a moderator:
Gruso said:
[edit] Nearly forgot - I did some cursory googling and turned these up. Does anyone know of documents similar to these that relate to handheld devices?

http://library.gnome.org/devel/hig-book/stable/index.html.en

http://wiki.laptop.org/go/OLPC_Human_Inter...e/Input_Systems

http://www.scribd.com/doc/833751/Guideline...-User-Interface



Not handheld specific, but much of them can probably be generalised:

Apple's HIG - http://developer.apple.com/documentation/U..._section_1.html

Vista's User Experience Guidelines - http://msdn.microsoft.com/en-us/library/aa511258.aspx


Gruso said:
Is anything like this in progess yet? If not, would there be interest in having something like this compiled by the community?
I would be interested in being involved, though I have no plans to do any software development at this point.
 
Last edited by a moderator:
This thread is a good idea, I especially like the environment variables idea :)

But I'm not sure how easily all of these interface guidelines can be converted... the difference between a mouse & keyboard and touchscreen & thumb board just seems too big...
 
Back
Top