Import and Export in KnitMinder 1.5

27 Jan 2010
Posted by paul

paul's picture

I've been at home sick for the past couple of days. It has been icky, but it did give me a chance to work on KnitMinder and finish up the main coding for the next update. I sent off the first build of 1.5 to the beta testers this afternoon, and if all goes well and we don't find any major bugs, I plan on submitting it to Apple in a couple of weeks.

The big new feature in 1.5 is import and export. I get about one email a week from knitters who are using KnitMinder Lite asking about transferring data from the lite to the full version. On the iPhone and iPod touch, apps have very limited means of talking to each other, and none of the methods that are available allow the transfer of large amounts of information like the KnitMinder database and associated photos. Apple set up the iPhone operating system this way to make sure that apps stay in their own little areas (called "sandboxes") and don't mess with other apps without permission. The most common way around the data transfer restriction is to have the source application send its data to a server on the Internet and have the destination application download that data. This is exactly what I have done with import/export in version 1.5.

When you export your KnitMinder data, the application asks for your email address and a password. The email address is used to identify your export on the server, and the password serves to protect the exported data from unauthorized access. Neither your email or password will ever be disclosed -- in fact, the server never sees your unencrypted password. Once a valid email and password have been entered, the application uploads your database and all of your photos to the storage server. I'm using a commercial internet storage service hosted by Amazon.com, so your data are safe and secure, not just hanging out on a computer sitting in someone's closet. Each export is tagged with the current time and date and will remain on the server a minimum of 90 days.

To import the data, you launch KnitMinder on the device where you want your data to be restored and enter the same email and password you used to create the export. KnitMinder downloads the most-recently exported files to your device and adds them to your local database. If you already have data in your KnitMinder database, the exported items will be added alongside the existing data. This could result in copies of yarns, needles, patterns, and projects if you are bringing in an export that was created on the same device. I considered wiping the destination database clean before importing to ensure that you don't get duplicates, but it seemed better to not mess with any existing data and just have you remove any duplicate records that may occur.

You might have noticed that I've deliberately been referring to this feature as export and import instead of backups. The big difference between an export and a true backup is that a backup should be available forever while an export has a limited lifespan. The Amazon storage service charges me monthly based on the number of gigabytes stored and the amount of data transferred. It isn't terribly expensive, but I ran the numbers on keeping backups forever and the costs quickly added up to more than I am making on KnitMinder sales (remember, KnitMinder Lite can also export, and I don't make anything off that program). I'm also pretty sure that my sales are going to take a nosedive once the Ravelry iPhone application is published, so I have to be a bit conservative on what I promise for this feature.

Even with those caveats, I think it's going to be great for people to be able to move their KnitMinder data from lite to full and between devices! This feature is also going to be required for moving data to KnitMinder 2, which is starting to come together (more about that in a future blog post). Let me know what you think of import and export or if you have any questions about the upcoming release!


Visitor's picture

but I like KnitMinder better!

Paul - I realize that there is interest in a Ravelry application, perhaps because people have been using it. But much as I like Ravelry, for keeping notes, I want them up close and personal, and so had never used Ravelry to store needle sizes, stash, etc. Also, I really didn't like their format for that ... I like KnitMinder much, much better! So I plan ito continue using KnitMinder. Besides the Ravelry folks don't seem to really be getting on any iphone application and think that using the site on mobile safari is all that's needed ... Thank you for such an excellent application.



Visitor's picture

Feedbacks

I bought Knit Minder without trying out the Knit Minder Lite. Some issues are bugging me now.

Firstly, the "Purchase Date" field in the Project, Needle and Pattern section.
Once I accidentally touch that field, there is no way for me to leave it blank. At least I can't find a way to do that.
I might have items that were not purchased, but given by others, even so, I might not remember the date that I actually acquired that items. I think there should have a choice for us to leave blank, or make it a text field so we could write whatever we want, for example gifts from grandma etc.

Secondly, the Notes for the pattern. If the notes is very long, I have a hard time to scroll through to read the whole notes at that tiny space. Why not make it a whole page like the Log? Or have an options for people to hide the upper portion in order to show more of the notes?

As for the Import/Export feature, I would actually prefer to have the option to do a real back up to my computer instead of storing at an online server.
If this option is not possible, I would appreciate if I could at least email my Project Logs, as a backup into my mailbox. Even if it is one log at a time also better than nothing.
Apart from that, the data of our yarn stash, pattern and needle also very important but back up of those could wait a while.



paul's picture

feedback

Thanks for the great feedback on KnitMinder! These are all very useful suggestions.


Firstly, the "Purchase Date" field in the Project, Needle and Pattern section.
Once I accidentally touch that field, there is no way for me to leave it blank.

It makes sense that you might want to clear the purchase date, so I've added a bug entry in the Issue Tracker so this will get fixed in a future update of the application.


Secondly, the Notes for the pattern. If the notes is very long, I have a hard time to scroll through to read the whole notes at that tiny space. Why not make it a whole page like the Log? Or have an options for people to hide the upper portion in order to show more of the notes?

In KnitMinder 2.0, the notes sections will expand as needed to display all of your text so you won't have to scroll within the Notes field itself.


As for the Import/Export feature, I would actually prefer to have the option to do a real back up to my computer instead of storing at an online server.

iTunes already backs up your iPhone or iPod touch each time that you sync it with your computer. That backup can be restored to your device (or a new device) using iTunes. You can read more about the built-in backup system on the Apple Support site.

There are a couple of issues with the iTunes backups, however. First, only your most recent sync is stored on your computer, so there is no way to go back in time unless you are regularly backing up your PC. Second, the iTunes backup of your KnitMinder Lite data cannot be transferred to the full version of KnitMinder. The main purpose of import and export is to transfer data between applications.


If this option is not possible, I would appreciate if I could at least email my Project Logs, as a backup into my mailbox. Even if it is one log at a time also better than nothing.

A number of knitters have asked for a similar feature, and I'm planning on including that in a future update of the app. I've added your comments to that issue, which you can view here.

Thanks again!



wendebular's picture

Suggestions for 2.0

First, great app! I installed the lite version first and liked it so much I upgraded almost immediately.

I have a few suggestions, though:

1) I would /love/ if the app would open to the last screen used (usually a counter) so I could use other apps in between (such as a reader for patterns), and switch back to the counter immediately. It would save a couple of clicks and I think it would be really useful.

2) I agree about the pattern notes section being too small and difficult to navigate. For simple things, I would like to paste the pattern in here, and be able to switch between pattern and counter easily. This would mean that the notes section would have to stay on the same view so I wouldn't have to scroll every time.

3) I crochet, so it would be nice to have the letter sizes added as an option for hooks, too.

4) Facility to expand/hide project categories (e.g. only view projects in progress).

5) Filter/groups for projects and patterns (e.g. filter by type, date, etc).

Again, great work! Looking forward to any updates.



paul's picture

Re: Suggestions for 2.0

Thanks for writing! These are all great suggestions.


I would /love/ if the app would open to the last screen used (usually a counter) so I could use other apps in between (such as a reader for patterns), and switch back to the counter immediately. It would save a couple of clicks and I think it would be really useful.

I've always wanted to get this into the application, and with 2.0 I think it will be possible. As part of the overall rewrite of the app, I'm replacing a lot of the code that makes the user interface work with an open source iPhone library called Three20. This library was used to create the Facebook application as well as many other high-quality iPhone apps. One of the many features of this library is the ability to store the last screen used and bring it back when the app is launched again. The issue tracker entry for this feature is here.


I agree about the pattern notes section being too small and difficult to navigate. For simple things, I would like to paste the pattern in here, and be able to switch between pattern and counter easily. This would mean that the notes section would have to stay on the same view so I wouldn't have to scroll every time.

One way I could fix this is to modify the patterns section so the notes open in a separate page. This way, you could switch between the counters and the pattern notes by pressing the buttons at the bottom of the screen and not have to scroll down. The pattern notes screen could remember your scroll position as well.

Issue tracker entry for this feature is here.


I crochet, so it would be nice to have the letter sizes added as an option for hooks, too.

Hook sizes are listed as letters (e.g. "H-8") if you have selected US needle sizes in the Settings application, which is the default. Are you using metric or UK needle sizes?


Facility to expand/hide project categories (e.g. only view projects in progress).

Hm, this is an interesting idea. I'm not sure if it can be done on the iPhone, but I'll look into it. Issue tracker entry for this feature is here.


Filter/groups for projects and patterns (e.g. filter by type, date, etc).

I'm definitely adding more group selections to the patterns screen, which is sort of anemic right now. I received a feature request recently asking if I could add sorting by priority to the project list screen, so I'd have to integrate any additional filters with that feature. Issue tracker entry for this feature is here.