LWN.net Logo

Development

An updated K-9 Mail

By Nathan Willis
August 28, 2013

K-9 Mail, a popular free software email client for Android, released version 4.4 recently, marking the application's first stable update in nearly a year. The new version adds several important new features, although it also includes user interface changes that some users have found disagreeable.

Version 4.400 was released on June 26, following several weeks of beta testing. The application's interface was updated—in some cases, to line up with Android's new UI guidelines, such as moving the "..." menu button from the bottom of the screen to the top. There is also support for a pull-down-to-reload gesture, which is a feature common to a lot of contemporary Android applications, and the notifications have been refreshed to take advantage of Android 4.1's revamped notification style. That style incorporates more colorful thumbnail images from the application, in concert with less intrusive layout and text settings. But the new notifications can also be expanded with a touch gesture, which in K-9's case means more new-message summary text is visible without opening the app itself.

Also noteworthy is support for a split-screen message reading interface, where the list of messages from the currently-selected folder remains visible while the message being read is opened on the other half of the screen. The folder view can also display an avatar image of the message sender (if that sender is in the contacts database), although this feature can be turned off in the app settings.

[K-9 Mail 4.4]

The new version also sports K-9's first implementation of conversation threading, although this implementation is not without its quirks. A message thread is marked by a number-in-a-bubble indicator on the right-hand side of the folder view. The number, as you would expect, shows how many messages there are in the thread. But what you might not expect is that tapping it does not open up the thread. Instead, it opens up a folder-like "thread view" with each individual message listed in summary form; you must still click through each message one at a time to read them. Although it is hard to draw general conclusions, in my own tests I found that K-9 only recognized threads where the messages arrived in sequence, uninterrupted by messages with other Subject headers. That does take some of the usability out of the thread view, but perhaps mileage varies.

The UI refresh includes plenty of nice, but small, touches, such as using a different background color for read and unread messages in the folder view, plus a more easily distinguished read/unread indicator bubble. There are also improvements in message composition for right-to-left languages, and the app widget can now display the total number of unread messages from the "Unified Inbox" view that encapsulates all accounts.

Under the hood, several IMAP improvements were rolled out, too, such as server-side search (although at the moment, server-side search is limited to searching on the Sender and Subject fields), and support for the "forwarded" message flag. Previous releases also had bugs in detection of the spam folder as an IMAP SPECIAL-USE folder, which have now been fixed. This allows multiple email clients to access the same spam folder even if it is named "Spam" in one client and "Junk" in the other. There are also several improvements in area of user notification: the user is now notified on SSL certification validation failures, when a new K-9 will trigger an update to its database, and there is a "what's new in this update" screen accompanying every app update (and one that, admirably, uses very little technobabble in its explanations).

Feedback

Despite the improvements, K-9 4.4 has its share of quirks, and when it was first released there was quite a bit of hostility among users about some of the UI changes. For example, several users complained that the new toolbar buttons are so small that they are hard to tap on a phone, or (similarly) that the "checkbox" button for selecting a message was so small that it is hard to tap without opening the message.

[K-9 Mail 4.4]

Others complained that the "archive" and "mark as spam" buttons were removed from the toolbar entirely, and relegated to the "..." menu. Along the same lines, the "empty trash" function has been moved to the "long press" pop-up menu in the message view, which at least one user found difficult to discover. Along the way, the k-9-mail mailing list accumulated the usual assortment of "can't you put it back the way it was in previous releases" complaints, mixed in with actual bug reports.

It is difficult to know how much weight to assign to many of these UI criticisms. Many times, a user's vitriol about one particular UI decision boils down to that particular button being the feature that they make the most use of—which is not a design metric that scales to large groups. On the other hand, small UI annoyances are magnified every time they are re-encountered, and email remains one of the most heavily-used applications for the majority of users. It is hard to exaggerate how many UI nuances go into making a slick email client "feel" better than a merely mediocre one.

But it is important to note, also, that a recurring trend among many critics of the new version of K-9 Mail is that those critics have their devices set to automatically download and install updates. Whatever aggravation they feel when the UI changes is surely compounded by not having advance warning of the change, but it is hard to muster too much sympathy when automatic-updating can be so easily switched off.

To be sure, there are still some UI issues to be ironed out (for instance, button size is a very real concern, given the screen real estate of the average phone). But on the whole, K-9 does a remarkable job of presenting email in a lightweight and easy-to-navigate package. There are several desktop clients that could learn a thing or two about simplifying the interface and judicious layout from K-9. It is an even more impressive accomplishment that K-9 Mail is one of (if not the) best email clients for Android, while remaining a volunteer-driven free software project.

Comments (5 posted)

Brief items

Quotes of the week

today I finally achieved an important milestone in my involvement with #gnome: I tricked somebody into taking over a module maintainership.
Emmanuele Bassi

Developers everywhere - PHP is not the same as it was even two years ago. Stop acting like it. The language and the community have both changed significantly. In many ways PHP is just now starting to come into its own. In many ways, the PHP community has gone back in time - back to relive the days that should have been spent building the tools and libraries that were never built. Another Magento is not going to appear. It will not happen. Stop worrying about it.
Jarrod Nettles

Comments (2 posted)

Calibre 1.0 released

Version 1.0 of the Calibre electronic book management system has been released. "Lots of new features have been added to calibre in the last year — a grid view of book covers, a new, faster database backend, the ability to convert Microsoft Word files, tools to make changes to ebooks without needing to do a full conversion, full support for font embedding and subsetting, and many more."

Comments (6 posted)

Upstart 1.10 available

Version 1.10 of the Upstart init replacement has been released. New in this edition are upstart-local-bridge (a bridge for jobs on local socket connections), a new "reload signal" stanza that will allow jobs to specify a custom signal (rather than SIGHUP) to send to the main process, shutdown and re-exec fixes, and a new Python 3 module.

Full Story (comments: none)

Git 1.8.4 released

Git v1.8.4 has been released. This release updates the Cygwin port as well as the helpers for MediaWiki, OS X keychain, and remote transport, and adds numerous new options for various Git commands.

Full Story (comments: none)

Newsletters and articles

Development newsletters from the past week

Comments (none posted)

Balazs: KDE human interface guidelines: First steps

On his blog, Björn Balazs writes about the recent effort to "reboot" the KDE human interface guidelines (HIG). There are three major sections in the HIG (structure, behavior, and presentation) and the team has a first draft of the behavior section. "We explicitly ask about your opinion. Please read the guidelines and make sure that the text is informative and comply with developers' requirements. The content should be both generic and comprehensive, and help to make KDE awesome. But we are also interested in support. If you are able to create nice sample UIs with Qt please contact the usability team via the kde-guidelines mailinglist."

Comments (2 posted)

Garfield: A Look at PHP's Continuing Evolution

Larry Garfield introduces some recent changes to the PHP language. "PHP 5.5 added a feature called generators. Generators are in some sense a greatly abbreviated syntax for iterators, but being so simple makes them considerably more powerful. Essentially, a generator is just a function that returns-and-pauses rather than returns-and-ends, and what is returned is not a value but an iterator."

Comments (52 posted)

Clasen: GNOME 3.10 sightings

After releasing GNOME 3.9.90, which is the first beta of the 3.9 development branch, Matthias Clasen reflects on what is coming in GNOME 3.10. New features include a combined system status menu, some changes to control-center, the new Maps application, and more use of "header bars". "Our previous approach of hiding titlebars on maximized windows had the problem that there was no obvious way to close maximized windows, and the titlebars were still using up vertical space on non-maximized windows. Header bars address both of these issues, and pave the way to the Wayland future by being rendered on the client side."

Comments (107 posted)

Embedding OS/X UI elements in the GTK+ toolkit

Over at the Lanedo blog, Michael Natterer explains recent work the company has done in conjunction with Xamarin to better integrate GTK+ with Mac OS X. The work involves embedding Quartz widgets into GTK+, plus properly handling input events. "Fortunately, event handling in GTK+ and Quartz are similar: Mouse events are delivered directly to the GdkWindow / NSView they are happening on. Key events get dispatched to the top-level GdkWindow / NSWindow which is in charge of forwarding them to the focus widget / first responder."

Comments (none posted)

Desmond: Out-Tridging Tridge

Barney Desmond talks about an rsync performance problem and its solution; the result is an interesting overview of how rsync works. "Most of the activity in this MySQL data file occurs at the end, where more zeroes had been written on the sender’s side. rsync hits this section of the file and is calculating the rolling checksums as normal. For each checksum, it’s referring to the hash table, hitting the all-zeroes chain, then furiously traversing the chain skipping over unusable chunks. Things are now possibly hundreds of times slower than normal, and the backup job has been running for over a week with no sign of finishing any time soon; not sustainable."

Comments (18 posted)

Page editor: Nathan Willis
Next page: Announcements>>

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds