Skip to content

Releases: devycarol/Emilla

Final Alpha

07 Apr 19:10

Choose a tag to compare

Final Alpha Pre-release
Pre-release

This will be the last "Alpha" release before we enter the "Beta" phase. I'd say it's still an "Alpha" quality app, but there are just a few more rough edges to round off.

Changes since Alpha 1.9

Design

  • The assistant now has a prettier layout!
    • The backdrop is now fully transparent
    • The titlebar has been moved from being a giant top bar to a small tab label above the text fields
    • That has replaced the 'help' quick action button, tapping it opens the command's manual
  • The app icon has changed
  • Commands for apps with a monochrome launcher icon now use it for the submit button
  • The settings have been reorganized

Commands

Added:

  • Note: lets you open and add text to files in a chosen folder
  • Todo: lets you manage "tasks" in a text file.
  • Convert: lets you convert between units of measure. Currently length, volume, and weight in the customary and metric systems are supported.
  • Notifications: opens the notifications settings page of the app you enter
  • Play: in theory, now supports playing a song from a search query. I've yet to find a single app that supports this functionality correctly. Spotify maybe does? Idk I don't use it. I think there's some more widely supported system call for this which I can look into at a later time.
  • Setting: for now, this just opens your system settings app

Improved:

  • Calculate & Bits: significantly more resistant to numeric overflow errors
  • Snippets: now with search filtering
  • Launch & Info: now show a dynamically searchable app list instead of an after-submit selection dialog.
  • Time: now with time zone conversion for a few U.S. time zones.

Fixes

  • The 'close' animations should be less janky now
  • Corrected a lot of accidentally case-sensitive things
  • Fixed a division-by-zero crash
  • Fixed some logical and parsing issues in the Dice command

Removals

  • "Random number" command. I neglected that "Dice" completely supersedes that functionality, so I've removed the redundancy.
  • "Weather" command. Currently it doesn't do anything more interesting than open an app, which is probably already called "weather". We'll wait for some "API net bridge" mechanism to reactivate this.
  • Cleaned up some bad default aliases for commands
  • Renamed "Calendar" to "Schedule" and removed the date-specifying mechanism for now. I'll create a cleaner UI for date range selection to replace it.

Architecture

  • We are now targeting Android 16 Baklava
  • All Kotlin code has been rewritten in Java. It turns out I dislike Kotlin quite a lot.
  • At last, Java 21
  • I continue to get better at software engineering, which makes the app more comfortable to maintain

Politics

I'm extremely disappointed by Google's recent moves to restrict our platform. I've long hoped to eventually publish this app on Google Play for a small dollar amount for those who wish to money-support the project, but there's no way in hell that I will ever pay them to make their platform worse.

Emilla is always and forever free, and that includes being free from coercion from any central arbiter. When it's ready, I will publish on F-Droid. I will continue to publish APKs on GitHub so you can install the app onto your phone using ADB or whatever method you choose. Eventually I'll set up a donation page for those who wish to support the project.

I will publish to Google Play only if Google backs away from their controlling behavior. Realistically I only see this happening if we achieve some sort of regulatory victory.

Alpha 1.9

30 Mar 03:51

Choose a tag to compare

Alpha 1.9 Pre-release
Pre-release

Changes since Alpha 1.8

Features

  • A play/pause music quick-action button is now available!
  • All commands can now be disabled in the settings, including apps.
  • Commands are now somewhat aware of whether they are possible considering device features and installed apps. They'll disable themselves if they're impossible.
    • In the future, this will be done more helpfully with explanations of why the command is impossible and offerings to search the app store for apps that make it possible.
  • The commands setting screen now procedurally generates app preferences, allowing all apps to be aliased and toggled on an individual basis.
    • Consequentially, the "custom commands" dialog as it was implemented is no longer useful. It's disabled for now, a more thorough custom commands system will be implemented in the future (beta milestone).

Commands

Added:

  • Play: simulates a 'play' media key press for playing music
  • Pause: simulates a 'pause' button press

Improved:

  • Calculate and Bits: the unary positive sign (e.g. "+1") is now handled properly. It has no effect.

Fixes

  • Fixed broken 'Assistant' launcher shortcut.
  • The base 'launch' command now properly shows app names in its dialog.
  • Fixed the 'notify' command's outdated instruction description.
  • The % operator can be applied to parenthetical expressions in the 'calculate' command e.g. "(12+15)%100"

Removals

  • The 'view'/'bookmark' command has been superseded by web bookmarks, so it's been removed.

Alpha 1.8

18 Mar 20:25

Choose a tag to compare

Alpha 1.8 Pre-release
Pre-release

Changes since Alpha 1.6

Features

  • You can now add search engines to the Web command in settings with a tacky CSV syntax. The UI for this will improve in a future release.
    • If the entry's URL has a '%s' placeholder, the assistant will treat as a search engine that accepts suffixed input—similar to any old command. Otherwise it'll be treated as a bookmark—only an exact case-insensitive match will open the bookmark.
  • A rudimentary system for custom commands has been implemented, also based on CSV. It's in the 'commands' sub-screen.
  • Added an "action box" system! Now some commands make use of that empty space above the input fields to offer things like lists, etc.
  • Contact search! The Call, Text, Contact, and Email commands now show a helpful list of contacts which you can search through with the instruction. Multi-selection is allowed when applicable, and you can select someone immediately by double-tapping their entry or searching specifically enough that they're the only contact in the list.

Commands

Added:

  • Snippets! keeps a 'drawer' of named snippets of text. Now you can easily note and recall the date of that concert or that person's name ;)
  • Tasker! You can trigger Tasker tasks by name. This unlocks a whole lot of potential, you can now program pretty much any command yourself if you're willing to deal with the somewhat cumbersome syntake (which will improve in the future ;)
    • You can also pass parameters along with the data field.
  • Roll! You can now roll virtual dice using dice notation e.g. "Roll 2d8". The base command is a simple coin-flip :)
  • Random number! Spits out a random number between 1 and whatever you give it.
  • Bits! This is like 'calculate' except it can perform bitwise integer arithmetic. This is mainly useful for the computer scientists out there ;)
  • Notify! Posts a notification with the given title and text. You'll be able to schedule these in the future.

Improved:

  • Pomodoro: now implemented using notification pings instead of timers.
  • Calculate: more accurate, natural-language syntax like "3 plus 3" is no longer supported for now. A postfix "%" operator is now supported—it converts the number to the decimal representation of the percentage. This lets you do calculations like "12 % 100", which computes twelve percent of a hundred (12..)
  • Contacts: now has a 'send' subcommand which allows you to send someone's contact card to any app that will handle it.

Changes

  • The 'call' command no longer chimes upon submission, since it tended to be cut off by the initiation of the phone call.
  • Revised permission requests to perform actions more immediately upon granting.
  • The generic contact selection dialogs are now more specifically tuned to the type of contact info that is needed (card, phone number, email, ..)
  • Phone-word dialing in the 'call' command now has a confirmation dialog to guard against typos. The 'message' command now also supports this feature.
  • Contact search is no longer delegated to an external app. If you use AOSP contacts or any other app that supports it, this functionality can be attained with its app-command.
  • Replaced most of the fleeting 'toast' messages with more-helpful message dialogs, which you can dismiss whenever you want ;)

Fixes

  • Added a temporary patch to prevent the corner-swipe gesture from flagrantly triggering the double-assist action for some reason.
  • Fixed a crash when necessary 'retriever' apps such as contact or file pickers don't have an app on the system that fills that role.
  • Fixed the "unknown error bug report" dialog disabling the UI.
  • Fixed the assistant prematurely closing when a "no such app" error occurs.
  • Fixed the "contact edit" command failing when not given input.
  • The basic 'nav' command ("open your maps app") is now a bit more reliable at detecting various navigation apps. A more foolproof way of detecting these sorts of things will be necessary in the future.
  • Subcommands are no longer case-sensitive.
  • Fixed erroneous 'resume' chime when retrieving a contact triggers an immediate action.
  • Fixed the 'back' button wrongly triggering 'cancel' actions in the assistant when you cancel your press by dragging away.

Removals

  • Disabled the 'settings' command until it can be made more useful—all it did was open the settings app, which can already be done easily assuming your device has an app called 'Settings'.
  • The "run in background" setting has been removed until I'm more confident about what I'm doing. This probably means slower start times for now if you're not using the accessibility button service :(.

Under the hood

  • A lot of structural improvements that continue to make development much easier.
  • Some utility classes are now written Kotlin. Java's still my bread and butter, but I understand Kotlin is what Google would prefer us to move towards 😅

Alpha 1.6

12 Jan 02:20

Choose a tag to compare

Alpha 1.6 Pre-release
Pre-release

Changes since Alpha 1.4

The app now targets Android 15!

UI changes

  • The assistant box now floats a bit in the UI.
  • The data field is now positioned above the command box. In addition to this, it's hideable and hidden by default. You can disable this behavior in settings.
  • Finally updated the pop-up dialog style from the ancient Holo colorway to a more modern theme, without sacrificing those usable touch targets.
  • The submit button now displays app icons for app commands!
  • Replaced the copious "details" textbox with a command manual. You can invoke a 'help' action when using the assistant to view what a command does and how to use it.

Features

  • An action button system has been implemented! Two have been added so far:
    • Help: view manual pages for each command.
    • Cursor start: move the typing caret to the start of the edit box (this is useful for changing which command you're using).
  • Commands can provide action buttons when loaded, offering more functionality. These include:
    • File attachments! Commands like Email and Share now let you attach files and send them places. The UI for this will improve in the future. For now, you can remove attachments by opening the file picker and selecting the attached files a second time.
    • Field toggles! Additional details in commands like the calendar now have breathing room. Instead of needing to remember to type "/loc" for a location and such, there's an action button to show or hide a location field. More commands will get this in the future.
      • The SMS command has a subject field, but I've not gotten it to actually work yet.
  • These go hand-in-hand with the quick action system, so adding more of those will be a breeze moving forward. The help action is now available for the no-command, double-assist, and long-press-submit actions and is the default menu key action.
  • Replaced error toasts with a more courteous dialog.
    • If an unexpected error occurs, the unhelpful "unknown error" message has been replaced with a dialog that lets you instantly compose an email with a bug report for the error.
      • That said, "bugs@emilla.net" is not a real email address. I'll have to open an actual email account for Emilla development. In the meantime, you can copy the message body into a GitHub issue if you ever encounter it 🙃

Commands

  • Added:
    • Navigate - sends a search to your maps app.
    • Torch - toggles the flashlight.
    • Copy - copies text to the clipboard.
  • Improved:
    • Call - now offers a contact picker when run without input.
    • Bookmark - renamed from "view"
    • Time - renamed from "clock"
  • Also added app-command entry for Outlook mail..

Fixes

  • Pressing the soft keyboard enter key in the command field always moves the caret to the data field when it's available, instead of accidentally submitting the command in certain circumstances. The command is still submitted when the data field isn't used by the command.

Lots of under-the-hood restructuring since Alpha 1.4 will make development much easier moving forward. Unfortunately, I needed to raise the minimum Android version from 4.4 KitKat to 5.0 Lollipop.

Alpha 1.4

07 Aug 20:00

Choose a tag to compare

Alpha 1.4 Pre-release
Pre-release

Changes since Alpha 1.2.1

New settings:

  • Configurable default command

New commands:

  • App info
  • App uninstaller

New app-commands:

  • AOSP contacts app (com.android.contacts)
  • Tor Browser
  • GitHub
  • YouTube

Improvements:

  • Slightly faster startup
  • Simplified the accessibility button service
  • Revisions to the interface and theming, including fixed broken light mode

Alpha 1.2.1

03 Aug 21:31

Choose a tag to compare

Alpha 1.2.1 Pre-release
Pre-release

Changes since Alpha 1.2:

  • Removed permission declarations that aren't being used yet
    • "Manage all files" hopefully won't need to be used to begin with, but I won't sacrifice functionality in order to avoid this.
  • Added a weather command
    • Some weather apps aren't supported yet since they don't properly declare themselves as the "Weather" app category
    • This command doesn't support Android <13 yet either, due to that category not existing in before that API level

Alpha 1.2

03 Aug 00:10

Choose a tag to compare

Alpha 1.2 Pre-release
Pre-release

Changes since Alpha 1.1:

  • Removed content that wasn't mine, replacing it with the ability to load your own sounds via the system notification sound selection.
  • With that out of the way, source is now available!
  • Added a sound set that mimics ye olde voice dialer.

Alpha 1.1

02 Aug 06:31
16d64d5

Choose a tag to compare

Alpha 1.1 Pre-release
Pre-release

Changes since Alpha 1.0:

  • Replaced permissions error message with a help dialog
  • App commands for Firefox and Markor
  • App commands now auto-detect "send" capability (this is probably bugged for multi-word app labels.)
  • Command aliases are configurable now—just some clunky CSV for now
  • Rename the 'play' command to 'view' and reorganize the command settings page a bit. 'Play' will hopefully be reintroduced later for music.

Source is still not public because I need to replace copyrighted sounds with the ability to load your own. For the same reason, these past versions will not be available for download after subsequent releases until I implement this. Rest assured, it is a priority.

First alpha!

31 Jul 05:04
30ca62a

Choose a tag to compare

First alpha! Pre-release
Pre-release

The first alpha release of the Emilla assistant for Android!

App versions prior to Alpha 1.2 are not available for download.