Tuesday, 15 September 2015

UCCW text mapping and image mapping

In my recent testing of a Galaxy S6 I have been attempting to get a Windows Phone launcher working on Android.  There is an excellent launcher called "WP Launcher" which provides a very solid launcher with a good representation of the Metro UI aesthetic.  That seems to me to be the best available.  However, there are some key widgets that WP Launcher does not provide so it is necessary to use other widgets.  Happily, although WP Launcher is very focussed on replicating the Windows Phone experience, it seems to be a true Android launcher in that it will can use widgets generally even if they were not made for it.

As best I can tell, the best program for creating individual customised widgets is UCCW.  This app permits delving right into the nitty gritty of the properties of a widget.  There are some pretty good tutorials on UCCW dotted around the web but a lot of the knowledge seems to be recorded in videos for which I have little patience.

Two related features of UCCW which seem incredibly powerful are barely mentioned in any documentation.  In fact, they are each very easy to use but there are a few gotchas which if you are not ready for them can waste a lot of time.  So, I set out below a short guide to using each.  I am sorry I do not have time at the moment to do it properly, with screen shots and such like.  This guide was based on version 4.0.5, which could be important because the developer seems pretty active and can change the interface between versions.

Text mapping

This guide starts with UCCW installed but not running.  If you read this when you already have a skin created then skip to step 4.  (By the way, purely as an attempt to clarify language but not as a tip or instruction, if you are a complete newbie, maybe you do not appreciate that "skin" kind of means "widget" here since once you design a skin and apply it to the UCCW widget, you effectively have a brand new re-usable widget.  Ah, the joys of abstraction.  Well to make it clear, I am going to call them "skidgets", no relation)

Step 1 - start UCCW

You should have UCCW already installed.  Hopefully, you know your way around your existing launcher and can find it; I am afraid a guide to all possible launchers is beyond this little post.  If you are using WP Launcher, press on your home button then swipe right to get to your list of installed apps.  UCCW should be under "U".  Tap on it.

After UCCW starts, you should be looking at a screen that says "UCCW" nearly at the top left next to a set of menu stripes with search and share buttons on the top right.  On the line below should be three tabs reading "ALL", "LOCAL" and "APK".

At the bottom right of the screen there should be a coloured (green on my phone) circle with a plus symbol.

Step 2 - Create a new blank skidget

Tap on the plus symbol.  A set of three additional buttons should pop up reading "Skins from google play", "Import Uzip skin" and "Create New Skin".  Tap on the button next to the "Create New Skin" label.

You should now go to a screen headed "Templates".  On my phone there are six templates.  Only one of them is completely blank.  Tap on that one.

Step 3 - Name the new blank skidget and insert basic details

You should now go to a screen headed "New" with three text fields to complete: "Name", "Width" and "Height".  Press in each and a keyboard will pop up for you to complete.  You can put what you like.  Maybe since this is a training exercise you could go with "GStexttutorial" for the name.  If, like me,  you are aiming to use the resulting skidget in a Metro theme then the right figures for width and height are 360 and 180 for a two by one rectangular Metro tile.

Once you have your detail input, tap on the button "Create New Skin".

Step 4 - Add the text mapping object

You should now be at a screen with the title being the name you gave the skidget ("GStexttutorial" if you followed my suggestion) on the top left and a save button and further options button on the right with a rectangular white drawing area below.  Below the drawing area is a list of property categories, each of which when tapped will take you to another screen.  The second item on the list is "Objects" with the helpful caption below "Edit objects and their properties".  Tap on that.

That will take you to a screen headed "Objects", which will have the same drawing area in white below the heading and now the green plus button is back at the bottom right.  If you are an adherent of the Visual Basic school of thought the drawing area is kind of like the user form.  Click on green plus button.

A scrollable selection list will now pop up, listing all of the available object types.  If you are an adherent of the Visual Basic school of thought these objects are like controls.  They are organised into groups, the first group is headed "Text" and the three items below are "Text", "Text series" and "Text multiline".  Tap on "Text" the item, not the heading.

The selection list will disappear to be replaced by a mini properties dialog with two properties.  The first property, which is a text field, is headed "Label".  This is not the label that will appear in the finished skidget when inserted on your home screen. It is just a convenient handle to distinguish the control from any other controls you might add.  Type in a sensible label, say, "MyTestText".  The second property is headed "Source".  Tapping on this causes a drop down scrollable list to appear.  The items on this list are sources of data from your phone.  The vast bulk of them are system supplied variables like date, time etc.  Because it is the dead easiest to use, I am going to choose "Day of the week"  but you can choose another.  I strongly suggest that for your first time you choose "Day of the week" because it only has seven values so it is easy to populate all the necessary references as we will see below.

Once the two properties are filled in, tap "OK".

Step 5 - Configure the actual text mapping

You should now be back at the "Objects" screen mentioned in the second paragraph above under Step 4.  Now, however, you will see your current day of the week in your drawing area.  Below the drawing area you should see a single item in what has now become your objects list.  If you followed my suggestion, that item will read "MyTestText (Text)".

Tap on the actual text of "MyTestText (Text)" (or whatever label you chose plus "(Text)").  (Note that if you tap on the three dots to the right, you will be given options to delete and copy, which are beyond this little post.)

You will now go to a screen headed with the label.  Below that will be the now familiar drawing area and below that is scrollable a list of properties, the first being the label.  The list is likely more than a screen full so you can scroll up and down to see what is there.  You  will see "Source" which should have next to it "Day of the Week". 

The next property down is the important one: "Text mapping".  Tap on it.

This takes you to a new largely blank screen with at the top left: a back arrow, a tick and a "Done" button; and on the top right, a save button, a folder button and the three dots button for further options.  At the bottom right of the screen is the trusty green plus sign button.  Tap on that.

This brings up a dialog box with two text fields.  They are shadow-captioned "Key" and "Value".  This is where the first "gotcha" appears.  It is quite opaque what each means.  However, "Key" means the actual text delivered to UCCW by the external ((to UCCW) data source.  So, using "Day of the week" as the source, the actual data delivered to UCCW are "Monday", "Tuesday", "Wednesday" etc.  "Value" means the string that you wish to display instead of the data delivered to UCCW.  (I know, you are not that excited by the possibility of substituting for the days of the week but this is just a tutorial). 

To get a quick feel for how this works, type into the "Key" field the day of the week that you are actually doing this.  You need to get the case right so it must be "Tuesday" (say) in long form.  Then type in some clearly recognisable text that is not the day into the "Values" field.  Say, use "Dog Day" in honour of the Al Pacino movie.  Click OK.

The dialog box will disappear and there will now be a single entry in the list which says "Tuesday - Dog Day".  You can add some more mappings in the same vein now if you like e.g. the key of "Wednesday" with the value of "Hump Day".  You can do all of your mappings for the whole week now if you like but it is time consuming and you can come back and do it later once you can see how it works.

Step 6 - save the mapping

Tap on the save button (should be a floppy disk icon) at the top right.  A somewhat odd folder and file dialog takes over the screen.  For now, I suggest that you use the folder that UCCW has already allocated for this skidget.  You may have your own ideas about storing such resources in and around your phone but this worked well enough for me.

By default, UCCW seems to start in /storage/emulated/0 but I have to say, that could be some quirk arising out of my particular phone or version of Android or who knows what.  There should be a subfolder of that path that you can scroll down to called "ultimateCustomClockWidget".  If you tap on that folder, you should see a subfolder with the same name as you gave your skidget, my suggestion being ""TestTextMap".  Tap on that.  That will take you to a folder and file list which is probably empty except for the folder icon and two dots representing the next level of folders above.  At the bottom of the screen will now be a grey band with a tick on the left and the label "Create File Here".  This was the second gotcha for me.  I kept tapping on the words "Create File Here" but they did nothing.  It seems that you have to tap on the tick. 

That will pop up a dialog for you to type in the file name for the text mapping.  In theory you might have more than one text mapped control on your skidget so give it a logical name say "TestTextMap1".  Then click "Create".  You will now be back at the list of mappings.

Click "Done".

This should now take you back to the screen headed with the label you gave the object.  The drawing area should now show (say) "Dog Day" instead of "Tuesday".

If that has worked, you have pretty much mastered text mapping.  If it has not worked, it may because you  mapped "Dog Day" to "Tuesday" but you are actually on Wednesday (gosh look at the time).

Step 7 - save all and use

Keep pressing the save button followed by your phone's back key until you have reached the screen headed "UCCW".  Your new skidget will not necessarily already show in the list of "ALL" skidgets.  You may need to exit out of UCCW and start it again for the new skidget to appear.  You exit UCCW by pressing your phone's back key twice.

Image mapping

The developer of UCCW says this in his release notes:

Text mapping – Now custom text is replaced by text mapping. Its a very simple idea. For e.g. if the current value of sms source is ‘0’, it can be mapped to ‘no messages’.
Image mapping – same as text mapping but with images.

Ha ha!  On that description you might think that you could just follow the seven steps I have set out above but that maybe, say in Step 5 when you are inputting "Key" and "Value" instead of putting in the value you want to display you put in the path to an image. Maybe you would expect there to be a little file browser to choose the image.  Nope.

The technique is both simpler and more complicated at the same time.  I will start by explaining the concept before moving on to the instructions.

The concept is that for image mapping, UCCW looks in a specific folder for an image file whose name exactly matches the external data for the source specified.  So, for "Tuesday", UCCW will retrieve and display in your skidget the file "Tuesday.png".  So long as the image files are already there, all you have specify in the UCCW design screen is the folder on your phone where all of the necessary images files for the image mapping are stored. 

As to the technique, the naming of the files and the storing of the files in the folder you have to look after yourself.  In theory, you might be able to use the tools in UCCW that assist you in inserting just a static image to navigate around your phone and corral them all into one place.  I have not tried that because in practice it is just easier to use a file browser like ES File Browser.  The files need to be named exactly to coincide with the data supplied by the source external to UCCW.  So, suppose you wanted to map a different movie poster to each day, like the poster for "Dog Day Afternoon" for Tuesday.  You would store the image file for that movie poster in a folder (say the same one you used for the text mapping configuration file mentioned above).  You then rename the image file to "Tuesday.png".  (I have only used .png files but it maybe UCCW can use jpeg and bmp etc.).

Now, as promised, here are the step by steps for image mapping.  I use "A", "B" etc just to distinguish from the steps for text mapping.

Step A - Prepare your image files

How you prepare or source your image files is up to you.  I used Windows Paint and then copied the files to my phone using a USB stick.  I have only used relatively small (say 500 x 250 pixels approx.) png files.

I am going to stick with mapping to days of the week because it is simples.  If you want to cover the entire week, you will need a different file for each day but for the purpose of testing out this process you only need one file named after the day you are actually working.

You can put the files wherever you like but I suggest that you copy the files to the same directory as UCCW is using for the skidget (see Step 6 above).

Step B - Get a skidget to work with

I will assume that you are using the skidget from the section above on text mapping but if not, follow Steps 1 to 3 above to get to a blank skidget.

Step C - Add the image mapping object

You should now be at a screen with the title being the name you gave the skidget ("GStexttutorial" if you followed my suggestion) on the top left and a save button and further options button on the right with a rectangular white drawing area below.  Below the drawing area is a list of property categories, each of which when tapped will take you to another screen.  The second item on the list is "Objects" with the helpful caption below "Edit objects and their properties".  Tap on that.

That will take you to a screen headed "Objects", which will have the same drawing area in white below the heading and now the green plus button is back at the bottom right.  If you are an adherent of the Visual Basic school of thought the drawing area is kind of like the user form.  If you already followed all of the instructions under "Text mapping" above you will see your text object first in the list but note that you do not have to have the text map object.  There is no necessary connection between a text map object and an image map object.

Click on the green plus button. 

A scrollable selection list will now pop up, listing all of the available object types.  They are organised into groups, the last group (scroll down to it) is headed "Image" and the two items below are "Image" and "Image Map".  Tap on the "Image Map" item.

The selection list will disappear to be replaced by a dialog with one property "Label".  This is not the label that will appear in the finished skidget when inserted on your home screen. It is just a convenient handle to distinguish the control from any other controls you might add.  Type in a sensible label, say, "MyTestImageMap".

Tap "OK".

Step D - Configure the actual image mapping

You should now be back at the "Objects" screen mentioned in the second paragraph above under Step C.  Now, however, you will probably see  a large two digit number in your drawing area.  Below the drawing area you should now see an item your objects list which is the image map object.  If you are continuing from the text mapping example it will be the second item in the list.

Tap on the actual text of "MyTestImageMap (Image map)".

You will now go to a screen headed with the label.  Below that will be the now familiar drawing area and below that is scrollable a list of properties, the first being the label.  The list is likely more than a screen full so you can scroll up and down to see what is there.  You  will see "Source" which probably reads "Hour 01-12".

Tap on "Source".  A scrollable list pops up.  Choose "Day of the Week".  (Or not,  If you are feeling brave choose one of the other options but note that you must ensure that the files you had prepared in Step A must match the exact data produced by the source you choose.  So, if you decide to stick with "Hour 01-12", you will need to name your files "01.png", "02.png" etc.)

Tap on "Folder" (which should be two above "Source").  You will get a choice between "Default" and "Custom".  Tap "Custom" and navigate to where you stored your images in Step A.  Tap on the tick (not the words "Select this Folder").

You will probably need to adjust the scale to be able to see the image sufficiently clearly to check that it has picked up the right image.

If that has worked, you have pretty much mastered image mapping.  If it has not worked, it may because you mapped your image  to "Tuesday" but you are actually on Wednesday.  It may be you did not quite get the name right on your file or did not quite input the folder correctly.

Step E - save all and use

Follow Step 7 under text mapping to get out of UCCW.

Good luck!

Monday, 14 September 2015

Galaxy S6 try outs

I have acquired a Galaxy S6 128GB to test it out.  I am still using my ATIV SE as my regular phone while I check out whether the switch to the Galaxy S6 is feasible.  The Galaxy S6 is physically a very well made phone.  So far, there does not seem to be any major physical respect in which the ATIV SE is markedly superior.  Let's deal with the big ones. 

The ATIV SE has a removable battery.  So far, the Galaxy S6 seems to go a couple of days on one charge but that will have to go down a lot when it is actually being used.  Assuming though that the battery is about as good as the ATIV SE's this is unlikely to be a problem given that the ATIV SE easily lasts me more than a day. 

Next is the microsd card.  I have a 64GB card in the ATIV SE which is not full.  I occasionally remove it so that I can offload photos from my Sony RX100 II's 8GB microsd card when I get caught short on the road.  Here is the thing though: if I swap over to the Galaxy S6 full time, that will free up the 64GB card to go into the RX100, meaning longer gaps between getting caught short, and hopefully with a bit of discipline, if I offload at home the mobile transfer will not be necessary.  But wait, there is a bonus.  The Galaxy S6 has USB hosting, so even without the microsd card, it is still possible to offload photos from the camera. 

That leads neatly into one big feature that the Galaxy S6 has all over the ATIV SE (and indeed every Windows Phone presently on the market).  The micro USB slot on the bottom of the Galaxy S6 is not limited to mass storage.  It can also handle my Fiio D5 USB decoder.  That means S/PDIF output.  But wait, there's even more.  The micro USB slot can also support a hub, so I can connect the Fiio at the same time as external storage.  I have not yet tested that with a hard drive but it has worked with a USB drive.  This capability to play from external storage and output a digital signal was one of the things I loved most about the Nokia N8 but that classic phone only allowed one USB device at a time so I had to connect a hard drive to the USB port and an HDMI to S/PDIF converter to the HDMI port (still, the N8 at least had the ports to achieve this).  (While I am reminiscing about past loved hardware, the Renault Laguna that had a S/PDIF input to the audio head unit had to go,  The audio head unit still worked fine but the, shall we say, motive power head unit was, ahem, "le tired".)

The Galaxy S6 does not have any video out which is a shame but not something I used that much and the ATIV SE does not have it anyway.

In conclusion on the hardware I would say the Galaxy S6 is pretty close to the best phone I have ever worked with.

On the software side, I still do not like Android much.  Windows Phone is superior even without the same collection of apps.  Also, I hate the fact that Samsung have left out important standard Google flavour Android features.  For example, for no reason I can fathom, there is no "priority mode" on the Galaxy S6.  Maybe there's a Nexus version on the way.

Testing continues here at the lab but it is looking good for a handover.

Thursday, 20 August 2015

Windows 8.1 system tray network icon yellow triangle

I have been going nuts with a yellow triangle over the network connection icon in the system tray of my Windows 8.1 Asus T100chi.  The reason this was so frustrating was that my network connections all seemed OK with one exception. So, browsing using IE worked, the Windows Store worked, Outlook email worked.  Office 365 Personal worked except that it always had hiccups if the document I worked on was on OneDrive. 

I use my T100chi at the office and at home.  At the office, it is connected to my firm's Ethernet using an Asus Varidrive.  The Asus Varidrive is a slim silver box roughly the size of a DVD case that has a DVD burner, HDMI and VGA ports, three USB 3.0 ports and an Ethernet port.  It connects to the T100chi via the USB 3.0 socket on the top of the left hand side of the T100chi.  Although it appears physically as one box, in terms of the devices seen by the Windows OS it is actually a USB hub with multiple devices hanging off of it, those devices being a Displaylink USB to video card, an ASIX USB to Ethernet card and (I think) a Genesys mass storage controller (do not quote me).  I spent a lot of time exploring the possibility that it was a problem with the Varidrive.  I tried using the micro HDMI port on the T100chi for the video to see if freeing up USB bandwidth would help the Ethernet.  It did not.

I tried the usual solutions suggested on the web: flush the DNS cache; boot in safe mode with networking; disable the other network card (Broadcom WiFi).  None of those made any difference.

Finally, I have worked out the problem.  My firm has a proxy server.  At home, I do not have a proxy server.  Also, my firm has a set of standard mapped network drives.  At home, I have a different set of mapped network drives.  I have two sets of three batch files that I ran just after booting up at home or at the office.  The batch files set (1) the proxy settings for IE (on at work, off at home) (2) the proxy settings for winhttp (on at work; off at home) (3) the mapped network drives.  (Yes, I could merge these into one batch file for each of home and work but as it now turns out it is good to have them separate when it becomes necessary to troubleshoot).

I have been using these six batch files for well over a year.  Before my T100chi, I had its predecessor, the T100TA.  They all worked flawlessly.

When I changed over to the T100chi I copied them over to the T100chi and just kept on using them and assumed they were working fine (d'oh).  It looked like they were working fine because, for example, I could browse Windows Store.  So, when I looked at the troubleshooting for Office 365 at this link https://support.microsoft.com/en-us/kb/2745026 initially I just skipped over Step 1.  Wrong!  It turns out that I need to run my batch file for the winhttp step as administrator.  I cannot recall that I ever used to do that.  I have a feeling that there is some queer quirk in the way that I had the T100TA set up versus the T100chi but I cannot put my finger on it (see further below).  Anyway, the bottom line of this rambling is that after I had  run the following command as administrator the yellow triangle went away:

%comspec% /c netsh winhttp set proxy %proxyserverandport% >> %logfile%

The %proxyserverandport% variable is set up earlier in the batch file but it is basically along the lines of 192.168.1.123:8080.  You can delete the section from >> on if you do not want to log the output but if you do want to log, you need to set the logfile variable or hard code in the file path for the log.

Once that was run, all my OneDrive and Office 365 issues appear to have sorted themselves too.

As a kind of postscript, you might be interested in the different set ups of the T100TA vs T100chi that could have contributed.  When I set up the T100TA initially, I did so using my Microsoft live account.  Later, one of my firm IT guys joined the T100TA to the firm domain.  I then used solely the Windows 8.1 built-in setting sync functions to get my domain user account looking the same (e.g. log on pictures, desktop wallpaper).  With my T100chi, I set it up much the same way except that after the IT guy had added my PC to the domain, I used User Profile Wizard 3.9 from ForensIT (which I wholeheartedly recommend) to transfer my profile.

Sunday, 21 June 2015

Removing Word jump links in Windows 8.1

I had a problem recently where I could not remove a document from the list of documents pinned to the Word app icon on my taskbar in Windows 8.1.  I hunted around the web and found various solutions which were either inaccurate or went too far.  This is my solution based on my own experimentation but as usual, YMMV.  (Note that it is preferable to try using the right-click and "unpin from this list" option before doing this but that did not work for me). 

First, navigate to %Appdata%\Microsoft\Windows\Recent\AutomaticDestinations.  One point some solutions do not make clear is that you pretty much have to paste that text into your File Explorer address bar or into the run dialog box (Win key + R).  I could not navigate using point and click on the directory tree because the "Automatic Destinations" folder did not show up, even though I have File Explorer set to show system and hidden folders. 

Secondly, find the file that holds the information for the app that you wish to clean up.  Some solutions just say to delete all files in the AutomaticDestinations folder.  That will work but it will get rid of your pinned items for all programs, which is excessive if you are only having a problem with one program, say Word, like me.  For 32-bit Word 2010, the file is called a7bd71699cd38d1c.automaticDestinations-ms.  Note that the file is different for each app and indeed it seems, each version of each app. You can find a handy list of the IDs from which the file name can be constructed here

Thirdly, delete that file or perhaps more cautiously, move it to another location.  This should leave you with a Word icon on the taskbar with no recent files and no pinned items.  If you realise moving it was a mistake, I expect you can copy the file back, but I have not tested that.

One of the solutions I found suggested that it was possible to edit the automaticDestinations-ms files to fix errors but I could not work out how to do that.  While you can read the files in a text editor, they have a swag of unreadable characters so I would not be confident about that.

Persisting with Windows Phone

As threatened, I sold off my Lumia 1020 64GB.  I went with my iPhone 4S for a while but Windows Phone called me back.  Based on careful scrutiny of gsmarena, I came to the conclusion that the best equipped device was the Samsung ATIV SE.  Why?  It has the equal highest pixel density for any Windows Phone (same as Lumia 930 and HTC M8); it is the only WP phone with such a high pixel density that also has a card slot; the camera is fast; it is lighter than the competition; it has a removable battery.  In practice, it has some real problems in Australia.  The 4G is the wrong band to work here.  Because it is Verizon exclusive, the MMS does not work.  The IR blaster which is virtually unique only works with Samsung's WatchOn software which does not work in Australia.  So, it is really a makeshift solution for now.  I do like Samsung's nifty red and green LEDs to indicate charging.  I hate the ease with which one can accidentally press the search button and activate Cortana.  I really like the physical home key.  I love the screen.  What I can conclude from all this is that if Samsung's next WP phone is not exclusive to any operator, it will be the WP phone to beat.

Monday, 16 March 2015

Lumia 1020 earns grudging respect

In October 2013 I wrote here that I had moved on to a combination of an iPhone 4 and Sony RX100 II as my phone / camera combo.  I expressed some frustration that Nokia’s relatively new flagship phone, the Lumia 1020, had none of the technology that I had loved in the Nokia N8, but hedged my bets by saying I might still buy one.

In August 2014 I was struck by the number of positive reviews the 1020 had received.  I was concerned that, as with the Pureview 808, I might regret missing the full product life of the 1020.  At the same time, I could not bear the thought of having to make do with 32GB of storage.  So, I took a punt and bought an O2 64GB variant from England.

After a lot of trial and error, I finally managed to buy an unlock code so I could use the 1020 in Australia.  I have now been using the 1020 for 5 months and it is a good time to report on how it has performed.

First, the camera.  The camera has excellent image quality, there is no question about that.  It has 
impressive detail and great dynamic range.  The big problem with it is the shot to shot time.  It takes what seems like an age.  Worse, after I press the shutter button the image on the display freezes as a kind of preview, after a second or so, but then, when the post-shot auto-review is shown it becomes clear that the actual image is even later than the frozen preview.  Countless times I have framed up my son walking towards me anticipating where he will be in a step or two and thought I have done just fine based on the frozen preview only to discover his head is missing in the final shot.  What that means is the 1020 is really only any good for completely static subjects. 

Secondly, the music player.  My music use has changed a bit since the Nokia N8 days.  With my iPhone, I could use Telstra’s Mog app to stream music.  Because Mog is unmetered that made it a very attractive proposition.  The iPhone plugged into my Renault via an HDMI to SPDIF converter.  If the songs had been downloaded on WiFi they would be higher rate MP3s, not perfect but quite acceptable.  Moving to the 1020 created a couple of problems.  First, there is no wired digital out on the 1020.  I found a way around that by buying a little Bluetooth to SPDIF box.  The 1020 appears to have the higher resolution APTX protocol of Bluetooth so the sound quality is pretty good, plus, no need physically to plug anything in.  Secondly, player software.  There is no Mog implementation for Windows Phone.  I tried Spotify instead.  No unmetered use but if I planned ahead and synced the music using WiFi that was OK.  I was very happy with Spotify.  It introduced me to some new artists and led me to new albums by some old favourites that I did not know existed, including Ross McLennan’s album “The Night’s.Deeds Are Vapours”.  However, that led to another problem: when I wanted to go back over some old favourites I found they were not on Spotify at all. For example, Ross McLennan’s old band Snout is not present (there is an American band called Snout and they may be great but they are not Snout).  Some of the key songs from Julian Cope’s “Saint Julian” are missing, like “Pulsar”.  There is no “Rip Rig and Panic”.  I worked out that with iOS, Android and, hey, Symbian, you can sync your own local MP3 tracks via WiFi or USB to your device.  Windows Phone?  Nope.  Worse, on Spotify’s community site they say “no present plans to introduce”.  C’mon!  At least lie a little bit, say it is one of a number of new features we are considering, not just “no present plans”.  I move on to Deezer which is not quite as slick as Spotify but for all practical purposes is the same plus it actually allows you to upload your own MP3s to the Deezer cloud (I have never worked out whether anyone else can access them, I assume not) and then sync to your device.  In summary, I was pretty happy on the music front.

Thirdly, the apps you get everywhere else.  There is a lot of talk about Windows Phone missing a lot of apps.  I think it is rubbish.  Enough of the big names are present and the implementations are generally top notch.  The Spotify app is missing one feature of the iOS version but it is every bit as slick as the iOS version, if not more so.  As for productivity, I find email, messaging, calendar, clearer to read and easier to use on the 1020 than on the iPhone.  The version of carsales on the 1020 is better than the version on iOS.   The presentation of information about individual contacts is great.

Fourthly, the apps you cannot get anywhere else.  Maybe I exaggerate a bit but I have some apps that just do not seem to be available for other platforms.  I have an app called TV Torrents that shows past and upcoming episodes in the slickest form I have seen anywhere.  The glance screen inherited from old N8 days is great.

Finally, remote control of my Sony RX100 II.  The 1020 cannot do it.  There are three apps that use Sony’s published API to control various Sony cameras and none of them quite works with the RX100 II.  They need very slight tweeks to work because the RX100 II strays slightly from the API.  It only needs a little work because if have used my 1020 to send HTML POST and GET commands to control the camera, which is not feasible for actual photo taking but works as a proof of concept.  There is an app called “Remote Photo” which allows photos to be retrieved by the 1020 from the RX100 II but its companion app “Remote Camera” does not control the camera.

In conclusion, I have grown to love the Lumia 1020, mainly because I just love Windows Phone more than iOS.  However, I feel that the 1020 is going to have to go.  The delay in photo taking is the deal breaker and it looks like I am going back to the N8 after all.


I am hoping that either the rumoured 1030 will be out later this year and will fix those issues.  Otherwise the Panazonic Lumix DMC-CM1 may be the next choice, which will permit retiring the RX100 II as well.

Monday, 21 October 2013

Death of an individualist

The fundamental design of the Apple iPhone has not changed since its release. It is a rectangular touch screen with a single physical button below, a handful of tiny buttons and data port scattered around the edges, a camera lens on the back, a headphone jack on top and that's that.  Since its release, virtually every manufacturer has adopted the same essential design for their entire product range.

Nokia fought hard against that trend.  Its first competitor against the iPhone was the N95.  That was everything that the iPhone was not.  No touch screen.  Numeric physical keyboard.  Slider form factor!  Fat.  Media transport controls.  5MP camera with flash.  GPS.  Card slot.  3G.  Infrared port.

The N95 was announced a few months before the iPhone so it was not strictly a reaction to it.  However, it was released after the iPhone had been announced and it looked like a defiant finger raised towards Apple.  It had all the technology that the iPhone lacked and not a single concession to the quantum leap in user friendliness that the iPhone had taken.

Over the next 6 years, the iPhone ground remorselessly on through 5 iterations.  The essential form factor and layout of controls and ports has barely changed once.

During that time, Nokia threw a range of different ideas at the market.  The first follow up to the N95 was the N82, an old-fashioned candy bar phone but lighter than the iPhone and with the first xenon flash on a cameraphone.  The N96 was a variation on the N95 theme but added DVB-H TV.

Apple either did not notice or simply refused to play the Nokia game.  The iPhone 3g stayed with the 2MP camera, did not offer flash and could not shoot video.  It added 3g but moved to a plastic construction that was utterly non-descript.

It took nearly a year for Nokia to come back with its answer: the twin flagship offering of the N86 and N97.  The N82 was firmly in the N95 bloodline with an 8MP camera, loaded with multimedia options and resolutely no touch screen.  The N97 had a slide out QWERTY keyboard and touchscreen.  It was like nothing else on the market.

The iPhone 3GS bumped up the camera to 3.15MP.  Not only did Apple not care about matching the 8MP of Nokia's flagship cameraphone, it was not even going to bother with the 5MP which had become standard on all of Nokia's mid-range phones.

Nearly a year after the release of the 3GS, Nokia released the Nokia N8.  In my opinion the most well-rounded phone Nokia ever made, it was Nokia's first credible attempt at an all touch phone.  It had a bewildering array of technology: USB to go; HDMI; DLNA; two charging methods.  Physically, it may not have been everyone's idea of beauty but there was nothing remotely like it made by anyone.  It said "OK we will do an all touch phone - but we will do it our way."  It was built like a cold war submarine.

The iPhone 4 was announced and released (Apple having done away with the huge gaps between announcements and release that Nokia seemed to like) between the announcement and release of the N8.  It represented the only significant change in the iPhone's form by the introduction of camera like metal detailing around the edge and glass back and front.  It introduced the first 5MP camera to an iPhone, arguably the first serious camera on an iPhone. 

Nokia took a year to respond with the N9, a solid virtually unbroken losenge of bright colour.  This was a massive rejection of Apple's black glass and metal design ethos.  It was universally recognised as a gorgeous design.

Straight after the N9 Apple launched the iPhone 4S, finally lifting the iPhone to the 8MP level and introducing Siri but otherwise making no significant changes.

The Lumia 800 that followed the iPhone 4S was not Nokia at its innovative best: it was essentially a re-run of the N9.  Soon after, however, Nokia delivered what we now know was its last truly individualist product, the Pureview 808.  The 808 said "Nyet!" to everything that went before.  It was big and bulbous with no precursors.  No hint of the iPhone's rectangles but not a follow up to the N8 or N9 either.

We now know that there was nothing really new to come from Nokia after the 808.  All of its flagships since then have been variants on the N9.

Now that Nokia has been absorbed into Microsoft we can be fairly sure that really interesting form factors will not be coming out of Nokia again.  Thanks Nokia for what has been.