If disaster strikes

In case you are affected by bugs that may have caused loss of data, there are a couple of ways in which you can get it back.

I thought Id take a moment and describe all the ways that I know of. In case anybody should need them. There are two ways to get your data back, either you can extract data from an iTunes backup or you can extract it directly from your iDevice.

Extract data from iTunes backups

There are several tools available for extracting data from iTunes backups.
Basically what these tools do is show you a list of all your iTunes backups. When you select one of them you get access to your iDevices file structure as it was when you made the backup. It is important to know that if you have selected to encrypt your backups, the information you extract is encrypted aswell. Even if it is possible to decrypt it, it is tedious and time consuming.
Lets say you want to retrieve your MyWallet+ database from an iTunes backup, these are the steps necessary:

Mac

  1. Download the iPhone Backup Extractor from http://supercrazyawesome.com/
  2. Install and start the iPhone Backup Extractor
  3. Click “Read backups”
  4. Select one of your backups, preferrably the latest one, and press “Choose”
  5. Look for “com.block21.minautgifter”, select it and click “Extract”
  6. Navigate to the desktop and click “Extract here”
  7. Now you should have a folder called “com.block21.minautgifter” on your desktop. In this folder you should be able to find files that end with “.sqlite” or “.mw”. These are databases that contain your data.

PC

  1. Download the iPhone backup extractor from http://www.iphonebackupextractor.com/
  2. Install and start the software
  3. In the dropdown below “Select backup”, select the latest one
  4. Click “Expert mode”
  5. You are presented with a directory structure snapshot of your iDevice from the moment when you created the backup
  6. Look for “Applications”, open it and then look for “com.block21.minautgifter”, open it aswell
  7. Look for the “Expenses.sqlite” file, usually placed inside the “Library” folder, and check it
  8. Now, the “Extract selected” button will get enabled – click it.
  9. Choose the target directory, for example the desktop, click Ok
  10. Now you should have a folder called “application” on your desktop. Inside it you will find “com.block21.minautgifter” and in it “Library”. In this folder you should be able to find “Expenses.sqlite”. This is the database file that contains your data.

In order to restore one of these backups, read the steps described in the “Restore” paragraph below.

Extract data from your iDevice

There are tools for accessing the filesystem on your iDevice. iExplorer is easy to use and available for both platforms.

iExplorer (Mac and PC)

  1. iExplorer is available for both Mac and PC, get it from: http://www.macroplant.com/iexplorer/
  2. Connect your iDevice to your computer
  3. Install and start the software
  4. Make sure your device is selected in the top left corner
  5. Open the “apps” folder and look for “com.block21.minautgifter”
  6. Open it and look for the “Library” folder
  7. If there is a file called “Expenses.sqlite”, it is your current database. In case you have had issues with your database, there might be a file called “Expenses~.sqlite” too.
  8. Extract files by dragging them to your desktop

In order to restore a database file, read the steps described in the “Restore” paragraph below.

Restore

There are multiple ways to restore a backup file. Through Dropbox or through iExplorer.

Dropbox

  1. First of all, you need to create an account at http://www.dropbox.com
  2. Log in to your dropbox.com account and create a folder called “MyWallet”
  3. If your database is called “Expenses.sqlite”, rename it to “Expenses.mw”
  4. Upload it to your “MyWallet” folder in your dropbox account
  5. Start MyWallet on your iDevice
  6. Go to “Settings” and select “Backup”
  7. Press “Connect to Dropbox”
  8. Log in to your account
  9. If you were logged in, you are presented with the option to “Restore backup from Dropbox”, press it
  10. This should display a list of backups, press the one you uploaded
  11. Thats it!

iExplorer

  1. iExplorer is available for both Mac and PC, get it from: http://www.macroplant.com/iexplorer/
  2. Connect your iDevice to your computer
  3. Install and start the software
  4. Make sure your device is selected in the top left corner
  5. Open the “apps” folder and look for “com.block21.minautgifter”
  6. Open it and look for the “Library” folder
  7. If there is a file called “Expenses.sqlite”, it is your current database
  8. If you want to restore another database, you must replace the existing “Expenses.sqlite”
  9. Thats it, start your app and your good to go

Care to help?

Hi everyone!
The submit date for 1.093 (accounts) is closing in and our translators aren’t fast enough.

Do you want to help us?
These are the strings we need translated:

  • “Account”
  • “Accounts”
  • “Account name”
  • “Initial balance”
  • “Edit account”
  • “Create account”
  • “Current balance”
  • “Select account”
  • “Select accounts”
  • “Balance on %DATE%”
  • “Transfers”
  • “Transfer”
  • “From account”
  • “To account”
  • “You must have atleast one account.”
  • “Delete account”
  • “All transactions will be deleted if you choose to delete the account.”
  • “Add new account”

The languages we need these string in are:
German, Spanish, French, Dutch, Russian, Portugese, Italian, Japanese, Korean, Chinese, Danish, Norwegian, Finnish, Hungarian

E-mail the translated strings to support@block21.com

Full time work

As of january 2012 we are working full time on MyWallet+.

The accounts feature has been finished for about a month now.

But, we have had our share of issues with the latest versions so we’ve invested alot of time in profiling and debugging the app in general. Although the majority of our users never even come across bugs, we want to make sure the app is as rock solid and stable as possible.

Anyhow. Full time work means that from now on, you can expect even more frequent updates from us!

Thank you for your patience and for your support.

iCloud support

Its been a while since Apple introduced the iCloud API.
I’ve been testing and experimenting with it since the first beta release and I must say that Im not convinced that iCloud is ready for prime time. Atleast not for Core Data based applications.

I’ve implemented iCloud support for MyWallet+. But I think its too easy to create situations where data that is shared between several units will get corrupted. The most hazardous situations I’ve come across are the following:

  1. Core Data: Related data
    Referential integrity must be handled manually. This is sort of a drag. A tedious drag if you consider that all relationships in your database must have their own, specific, referential integrity code that validates and redeems synchronization requests between units.
  2. Migration from non-iCloud to iCloud DB
    I’ve not yet found an quick and safe way to migrate an existing Core Data database to iCloud. The only really safe way to do this is by performing an export to an intermediary format and then importing it, record by record. If you’ve got a decent sized database, it will be time consuming. Uncool.

This does not mean that we wont add iCloud support to My Wallet+.
It only means we’re going to make really sure that it works flawlessly before releasing it.
Simple as that. Anything else would be irresponsible.

Update 20 December 2011
There actually is a preferred way of accomplishing issue #2 (above). I’ve just completed the implementation of the migration function. This means that all your existing MyWallet+ databases will be automatically moved into iCloud, and it wont take forever (2-10 seconds).

Search & tags preview

These last months have been crazy. I cannot express how I feel when I look at the reviews and the salesfigures of the app. It has totally blown my mind that my app is topping the charts all over Europe. It is completely amazing!

From the bottom of my heart: Thank you! Gracias! Danke! Tack! 谢谢

The last couple of months I’ve been focusing heavily on the new design.
Its always good to take breaks from intensive work, just to clear your mind and get a fresh perspective on things. So to get my mind off the design update I thought I’d do some feature updates that you have requested.

First off, the search function.
Currently being developed, heres a shot of how it looks in the simulator:

MyWallet+ Search

The search bar will not be visible by default, you’ll have to drag it down and tap it before it does any good. Nothing fancy visually. Just really good implementation with threading etc. The other new feature is my new favourite function, tags! I’ve used every excuse I have to start the app, just to look at these. Have a look at them:

MyWallet+ tags

Isn’t that cool?? The design was heavily inspired by a button I saw on 365psd.com. But I’ve taken it a couple of steps further 😉

Well thats about it for now.
Im going to polish these alot before releasing them.
…But you can expect an update within the coming weeks 🙂

Sneak peek

1 comments

I’ve been working on the 1.1 release for a while and the pieces are starting to fall into place.

Thought I’d give you a hint of whats coming.
(Screenshot is in Retina resolution)

Im trying to achieve a futuristic metal & glass retro-digital look throughout the app.
I think that goes well with my grand plans for the app. 🙂

Beta or Big bang?

4 comments

This is the first post in the developer blog.

I thought I’d share my experience and endeavours developing the new MyWallet+.

Usually when you redesign an app from scratch, you want to make sure everything is finished before you release it. But Im thinking of going in the opposite direction and splittingthe project up into well defined parts. As soon as one part is ready and stabilized I would release it to the users and go on to the next part.

Currently  I’m working on the Overview of the next version.

I have understood that a lot of users would like to have some kind of chart that visually shows how much money they have left to spend. Im looking at two solutions for this:

  1. Adding a segmented barchart into the upper part of the overview
  2. Adding a paged control to the overview and letting the users swipe to see different charts.

What do you think? Im all ears on Twitter (@mywalletapp or @emmanuelay).

-->