Cook'n Sync - Coming Soon
The Cook'n Cloud service makes it easier than ever to synchronize recipes between all of your Cook'n apps. For example, if you enter new recipes into Cook'n on your PC, they will automatically appear on your iPhone, iPad, Android, Mac, and other PC's. Or, use Siri to speak new recipes into your Cook'n for iPhone app and they will automatically appear in your Cook'n desktop software!
When the mobile apps are released, simply create a new Cook'n Cloud account by entering your e-mail address and password into the Settings window of any Cook'n app. Then, log into that same Cook'n Cloud account on your other Cook'n apps and the apps will automatically synchronize your recipe data. Please scroll down for the latest update.
The Cook'n Mobile apps are finished. However, development of the Cook'n Cloud service was delayed. We finished the Cook'n Cloud and we are now integrating Cloud service calls into the existing Cook'n apps. Login to an existing Cloud Account from the Cook'n for Android app is complete. The next step is to downsync that account's recipe data and populate the local database on the device. This will probably take 3 weeks to complete. While the Android developers are doing that, iOS developers will begin adding code to the iPhone and iPad apps that will allow users to log in to an existing Cloud Account.
We are successfully down syncing 3 of the 7 recipe objects to the Android device. We are working on down syncing three more objects this week.
I haven't posted an update recently because there hasn't been too much to report. While adding the sync service to the Android app, we've encountered a few bugs in the Cook'n Cloud service. The Android programmers have been making progress and are about half-way through a full down-sync. The Cook'n Cloud service programmers have been doing some bug fixing. I hope to have a more exciting update for you soon. Stay tuned!
I have some great news: Cook'n for Android is syncing! We're not finished adding all of the Cook'n Cloud service calls to the app but it is at a point that we could release it. You can log in to an existing Cook'n Cloud account and do a full down-sync thereby putting all of your recipes at your fingertips. Yeah! However, if you edit an existing recipe or enter a new recipe into your mobile device, the changes will not sync back to your Cook'n Desktop app (this is called incremental sync). I was thinking of releasing the app now and simply posting an update in a couple weeks when incremental sync is finished. However, I am concerned that some users will download the app and then write bad reviews when they discover that incremental sync is not finished. :( So, I think I will wait just a little longer to release it until we are completely finished.
The other great news is that our team of iOS programmers started adding Cook'n Cloud service calls to the Cook'n for iPhone and Cook'n for iPad apps today. Just like with the Android, they are starting by adding account login and full down-sync features to the apps.
I have more great news. Account login, full downsync, and incremental sync on the Cook'n for Android app is complete. The Android programmers are now working on account creation and full upsync. Account login, and full downsync on Cook'n for iPhone is complete. The iPhone programmers are working on incremental sync. We hope to post an update this week to the Cook'n Desktop app with the Cook'n Cloud service. It's going to get real exciting real soon so stay tuned!!
We had to deal with some unexpected issues this week related to Media. Now that we can do a full downsync to the Cook'n for Android app, we discovered that the Media tables (the tables where the food photos and videos are stored) were too large for some devices; downsyncing a large recipe database with lots of food photos was blowing out the memory on the Android device. So, we had to re-engineer this. Rather than downloading all of the images to the device and storing them in memory, we decided to leave them in the Cloud and pull them down on an as-needed-basis. This solved the problem and it all turned out WAY cool. However, re-designing the Cloud service and the Cook'n for Android app to work this way took extra time. We are hoping to give a version of the Cook'n Desktop app with the Sync service to our beta testers next week.
The media issue referred to in my last post continued to give us grief. Certain limitations on the mobile device required more effort to resolve this issue. We finally wrapped it up last week. The other unexpected problem we ran into is that features that worked before stopped working because the iOS operating system has changed so much since we finished developing the apps 18 months ago. We have spent a considerable amount of time resolving issues unrelated to sync. I spent a week in Chicago and then Virginia and now I am traveling out of the country. I have been on the road for 3 solid weeks now and plan to return next week. I will have a better update for you then.
Internal sync testing on the Desktop app is in full swing. We've resolved some minor issues and are having some hiccups with super large databases. However, things are progressing well. We are really hopeful to release a version to some beta testers later this week. Mobile app testing is going well too. Surprisingly, progress on the iPhone has passed that of the Android. However, both are functioning well and nearly complete. I return from Italy tomorrow and will be in the office on Wednesday. At that point, I will know more.
We discovered the cause of the problem I referred to in my last post with super large databases. The app was running out of memory while processing the media tables in the database. Unfortunately, the solution requires a database format change which is not a simple fix. This is going to take longer to implement. Ugh... The good news is that the change is going to dramatically improve the app performance. After we make this change, Cook'n will launch and shutdown about 10 times faster than before. Search and other functions will go much faster as well. The mobile apps are looking really good. We're putting the finishing touches on them and only have a few minor tweaks left.
The database change that we made not only solved the sync problem but it dramatically improved the performance of the app! With the largest database that we have, Cook'n now launches in 7 seconds and exits in 2! We just can't believe this amazing turn of events. In an effort to wrap things up, the team worked on Saturday and, last I heard, everything was working perfectly. The Cook'n Cloud service and the Cook'n mobile apps are humming. I will follow up with the team and confirm it today. We need to version the Cloud service to enable us to update it without breaking it in the future but that's a fairly simple task. We'll test it more this week and run it through the mill. Hopefully, we won't encounter any more problems or delays. The light at the end of the tunnel is getting brighter!
During our user tests we discovered that we needed to make some changes. Users were taking paths that programmers didn't anticipate (or test!). Also, users were confused by some of the dialogs and the technical terms used in those dialogs. Other loose ends seem never-ending...such as, what happens if the user forgets their password or wants to change their password or changes their e-mail address? We had to add services for that. What if the full initial upsync or downsync gets interrupted in the middle and doesn't finish? What happens if the user deletes the unit cups or their personal cookbook and wants to restore a backup? We must wipe the data in the Cloud and all other connected devices, restore the backup file, and then do another full initial upsync. I mean...this is good news because these are the tasks you take when you wrap up a project and we must take all of these scenarios into consideration and address them; it's just that we've all run out of patience! We're working 10 to 12 hour days and we're all getting a bit exhausted. And, I know you are anxious too. I hope to have something more exciting to report to you next week.
A few weeks ago, Rhodes Bread, one of our partners, promoted Cook'n in an FSI (Free Standing Insert) that went out to 30 million homes. The promotion was such a success that it crashed our website! The traffic completely shut-down our servers. We decided to switch to a different hosting service provider who has the bandwidth and the server capacity to support this kind of volume. And, we figured that there is no better time than the present. Making this change later, after we go live with the Cloud service is going to be much more difficult and disruptive to our users. So, although we are very anxious to release the Cloud service and the Cook'n Mobile Apps, we decided to make this foundational change to support our customers. It took us about a week to make the switch. Instead of one server for DVO.com traffic, the new service provider set us up with three servers. One of them is a load balancing server that will distribute requests to the other two. We added probes that will notify us when bandwidth demands begin to reach capacity. When that happens, we can spin up a new server in about 10 minutes. We can keep adding servers to support the traffic and completely avoid any possibility of down time. Making the switch was a hassle but it was necessary. And, now that it is done, we are very happy. The new service is performing wonderfully! Transfer rates are spectacular! Cloud programmers had to modify the code to work with the new servers. And, they continued to resolve a few remaining incremental sync issues. Mobile app developers continued putting the finishing touches on the Android and iPhone apps. We're getting super close now. I can almost taste it!