Friday, November 30, 2012

a relaxing friday

I took some time this evening to relax in a quiet, empty house by plonking away at the Plasma Active Alarms app UI. I'm still not 100% satisfied yet, but it's getting a lot closer.

Alarms plasmoid in Application form factor with touch components
Under the hood there are a lot of really interesting things going on. For instance, it's implemented as a Plasmoid that supports the Application form factor; the first Plasmoid to do so, in fact. What this means is that you can pop it on your desktop, in a panel or run it as an application and it adapts its UI appropriately. This is a new feature for 4.10 and I wonder what other Plasmoids may make similar leaps. Alarms also works very nicely in a "single column" form factor, smartphone style, when the horizontal space is constricted.

It uses Akonadi's spiffy KAlarm integration, so the alarm infrastructure was done for us by the KDE PIM team. This grants the Alarms app integration with all the other KDE PIM Stuff(tm) for free, too. Communication with Akonadi is done via a typical DataEngine and Service combo (org.kde.alarms). Due to this, without having to extend Plasma's C++ or QML API one bit, it was instantly and easily accessible in the QML as a model.

Still, there are caveats: The typography still sucks as we have not yet implemented the new guidelines in the components, something I want to see happen for Active 4. At least it is using all the "right" components so it can benefit as soon as the typography stuff slots into place. The plus icon looks dated by now (I'd guess it is one of the earlier Oxygen icons), and I'm not convinced with position of confirmation buttons in editor or the create entry ... the usual "must be perfect" itches.

But it's getting there ... at which point it'll be ready for features again such as more flexible repetition, selecting the audio file to play, etc. 

11 comments:

thinkfat said...

I suggest to have a designer look at it ;)

npatricksmith said...

I have to agree with thinkfat. ;)

Specific suggestions IMO:
1. "Delete" is unnecessary on the edit panel and should be accessed from the main panel (right click/long tap).
2. The date/time selector is cute, but horrible UI. Do you have a safecracker fetish ;) A simple date selector would be better. (Android alarm app has the same problem.)
3. The main panel (list of alarms) seems cramped.

markg85 said...

Oh wow, now your playing in my area of interest :) (you probably do remember seeing some "QML Calendar" stuff a while ago?)

Anyway, i think it looks rather nice for a starting application! The switch buttons kinda fit into the style even though i usually hate the switch buttons on the desktop.

Please do keep us posted about any updates :)

Aaron Seigo said...

@npatricksmith: long tap is something we try and avoid; it's hidden and slow.

i'm not horribly fond of the date/time cylinders either, but it's what the current component does for the touch components.

the alarm list issues are mostly font issues (c.f. the bit about typography in the blog post)

@marg85: switch buttons are only for touch. (which is what this app is for.) on desktop we continue to use checkboxes. right now the switch component doesn't morph automatically, but that's the plan.

Aaron Seigo said...

.. ah, forgot to mention that you can also delete items just by sliding them out of the list on the left.

... which also isn't discoverable, which is why we have an explicit Delete button.

but it's very quick and handy once you know it is there.

which reminds me to finish up and then blog about the tutorials component.

Luis said...

I somewhat agree with mark85 on switch buttons. The difference is that I hate them anywhere they appear, including the real ones outside the computer.

I would like to have some insight on why they should be better than checkboxes for touch. Could anyone elaborate on that?

My difficulty with switch buttons is that they are hard to know if they are on or off, something that checkboxs are very clear (checked vs unchecked).

@Aron Thanks for the hard work. I can't wait to get my hands on a Active-enabled tablet!

Unknown said...

Regarding the date/time selection widgets, maybe make the currently selected value stand out more and dim the ones above and below.

As it is, it's not immediately clear on first sight where on that widget to focus one's eyes - altogether it looks like a weird grid of numbers, like a Sudoku or something.

Unknown said...

Day repeating selection would be good, my cell phone has it.

npatricksmith said...

Aaron,
Thanks for the feedback on my feedback. Yes, swipe to delete is cool. Thanks again for all you hard work.

Kjetil Kilhavn said...

I must confess that I do not really see any value in being able to specify that the alarm should start 10 seconds after 20 minutes to seven as opposed to just 20 minutes to seven. There may be a use case where the difference is important, but I doubt it ;-)

So, removing the seconds part would reduce visual clutter.

I suppose the "Date" and "Time" labels are needed for screen readers. If they could still be available for screen readers, but be invisible, you could probably fit the date and time (hh:mm) on a single line, and in my opinion that would be a good thing.

hook said...

I don’t like the cylinders, but the analogue watch and calendar input UI on the Nokia N9 (Meego Harmattan) I *adore*.

That’s also done in Qt, isn’t it?