Yes, kind of lame title but anyway…. Last week I bought an unlocked Samsung Focus from Expansys Canada. It has been a long time since I have ordered something from Expansys. They are maybe one of the last independent vendors of gadgets. Back in the days we used them a lot to buy PDAs when they were not available yet in France. I always received a nice and professional service from them.
Since it will not arrive before the end of the week or early next week I have been reading the official webpage, the XDA Forum and the manual. I’m getting familiar with Zune, the equivalent of iTunes to synchronize my music, the podcasts and the applications to the device. I must say that the slick UI of Zune is a charm compared to the heavy, clunky Windows version of iTunes.
I can’t wait to be able to test my application on the device. I didn’t add any new feature but I changed the local database from Perst to Sqlite. The former is not free and even if it’s robust enough I was not confortable with the API. There’s a full-managed C# version of sqlite, csharp-sqlite maybe not as robust as the original but still enough to get the job done. Until today there’re no abstraction available to execute queries against the lightweight RDBMS so I wrote a small one (and added support for types like the bytes array, DateTime and Enum in the basic mapping class). The sqlite-net project was created to provide this kind of abstraction to MonoTouch but it appears that a *very new* version supports Windows Phone 7.
“Why do we need a local database ?” I was asked today. It’s true that the isolated local storage system is well suited for basic needs like the serialization of preferences etc. But since the application is executed on a platform with unreliable access to the network and since using this connection is expensive in terms of latency and performance it’s better to have a cache as large as possible. It’s less about to get a true relational database than to be able to query a large set of objects.
Writing this post means that I haven’t hit the F5 key on the delivery tracking page in the last 30 minutes 🙂