As you may be aware, Windows Phone did not offer a way to take your messages out of the “Microsoft Cloud”, or out of the phone, in order to store a backup of them or to import them to some other phone. This was true, until a couple of days ago.

What has changed is that Microsoft is now offering an application which lets you backup (and also restore) Windows Phone text messages. It was in fact released in April 2015, but it only worked on SD-card equipped devices, so as a then Nokia Lumia 930 user, it was useless for me (i.e. the 930 lacks an SD slot).

A couple of days ago, the app was updated, allowing the user to export messages to internal storage too (why this hasn’t been an option in the first place, or why did it take Microsoft almost 2 months to code such a basic feature is a good question, for some other time). So, there was finally a way to backup my messages after all. The only issue for me: I didn’t own a Windows Phone anymore.

And I was left with two options I could think of: Option #1 – Ask a friend having a Windows Phone (which I have to mention I have to search for a lot, actually) to wipe his phone, let me enter my Microsoft account in the phone and sync it with the cloud so it can fetch my messages, and then backup the texts and restore the phone to factory settings again. It’s pretty obvious that even if I found the friend holding a Windows Phone device, convincing him to wipe the phone just for such a thing was a tough challenge. So this option was out. This, because Microsoft doesn’t allow you to switch Microsoft accounts without wiping the phone. Just don’t ask why.

Option #2 – Go to a carrier store or GSM service and ask them for help. The GSM service variant, I tried it, but they pretended money, just to like rent me a second-hand phone they were selling. I was to do the process anyway, so I gave up on the alternative. I was aware that I am way smarter than the guys at the carrier stores, so I left house prepared to thoroughly explain them the process. What I wanted was their permission to use one of the demo devices they display in the stores to do the process. Nothing more, and they had to do nothing. I went to my carrier’s flagship store in my city, Vodafone. After a brief chat with the guy there, he declined to help me telling that the Nokia/Microsoft devices in the shop (sorry other Windows Phone vendors, but this is the plain truth – other than Nokia/Microsoft, Windows Phone is represented by no one) are running a custom demo software of Windows Phone. And I was like what? Why lie? I specifically asked him that, and he just expressed apologies, but didn’t want to cooperate. I then went to a second shop, Vodafone too, hoping for a more open-minded attitude: no, and the guy there told me it was my responsibility to backup, that I should have done this before selling my Lumia 930, and that he won’t help. The fact that the app was not available didn’t seem a logic argument for him. He offered instead to show me Windows Phone devices I can purchase, so a blank phone to help me do it (although he repeatedly told me that he has some programming skills and is a WP user, and he is not aware that such a thing is possible). So, all in all, I was declined help again. My bad luck was the fact that I talked with two guys which were actually too frustrated they’re not managers of the stores, but simple attendees. And again I confirmed myself why everyone thinks of Vodafone the way they think about it: using bad remarks. Their service is shit, and on any occasion, they try to rip you off. Every time they had an occasion to talk with you, they try to switch you from pre-paid to a service plan. Because they attract you with low prices on pre-paid, yet they want more from you, so a service plan is the solution. And this is disturbing for me, but how is it for some old relatives I have who simply don’t understand the difference, are not accustomed to those things, and they actually nearly tricked them into signing disadvantageous agreements. And it is not a single experience, many ex-Vodafone employees confessed they were told to behave this way by their managers. It may be other carriers too, I don’t have the experience, but I think others are the same too. And they’re generally careless with you, even if you want to pay for a service. I told the second guy to suggest his boss such a service, and he refused telling me that in his opinion, it wasn’t physically possible and it wouldn’t be profitable. Like I cared about his opinion. If the manager told me so, I may have believed him, as he is prepared to… ahem… manage, but a shop employee to tell me his business opinion. Why wasn’t he the manager then? I know, bad luck, he’ll tell me. I may be rude, but that’s the naked truth, and I have to spell it. Vodafone has no ethics, and because it is such a big player in the industry, they don’t care about customers, as if like they lose one, what do they actually lose. Carriers have like the biggest customer numbers in any country, except… the Government maybe… What keeps me on Vodafone though? Just contingency, the fact that I know there’s a great chance of identical behavior elsewhere and their good pre-paid plans. I pay 7 Euros/month and have unlimited calls and texts in my home network, and 2000 Internet MBs/National minutes/National SMSes (they’re counted together), plus some minutes abroad (Europe calls, US, and Canada I believe). Their latest service plan offer wanted me to pay 2 Euros more and offered me unlimited calls and texts in the home network, 150 national minutes, some national SMSes and 1 GB of Internet. And no new crappy phone anyway. And I simply asked them: “What is the offer actually?”, and declined… what a joke…

So, after two rejects, I knew that the old impolite way of doing things is going to help me out, so I entered the nearest carrier shop, an Orange store, and I simply went to a Microsoft Lumia 640 and started doing my job behaving like no one’s around. And of course, as expected, I was unnoticed, the employees were too busy sorting other people’s issues. No asking, no time lost, just behaved like that was my phone. And I have succeeded. They did not even mind the fact I spent 40 minutes in their shop purchasing nothing after all, which I am sure their capitalist chief is not happy about. The only downside was that I had to use my data plan, to hotspot a network for the Lumia. Now, I will tell you the exact process, and then move on with the story. Before attempting, you should note that you have to have synced messages with the Microsoft account in order for this process to work on a new phone, although it will work on your current devices no matter you sync or not.

If your phone is not empty (i.e. not factory reset), skip this steps until step 7. Otherwise, read on:

\1. When on the Start screen, swipe down from the top of the screen and in the Action Centre, choose All Settings.

\2. Find “e-mail+accounts” in the list, and tap it.

\3. Tap “add an account”, and then choose Microsoft account. Enter your Windows Live ID and password, and then, if necessary, confirm your identity using the Authenticator app, or a text or e-mail message, whichever way you prefer. This is important in order for the phone to be able to sync data with the cloud.

\4. Now, if not syncing, long press the “Microsoft account” in the list and choose “sync”.

\5. Open the Messaging app, swipe the ellipsis menu up and choose “settings”. Then choose “any time” in the “Download messages from” field. This is needed to ensure that all messages are downloaded from the cloud.

\6. Wait until the process finishes. I don’t know how to tell you if it is finished up. It is good to know what your last message was, so wait for that to appear in the Messaging app. That would mean it is finished.

\7. After finishing, open the Store app, and install the “contacts+message backup” app published by Microsoft Corporation. You can search for it, it usually comes as the top result, or you can directly download it from this link: https://www.windowsphone.com/en-us/store/app/contacts-message-backup/07f078fb-cdbb-42e8-9027-25eddccbebf2

\8. Now, after the app is installed, open it by going to Settings. You will find its entry in the Settings app at the very bottom of the screen.

\9. After the agreement, the app may tell you if it does not detect an SD card and prompt you to choose a folder to save the backup to. I choose “Documents”, the utility will create its own diretcory there.

\10. Click “backup”, and choose the items to backup. I checked SMS, I don’t use MMS and I haven’t yet into a way of importing these to Android, but I will research further. Contacts are not necessary for me, they can be easily exported from people.live.com web app, and then imported into Google Contacts.

\11. Wait for the backup to finish. It is actually pretty fast, and it fortunately exports sent items too, alongside received texts. Then, using a file manager, like the Files app (available at https://www.windowsphone.com/en-us/store/app/files/762e837f-461d-4847-8399-3526f54fc25e), upload the files to OneDrive to have them backed up online (yet in a location you can access – this is how I got the files out of the demo phone I used at Orange), or simply connect you phone to the PC and copy the files on your disk. Only the “msg” file is needed for Android export, but if you plan on getting your messages back to Windows Phone later, you’ll also need the other file.

I don’t know why in the world the file has a “msg” extension when it is not actually a Microsoft Office Outlook file, like the extension would suggest. It is actually a plain, good ol’ XML file. Rename it to .xml and open it in the browser and take a look at it.

Now, let’s move on with the story: I exited the shop, not before hitting “reset phone” in Settings-About, so that strangers did not have access to my account. I went home, got the files and started investigating not… I mean, I was too tired after such a day I had (have I told you that that day morning I had the Mathematics Baccalaureate exam…?). So when I am tired and not in the mood of getting frustrated digging the Internet, I code the the apps I need to bridge the process for me. In this case, I knew of very good Android app (SMS Backup&Restore – https://play.google.com/store/apps/details?id=com.riteshsahu.SMSBackupRestore&hl=en) I have previously used to import/export messages to/from Android (before the 930, I had a Nexus 5), so I simply installed that on my new Xperia Z3 and quickly made a backup of my 60 texts or so I had. Took the file to the computer, and started investigating it. And surprisingly, it was an XML too, and a pretty simple format.

So, I decided to make a bridging app, which would take a Windows Phone text messages backup file as input and output an Android SMS Backup&Restore compatible file. It took me an hour to do this. The tricky part were the timestamps: Windows Phone had a timestamp counting microseconds starting from the 1st of January 1601 0:00:00 (some “Big Bang” date of the NTFS file system I believe), while the Android app uses the well-known epoch (Unix) timestamp counting milliseconds from the 1st of January 1970 0:00:00. Other than that, basic XML work. I used C#. As closed and I believe bad experience Microsoft offers on the phone, as open and good the experience on the PC is. I love this programming language, it is the quick tool which allows me to quickly create tools. Now, the tutorial.

  1. Open the “bridge” app on you Windows PC.

  2. The interface is pretty simple. In the Windows Phone messages backup field, browse for the WP backup. In the Android messages output field, browse for a location and file name to save the generated file to.

  3. When ready, click the Convert button. The process is quick.

  4. Take the file from your PC to your phone, and choose Restore in the SMS Backup&Restore app. Click the big grey Restore button. Browse to the file and then press OK to confirm the process.

  5. Now, the time it takes depends on the number of texts you have. For me, it took a lot of time. It finished just as I started writing this sentence, and I began when I started writing this piece. More than 30 minutes for 2200 messages or so. A lot of time, but the messages were restored correctly and all of them were actually restored, which is more important than speed I believe. I needed an app which I can depend on, not a more efficient algorithm, but which was poorly tested. Although I would like to see the developer improve on it, without breaking the current format. Anyway, it is a versatile utility, and the bonus is that it is ad-free and free.

And that’s all. Today, 4 years after WP was introduced, it finally has a basic app which lets you backup/restore sensitive data (contacts and texts). The reason Microsoft doesn’t offer such a utility for the desktop is still unclear, considering the scenario I faced, plus the fact that the data is stored in your OneDrive storage somewhere anyway…

What I appreciate in Microsoft’s implementation is this messaging syncing – I never had to bother about backing them up, the call list, contacts and SMSes were back on the phone if I had to reset it, instantaneously. Yet, they were locked in the Microsoft cloud. I really appreciate it, and with the new contacts+message backup app, one can finally use a different Microsoft account if needed, and have their messages come with him/her on the new ID. You will see I haven’t mentioned Google in this piece. That’s because their support for such a feature is absent. On Android, you have to regularly back up using some app, or have some app do it automatically for you. And when the app is not official, weird formats may be used, which may render the portability of the generated file useless. Anyway, Google is saved by the community and its openness regarding Android APIs. On Windows Phone, a developer doesn’t have access to the Messaging APIs, so he can’t replace the default Messaging app or handle text messages in any way. It was up to Microsoft to provide a backup/restore app, which took them 4 years to release and some additional 2 months to properly fix it. Anyway, it is good that we have it after all…

I may also try to look into options regarding the reverse process, but what bothers me is the other file generated by the WP backup app. It looks like a signature file. It may be verified against the backup file, and only after the check is complete, the backup would actually restore, even it may be valid. I don’t know this for sure, I just presume. And it is a bit hard to actually test it out, as now I don’t have access to a Windows Phone, so the only option is to again investigate in a cell store. Because the Windows Phone VMs provided with visual Studio don’t let you install third party apps, so I cannot use that for testing, too. Maybe I’ll do it if there’s enough demand.

Anyway, that’s how I did it. I have opened a thread on my favourite tweaking-hackingforum, MDL, which you can check out here: http://forums.mydigitallife.info/threads/62065-Export-Windows-Phone-messages-to-Android. Also, download the app I coded here, should it be of any use for you: https://googledrive.com/host/0BzZ1AE59CpFgVVhLZ2RCeWZ2VE0/SMS.zip.

And, as always, thanks for reading, and don’t forget to tell me what you think about it in the comments section bellow.