Skip to content

Releases: Anodex/anodex-mobile

v0.86.1-preview.139: Merge pull request #284 from Anodex/build/0-86-1

Choose a tag to compare

@merlinshaw merlinshaw released this 19 Sep 17:07
c2e9e4d

One tap to talk.

The composer's Speak key now opens the screen already listening. It used to open a screen with another Speak key on it — two taps for one intention, and the second was a toll rather than a choice.

The control at the bottom is Stop, and afterwards the way back.

A refused microphone says so, and says where to fix it, rather than showing a button that Android will silently refuse.

v0.86.0-preview.138: Merge pull request #282 from Anodex/feat/the-empty-box-speaks

Choose a tag to compare

@merlinshaw merlinshaw released this 19 Sep 16:14
2494d41

Voice, first working piece.

Speak. The round key in the composer opens it when there is nothing typed; the first keystroke turns it back into Send. It holds a conversation rather than dictating one: it stays open, and interrupting it is expected.

The voice is called Vane, and for now it is the only one — its name sits top right on the Speak screen, where the choice between voices will go.

This only appears when the computer you are paired with offers voice, which needs desktop 0.10.14 started with voice switched on. Everywhere else this build is identical to 0.85.0.

Under it: capability negotiation on the handshake, so a feature only one end has is absent rather than refused; binary audio frames beside the JSON ones; a voice gate that learns the room; and the round trip measured from this phone's own clock.

v0.85.0-preview.137

Choose a tag to compare

@merlinshaw merlinshaw released this 19 Sep 13:17
71ee7ee

Triage, mostly — and one control that should always have been shared.

Act on several messages at once

Long-press a row, or tap the circle where the sender's initial is. The header becomes the toolbar for what you picked: a count, a way out, and mark read / archive / delete.

The search field and the folder strip stay exactly where they are while you do it. Hiding them was the first attempt and it moved the whole list 71dp under your thumb the instant a long press landed — so the row you were reaching for next was no longer the row you tapped.

A sideways swipe during a selection now does nothing, instead of silently adding that row. Swiping out of habit and then pressing Archive was taking a message you never chose.

One send button

The mail composer uses the chat composer's circle with the mark on it, rather than a plain outline plane in the same corner of the same kind of screen. These are the two places Anodex sends something from, and they looked like two different apps doing it.

"Write" above the inbox wears the same gradient as "New" on the conversation list — it was the app's only secondary button in a header, so it read as a lesser action than it is.

Mail failures tell you what went wrong

When the computer refused something — no trash folder on the account, a rejected address, a password that has expired — the phone used to replace its answer with a sentence of its own: "Your computer would not delete that." Same words for every cause.

It now repeats what the computer actually said, and reads both halves of the error rather than just the headline. That applies to every channel, not only mail.

0.84.2

Choose a tag to compare

@merlinshaw merlinshaw released this 19 Sep 05:27
4da429f

A long message now reaches its end, and does not take the app down on the way.

Long messages

Yesterday's fix got the measurement right and then used it wrongly. A message view only ever paints as much as fits its own window: sized to the whole message it paints all of it, which is why a medium newsletter was fine — sized to less, it paints the top and leaves the rest of the space empty. A Reddit digest here is about thirty-five screens long, and no ceiling fixes that, because the ceiling is what creates the blank.

It could also crash. The measured height went straight into the layout, and while pictures are still arriving the renderer briefly reports something absurd — 89,010, which became 267,030 pixels and closed the app. If you saw Anodex disappear while reading a newsletter on 0.84.1, that was this.

A message that is the only one in its conversation now gets the space between the header and the buttons and scrolls inside it. The subject, the sender and the actions stay where they are, which is how both Gmail and Outlook read anyway. Conversations with several replies are unchanged.

Pull down to check for mail

The only way to ask was a button in the header — a thing you have to know is there.

Star, Archive and Unread look like buttons

They were three grey words under the message, which reads as small print rather than as three things you can do.

0.84.1

Choose a tag to compare

@merlinshaw merlinshaw released this 19 Sep 04:23
93b24ce

Putting a message back works from anywhere, including the trash.

Move to inbox was asking your computer to unarchive the message, which is a narrower act than it sounds: it looks for the conversation in your archive folder specifically. From the trash it found nothing and failed — while the button sat there offering to do it.

It asks for a move now. A move names where the message should end up and lets your computer find it wherever it currently is.

Found by deleting a message with the new swipe and then being unable to put it back, which is a poor quality for the undo beside a delete gesture to have. The other half of it is on the computer, in 0.10.10 — before that, a message outside your inbox could not be opened either.

0.84.0

Choose a tag to compare

@merlinshaw merlinshaw released this 19 Sep 03:53
f08ea7f

Mail that behaves like the mail apps you already use.

Messages are not cut off any more

A newsletter ended mid-photograph with the Reply button under the cut, and nine tenths of it was unreachable. The page scrolled to its end — the box the message sat in was shorter than the message.

Two faults. The height was measured correctly and written somewhere nothing was reading, so the view kept a placeholder size; and the measuring gave up after one second, while a newsletter's pictures are still arriving. It now measures until the height stops changing.

Swipe, the way round you want

Slide a message: right deletes, left archives. Both directions used to archive, which wastes half a gesture.

You can change either one in Settings, including to Nothing. People disagree about which side means what and muscle memory from another mail app is worth more than any default.

Neither is final. Archiving moves it out of the inbox, deleting moves it to the trash, and both are undone from the strip that follows — the delete undo puts it back in your inbox rather than apologising.

The thing revealed behind the row now tells you what will happen: the act's own colour spreading from the edge your thumb came from, and at the point where letting go would do it, the icon takes full colour and the word appears.

The compose window

Rebuilt. It was a stack of outlined boxes with the message squeezed between them.

  • Addressing is quiet rows, so the message gets the screen
  • The account you are sending as is named in the header
  • Send is where a mail app puts it, and says whether it can go
  • "Write your message, or have Anodex write it" — the model offered where you are already looking, rather than in a card taking a quarter of the screen
  • Leaving is a back arrow, and still asks once when there is something to lose

Where archived mail goes

All Mail, on a Gmail account — the same thing Gmail's own Archive does. Reachable from the folder strip, and Move to inbox in a message brings it back.

0.83.3

Choose a tag to compare

@merlinshaw merlinshaw released this 18 Sep 20:00
6a07be6

The notice you are reading this in was see-through.

If your computer was unreachable when an update arrived, this card floated over the offline screen with nothing behind it — so "Anodex is offline" and "No answer from 3 addresses" read straight through the release notes, both sets of words in the same place. Same on the pairing screen.

Its background was a tint: twelve percent of blue, which is a fill only when there is something solid underneath. Everywhere else in the app there is. Here there is not, so now it brings its own.

While in there: the notes are longer than the space they get on any phone, so the last line always ended cut through the middle, flush against the Install button. It fades now, which reads as more text rather than as broken text.

Thank you for the screenshot — the shape of the bug was visible in it immediately.

0.83.2

Choose a tag to compare

@merlinshaw merlinshaw released this 18 Sep 15:30
c221639

Push a message out of the inbox with a thumb, and pull it back.

Swipe

Slide a message either way and it archives. Six seconds of Undo follow it.

Both directions do the same thing, which is what Gmail does out of the box — a second action hidden behind the other direction is one nobody discovers and everybody sets off by accident. Archive rather than delete, for the same reason: a gesture a sleeve can start should not be the one that is hard to take back. Deleting is still two deliberate taps inside a message.

The row goes the moment you let go and comes back if your computer refuses. A swipe that waits for the network before the row moves does not feel like a swipe.

Move to inbox

Six seconds is the right amount of undo for a gesture you meant and the wrong amount for one you did not — and once that strip was gone, nothing on the phone or the computer could put an archived message back.

So a message read anywhere other than the inbox now offers Move to inbox, where the archive button sits when you are in the inbox. The two are opposite acts and only one of them is ever the useful one.

Search finds what you are looking at

Typing a word while looking at Trash searched your whole account and showed the results under a heading that still said Trash. It searches the open folder now, and changing folder asks the same question about the new one rather than clearing what you typed.

From the inbox, search still means everywhere — what you are looking for is usually the thing that is not in front of you. This one needs your computer on 0.10.7.

0.83.1

Choose a tag to compare

@merlinshaw merlinshaw released this 18 Sep 14:18
515c057

Two of the five conversations in the inbox on this phone opened to nothing. A header bar, a Back button, and a screen of black.

What the screen does now

It says the conversation would not open, and what your computer said about why.

That sounds small. It is most of the reason this went unreported: there was nothing to report except "it doesn't work". Three things had to agree for a blank screen, and each was reasonable on its own — the computer answered with no messages, the phone turned a refusal into an empty list, and the reader drew an empty list as an empty screen. None of them said a word.

Saving an attachment had the same shape available to it. If the fetch failed, nothing happened and nothing was said: the reason was discarded twice on its way up, and the last place it could have been shown was the inbox — behind the message you were reading. A failure now goes to the same strip at the bottom of the screen that tells you where a file was saved, carrying whatever your computer said about it.

The conversations themselves

They open, once the computer is on 0.10.6. The cause was on that side: an account reached over IMAP has no idea of a conversation, so it is made out of the subject, and some mail servers will not search for a subject with the wrong punctuation in it. Both of the ones here ended in a question mark.

Archiving and deleting those same conversations did not work either, for the same reason, and now do.

Worth knowing

The phone can only ever be as good as the computer it is paired with. A conversation that will not open on a computer running 0.10.5 or earlier is that, not this — and now the phone says so instead of showing you a blank page.

v0.83.0-preview.130

Choose a tag to compare

@merlinshaw merlinshaw released this 18 Sep 13:40
8d3e0ff

Mail on your phone is a mail client now, not a way to read the inbox.

It looks like mail

An inbox of cards, each with the sender's circle beside it — a letter on a colour that stays the same for that sender for ever. Bold when unread, a dot beside the time, a star you can set without opening anything, a paperclip when something came with it.

The circle is drawn here rather than fetched from the sender. Asking a stranger's server for their logo is the same request a tracking pixel makes, for less reason.

Open a message and the subject is where a mail client puts it — full width, wrapping, readable — instead of trimmed to fit a title bar. Under it, who sent it and who else received it, because "to me" and "to me and nine others" are different situations and change how you answer.

Everything you expect to be able to do

Delete. It moves to your trash, which is what delete means everywhere and is recoverable from any mail app you own. Your computer works out what your account calls that folder — Gmail, Outlook and plain IMAP each name it something different, and guessing is how mail ends up somewhere nobody looks.

Archive, mark unread, star. Each is undone by doing it again.

Search. Any word, across the mailbox. It uses the one search every provider implements, so it works the same on Gmail, Outlook and anything else you connect.

Folders. Sent, Archive, Trash, anything you have made — a row along the top rather than a menu, because a menu hides the one thing you opened it to change.

Attachments. Listed with their names and sizes, and a Save beside each. Downloaded on the phone, it lands on the phone. Downloaded at the computer, it lands there. Nobody is asked where, because the answer is always here.

Large ones work. Files come across in pieces, so a photograph or a slide deck arrives rather than being refused for being bigger than the connection allows in one go.

Pictures

Messages show their pictures now, with a switch in Settings if you would rather they did not.

Worth knowing exactly what the trade is: loading a picture tells the sender their message was opened. Your computer does the fetching, not your phone — so what a sender learns is the address of the machine that already holds your mailbox, and not where you happen to be standing.