Re-visiting my old favorite cell phone, the Lumia 1520 in late 2024

While I have a mountain of old discarded Windows Phones from work, I’d flashed them all to Windows 10, well except for one that was stuck in a ‘happy face boot loop’. In this business we call this foreshadowing.

That’s when I saw this gem, a Nokia Lumia 1520, 32Gb, and in Red. I offered 17.77, and the seller took me up on it!

17.77!
Windows phone 8.10.14266.359

The phone arrived, running Windows 8.1. Needless to say, the store is all shutdown, so loading apps or doing anything fun is basically out of the question. So, the first thing to do is update it. I can’t download the ‘upgrade advisor’ as the 8.1 store has been shut down. Luckily the hand/dandy OTC Updater (otcupdater.zip) to the rescue!

Updating from 8.1

Just connect the phone with USB, run the CLI tool, and it’ll kick off the update.

Updating

A few minutes later, and the gears of progress grind away through the update

Updated to 10.0.10586.170 version 1511

And in no time, I’m up and running Windows 10, build 1511. I go ahead, connect up to WiFi, and run Windows update, and after downloading, updating and then rebooting…

🙁

Oh no, now my 1520 is now doing the unhappy face boot loop. 🙁 indeed.

Searching around, I see the tool to fix this all is the Windows Device Recovery Tool. Although it didn’t work for me. So, I sat there for 3 days watching my ‘new’ 1520 boot looping over and over and over.

I also need the .FFU recovery file, which is thankfully all backed up on lumiafirmware.com

I’m not sure what was going on, but I got a new USB-A cable, and suddenly, running thor manually ….

thor2.exe -mode uefiflash -ffufile \temp\RM937_02540.00019.15235.40003_RETAIL_prod_signed_942_026BB5_O2O-GB.ffu -do_full_nvi_update -do_factory_reset

As it begins, the phone switched to a nice RED

THOR2 loading
THOR2 1.8.2.18
Built for Windows @ 13:36:46 Jun 16 2015
Thor2 is running on Windows of version 6.2
thor2.exe -mode uefiflash -ffufile \temp\RM937_02540.00019.15235.40003_RETAIL_prod_signed_942_026BB5_O2O-GB.ffu -do_full_nvi_update -do_factory_reset
Process started Thu Nov 28 17:12:29 2024
Logging to file C:\temp\thor2_win_20241128171229_ThreadId-42432.log
Debugging enabled for uefiflash

Initiating FFU flash operation
WinUSB in use.
isDeviceInNcsdMode
isDeviceInNcsdMode is false
Device mode 6 Uefi mode
[THOR2_flash_state] Pre-programming operations
Disable timeouts
Get flashing parameters
Lumia Boot Manager detected
Check status of battery
State of charge 61, charging current -338
Protocol version 2.6 Implementation version 2.35
Detecting UEFI responder
HELLO success
Lumia Boot Manager detected
Check status of battery
State of charge 61, charging current -381
Protocol version 2.6 Implementation version 2.35
Booting to FlashApp
Reboot to FlashApp command sent successfully.
Verifying that device is online
Device is online
Detecting UEFI responder
HELLO success
Lumia Flash detected
Protocol version 2.34 Implementation version 2.59
Disable timeouts
Get flashing parameters
Lumia Flash detected
Protocol version 2.34 Implementation version 2.59
Size of one transfer is 2363392
MMOS RAM support: 1
Size of buffer is 2359296
Number of eMMC sectors: 61071360
Platform ID of device: Nokia.MSM8974.P6081.2.2
Async protocol version: 01
Security info:
Platform secure boot enabled
Secure FFU enabled
JTAG eFuse blown
RDC not found
Authentication not done
UEFI secure boot enabled
SHK enabled
Device supports FFU protocols: 0015
Subblock ID 32
[THOR2_flash_state] Device programming started
Using secure flash method
CoreProgrammer version 2015.06.10.001.
Start programming signed ffu file \temp\RM937_02540.00019.15235.40003_RETAIL_prod_signed_942_026BB5_O2O-GB.ffu
FfuReader version is 2015061501
Send FlashApp write parameter: 0x4d544f00
Perform handshake with UEFI...
Flash app: Protocol Version 2.34 Implementation Version 2.59
Unknown sub block detected. Skip...
DevicePlatformInfo: Nokia.MSM8974.P6081.2.2
Unknown sub block detected. Skip...
Unknown sub block detected. Skip...
Supported protocol versions bitmap is 15
Secure FFU sync version 1 supported.
Secure FFU async version 1 supported.
Secure FFU sync version 2 supported.
Secure FFU async version 2 supported.
CRC header v. 1
CRC align bytes. 4
Get CID of the device...
Get EMMC size of the device...
Emmc size in sectors: 61071360
CID: Samsung, Size 29820 MB
ConnSpeedEcho: Elapsed= 0.234000, EchoSpeed= 28.85, Transferred= 7077918 bytes
Get security Status...
Security Status:
Platform secure boot is enabled.
Secure eFUSE is enabled.
JTAG is disabled.
RDC is missing from the device.
Authentication is not done.
UEFI secure boot is enabled.
Secondary HW key exists.
Get RKH of the device...
RKH of the device is 3774964A7E6AC7EF7D428DDC0C0EAD71640B0D8DD3BFC3829110AF2D8ED68D7C
Get ISSW Version...
ISSW Version: 216
Mon Aug 11 15:15:33 EEST 2014;ISSW v0216; main; OS; DNE; KCI 1244; ASIC 8974;
Get system memory size...
Size of system mem: 2097152 KB
Read antitheft status...
Requested read param 0x41545250 is not supported by this flash app version.
Send backup to RAM req...
Clearing the backup GPT...SKIPPED!
Successfully parsed FFU file. Header size: 0x000e0000, Payload size: 0x0000000066a00000, Chunk size: 0x00020000, Header offset: 0x00000000, Payload offset: 0x00000000000e0000
RKH match between device and FFU file!
Option: Skip CRC32 check in use
Start sending header data...
Start sending payload data V2Sbl in async mode...
Percents: 0
........
Percents: 100
lastDescriptorIndex: 13135 lastLocationIndex: 0
Flashing completed successfully! Status: 0x0001
Safe write descriptor index reached: true
Payload data transfer speed (31.94 MB/s) Elapsed time 51.41 sec
Payload data size 1642.022339 MB
Read flashing status..
[IN] programSecureFfuFile. Closing \temp\RM937_02540.00019.15235.40003_RETAIL_prod_signed_942_026BB5_O2O-GB.ffu
Get EMMC write speed...
EMMC write speed: 44244 KB/s
Get data verify speed...
Data verify speed: 42032 KB/s
Send restore backup from RAM req...
programming operation completed!
[THOR2_flash_state] Post programming operations
[THOR2_flash_state] Executing factory reset
[Factory reset result] 0
Factory reset done
[THOR2_flash_state] Executing Full NVI Update
Write flash options ( WriteNvi: Full )

Write parameter to device via UEFI Flash App
Write parameter Ok
Flash options set successfully.

[Full NVI update result] 0
Operation took about 58.00 seconds. Average transfer speed was 29.69 MB/s.

Exited with success

And then with the phone prepped, it then went green:

Green boot state

Now it’s just a matter of having the phone reboot, reset from using Thor yet again

thor2 -mode rnd –bootnormalmode
THOR2 1.8.2.18
Built for Windows @ 13:36:46 Jun 16 2015
Thor2 is running on Windows of version 6.2
thor2 -mode rnd -bootnormalmode
Process started Thu Nov 28 17:15:54 2024
Logging to file C:\Temp\thor2_win_20241128171554_ThreadId-3412.log
Initiating do RnD operations
WinUSB in use.
Debugging enabled for rnd

Detecting UEFI responder
Send HELLO
HELLO success
Lumia Flash App detected
Disable time-outs
Read FlashApp Build Info
Read parameter from UEFI Flash App
Read parameter Ok
FlashApp Build Info: Date:Dec 23 2014 Time:10:56:58 Info:-
Transfer size: 2363392
Sublock ID 31
Buffer size: 2359296
Number of sectors: 61071360
PlatformInfo is Nokia.MSM8974.P6081.2.2
Async protocol version: 01
Security info sublock detected
Platform secure boot enabled
Secure FFU enabled
JTAG eFuse blown
RnD Certificate not found
Authentication not done
UEFI secure boot enabled
SHK enabled
Device supports FFU protocols: 0015
Sublock ID 32
Read Root Key Hash
Read parameter from UEFI Flash App
Read parameter Ok
Root Key Hash is 3774964A7E6AC7EF7D428DDC0C0EAD71640B0D8DD3BFC3829110AF2D8ED68D7C
Read public ID
Read parameter from UEFI Flash App
Read parameter Ok
Public ID is 2D54A10E278A16A38EE918F17BBB88431406FBF5
Protocol version 2.34 Implementation version 2.59
Resetting the device

THOR2_ERROR_CONNECTION_OPEN_FAILED

THOR2 1.8.2.18 exited with error code 84001 (0x14821)

And now I was back in business!

Back from the dead

And we’re so back!

This time I re-ran the OTC Updater to bring me back to Windows 10 10.0.10586.170 version 1511. This time I just decided to keep re-running the OTC Updater.

Windows 10 10.0.14393.1066 Version 1607

I was then able to update to 10.0.14393.1066 Build 1607. Nice!

Windows 10 10.0.14393.2551 Version 1607

And one more update, and now I’m running Windows 10 10.0.14393.2551 Version 1607, aka the last version that OTC can pull.

Well that was fun!

Next up, I signed in, and I was able to retrieve my One Drive. I forgot how nice it was to be able to play music directly from OneDrive, without having to download it to flash. And wow is the UI so snappy. Kind of crazy how old and 32bit bound the old Windows Phones are. Shame Microsoft didn’t believe.

I thought Outlook would surely work, but alas, no dice. It’ll load but not sync. MSN weather, stocks, travel are all dead. Just is the map software (Even on 8.1).

MUST GO FASTER!

Of the purchased apps, Minecraft just sits at the loading screen. Sonic CD, and Final Fantasy load up and run. As does the most coveted game of 2017, Candy Crush Saga still runs as well.

So yeah, it’s nice the paid stuff still works, but with no email it’s now just barely above feature phone level of usefulness.

I guess it’s time to finally just let go.

End of the line

Time to say Goodbye.

So I was missing Windows 10 Phone, so I fired up the emulator

First you can download it here:

https://www.microsoft.com/en-us/download/details.aspx?id=53424

In my “C:\Program Files (x86)\Windows Kits\10\Emulation\Mobile\10.0.14393.0” directory I have a modest 2GB file called flash.vhd which contains the phone image. I copy it to where I run my VM’s and run it with the XDE emulator:

"C:\Program Files (x86)\Microsoft XDE.0.14393.0\"xde /memsize 3072 /vhd FLASH.vhd

And I’m running in no time, I login, load some apps, then I notice the storage:

What is this, a phone for ants?

What?! the disk image is a paultry 10GB. I guess the idea is that you wouldn’t actually try to load up the emulator like it’s your daily driver, rather you load YOUR app and only YOUR app, and just pretend that this isn’t some weird offshoot nostalgia machine.

Well needless to say something needs to be done about this storage situation.

I look and find this package, vhdutils. I had to go to some sketchy site, but it did include source. I should put this somewhere more legit to take away from all those weird squatters.

Update from the future I put VHD-Utilities over on GitHub, along with downloadable EXE’s. I can’t get the original site to load in wayback to give credit to whomever wrote it.

30/09/2021 09:09 pm 6,995,017,728 FLASH.vhd

So with stuff installed onto my phone I’m almost at 7GB physical 7.6 virtual space. I could go all crazy with 128 or 256GB but it’d largely be stuff I bought… which of course thanks to the magical world of DRM won’t play.

Yeah I guess you are welcome that I bought all those movies, and stuff but sure I wasn’t going to watch them on this phone… emulator. Thanks. thanks again.

So the resize vhd is quick. brutal. and efficient. I go with 64GB, because, why not? I could probably just grow it again if I needed to.

resizevhd.exe v:\Windows10-Phone\FLASH.vhd 68719476736

Now for the fun part. We need to attach the vhd, and resize the volume. I hope you like diskpart.

In the MMC I attach the disk image.. it’ll pop a few folders as it’s got a bunch of drive letters. I’ve never explored a phone, I don’t know if the ARM images are just as weird.

Even more strange, it’s MBR!

So if you were thinking, lots of partitions, and a clear win for GPT, sadly this isn’t it.

Sadly there is no free partitions (although one hiding could be deleted…?) And the UI doesn’t support expanding a logical drive (the green container). But diskpart does.

As indicated above the emulator’s vhd is disk3. You can see it’s the 64GB disk. Select it.

Next list the volumes. The Data disk (J:) is what we want so select Volume 10.

Literally just ‘select volume 10’ and ‘extend’. Don’t tell me this is difficult.

Listing the volumes again will show a 59GB Data partition. Congratulations we did it!

Back in the MMC, you’ll see it as well how the Data partition, along with the green extended partition is now taking up the entire disk. So we can now Detach the VHD, and run the emulator again!

Nice!

And just like that we now have plenty of free space on the emulator.

I downloaded some games, and some music. It’s nice to be back home.

It’s not an extensive list as I didn’t game much on my phone but here is what I know works:

  • Final Fantasy 1
  • Heroes of Larkwood
  • Skulls of the Shogun
  • Sonic CD
  • FL Studio
  • Candy Crush Saga
  • Pixel Dungeon +

Halo Spartan Asslt just closes, and Asphalt 8: Airborne doesn’t get the screen size right so it’s impossible to click enough buttons.

Sonic CD on Windows Phone 10

It’s nice that sonic runs, (haha) although using a mouse makes it impossible to control.

Now one fun thing is that the emulator is x86, nor ARM based so I converted the VHD to a VMDK, ran it under VMware, and YES it RUNS… sort of.

Perhaps a format that never was to be, the Phone/Tablet but it boots quickly and is so responsive. Windows without most of the .. Windows bits. I guess the real experiment will have to be will it run on a Surface?

It’s all 32bit anyways, and such an evolutionary dead end. Pitty.

So I picked up this Nokia 1020, and decided to downgrade it to Windows 8.0

When I’d bought this 1020 in question, I picked it up from an AT&T customer with the intention of basically using it as a camera.  Well it was kind of okay but it had been upgraded to Windows 10, which technically is unsupported on the 1020 hardware.  And no wonder as the 1020 specific camera applications aren’t available, nor is performance all that great on Windows 10.  I’m guessing there is a laundry list of reasons of why Windows 10 was not available for the 1020.

So I saw this website, lumiafirmware.com that not only has an incredible amount of firmware saved, but it sure makes the process of loading different firmware pretty simple.

  • Install “Windows Device Recovery Tool” http://go.microsoft.com/fwlink/?LinkID=525569
  • Download the firmware form this site only the ffu.
  • And now open CMD as administrator
  • Type “cd C:\Program Files (x86)\Microsoft Care Suite\Windows Device Recovery Tool” / (32 bit pc) “cd C:\Program Files\Microsoft Care Suite\Windows Device Recovery Tool”
  • Connect now your phone to your pc
  • Type in cmd “thor2 -mode uefiflash -ffufile “C:\the location of the ffu\file name.ffu” -do_full_nvi_update -do_factory_reset”
  • Wait now until your phone gives a green screen
  • Type now in cmd “thor2 -mode rnd -bootnormalmode”

Really doesn’t that sound not that difficult at all?!

Except it wasn’t.

Looking at the incredibly extensive list, I see that the AT&T 1020 phone in yellow colour is the RM877.  So I download the appropriate ffu image and run:

thor2 -mode uefiflash -ffufile RM877_3051.50009.1451.1_RETAIL_nam_att_205_01_473928_prd_signed.ffu -do_full_nvi_update -do_factory_reset

A bunch of verbose output happens and then:

Start sending payload data V2Sbl in async mode...
Percents: 0
Device responded a message that has invalid size!
Expected: 16, Received: 0
Exception during programming: 262150
Safe write descriptor index reached: false
Payload data transfer speed (0.22 MB/s) Elapsed time 40.83 sec
Payload data size 9.000123 MB
[IN] programSecureFfuFile. Closing RM877_3051.50009.1451.1_RETAIL_nam_att_205_01_473928_prd_signed.ffu
programming operation failed!
Operation took about 1 minute, 6 seconds. Average transfer speed was 0.11 MB/s.

Unknown error code.

THOR2 1.8.2.18 exited with error code 262150 (0x40006)

Unknown error code!  What the hell does that mean?

Glancing over at the phone I’ll show you what it means.

Nokia Red screen, waiting to be programmed

So the phone was stuck at the red screen waiting to be programmed, but obviously that failed.  Re-running the programmer just gave me this:

Detecting UEFI responder
Send HELLO
Send HELLO
Send HELLO
Send HELLO
Send HELLO
Lumia UEFI Application did not respond to version info query
Device is not in Lumia UEFI mode
Reading device mode failed
Failed to detect UEFI responder. 84017

THOR2_ERROR_TO_COMMUNICATE_WITH_DEVICE

THOR2 1.8.2.18 exited with error code 84102 (0x14886)

So I thought I’d hold down the volume down button & power and do a reset.  Except now my device was nearly bricked.  The display wouldn’t turn on at all, and there was no haptic feedback on powering up and or down.

HOWEVER plugging in the USB would make the connection noise, and how me a “QHSUSB_DLOAD” device.  So I could try to talk to it in emergency mode.

Apparently on the same download page, there is a hex file and a mbn file.  Downloading those and running:

thor2 -mode emergency -hexfile FAST8960_EOS_NAM.hex -mbnfile RM877_msimage_v1.0.mbn -orig_gpt

And this looked like it was going to work… but then as always it failed.

Sending OPEN_MULTI_REQ
Received valid response to OPEN_MULTI_REQ
Programming image R
Image opened successfully for reading
SAFE hex file was used and unallowed memory address was being written.
Reset the device and use the correct HEX file.
ALPHA EMERGENCY FLASH END
Emergency messaging closed successfully
Operation took about 11.00 seconds.

Unknown error code.

THOR2 1.8.2.18 exited with error code 85034 (0x14C2A)

Use the correct HEX file? But it was the one that I downloaded from the right page!  Great now my phone is dead.  Unplugging it in and out however gives me a little hope as it’s still showing up as a QHSUB_DLOAD device.

After a lot of searching I see Joemar Serrato went down the same road, and they did something weird where they split out the mbnfile from the ffu file themselves.  So I ran the following command to split out the mbn files:

thor2 -mode ffureader -ffufile RM877_3045.0000.1325.0001_RETAIL_nam_att_205_01_223461_prd_signed.ffu -dump_gpt -filedir gpt

And now I had 2 files.

10/04/2018  06:53 PM            17,408 GPT0.bin
10/04/2018  06:53 PM            17,408 GPT1.bin

Now with all that drama I could re-run the emergency mode flash

thor2 -mode emergency -hexfile FAST8960_EOS_NAM.hex -mbnfile gpt\GPT0.bin -orig_gpt

Sending OPEN_MULTI_REQ
Received valid response to OPEN_MULTI_REQ
Programming image g
Image opened successfully for reading
Uploading MBN image 70
SAFE hex file was used and unallowed memory address was being written.
Reset the device and use the correct HEX file.
ALPHA EMERGENCY FLASH END
Emergency messaging closed successfully
Operation took about 11.00 seconds.

Unknown error code.

THOR2 1.8.2.15 exited with error code 85034 (0x14C2A)

And it appeared nothing changed at all. Great.  In disgust I unplug the phone and hold down the volume down & power button for 15 seconds, but this time it vibrated.  I couldn’t believe it!  Within a few seconds it powered back up to the red screen, ready to load new firmware!

thor2 -mode uefiflash -ffufile RM877_3045.0000.1325.0001_RETAIL_nam_att_205_01_223461_prd_signed.ffu -do_full_nvi_update -do_factory_reset

Size of system mem: 2097152 KB
Send backup to RAM req...
Clearing the backup GPT...SKIPPED!
Successfully parsed FFU file. Header size: 0x000c0000, Payload size: 0x00000000572e0000, Chunk size: 0x00020000, Header offset: 0x00000000, Payload offset: 0x00000000000c0000
RKH match between device and FFU file!
Option: Skip CRC32 check in use
Start sending header data…
Start sending payload data V2Sbl in async mode...
Percents: 0
Percents: 1
Percents: 2
Percents: 3
Percents: 4
Percents: 5

I was astonished!  The progress bar was slowly moving, and the phone was doing what it should have been doing about 2 hours ago.  I dared not move, so unfortunately I don’t have any pictures.

Payload data transfer speed (9.79 MB/s) Elapsed time 142.41 sec
Payload data size 1394.893921 MB
Read flashing status..
[IN] programSecureFfuFile. Closing RM877_3045.0000.1325.0001_RETAIL_nam_att_205_01_223461_prd_signed.ffu
Get EMMC write speed...
Get EMMC write speed, SKIPPED!
Get data verify speed...
Get data verify speed, SKIPPED!
Send restore backup from RAM req...
programming operation completed!
[THOR2_flash_state] Post programming operations
[THOR2_flash_state] Executing factory reset
[Factory reset result] 0
Factory reset done
[THOR2_flash_state] Executing Full NVI Update
Write flash options ( WriteNvi: Full )

Write parameter to device via UEFI Flash App
Write parameter Ok
Flash options set successfully.

[Full NVI update result] 0
Operation took about 2 minutes, 24 seconds. Average transfer speed was 10.16 MB/s.

Exited with success

And then just like that, the phone rebooted itself, and then brought itself up to the ‘green screen’

Nokia green screen (firmware loaded successfully)

All that remained to do was to tell the phone to boot up normally

thor2 -mode rnd -bootnormalmode

Version 8.0.10327.77

And that was it!

My 1020 is now running 8.0, which includes not only the special Nokia phone apps, but all the AT&T bloatware of 2012.  I can’t believe there was a yellow pages app.  How are they still a thing?

Wileyfox Windows phone back in production!

And people think Amiga & OS/2 fans are a little crazy!

Wileyfox was the last vendor selling Windows phones and it seems that they there was so much demand that the phone is back into production.

The WileyFox Windows phone

Specs include:

• 5″ HD Curved Screen, IPS Technology, Gorilla Glass 3
• 4G LTE
• Windows 10 Operating System
• Fingerprint Reader
• 8 Megapixel Rear Camera + Dual LED Flash + Auto Focus
• 2 Megapixel Rear Camera
• Qualcomm Snapdragon Quad Core Processor
• 16GB ROM (Storage)
• 2GB RAM
• 32GB Expandable Memory Card Slot
• 3D G Sensor
• Proximity Sensor
• Ambient Light Sensor

Also the price has dropped from £ 199 to £ 79!

Currently it seems that orders are only for the United Kingdom.

A week with the Microsoft Lumia 950

Lumia 950

I’m a sucker for old / obsolete junk.  I was looking through an electronic market and was near some used cellphone vendors and I saw this little gem, the Microsoft (Nokia) Lumia 950.  I used to have a Windows 8 phone back in 2013, I picked it up in China on my accidental trip, the Huawei Ascend W1, which Huawei quickly dropped and distanced itself from Microsoft as a sign of the impending failure of Windows Phone.  It was a barely serviceable phone, the music subscription service would frequently corrupt downloaded audio tracks constantly requiring me to reset the phone, and re-download over and over.  Other than being part of the launch of the NT kernel on a phone it really wasn’t that great of an experience, but it was a budget phone, so my expectations were pretty low.

So I found this 950 for $400 Hong Kong, or about $50 USD.  So yeah I thought it’d be a fun toy to play with, even though Microsoft had finally conceded defeat in the mobile space and pulled further development of Windows 10 based Windows Phone platform.  Again, this isn’t too surprising, Android simply dominates the world outside of the USA/Western Europe, while Apple IOS is still a profitable and comfortable #2 worldwide.  There simply is no room for a #3 mobile platform.

So why would I even care about this obsolete phone? Simple it’s the greatest feature never really touted or pushed, It’s simply called Continuum.  Simply put, docking the phone into a USB + Power + HDMI dock allows the phone to transform into a (limited) desktop.

Lumia 950 with Continuum

I know for most people it’d be “just get a real computer” but I have to say that this is one of those opportunities blown things in the fun world of corporate IT.  You see many of us ‘desktop’ users have been reduced to glorified mainframe users, where our desktops are actually just access ports into products like VMWare VDI, where we no longer have VPN access in this brave new world, and on our local machines all we have if Microsoft Office, all 3rd party installations are blocked by GPOs.  And this is where a corporate phone like the HP x3, Microsoft 950/950xl simply shines, as now we can dock and have that VDI terminal, we still can run office from the phone, and better we can unplug and take the phone with us on the go.  I have no doubt that this was instead targeted to executive users, numbering in the tens instead of the entire back office in the tens of thousands.

Well ok that’s all cool, but how does it function as a phone?  I’ve taken call on it, and yeah it was OK.  Looking at the hardware specs from AnTuTu gives you some idea of the class of hardware for this vintage October 2015 handset.

Lumia 950 Specs

And how does it hold up?  Well as luck has it I managed to scrounge up some other models, and put the numbers together:

From left to right, the Samsung Galaxy S8+, The Microsoft Lumia 950, The Nokia Lumia 1520, and a Microsoft Lumia 535.

Three years is a LONG time in the cellphone market, and comparing a high-end model to a mid-range at best is just not fair, although if anything it really goes to show how 3D performance has picked up.   One fun thing is that since the AnTuTu benchmark is a Windows Universal application I can run it on my vintage 2010 MacPro and see how it compares!

And in this case a circa 2010 Xeon with a Nvidia 1030 crushes cellphones.  Even though it weighs significantly more.

And then there is the apps.  And the complete lack of.  Since I go between Hong Kong & China the lack of WeChat makes Windows Phone 100% useless and reduces me to a feature phone with a nice camera.  Obviously Microsoft Office works nice on here, but it also runs on Android & IOS just as well.  I used it for work, and it was okay for me, but the lack of anything fun besides Minecraft was well.. sad.

There was an Uber application, however it’s been terminated, and instead redirects you to use a web page instead.  I was lucky in that I already knew where I was, and where I wanted to go, but the web interface to Uber is poor at best.  Looking around the map, or trying to pick locations on the web interface is just an all-around terrible experience.

Naturally there are NO Google applications for the Windows Phone.  So, you can only view YouTube via Edge, which actually works surprisingly well.  Even on a lowly 535 that really was only hampered by the tiny screen.  Speaking of Google the Mail/Outlook program on the phone reads Gmail just fine.

Another must have application for me is Google translate, which Microsoft certainly had no answer back in 2013, however there is now Microsoft Translator however it does NOT currently support OCR of Asian languages.  Which is a really big disappointment as the quality of text translations felt better with the Microsoft app.  That said, it is now available for Android and IOS, which goes to show that Microsoft really has no choice but to fully commit to abandoning their own platform.

There is one thing to be said about having next to no applications which is it is very free of distractions and gave me more moments to looking around at the world, instead of staring into a tiny screen.  For those who care, here are some pictures from the 950.

It’s always interesting when a major player falters and misses out on a new platform setting themselves up for obsolescence.  And doubling down by not chasing the business market harder instead being happy to fade into irrelevance.  Microsoft has done it’s best to take the success of crushing most midrange to small range UNIX with Windows NT, but the lawsuits against Linux have in the long term set them up to fail on their own island.  Just as they have lost the mindset of generations of developers and even with their purchase of GitHub in an attempt to stay relevant will be any indication if they really are going to long term exit the desktop/server market and become a cloud services company first, and a language developer second.

The desktop is dead, long live mobile.