For The Love Of The Web
I am passionate about making great web sites. This means I get involved in the whole process from gathering requirements to deployment and maintenance. This has given me a broad range of skills from application programming to visual design. Read more.
If you think you'd like to work with me or have any questions please leave a message and I'll happily get back to you.
So it took me a while to setup this time after a long blogging holiday and a few repaves. It wasn’t so easy this time. I knew I should choose Metaweblog API but couldn’t work out an address that worked.
Turned out that a file in the root site folder with a suspiciously live writer type name, wlwmanifest.xml, was the key. After a little digging I found this http://msdn.microsoft.com/en-us/library/bb463263.aspx indicating that Live Writer will use this file to setup your blog if the following is in the head of your default.aspx document:
<link rel="wlwmanifest" type="application/wlwmanifest+xml"
I added this, removed the stuff/ and the setup was automatic, no need to choose the blog type.
Hopefully this helps you.
My requirement: connect my laptop to my amp and use my One X to view a UPnP library, create a playlist, and send it to the laptop to play. Pretty simple you would have thought. Like all things, it is, when you know how. A bug in the One X’s wifi implementation made this a bit more difficult than it should be. This post will outline how to set this up, and how to workaround the bug.
First you need a UPnP media server to browse the library from your One X and a UPnP renderer to play the library to. The latest stable version of the foobar2000 application with the foobar2000 UPnP component added will perform both tasks. Download both, install foobar2000, then copy foo_upnp.dll into the components folder where foobar2000 was installed. Start up foobar2000. You will see a “Library” option added by the component. Go to “Configure” to add folders to be monitored by the library. You now have a server and renderer. How can you control these from your One X? You need a control point.
There are many UPnP applications out there, of which I have found BubbleUPnP to be the most intuitive, useful, and it’s pretty slick looking too. Install it on your One X, open it, and go to Devices. Here you should see options for your local renderer and the foobar2000 renderer. Select it. For the library select foobar2000 media server. Now go to Library to browse your music collection. When you find an album you want to play long press to bring up a menu – Enqueue or Enqueue and Play are the two I use most often, which will add the album to the current playlist and optionally play the first track on the renderer, i.e., your laptop. Bob’s your uncle! Your music will now be playing on your laptop. If you own an android phone or tablet other than the One X you are all setup with some convenient library browsing loveliness, you can leave now.
Alas, this is not the end of the story for the One X. If you now let the display sleep the music will keep playing merrily along, and you will still receive email. When you wake up your phone to change the playlist or pause the track you will find your phone’s wifi goes skewiff. You cannot use BubbleUPnP, nor surf the web. The only way I have found to fix this is to restart BubbleUPnP, in fact with the original 1.26 firmware I had to restart wifi on the phone too. A bit of a nuisance to say the least. There is a somewhat better workaround, and actually a less battery draining way of doing this. Whilst searching through the BubbleUPnP settings I found the Show OpenHome only option. What is this OpenHome? The developer of BubbleUPnP has created a BubbleUPnP Server which can create an OpenHome renderer from a normal one, allowing the renderer’s playlist to persist even when the control point (BubbleUPnP on the phone) is not connected. Perfect. So now rather than letting the wifi get killed I simply start playing to the renderer then close BubbleUPnP until I need it again.
Any questions let me know in the comments.
The HTC One X is an excellent phone, I absolutely love it. From the feel in the hand, to easy browsing on the huge super sharp screen, to the Sense 4.0 overlay, the experience is buttery smooth. There have been a few issues that have been fixed with two updates since its release, however unfortunately these did not fix the problem I am having where wifi is killed when the phone is awoken from sleep whilst using a UPnP application.
I have contacted the developer of one fantastic UPnP app, BubbleUPnP, with the exact nature of the problem to see if a change in the way the software works could fix this, however after trying a couple of types of wifi lock he believes it’s most likely to be a multicast locking issue, and a problem specific to the phone itself.
I then raised a bug with HTC who, after a little wrangling, escalated it to the development team. After the dev team came back asking what router I am using, they decided this is not a bug they need to fix – the only UPnP functionality they support is that of the new Media Link HD hardware created for this line.
This does raise the question: should HTC have to fix the inability of the One X’s wifi to stay alive? This is clearly a wifi driver issue, but do they have a responsibility to make sure the phone provides all the functionality available in the android OS? Or can they cut features out as they desire? You could say they can take this line as they could decide not provide a number of hardware components such as bluetooth or wireless if they wanted. But in this case they are providing wifi but giving us an unreliable implementation. If they don’t support UPnP they should at least either remove it or make sure it doesn’t interfere with the rest of the phone if it used.
I can only hope HTC fix this with a future software update.