Two items remain before I can consider Viand ready for field-testing.
- Persistent storage of the Buy/Add list on the device
- Cloud storage for a shared Buy/Add list
For the first item I’m going to use SQLite. The question here is do I store the list as a JSON object or do I parse the JSON object in individual table rows (the assumption here is that when I’m sharing a list I’m going to be sending and receiving it to and from the cloud in JSON format).
Right now I’m thinking of using Microsoft’s Azure for my cloud services since their Mobile Services are free for up to ten services/month. There’s also a free Azure Mobile Services component for Xamarin.
Cloud storage is a bit more tricky since I’ve never done it before. I’ll have to come up with a workflow that allows the creation of the device database and it’s initial population as well as when to update the local list to the cloud.
I also need to figure out the mechanism of how two or more users share a list (I’m thinking each list will be stored in the cloud as a BLOB with a primary key). Also, if two users are using the same account, how do I handle updates between two clients?
I’ll probably have to come up with some sort of locking mechanism where the first user there gets a lock on the table row and the second user has to wait until the first user is finished updating to begin their updates.
Here’s a bit more detail.