We are proud to announce a new 3.2.0 update of " Alloy - Launcher and Automator 3".  This update includes:


Portrait Photos Support

Portraits are specially taken photos having depth and other auxiliary data associated with them. Editor apps may utilize that data to allow applying advanced special effects to such phots like blurring or removing backgrounds.  Alloy now supports preserving such auxiliary data so portraits obtained with the help of "Choose Photos" tasks can be shared or stored together with such auxiliary data. To support carrying auxiliary data:

  1. The "Image Format" property of "Choose Photos" tasks should be set to either "Default" or "HEIF" value.
  2. The "Save As" property of "Save Photos" tasks should be set to either "Default" or "HEIF" value.


Note: portraits saved with Alloy will not have portraits effects applied to them by default so depth controls will be initially unavailable. To enable them you must turn ON the portrait mode. It can be done by taping the [PORTRAIT] button at he center-top of the editor.



Note: "Choose Photos" task obtains original versions for portraits without any effects applied to them; for other images - current versions will be obtained.


Get and Update Auxiliary Data Tasks

If your workflow does not change portrait images during its performing - nothing special should be done to preserve auxiliary data. If your workflow modifies portrait images e.g. applies some filters - auxiliary data (as well as metadata) will be lost. There are several new tasks to allow getting and applying auxiliary data to images:

  • "Get Photos Auxiliary Data" task that allows to read auxiliary data for passed images
  • "Update Photos Auxiliary Data" task that allows to update passed images with auxiliary data


The following workflow demonstrates how to preserve both metadata and auxiliary data for portraits after applying some filter:



And another simple utility workflow allows to inspect auxiliary data:



HEIF Image Format Support

Alloy now supports working with images in HEIF format so such images (usually portraits) can be chosen, saved or shared in that format. The following tasks now have HEIF specific changes in the configuration:


  1. "Choose Photos" task now supports "Default" and "HEIF" values for the "Image Format" property. If the "Default" value is specified for the "Image Format" property - portraits will have the HEIF format; other images will have the JPEG format.
  2. "Save Photos" task now supports "HEIF" value for the "Save As" property.


Other Fixes and Improvements

  • Fixed producing duplicates when saving images
  • Improvements and fixes in photos metadata handling
  • Small fixes and improvements



Also do not miss recently released brand new " Alloy - Launcher and Automator 3".  This release includes:


Action Reminders

An Alloy's Action is a work need to be done on iPhone or iPad. A ToDo or "Reminder to do something" is a work to be done in general. So there is striking similarities between Actions and Reminders. That is why we decided to put together Actions and Reminders in one single app. Now Reminders can be optionally associated with Actions. So when the user taps to complete such a Reminder, it launches an associated Action and then completes the Reminder when the Action finishes. For example, completion of a "Call Kate" Reminder will initiate a phone call to Kate. Or completion of a "Send birthday wishes to Jeff" Reminder will lead to sending a made-ahead SMS to Jeff at a right time.


Alloy now includes two screens - Actions and Reminders. There is a switch control in the bottom of each screen that allows to choose a screen to work with. Currently, Alloy utilizes Reminders store provided by iOS so it will benefit from automatic sharing and syncing, integration with other apps etc.



The Reminders screen provides pretty common Reminders layout - Lists View and Reminders View. The List View shows three groups of Lists:

  • Smart Lists: calculated and dynamic views of Reminders based on some criteria. Currently there are the following built-in Smart Lists:

    • Today: shows Reminders need to be completed or reviewed today. It includes nearby, due today and overdue Reminders. 

    • Scheduled: shows Reminders having due date grouped by dates.

    • All: shows Reminders from all Lists grouped by particular Lists.

    • Flagged: shows Reminder marked by Flag.
  • User Lists:  shows all available Lists. 
  • Templates: template Lists that can be used to create other Lists on demand. 

It is possible to add, alter, reorder or delete Lists and Templates. Custom Smart Lists are planned for the future.


To show Reminders for a List - simply select that List. In the reminders view it is possible to add, alter, complete, move|copy and delete Reminders. It is also possible to filter out some Reminders based on completion and tags criteria.





Assigning Actions to Reminders

To assign an Action to a Reminder - start editing that Reminder and tap the button on the custom keyboard. You will be prompted with several choices - design a new Action, use a copy of one of installed Actions, choose an Action from the Action Directory etc.




If a Reminder already has an Action associated with it - taping the button will show Action specific commands like "Edit", "Reset" or "Delete" etc. 



More commands for an Action are available in the "Action" menu that can be shown by swiping left a Reminder and choosing the "More | Action" item. For example, if an Action has some Menu Workflows - they will be available in that menu.


Note: Actions and other custom data are directly encoded to Reminders utilizing the Notes field, because Reminder Store does not provide other suitable way to achieve this. So if you want to add notes to a Reminder with Action in the iOS Reminders app you have to put notes right before the  ////  tag.


Smart Actions Suggestions

Alloy provides Smart Action Suggestions when creating new Reminders. Such suggestions are based mostly on Title and other Reminder properties like due date, tags or location. If there are some suggestions - the button will be changed to be. If there are some most helpful suggestions - the button will be tinted with the orange color.


For example, if you start creation of a new Reminder and type "Call 1 800 555 7823" as its title - Alloy will offer the "Call" Action. If that action is chosen - it will pickup entered phone number, so this number will be dialed as a part of the Reminder's completion. 


Or if you type "Call Kate Bell" - Alloy will offer the "Call Contact" Action. If that action is chosen - it will pickup entered contact, match it with contacts in the Contacts database and associate a found contact (if any) with the Action, so this contact's number will be dialed as a part of the Reminder's completion. 


The following data type can be guessed or recognized:

  • Phone Number
  • Email Address
  • Street Address
  • Date
  • Location
  • URL
  • Contact Name

Allowing your Actions to Appear in Action Suggestions

If you want your Action to be suggested for Reminders and be able to pickup certain data:

  1. Add the Initialization Workflow to utilize and possibly save passed data.
  2. Specify particular supported data types as Action's Input.
  3. Add the  reminder  tag to your Action to let Alloy suggest your Action.  

 

If there are some data recognized - it will be passed to the Action's  Initialization Workflow as the input variable. If there are NO data recognized - entire Reminder's title will be passed to the Action as the input variable.


Special Title Format

Some data can be hardly recognized (e.g. contact names) while most of the data can not be recognized at all. To handle such a situation Alloy includes special title format considerations that can help to offer right Action suggestions and supply it with proper data:

  1. contact action <contact name> - allows treating text placed after the "contact action" as a contact name. So it is possible to type something like "Call Kate Bell" and then associate a "Call Contact" Action for a Kate Bell contact. Supported action names are:
    • call
    • sms
    • email
  2. search <term> - allows treating text placed after the "search" as a search term. So it is possible to type something like "search 8k tv" and then associate a "Search" Action for searching "8k tv" on Amazon.
  3. action ?<query> -  allows treating text placed after the "?" as an arguments for an Action.  The "query" is a standard URL query string: name1=value1&name2=value2 etc. If the "query" contains single value with no name (no '=') - entire query will be passed to an Action as the input variable. IF there are multiple values - they will be passed to an Action as corresponding named variables.


Background Refresh and Glances

Alloy fully supports Actions with Background Workflows and Glances for Reminders. So when you associate such an Action with a Reminder it will immediately starts refreshing in background. If an Action has Glance - it will be rendered for a Reminder as well. For example, you may add a "Check Weather" Action to check weather at any place of interest.

It is possible to clear Glance or change its size via the "Action" menu that can be shown by swiping left a Reminder and choosing the "More | Action" item.


List Templates

Alloy includes a special kind of Lists - Template Lists. Such Lists should be used to create ready-to-use Lists on demand. For example, you can create a "Grocery Shopping" Template List and add all needed Reminders to it: for example "milk", "bread", "coffee" etc. Then, when you are ready to go shopping, you can tap on the "+ List" button on the "Grocery Shopping" Template List to create a "Grocery Shopping" List and use it in the grocery store. When you are done with shopping - you can simply dispose that completed "Grocery Shopping" List. Next time, when you are ready for shopping - you can easily recreate that "Grocery Shopping" List from a Template and use it again and again. 



While Template Lists look alike to general Lists, there are some differences:

  • Reminders in Template Lists are incomplete and can not be completed.
  • Reminders from Template Lists will not be shown in any of Smart Lists.


There is special handling of due dates for Template Reminders - support of relative due dates. When you specify, for example, "today" or "weekend" due date for a Template Reminder - it will not set a hard date, instead real date will be only calculated during actual List creation based on that relative due date value. 



It is possible to save any List as a Template via the menu that can be shown by swiping left a Reminder and choosing the "More | Copy as Template" item.


Quick Reminders Entry

Alloy provides unique ability to quickly enter Reminders by typing several attributes, encoded in the title. For example, typing the following title for Reminder and committing it: Call Jeff @office // discuss agenda for tomorrow's meeting will create a Reminder having the Title - Call Jeff, the Tags - office, the Notes - discuss agenda for tomorrow's meeting.



The following is the text format for Reminders Quick Entry:


title <@tag1, @tag2, @tag3...><// notes>


Where:

  1. Title - text from the start to the first occurrence of tags or notes; entire text if no tags or notes are specified.
  2. Tags - list of tags. Each tag must starts with the @ symbol and must have no spaces in it.  You may use spaces or commas to delimit several tags. 
  3. Notes - the rest of the text that starts with // delimiter. Note: everything typed after // delimiter will be considered as the Notes; any tags definition there will be ignored.

Other New Features and Improvements

Additional Input Types for Actions

 There are additional input types available for Actions: person name, phone, address, location. Having such input types is especially useful when designing Actions can associated with Reminders. Alloy recognizes certain type of data during typing Reminder's title and can suggest appropriate Actions based on that data.


New "Recognize Speech" Task

There is a new "Recognize Speech" that allow to convert passed audio file with speech to a text.


New "Wait" Task

There is a new "Wait" task that allows waiting certain amount of time. This task can be useful to let a Workflow wait some time so some asynchronous process has a a chance to complete.


New "Comment" Task

There is a new "Comment" task that just shows some comment in the Workflow Editor.


Updated "Import vCard" Task

There is updated "Import vCard" task to make contacts saving optional.


Updated "Share" Task

There is updated "Share" task to include contacts sharing.


Known Issues, Limitations and To-Do's

The following are known issues and limitations:

  1. iOS exposes limited set of properties for Lists and Reminders. Therefore:
    • Order of the Lists and their Icons will not be the same for iOS Reminders app.
    • Reminders reordering and sub-reminders are not supported yet.
    • Reminder tags will not be shared to iOS Reminders app; it simply does not provide that concept.
    • Reminder Flagged property will not be the same for iOS Reminders app.
  2. Actions having reference to Contacts will loose that references on other devices because Contact's identifiers will be different on other devices.
  3. Syncing of Reminders with Actions requires more polishing and testing.
  4. Tasks working with Reminders are not updated to utilize Alloy's Reminders.
  5. Custom Smart Lists are not implemented yet.
  6. Hiding Actions' features, that are not applicable to Reminders, is not implemented yet.
  7. There are limited set of Actions optimized for Smart Action Suggestions; more to come.