Synchronization panel added

December 25, 2009

A small tool has been added to picoBeat to help with synchronization: under the Tools menu is now a Synchronization panel that gives a list of existing ties between picoBeat databases and synchronized devices. Double clicking on a tie will give a brief log of the last synchronization operation.

The panel currently list synchronization done with both SyncML and picoBeat Sync for Windows Mobile. Log informations are currently limited but will be progressively expanded to give more and more details and help diagnostic possible synchronization issues.

In other news, Merry Christmas to everyone :)

Major update

December 19, 2009

As some might have noticed, the Tasks and Calendar module have been updated to include tag filtering  and a few other features (i.e: the calendar will now show due tasks). As with the Notes module, you can tag events or tasks by dragging them other the tag of your choice.

Under the hood, a lot of code has also been refactored to make everything cleaner, faster and more reliable. As such despite the added features, the new code is only slightly bigger and the interface should feel snappier.

You might need to clear your browser cache for everything to show up right again. (in Firefox: reload the page with shift+F5)

SyncML improvement: support calendar with tasks added

December 7, 2009

Within picoBeat, tasks and events are considered very different objects with different properties, and are stored in two separate databases. While this is how most phones and PIM software work, there are a few devices out there that consider that tasks and events should be stored and moved around together. This is a problem for synchronization as those phones will send all updates for tasks and events together while picoBeat will expect to synchronize them separately against two distinct database.

To get around this problem picoBeat now has a new virtual database available for synchronization called “caltasks”. It will synchronize both tasks and events at once by presenting what looks like a single database to the phones who work that way.

Major update to Notes

December 6, 2009

The Notes module has gotten a serious upgrade and is now a lot more powerful:

  • Notes now have tags (coma delimited list of keywords)
  • A toolbar has been added on top to search by keyword (over title or tags, not inside the text itself yet) or browse if you have hundreds of notes
  • A filtering bar has been added on the left that let filter notes based on their edition time or their tags
  • You can add tags to a note by simply dragging and dropping it on the tag on the left (dropping it on “none” will remove all its tags)
  • You can now publish notes to allow people to access them directly online

Hopefully this will make the module a lot more usable for managing lots of text notes. The filter/tagging interface (on the left) will be ported to other modules soon.

New Twitter support in Contacts manager

November 25, 2009

A Twitter tab will now automatically show up for contacts who have a Twitter user name set. This allows you to browse quickly through the contact’s tweets (retweets are not included) within picoBeat interface.

Contacts manager updated

November 21, 2009

The interface for the contacts manager has been updated. It used to only be simple list with minimal  informations, but now the interface is split in two: the previous list and a new pane that shows the complete informations related to the selected contact. This should be a lot more usable and convenient. This will also make it easier to integrate social networks and messaging in a future update to picoBeat.

As usual, comments and suggestions are welcome!

Why doesn’t SyncML synchronization works?

October 29, 2009

The short answer

This is most often because:

  1. You haven’t supplied the proper database names (spelling mistake or just didn’t change the default ones)
  2. You haven’t supplied the proper user name and passwords (the later is case sensitive)
  3. There is a bug in your device/program or in picoBeat SyncML module. Or possibly both (ugh!).

The long answer

There’s a lot to say about the standards developed by the telecom industry. Somehow, while a cell-phone is just a tiny computer, the telecom guys seem to live on a different planet than the computer guys, and they seem to insist on doing things “their way”.

When it was decided to bring the Internet to cell-phones, HTML would have been an obvious choice. But no, a different standard was built from scratch: WML. WML 1.0 wasn’t really a big success, for many reasons including the fact that Web developers do not like having to learn a whole new markup language, so WML 2.0 tried to correct this by being some limited form of HTML. Similarly, pictures were expected to be stored in a new WBMP format, rather than one of the many existing image format that already exists and are widely supported.

This bring us to SyncML: it’s a synchronization standard by the telecom industry. Two good things about it: it’s built with XML and it’s pretty flexible. Two bad things about it: XML is encoded in a new custom format called WBXML, somewhat negating the advantage of using XML, and it’s way too flexible. This comes from contradicting constrains: making the standard as flexible and open-ended as possible, but making it work on underpowered devices such as entry-level cell phones. As such the standard requires devices to accept informations in many different ways and to be very flexible in exchanging data, which requires complicated programming and a lot of processing power. But at the same time it allows the phone to signal that it has little memory capacity and bandwith. Why would a device capable of processing a complex XML-based protocol be only capable of storing a handful of appointments or processing more than 2,5 Kb at a time is beyond my understanding.

This flexibility is also the reason there’s no standard name for databases (tasks, appointments, contacts, etc.)  in SyncML and why users have to type them in when configuring their cell-phone. This complexity also means a lot of cell-phones have bugs – some of them so bad as to reboot when receiving certain standard-compliant SyncML data. Sadly there are dozens of phone manufacturers and thousands of models out there and it’s impossible to properly test every one of them with picoBeat, so I know for a fact that some phones just won’t work. Things will improve over time and hopefully most devices will work.

Improvements to calendaring

October 12, 2009

First some upgrades has been done to the SyncML interface:

  • It is now possible to synchronize the calendar! This wasn’t difficult to implement but as many phones have very limited capabilities for managing events, it had been put aside for a while.
  • There are aliases for databases (i.e: card can be used instead of contacts), this should reduce the chances of wrongly configuring a device and improve compatibility with Funambol clients who assume different database names by default.

Following this, small improvements have been done on the Web interface. It is now possible to import recurrent events will with older vCalendar 1.0 files (previously only iCalendar 2.0 was supported). A bunch of minor bugs have been corrected as well.

Drag’n drop update

October 5, 2009

A new version is online :

  • Drag’n drop of events on the calendar is much improved (faster, leaner, more flexible and fixes a small bug)
  • It is now possible to drag’n drop tasks from one list to another, by selecting some tasks and dropping the selection on the tab of the target list. Tasks will be moved or copied (for feeds or read-only shared lists)
  • A few small bugs fixed here and there

picoBeat launched!

September 30, 2009

Somebody said that software is never finished, it just stops being developed. There’s still much to do to make picoBeat better and most likely still bugs lurking here and there, but after a year of hard work it has reached a point where it is ready for a public release.

It is sort of a cliché by now, but picoBeat started as an experiment: an attempt to learn C# programming on Windows Mobile devices. The original plan was to build a software for one-click PIM backups to a remote server. Then came the idea of accessing those data directly on the server, and the ExtJS library was used to build a rich web client, which turned out to be a much bigger piece of software and the core of what is picoBeat now. This in turn led to writing a SyncML interface – broadening the synchronization possibilities from just Windows Mobile device to most cell phones on the market.

I am very much looking forward to receiving feedback so all comments are welcome. There’s already a long list of features and enhancements planned (including an email client, SMS integration, a journal) but the most important is that picoBeat can fulfill real-world needs rather than piling on features.

« Newer Posts