Archive

Posts Tagged ‘Shuffle’

Synchronizing Tasks in Shuffle

July 31st, 2010 4 comments

As of the writing of this blog post there I’m finalizing the last part of how the new synchronization. The changes to Shuffle is that we introduce a hidden state for Tasks, Contexts and Projects. Hidden entities are in essence deleted, but the state is maintained even when it’s deleted.

This change allows the synchronization to ignore hidden projects, contexts and tasks.

For Contexts and Projects this is straight forward. However in Tracks, completed and hidden tasks are left out of the listing of tasks. This means that a task that is left out in Tracks is either deleted or completed.

Previously in Shuffle we just marked these tasks as completed. However now we can handle them properly. Below is a flowchart of how the suggested synchronization process of tasks works.

The flow-chart starts in a state where the tasks are downloaded from Tracks, then it’s compared to the entities in Shuffle by the chart.

 trackstasksync (1)

The interesting part here is that the check if a task is completed or deleted is a remote check, which means it’s slower. Also any task not in Shuffle but in Tracks is naturally added to Shuffle.

I’d appreciate feedback on this, before I mark the task as Completed in Shuffle. :)

Tags:

What’s happening with Shuffle?

July 21st, 2010 No comments

It’s summer! Which leaves some time for some development on Shuffle.

This is what’s coming:

  • Support for small screens, such as the HTC Tattoo
  • You can change Synchronization settings without having connection.
    • Previously settings were verified by connecting to Tracks before saving. Now there is a test button to test the settings. Allowing you to change them when offline.
  • There’s also some work in progress that hopefully will be in the same release. We’re working on a  model change that will help the synchronization process. No longer should the synchronization process cause un-recoverable deletes, and support for ignoring hidden and completed contexts and projects is underway with it as well.

    There’s a lot of work to do still, but I wanted to give a heads up that something is happening.
Tags: ,

Inheritance of features

January 14th, 2010 2 comments

Given my recent combining of Tracks and Shuffle. An interesting thing happened. Something that happens when you combine two products so that they inherit features from each other.

On Shuffle’s issue list there are a few items currently regarding repeating tasks, and the ability to hide a task for a period of time. Tracks has these features, since Shuffle can synchronize with Tracks, Shuffle now also have these features. That is if you choose to synchronize with Tracks.

I’ve done a few integration projects thus far. And the ones that are truly successful are when they take the aspects and features of both applications into consideration, to create a win-win scenario between the two applications.

Here is another recent example. At RemoteX, we recently integrated a system that handles the ordering of materials, goods, equipment etc. In essence this integration feature means that you can go to a retailer, order goods, specify the order they should tag the invoice with. End result, RemoteX automatically adds the goods to the application and if possible attaches a copy of the invoice to the case. Ready to be billed to the customer. Since the other system has integrated with almost all resellers of service equipment in Sweden, the daring customers running this set-up can, at least in theory, eliminates the need for keeping stocks of equipment or goods in house.

If you understand where these synergy effects can show up you can also align the integration so that both applications maximizes the gain of integrating with the other system. This is important to think of when designing an integration, how do we achieve the maximum win-win?

Shuffle 1.4.0 available on Android Market

January 12th, 2010 2 comments

Regarding the previous post, Shuffle 1.4.0 with Tracks synchronization is now available on the Android Market.

Tags: ,

Shuffle and Tracks

January 11th, 2010 5 comments

As I mentioned in a previous post I’ve been working on getting the Android application, Shuffle to synchronize with Tracks.

Now that the work has continued this post describes how this feature of Shuffle works. This feature is released with version 1.4.0 of Shuffle and will be available on the Android Market. Special thanks to Andy whom put up with my loads patches.

This feature affects no other features in Shuffle, it simply allows the synchronization between the two systems. If you never configure the synchronization feature it will never affect you.

Configuration

To configure Shuffle to synchronize with tracks start the Shuffle application.

image imageimage

Press menu, and select settings. Select the option called “Change synchronization”

image image

This will open the settings file. Here you can enter the URL to your Tracks installation, username and password. You can also specify the settings for the background synchronization. Simply change the combo box between the different settings.

There is some validation in the settings screen. If you enter a invalid URL the text will change to red to display this.

image image

When you save your settings they are validated by trying to download the contexts from Tracks. If Shuffle cannot get any content from Track with the specified settings it will not save them, but instead display an error message saying that something is wrong with them. You can always cancel.

The Synchronization

Once Shuffle is configured to synchronize with Tracks. You will have an extra button available in the menus across Shuffle. Pressing this will start the synchronization process. To notify that a synchronization is in progress Shuffle will also add a notification message during the synchronization. This is to notify the user that Shuffle synchronizes when doing background synchronization. If you click the notification Shuffle will display the synchronization view.

image image image

The synchronization synchronizes the entities in Shuffle in the following order: Contexts, Projects, and Tasks. During a synchronization Shuffle will look at the modification date and select the version of the entity that was latest modified, and merge this entity with the local entity or remote entity, which ever is updated.

image

Tracks only accept Tasks that have a context set, currently these tasks are excluded from the synchronization process. If you have such task a message is displayed at the end of the synchronization process.

Tags: , ,

Synchronizing Tracks and Shuffle

January 4th, 2010 13 comments

I did some open-source work last week. I created a synchronization option in the Android program called Shuffle. Allowing it to synchronize with the web tool called Tracks.

Here is a description of how to use the synchronization in Shuffle.

Configuration

image

image image

Open the settings menu, select the Change Synchronization option.

Specify your Tracks installation URL, username and password.

Make sure that the URL is correctly formatted and that there is no ending slash in the url:

this is wrong: http://my.gtdify.com/

this is correct: http://my.gtdify.com

Usage

image image

On the menu available in most screens there is a button called synchronize. Click it and the synchronization starts. It will first synchronize the contexts, then project and last the Tasks.

Details of the synchronization

The synchronization will try to reduce duplicates that might occur between Tracks and Shuffle. This is done by looking that the description of tasks and the names of contexts and projects.

The synchronization works with a server wins, modification date oriented approach. Should there be a conflict the latest version will win, and in it will try to take as much detail it can from Tracks.

Also, using the “Delete completed” option removes the tasks from Shuffle. This means that the synchronizer wont find them and can’t mark them as finished in Tracks. If you use this synchronization I recommend letting the synchronizer take care of the “cleaning up”. This will be done the second synchronization that a task is complete on.

That is, if you complete a task and synchronize, both tasks will be in both systems as completed. Synchronize again the the task will be removed from Shuffle,  but maintained as completed in Tracks.

Tags: , ,