CHDK UI version 2.0 ? - page 2 - General Discussion and Assistance - CHDK Forum  

CHDK UI version 2.0 ?

  • 542 Replies
  • 135659 Views
Re: CHDK UI version 2.0 ?
« Reply #10 on: 29 / May / 2012, 01:35:02 »
Advertisements
Some time ago I was thinking about more graphical menu, just like in modern phones, when main menu is displayed as a set of icons (4x5, 3x4, 4x4 or so on). This way you could have much more menu entries on top. Also modern user interfaces of software are very 'iconized' and this seems to be way.

I would like to see the main menu just like that:

Code: [Select]

icon  icon  icon

icon  icon  icon

icon  icon  icon

______________________________
description of the selected icon

I was thinking about doing something simmiular in lua - to provide a script that display a icon menu through which you could load another scripts. However I found it useless just for scripts. But for the main CHDK menu it would be very nice.

Also - users of cameras with touch screen would be happy!

Icons should use only R+G+B+black+white colors since we have defines of histogram RGB colors and black and white on most cameras.

I could help with such changes, but not having too much time untill June 15.

However first at all following changes have to be done:

- provide a function, that can draw an icon from binary data, a kind of sprite graphic
- redesign the menu structure

In future it would be good to store the menu in a kind of config file, maybe even in xml. However there could be problems with modules menus, which are rather fixed.
« Last Edit: 29 / May / 2012, 01:41:51 by outslider »
if (2*b || !2*b) {
    cout<<question
}

Compile error: poor Yorick

Re: CHDK UI version 2.0 ?
« Reply #11 on: 29 / May / 2012, 04:44:47 »
Outslider's graphical menu idea sounds excellent, especially for users who are not familiar with the software.

I'm also a Magic Lantern user (and in fact use it more often than CHDK since I do loads of video work), and I think they have managed to implement some features which make it much easier to use:
- Single line text at end of screen describing what highlighted menu item does
- In-camera help file (pressing info button while menu item is highlighted gives you further notes about the item
- The menu is divided in tabs (categories), and items can have submenus to show further options
- The user is also allowed to switch between easy/advanced mode (basically easy shows only the basic, most-used features while advanced shows all options)

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: CHDK UI version 2.0 ?
« Reply #12 on: 29 / May / 2012, 05:21:55 »
Yes - I know.  Sorry to nag - philmoz suggested that I just back out the menus from the modules to fix this.  I just haven't gotten around to it but it got me thinking about this topic.

Revision 1874 moves the config items and menus back to the core CHDK code so the user menu should work again now.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

Re: CHDK UI version 2.0 ?
« Reply #13 on: 29 / May / 2012, 06:23:52 »
Just in passing, a private SDM NG (Next Generation) has existed for over one year now.
It simplifies the user interface.
I will continue to remove functionality that I believe is only of interest to maybe 10% of users.
Features will not be added simply because it is possible to implement them.

I will tell users that if they do not like it then use CHDK.

After all, it is just another DISKBOOT.BIN file on a bootable card, you can use both if you wish.

Know your target audience.


Re: CHDK UI version 2.0 ?
« Reply #14 on: 29 / May / 2012, 08:09:39 »
With this one I really did mean a ground up re-write. The menu system (and probably the config system) would be completely replaced. C would do the drawing, all the logic would be in Lua. Lua is much nicer for describing UIs, and it would make everything customizable. Pie in the sky ;)
Still curious about whether you would embed the Lua part of the code into the CHDK diskboot.bin file or load it from SD card as a text file ?

Some time ago I was thinking about more graphical menu, just like in modern phones, when main menu is displayed as a set of icons (4x5, 3x4, 4x4 or so on). This way you could have much more menu entries on top. Also modern user interfaces of software are very 'iconized' and this seems to be way.
Wow - that really an interesting idea !  But probably a lot more work than I had in mind - keep in mind that making "nice" icons takes talent too.   FWIW, when I owned phones with small LCD's,  I disliked the icon interfaces and reverted to text menu whenever that was possible.  But that's just my personal taste - if you have time it would be fun to see what you could come up with!

- Single line text at end of screen describing what highlighted menu item does
- In-camera help file (pressing info button while menu item is highlighted gives you further notes about the item
- The menu is divided in tabs (categories), and items can have submenus to show further options
- The user is also allowed to switch between easy/advanced mode (basically easy shows only the basic, most-used features while advanced shows all options)
More good ideas - especially the last one.

Just in passing, a private SDM NG (Next Generation) has existed for over one year now. It simplifies the user interface. I will continue to remove functionality that I believe is only of interest to maybe 10% of users. Features will not be added simply because it is possible to implement them.
Oh boy  -  a "private" version of GPL'd code where a single individual dictates what he thinks I should use or not use.  Fortunately,  I don't see CHDK going this way at any time in the future.
Ported :   A1200    SD940   G10    Powershot N    G16

Re: CHDK UI version 2.0 ?
« Reply #15 on: 29 / May / 2012, 08:10:32 »
Revision 1874 moves the config items and menus back to the core CHDK code so the user menu should work again now.

Thanks!
Ported :   A1200    SD940   G10    Powershot N    G16

Re: CHDK UI version 2.0 ?
« Reply #16 on: 29 / May / 2012, 08:28:15 »
Oh boy  -  a "private" version of GPL'd code

What is your problem, you need to get out more, you seem to have dedicated your entire life to CHDK ?

"Private" means it has not been released, it is for my own use.
Historically, EVAWR and others have had private builds and I am sure other developers do today.
GPL is totally irrelevant if it has not been released and is in development.

Quote
a single individual dictates what he thinks I should use or not use.

Yes !

So, there is no software you use that is an example of that ?

If you do not like it, too bad, don't use it.

Too many cooks spoil the broth  .. look at the CHDK WIKI   ......   or other examples  ....

Re: CHDK UI version 2.0 ?
« Reply #17 on: 29 / May / 2012, 10:45:38 »
Guys, guys, slow down ;) Let's talk about UI not personal problems ;p
if (2*b || !2*b) {
    cout<<question
}

Compile error: poor Yorick


*

Offline msl

  • *****
  • 1280
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: CHDK UI version 2.0 ?
« Reply #18 on: 29 / May / 2012, 11:37:57 »
Guys, guys, slow down ;) Let's talk about UI not personal problems ;p

Thanks!

In any case a graphical main menu is a good idea. For complex functions a text menu entry is more usefull. Subdivision into a basic and an advanced menu would be also possible. But who decides what is a basic function.  ;)

msl
CHDK-DE:  CHDK-DE links

Re: CHDK UI version 2.0 ?
« Reply #19 on: 29 / May / 2012, 13:01:42 »
In my opinion the graphical main menu should contain folowing entries:

-scripts
-photo (so called overrides)
-video
-raw
-histogram
-zebra
-edges
-settings (visual, language, others)
-help
-games
-applications (modules)
-raw
-debbug

icons could be binary, it is enough to have 3 bits per pixel:

000-alpha (don't draw the pixel)
001-transp (0x00 on most cams)
010-black
011-white
100-red
101-green
110-blue

but 4-bits could be easier to implement (2 pixels per 1 byte char) and would leave a space for maybe further colors. But this way 1 icon 100x100 would take 5kB. And drawing would take some time no, it shouldn't take more time than drawing a rect.

First two bytes could contain width (1-255) and height(1-255). 0 values have no sense but can be reserved as markers if in the future bigger icons would be needed.
« Last Edit: 29 / May / 2012, 13:09:54 by outslider »
if (2*b || !2*b) {
    cout<<question
}

Compile error: poor Yorick

 

Related Topics