Thursday, 25 August 2011

Secret Herbs and Spices

So you want to learn more about how your PC actually works?. Perhaps you'd like to know more about the inside workings of your Intel or AMD processor. Well, that's no problem, of course. Hugely detailed technical datasheets are available from both these vendors. Sure, they are a bit reticent about some details - internal debugging registers, that sort of thing. But, for the most part, if you want to know what connects to each of the pins, what the instruction sets and registers do, and how the device works internally, all that information is available.

And so it is for most electronic devices. After all, how could engineers design without this information?. Or hobbyists learn the secrets of circuit design?.

Unless, of course, we're talking mobile device CPUs (and GPUs). Suddenly it's a world where, unless you are (as Nvidia state in their developer forum) 'considering a market for 100,000+ devices', then frankly, you're out in the cold. For some reason most of the mobile CPU vendors are incredibly secretive about the internal workings of their ARM-based SoC (System on Chip) devices.

Oddly, Texas Instruments appears to be the odd one out. They do make detailed technical reference guides available for their OMAP series of devices. I'm not quite clear what earth-shattering secrets the other vendors feel they can't disclose, but for open source developers this paranoid secrecy must be absolutely infuriating.

But if your device comes from Qualcomm or NVidia, forget it. Their device secrets are available only to a select few.

You can understand, perhaps, that these vendors hardly want to support hobbyists who want to tinker with their chips. But TI's relatively open approach has made it possible for a whole open source infrastructure to spring up around their chipsets, such as the Beagleboard. I think the other vendors are really missing an opportunity here. If they persist in their paranoia, in the long run, it's likely that the more open vendors will get the attention of the Open Sourcerors. Already, Canonical have made a real effort to support the ARM architecture, for example, but these attempts will founder on the proprietary extensions made to the architecture by each vendor, particularly if the technical details have to be reverse-engineered.

So, Qualcomm and NVidia. This is a plea to open up more. What secret herbs and spices do you really think your competitors don't know about, that are buried in your private datasheets?. Open up and let the innovators come knocking at your door. It's your market to lose, long term, if you don't, regardless of how many devices Samsung or HTC are buying off you right now. When the market matures you need to look for diversity, and that comes from smaller players, who may be considering integrating ARM and Android into all sorts of products, such as car dashboards, refrigerators, stereos.... who knows what. If they can't easily get technical data when they're doing a proof of concept, they'll go to the vendors who are willing to engage, and design around their products.

You can see this quite clearly in the embedded processor market, where Microchip made the PIC series of processors incredibly popular by actively encouraging hobbyist designers. No matter how technically amazing your products are, its a maturing market. Imagine if Intel and AMD kept their processor datasheets secret. Would we even have Linux or Android now?. I doubt it very much.

Friday, 29 July 2011

Corporate denial

A few months ago I purchased an Archos 101 tablet. I was very impressed with this device - sure, the screen viewing angle isn't as good as the iPad, there's only 256M RAM and you need to install a hack to use the Google Market, but at half the weight of an iPad, its a nice little package.

But hardware engineering ain't always easy. Apple learned that with the iPhone 4 antenna fiasco, and Archos have learned the hard way with the A101.

Specifically, there's a problem with the USB host port. It will fail. When it does, the device will also stop being able to sleep, so you're up for turning it off when you're done using it and then rebooting every time you need to use it again. Otherwise the battery will run flat in a few hours.

Of course, I didn't know there was an endemic problem with the device until I had the problem. Now, modern electronic devices are so reliable (six sigma and all that), that it's been a while since I had a hardware failure. And pretty much every hardware failure I've had in the last decade can be traced back to the humble capacitor. A lot of these have failed due to a fascinating story in industrial espionage gone wrong - but you can google 'bad caps' to learn more about that one.

This was different. And, regrettably, so was the way Archos seem to be handling the situation.

Now, before I continue, let me just say that Micro Anvika, from whom I purchased the unit, have been very professional. I took it in, they accepted it for repair and what happened next was entirely out of their control.

What happened next was..... nothing..... Archos accepted the unit for repair and...... nothing. Nearly six weeks later it was clear that getting things sorted in a timely manner didn't look likely. Micro Anvika were quite willing to replace the unit, but by then I'd read all the postings where others had apparently had very similar issues. So I declined, and got a refund.

The point of this, though, is not that things fail. I accept that. Recently I had an LG monitor fail. Bad caps, I think. I was all ready to go and buy another one when I checked the warranty and found to my astonishment that LG warrant the monitor for a full three years. It was two and a half years in, so I rang them. Yes, sir. Bring it in to your place of work and we'll have a courier deliver you a replacement. Which they did. Fantastic service.

Archos, though, appear to be in denial. Is there a serious problem with the A101?. Well, forum posters think so. But Archos remain silent. The problem here is that this silence, coupled with an apparent inability to turn around warranty repairs in a timely manner, really impacts consumer confidence. I'd have accepted a replacement if I'd been confident in the company, but clearly, they aren't providing an acceptable level of after-sales service.

Companies have to learn that burying bad news always makes things worse. Right now, I'm very wary of ever purchasing - let alone recommending - any product from this company. Yet if they had been open about the issue and resolved it promptly, I'd have been more than happy to give them another chance.

I will be writing to the CEO of Archos about this. Reputational damage is very hard to overcome, and it's a shame - their products are innovative and cost-effective. But consumers are much more informed than they were a few years ago, and negative press will quickly pile up and overwhelm a company which buries its head in the sand when problems arise.

Tuesday, 14 June 2011

A rude shock for HTC fanboys

So the original HTC Desire isn't getting Gingerbread after all. Not enough RAM, apparently. You'd certainly think 576M was a fair amount, but obviously not if you want to run Sense.

This is a blow for Android, because clearly pretty much all the devices, regardless of vendor, released prior to 2.3 will probably now never get an upgrade. Sony, Samsung and the rest will breathe a sigh of relief; if HTC weaselled out, so can they. And they will.

Of course you can root the phone and install Cyanogen, and I'm wondering how long it'll be before some of the more enterprising 'mom and pop' mobile phone stores start offering this service, managing the tedious task of getting all your apps and data across, for some kind of (hopefully not too steep) fee.

It's also a blow for vendor (and carrier) customisation, because if this is seen by customers as potentially blocking future upgrades - and it certainly has had a huge impact in the timeliness of upgrades in the past - there will be growing pressure for handsets to be offered with stock Android builds, further commoditising a market already rapidly heading the way of the PC.

But it's also a worry when it comes to malware. As I said a long time ago, Android's openness is a two-edged sword. Coupled with an infrastructure of devices that cannot be updated, it's a crook's paradise, since existing security flaws will be there indefinitely. Sure, the Android Market *might* catch some of the bad guys but given that software can dynamically load other components, and that the kernel exploits may never be patched, how easy will it be to keep control of this.

HTC need to urgently re-think this decision. It might be a loss of face to abandon Sense - but the wholesale abandonment of its existing user base to what can only become an escalation of hackery, is a disaster in the making. How long will it be before customers sue HTC because they were hacked, for example?. Does HTC have a duty of care?. It's a tough call, given that Microsoft, for instance, have drawn a line on future Windows XP patches - but with device lifecycles as short as they are, how willing will customers be to upgrade. And even if they do, those 'non-upgradeable' handsets will make their way down the food chain. What happens when some litigious customer gets a multi-thousand dollar phone bill due to hacking and sues the carrier and HTC for negligence. Or will the carriers start barring old phones as a pre-emptive measure to avoid these kind of scenarios. That'll be a popular move!.

How ironic it would be if CyanogenMod actually offered *better* security by rooting the phone then vendor locked-down customised Androids did.

Google's stewardship of Android has been pretty erratic. The lockdown on Honeycomb certainly has helped, when it comes to the market being flooded with knockoff iPad wannabees, mass-produced from inferior components, but this can't last forever. Google really needs to think about parental responsibility here. Right now, baby Android is hanging around with some pretty scuzzy lowlifes, and Mom's looking the other way. And as Android users, not all of us enjoy playing in traffic. Time to wake up, Google, pull down a curfew, ground the kid for a while and get into some Tough Love. Otherwise, it'll end in tears....

Thursday, 28 April 2011

Yahboo!

I've had a yahoo business mail account for a long time now - and it's worked fairly well most of the time. Mailbox search failed at one point, but other than that, well, it's email, what can you say.

Stupidly, I assumed that because I was forking out something like 6 pounds a month for the service (and a further fee for my own domain), that this somehow entitled me to any form of support whatsoever when things went wrong. Because of course, I could have had my domain hosted by gmail for free.

Well, I've learned my lesson now. Things started going wrong about a week ago when suddenly my phone indicated a login failure checking email. I thought nothing of it until I logged on from my home PC to be informed that my account 'might have been compromised'. Since my password is reasonably non-obvious, that was worrying, but things rapidly went downhill from there.

I tried resetting my password, since now my normal password no longer worked, but apparently the alternate email I'd set up was a hotmail account which I couldn't recall setting up. That's my fault, of course - moral number 1, don't forget your alternate email account. But we are talking something like a decade ago when this was set up.

I tried to recover access to my hotmail account but to be honest I wasn't entirely sure what the heck it was called. At any event, this proved fruitless so I tried contacting Yahoo support by email. 48 hours later I got a response apologising for the delay and telling me to ring customer support. I'd already tried that, of course, but it was obvious that this was an exercise in futility. There's an option for Yahoo small business - when you take it, an infuriatingly upbeat female voice smugly announces that telephone support is no longer available and I should sign in for support. But I can't sign in!. Ah, Kafka, where are you now. How you'd love this!. As for trying to contact account support, forget it. You just end up in a queue from hell. And, ringing long distance from London?. I don't think so.....

Meanwhile, the whole yahoo email infrastructure appears to have collapsed. Hence, it's even more impossible to get access now than it was a day or two ago. Apparently something has gone horribly wrong switching people over from 'classic' email to the new-look email. This wasn't my problem but now I am swamped in a huge queue of angry people who also can't reach their yahoo email, but for a completely different reason.

Well, I'm giving up for a few days. Fortunately, access to mail isn't life-threatening for me, but clearly it's essential to regain control of my domain and move everything to a company where customer service actually means something. A lesson learned, fortunately not the hard way, but if I had been running my own business, this could have been catastrophic.

Thursday, 20 January 2011

The long and winding road

I've posted earlier about an attempt to create a media server using an old Asus EEE 701 netbook. Since then a second laptop from the growing family computer collection (don't ask!) has become available for recycling - an IBM Thinkpad T40, which is obviously a considerably more powerful machine.

This led to the plan of setting up the T40 downstairs, connected to the TV and with the whole music collection moved onto its 80G drive. Because the T40 has an S-Video output, it can be directly connected to one of the TV inputs and this now allows us to watch stuff on iPlayer that we forgot to record on the PVR (which, of course, now only has Now/Next functionality, see earlier post).

[what a marvellous invention iPlayer is. I am reminded of the wonderful passage in one of Douglas Adams books where the protagonist invents a time machine so he can go back and watch all the TV programs he forgot to record - now we have exactly that, thanks BBC....]


The home theatre 5:1 system only had a spare digital audio input free, but that's easily fixed with one of Maplins low-cost (about 20 quid) USB audio devices, which has both 3.5mm stereo outputs and a standard optical out, and requires no drivers (it also works just fine on Linux, by the way).

So that was the easy bit, but then, what to do with the EEE. Well, the bedroom stereo would really benefit from being able to access the downstairs music collection, so obviously turning the EEE into a little satellite would be ideal. This turned out to be a little more complex than I had anticipated.

The first step was to blow away the standard - and now very old - Linux distribution that the machine runs out of the box and put a copy of Ubuntu 10.10 on there. This was quite simple; instructions are widely available on the net but basically it's a case of grabbing a 1G (or larger) USB key, and formatting and copying down the ISO using a free utility. Then boot the EEE off the USB key and install Ubuntu.

Note that you won't see the USB key as a bootable option unless you plug the key in, start the machine, go into the BIOS and fiddle with the boot settings. This caused some confusion because there is a 'removable device' option in the boot order that initially looked like it would be the USB key. Anyway, once that's sorted, Ubuntu installation is reasonably painless, except that the dialogues don't all fit on the EEE's screen. This is only a minor inconvenience; to get at the buttons to continue during installation use the left mouse key and ALT to allow windows to be dragged around the screen to expose the clipped bits.

Ubuntu flawlessly recognised the wireless interface and audio, and at this point it was a simple matter to decide which media centre software to use.

The plan was to access the downstairs box via an SMB/CIFS share. To do this, you need to install SMBFS using APT-GET or the Synaptic program manager GUI, and then you need to set up an entry in /etc/fstab to get the share mounted at boot time. This is fairly well documented on the net, so I won't bother repeating all the steps here.

I would note that setting everything up as a static IP address seems to be simplest. I found that otherwise, my Windows boxes could ping each other by host name but both the EEE and my Android phone couldn't resolve the IP addresses, even though the local Dlink router is supposed to be providing DNS services to the local subnet. The Windows boxes presumably resolve names using Netbios over TCP and there is an optional component for Ubuntu - Winbind - that supposedly provides the same functionality.

I did experiment with it but found that strangely, ping would now resolve the IP address from the hostname, and display it, but then the ping would fail.

In uninstalling both XBMC and Winbind using Synaptic, somehow, Ubuntu got completely screwed up and would only boot to a text command prompt, so at that stage I cut my losses and reinstalled from scratch and settled for fixed local IP addresses. This also simplifies the Android phone connectivity.

Once this was done, I had a directory under my home directory called 'music' which gave me access to the SMB share on the IBM T40. Next, I installed media player software. Since I wanted to remote control the player from my Android phone, this limited my choices somewhat.

Initially I went with XBMC, but there are two significant problems with it. Firstly, it's quite resource hungry and audio glitches were common. At first I went looking for all sorts of other causes, as the CPU, while high, wasn't at 100%, but ultimately it became apparent that XBMC is just too much for a low-end box like the EEE. The second XBMC annoyance is that if you want to use VNC to remotely connect to the EEE from another machine, the XBMC interface is incredibly slow due to all the gratuitous animation and stuff, that AFAIK can't be disabled.

It was a pity because the XBMC remote software which I installed on my Android phone worked very well. On a more powerful box I'm sure XBMC would have worked well.

So I switched to VLC. This uses a lot less CPU and played audio perfectly. And the VLC remote application for Android works very well - it also has a volume control, something that the XBMC remote did not have.

Setting this up involves going into preferences and specifying VLC as a startup program with the command line

/usr/bin/vlc -I http

This enables the HTTP interface. Note that the default directory that it always starts at is the users home directory, so mounting the SMB share directly underneath it (or symbolically linking to it) will ensure that the music folder is immediately accessible.

All was well.... or was it.

It became clear pretty quickly that if the VLC remote volume setting was any greater than about 25%, serious distortion was evident in the audio. This led me on a wild goose chase for a while, and unfortunately exposes a weakness of Open Source solutions - the lack of decent documentation. As a consequence all sorts of contradictory advice float around the net. I discovered that if I installed alsa-mixer I could see an additional slider for 'PCM' which also controlled overall volume, and supposedly, setting this to less than 100% would solve the problem. It did not. During the investigation I also found that the slider settings aren't saved and restored during a reboot, although there's a way round this. But, as I said, this turned out to be a dead end.

I also tried an external USB audio interface (I have two of the Maplin units) but this didn't help.

Then - suddenly, for no obvious reason - audio stopped working. Although, oddly, the 'test speaker' option in Ubuntu still worked. Eventually I managed to fix it by shutting down VLC completely, rebooting without it set in startup, running Rhythmbox and playing something - this seemed to fix the problem, but I have no idea what went wrong.... sigh!.

The solution to the distortion problem - it turns out - is to enable VLC's graphic equaliser. This is also not entirely obvious, but the trick is to stop the HTTP-enabled copy (which, remember, was started at boot time) and start up a normal copy of VLC with the UI visible. Then go into preferences, enable the advanced option, go into audio filters and select the graphic equaliser and set the gain to 0 (it is otherwise +12dB). Then type in ten 0s separated by spaces for the fader gains i.e
0 0 0 0 0 0 0 0 0 0

then save this and go back to the main VLC UI and enable the graphic equaliser. Turn it on. Now shut down VLC and restart it and go back into the equaliser and verify it is enabled.

Finally restart the HTTP-enabled VLC and confirm that the problem is now resolved. Why VLC does this in the first place, I have no idea.

At this point another problem raised its head. The VLC remote doesn't seem to cope well with two scenarios that the XBMC remote software has no issue with. This is, to be honest, most likely a problem at the HTTP server end rather than with the remote software itself.

The problem is that you will get a fatal XML error in the remote application if either:-

(a) you have a lot of albums in your music folder. A few hundred seems to be the limit. I had more than this, so the easy solution was to break them up into subfolders labelled A-F,G-K and so on, which also makes looking for something quicker.

(b) The filenames contain certain non-standard characters such as international accented characters etc. The solution is to rename troublesome files. Quotes are also a problem. Still, while tedious, this only has to be done once.

And that's it. Now I can access my entire CD collection from any computer in the house, plus two of the three stereo systems (lounge, bedroom) the other being in the kitchen. I need to pick up another EEE second-hand for that. They seem to sell for around 50 quid on eBay which makes them excellent value - this, after all, gives you a complete wireless media server and is far cheaper than the dedicated, very expensive solutions you can purchase from places like Richer Sounds. And your mobile phone acts as the remote. Sweet!. Now, if I could only find a mobile-friendly interface for iPlayer. Currently my only option is to use Android VNC, which is extremely awkward when controlling the full screen of the T40. I'm sure there's a better way, just haven't found it yet. (i.e, some kind of mobile-optimised interface which would show a list of programs with a simple search and then let me start it playing on the T40 in fullscreen mode, with some transport controls.

EDIT: I found that I still had the occasional dropout, for which the cure appears to be to specify a reasonably large cache buffer time using the --file-caching command line variable, and in this case I specified a 5 second cache, which seems to be working fine i.e the command line to run at startup becomes

/usr/bin/vlc -I http --file-caching 5000

Thursday, 12 August 2010

What were they thinking?

By now, you'll read that they blinked. 'They' being Vodafone, who pushed out an Android update to UK owners of the HTC Desire that wasn't quite what the proud phone owners expected.

Well, Vodafone have pulled that update and apologised. Not before time, mind you. You can read the Vodafone forums for details on the update, which, amongst other things, foisted 'Vodafone 360' software onto users which couldn't be uninstalled, and added bookmarks to - of all things - adult sites like Flirtomatic. So great was the outrage, the story got quite a bit of coverage within the news media. Not the sort of publicity that Vodafone wanted, surely.

What were they thinking?. I know what they were thinking.

They were thinking:-

1. Users will think this is the new 2.2 Froyo update so we'll get lots of uptake
2. They're all at the start of 18 or 24 month contracts, so what can they do?. Just whinge and suck it up.

I'm quite sure Vodafone knew *exactly* what it was doing here and calculated, rather cynically, that the fuss would die down pretty quickly. Unfortunately (for them) they miscalculated and, presumably, someone at a VERY senior level eventually had to put a stop to it.

It's interesting to look up a certain Wikipedia article and find this definition .... an abnormal lack of empathy combined with strongly amoral conduct ....

It's part of the definition of a psychopath. Yes, what we have here is corporate psychopathy. It's a scary thought. A complete and utter contempt for its customers, coupled with a cynical determination to extract as much money from them as possible.

Meanwhile the whole affair has shed further light on one of the great weaknesses of the Android platform; the irresistible urge by both the handset vendors and the carriers to tinker with the stock Android releases.

Now, certainly, many of the handset vendor enhancements have arguably added value - HTC's sense UI and their keyboard are certainly an improvement over the standard Android functionality - but these customisations are bad, in the long run, because they fragment the Android market.

Consider the release schedule. Google release Froyo. HTC (or whoever is the handset vendor) port their enhancements and test them. The carriers all personalise the HTC stock release - and it looks like HTC do this for them, in most cases. Finally the poor consumer - if they're lucky - gets the upgrade.

This is an expensive and time-consuming process and it can't continue for many more iterations. Imagine if your PC could only run Windows 7 after Dell had produced a special 'Dell Windows' version.

So we're back in the dark ages of the early PC. All those vendors who took MS-DOS and then produced special versions of it for incompatible machines with different hardware etc. Remember that?. Well, I do. Apple have managed to lock down the iPhone experience and any carrier trying to personalise the iPhone would simply get their knuckles broken. Unless Google start taking a much harder line, Android users are going to continue to experience - if they're lucky - frustrating delays before each and every Google Dessert gets served to their phone. If they're unlucky, well, Vodafone have shown them what they'll get. A turd on a plate.

Tuesday, 20 July 2010

Just be quiet and consume, consumer!

When my Digifusion PVR suddenly wouldn't show the day's programs when I turned it on recently, I knew immediately it wasn't a fault. And sure enough, some googling showed that, as I suspected, InView, the company providing the electronic program guide (EPG) information had decided, with no notice whatsoever, to simply terminate the service.

The reason for this is somewhat obscure. You can google for the official 'explanation', which witters on about lack of bandwidth, etc etc, but clearly, business being business:-

(a) someone was paying InView for the provision of the service

and

(b) that 'someone' has stopped doing so.

Now the affected machines come from a range of manufacturers. Digifusion was taken over by Beko, and Sony rebadged one of those machines themselves. Inverto and Thomson are two other affected brands. How many machines are affected is unclear; several thousand is probably a fairly reasonable guess, it could go into five figures, given that the Digifusion machines, in particular, have proven to be highly stable with excellent software - and, judging by forum posters - hard to replace with equally capable modern models.

It's not clear therefore exactly who was paying InView (and has now stopped) and everyone's staying rather tightlipped. On the Digital Spy forums there's a lively discussion on this topic, a petition with over 1,000 names already added, has been started, and with luck the actual truth behind the whole affair might emerge shortly.

But in the interim, organisations such as the Digital TV Group (DTG) have rather mendaciously informed affected owners that if only they had purchased machines with the official FreeView 'tick' - the DTG seal of approval - this problem wouldn't have happened, because these machines would have fallen back to the Freeview standard 7 day EPG.

Unfortunately for them, someone has dug out some of the packaging these machines came in. And found that in fact some of them - the Digifusion units, for example - DO have the official Freeview 'Tick'. Of course, when that was awarded, there WAS no 7 day Freeview EPG. This is why manufacturers had to come up with their own EPG system. So there's no way for these 'officially certified' boxes to fall back to a standard that, at the time of their certification, simply didn't exist.

So now we have a whole bunch of people running for cover. They probably expected that those placid, flat-screen owning consumers would simply blink in surprise, go down to Curry's and fork out all over again for a new PVR. That's what consumers do, after all. Isn't it?. But to their surprise a rather substantial number of owners have decided that having an essential service cut off with no warning and then subsequently being lied to by all parties, is not acceptable. Letters are being drafted, to MPs, to Which?, to the BBC (who have, in fairness, given some airtime to the issue).

Now the obsolescence of a bunch of 4-5 year old boxes might seem a small thing to get upset about. But the Freeview consortium approved these boxes. Now it appears to be collaborating with some of its business partners to simply abandon their owners and to misrepresent the certification issues for which it must take responsibility.

There's talk of Sony possibly stepping up to fund the service. I'm not holding my breath on this one. But it really makes me wonder how we could have come to this point - where consumers are simply held to ransom and treated with what can only be described as utter contempt.

EDIT: A quick look back at DigitalSpy after posting this reveals that the digitallogo.digitaluk.co.uk website has apparently quietly removed the Digifusion model from their list of certified devices. A spokesperson for the company even had the gall to respond to a query from one of the posters by replying that they couldn't find the device listed!.

However, someone's kept a previous google cache, which clearly shows that the models WERE certified, so now the fur's really flying!. A fascinating tale and I can't wait to find out what happens next.