TL;DR: I quit my job working on Thunderbird for Android and K-9 Mail at MZLA. My personal journey with K-9 Mail started in late 2009, shortly after getting my first Android device 1 . The pre-installed Email app didn’t work very well with my email provider. When looking for alternatives, I discovered K-9 Mail. It had many of the same issues 2 . But it was an active open source project that…
2020 was my first year as a full-time open source developer . Writing about it in this blog was a nice way to reflect on the year. And some people seemed to have enjoyed it. So here’s a summary of how my 2021 went. K-9 Mail Most of my “open source time” is spent on K-9 Mail . I first started contributing to the project in 2010 and became the project lead in 2014. The reason I decided to dedicate…
Pandemic aside, 2020 has been an exciting year for me. For more than 10 years I was working on open source software in my spare time. Then, in late 2019, a grant from the Prototype Fund allowed me to work on K-9 Mail full-time for six months. And it was awesome! So afterwards I decided to just keep going. I was working as a freelancer, so there wasn’t really a job I had to quit first. Here’s a…
Until recently PackageManager allowed every app to access information about every other installed app. While this information is vital for apps like launchers, most apps have no need to know which other apps are installed. So Android 11 makes it a little bit harder to retrieve this information. For more details see Package visibility in Android 11 . Most apps should not be affected by this change…
I am the maintainer of a somewhat popular open source email app for Android, called K-9 Mail . We use GitHub to host the app’s source code and use its issue tracker to manage bug reports and feature requests. Lately, I’ve found myself hiding issue comments more and more. Sooner or later someone will ask “why?”. And now I can point them to this blog post 😀 If you didn’t know that team members can…
The MailTo class has been part of the Android Platform API from the very start. And the class hasn’t been changed in a significant way since then. This could mean the API is very good and the code doesn’t contain any known bugs. Sadly, that’s not the case. android.net.MailTo is broken and shouldn’t be used. Let’s find out what’s wrong exactly. But I’m guessing most Android developers have never…
Over a year ago I typed up an implementation of OkHttp ’s RequestBody that supports Android’s content:// URIs. I called it ContentUriRequestBody and made it available as a Gist . The other day a comment on the Gist made me realize that this code might be helpful to more people than the person for whom it was originally created; probably more so when accompanied by some form of explanation. So here…
Last year I read the blog post Notifications, Sounds, Android 7.0, and Aggravation by the always well-informed Mark Murphy. In it Mark describes how the ban on file: URIs has made things difficult for developers who want to use custom notification sounds. Apparently, the notification subsystem wasn’t really prepared for content: URIs taking over. It’s currently not possible to use…
On Android many apps allow the user to share the currently displayed content to another app. Often it’s a link to the content on the web together with some additional information, e.g. the headline and maybe the lead of a news article. Share to clipboard A couple of weeks back I saw the following tweet in my timeline. Hey native apps: if I share to clipboard, just give me the URL, not the URL &…
This post was originally published on Medium: Android: Sending Email using Intents Many things on Android are as easy as starting an Activity using the right Intent. Sending an email to a specific recipient is one of those things. Sadly, there is much bad advice out there on how to send emails using Intents. Because I write an open source email app I have a pretty good understanding of what goes…