On Saturday 15 January 2011 19:29:29 sunny sharma wrote: > To make things clear for me i would reguest you guys to tell me the further > steps that i should take. > So that i can clear up my mind and come up with a clear algorithm of what > should be done.
[Catching up on my email now that I'm back from holiday] The problem here is the old one of balancing features for the power users against ease of use for the majority of users, it just means we have to make the code do more of the work instead of the user, or rather just be smarter about it. The most common features of chiming clocks are: * Quarters, i.e. different chimes at 00, 15, 30 and 45 * Striking the hour, i.e. 12 strikes at midnight * The hour chime plays before the hour, with the first hour strike playing exactly on the hour Combined with the "Speak Time" feature, we would obviously want to allow slightly more options, such as only chiming/speaking on the hour, turning off striking the hours (which can get very annoying and is meaningless for speak time), or chiming/speaking every x minutes. I'm sure people can think of plenty more "nice-to-have-but-rarely-used" options that we don't want to expose most users to. Expecting a user to configure a ui for all that is just not on. The key to keeping it simple is to NOT allow the user to configure the sounds and when they play in the ui as most users will never need to do this, and catering for all the options is just too complex. Instead we would define a Chime Theme file format that we and power users can use to configure how a Chime Theme works and what sound files to use, and provide the user with a simple list of available themes to choose from. We could even allow downloading new themes from GHNS, in which case we would ship KDE with just a very simple theme. Here's how a single ui section for "Audible Feedback" in the "General" tab would look like: A combo for "Feedback Type" with options for: * None * Speak Time * Play Chimes A combo for "Frequency" that is activated only if "Feedback Type" is not "None", with options for: * Chime Theme Defaults (only show if "Play Chimes" chosen) * Hourly * Quarters * Every x Minutes (better wording needed) (Note that Hourly and Quarters are just synonyms for every 60 or 15 minutes.) Next to this combo is a minutes input spin box activated when "Every x Minutes" is chosen. Alternatively we do "Frequency" as a radio button with the spinbox inline in the "Every x minutes" text. A combo for "Chime Theme" which is only activated if "Play Chimes" is selected, with a list of the currently available themes: * Beep * Time Pips * Westminster * Cuckoo * ... Next to this could be a GHNS button to download more themes. Optionally under this could be a tick-box for "Strike Hours" which is only activated if "Play Chimes" is activated, to turn off striking hours which could get annoying. Alternatively it could be integrated into the "Feedback Type" combo as separate options for "Play Chimes and Strikes" "Play Chimes Only" and "Play Strikes Only". I think 3 or 4 lines of simple config options is not too bad. The "Feedback Type" and "Chime Theme" could even be merged for an even simpler interface. The Chime Theme would actually be a self-contained folder holding a config file and all required sound files, and would look something like this: sounds/chimes/themename/ themename.desktop - Holds name of theme and default config options default.ogg - Default sound to play if no specific sound strike.ogg hour.ogg quarterpast.ogg half.ogg quarterto.ogg In the .desktop file itself, the config options would allow you to point to other sound files in other locations and set default frequency, e.g.: [Sounds] hour=/media/data/audio/sounds/doh.wav There's lots of options that could be set here, but I won't detail them now. Some possible Chime Themes: Beep: A simple beep with slightly different ones for hours, quarters, and minutes. Ship with KDE, download the rest. Time Pips: http://en.wikipedia.org/wiki/Greenwich_Time_Signal Westminster: http://en.wikipedia.org/wiki/Westminster_Quarters Whittington: http://en.wikipedia.org/wiki/Whittington_chimes Ships Bells: http://en.wikipedia.org/wiki/Ship%27s_bells At first glance it may seem a fairly complex solution, but I think the implementation will actually be fairly simple and not add much overhead, the hardest part is designing the config file to be flexible enough. John. P.S. This is what you get from staring at the ceiling at 4am in the morning thanks to jet-lag :-) _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel