I was thinking of writing an in camera text editor in lua (I have just about all the necessary APIs done for such a thing). Drawing routines from this could also be used to display help information. Lua makes a really good configuration language (because of the block quotes and how easily lua code can serialize itself into valid lua code). So the help files themselves could actually be simple, auto-generated lua code that knows how/when to draw itself.
Quick Example:
Comments in C code:
/***
@title Intervalometer
@summary Take pictures or movies at fixed intervals
@description You can stop the intervalometer by rotating the mode dial, by pressing MENU or PLAY, or by turning off the camera.
To avoid flicker, shoot in manual mode, use manual white balance, avoid short exposure times and use a manual lens (if you use an
EF lens, lock the aperture and unscrew it).
To make a timelapse without increasing shutter count, do not use the intervalometer; instead, set FPS override to a very low value (for
example, 3fps) and start recording. When using the intervalometer in LiveView with noisy mode, your shutter will wear twice as fast
than outside LiveView.
If the intervalometer can't be stopped (it may happen in crazy mode), turn the camera off or open the card door. Adjust your auto-off
setting to longer than your timelapse interval the camera will turn off before the second shot. When not in LiveView, press DISP or
INFO to turn the display off. In LiveView, ML will turn the display and the sensor off during idle times if you enable this option from
Powersave menu. While the intervalometer is running, the card led will blink once per second to let you know it's alive and kicking.]]
*/
becomes =>
title = [[Intervalometer]]
summary = [[Take pictures or movies at fixed intervals. ]]
description = [[You can stop the intervalometer by rotating the mode dial, by pressing MENU or PLAY, or by turning off the camera.
To avoid flicker, shoot in manual mode, use manual white balance, avoid short exposure times and use a manual lens (if you use an
EF lens, lock the aperture and unscrew it).
To make a timelapse without increasing shutter count, do not use the intervalometer; instead, set FPS override to a very low value (for
example, 3fps) and start recording. When using the intervalometer in LiveView with noisy mode, your shutter will wear twice as fast
than outside LiveView.
If the intervalometer can't be stopped (it may happen in crazy mode), turn the camera off or open the card door. Adjust your auto-off
setting to longer than your timelapse interval the camera will turn off before the second shot. When not in LiveView, press DISP or
INFO to turn the display off. In LiveView, ML will turn the display and the sensor off during idle times if you enable this option from
Powersave menu. While the intervalometer is running, the card led will blink once per second to let you know it's alive and kicking.]]
In lua you just dofile() this file to show the help.
Just some thoughts.