New OSX client

This is a big one for us. We’ll explain why.

OSX installer

The new OSX client.

It is here and we are quite excited! It took longer than expected, but it’s done. We needed it badly, for multiple reasons. There were some more fields we needed to add and implement picture syncing. Also there were some issues with the sync itself that could cause problems for users. Those issues are now solved!

You can get the new OSX client by going to the download page.

Fixed bugs:

  • Group deletion on Soocial
  • Changes reverted because of slow sync initiated by OSX
  • Groups multiplication owning to the presence of a contact with the same name as its group

Added support for:

  • Pictures
  • Phonetic names
  • Dates
  • Related names

We’ve made quite some progress since our last OSX client, and we would love to get your feedback about our new Soocial for the Mac client. If you run into any problems or have any questions, feel free to shoot us an email at support@soocial.com

For those interested, here is why it was such a difficult task to pull off:

We had to start from scratch

One of the first things we did when we started Soocial, was making a client to sync contacts between OSX and the Soocial server. With the knowledge we had between our team and the OSX developer we hired to make this, we decided to make a prefpane that would directly be connected to OSX Sync Services. The advantage of this approach was that we could program against the provided Sync Services API. The downside was that we had to tweak our sync server to act as a client, since Sync Services had to be the server.

Bonus points if you really understood the architectural design described in the previous paragraph.

Stuck

So as it happens in software development, we had made a decision and stuck with it. We kept developing for a while, but it was getting more and more difficult to maintain the existing client. The initial developer, who was a freelancer, had moved on to other stuff and was not interested in further developing the OSX client.

Bullet

So after a lot of deliberation we decided to bite the bullet and make a new OSX client. We did have to search a bit, but eventually found someone who was interested in programming the client and set a plan to have it done in about three months. After many ups and downs, those three months turned into eight months, but now we have something to show for, a new, functional OSX client.

How

For those that wonder how we did things differently now. The client basically has two parts:

Local Sync

This time, the client won’t hook into Sync Services and try to act as a server. Also, because we don’t want to confuse Sync Services, the client will be responsible for managing its own local datastore, which will reflect the contacts from the Address Book. By using the pattern of delegation, the client will hook into Sync Services and receive appropriate notifications when contacts have changed locally (e.g. the user has changed, added or deleted contacts in the Address Book).

The client will check often to see if there is any notification like this waiting to be processed. If there is, this will trigger the local sync, which will update the information in the client’s local datastore and then start the external sync.

External Sync

The external sync represents the synchronization step between the OSX client and the Soocial server. The client will start this sync when a change is made to the local database by the local sync and at a regular interval set by the user. Changes from the server will be first written to the local database.

After that a new local sync will begin, which will synchronize the local datastore with the Sync Services datastore in order for the changes to be propagated into the user’s Address Book.

The Client – Soocial for the Mac 2.0

By using this logic we can now return to the normal order of things, by letting the client BE the client and the server BE the server. We think that we have made a lot of progress since our last client and hope that this new client will prove to be an indispensable tool in your daily workflow. Looking forward to receiving your feedback!

The Soocial Team

2 Comments

  1. Shane
    Posted June 29, 2011 at 18:21 | Permalink

    Does this mean that rapidly multiplying dupes will be a thing of the past? Have you solved the issues with Gmail’s contact formatting differences, such as First and Last names getting swapped and the wierd address formatting issues? Lastly, is there a way to add my iPad to the Connections?

  2. Posted June 29, 2011 at 20:48 | Permalink

    Shane,

    dupes are not caused by the OSX client neither the old or the new. Most of the time they are created by a loop in your set up. This means that connections in Soocial also sync amongst each other. Example: OSX and iPhone through iTunes.

    And as you say yourself some other issues are with Google, not OSX. Especially the address formatting issue needs to fixed by Google.

    For the iPad the iPhone app will do fine.


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: