BBC iPlayer Radio working again

Changes at the BBC end broke the BBC iPlayer Radio program for a couple of weeks. The BBC were kind enough to help when I got round to asking, and it should all now be working again.

However, you now get thirty days of radio programmes, not just seven days, so my program takes a while to process all the programmes and display them. Be patient and it should get there.

Thanks to everyone who alerted me to the problem, and the BBC staff for helping out!

BBC iPlayer Radio 9.4

A small change the BBC iPlayer Radio program. It downloads BBC programmes and then converts them to MP3 to play them. Previously it’s used a moderate quality (bitrate) but some users got in touch and pointed out that many radio programmes would benefit from a better quality, especially Radio 3. So BBC iPlayer Radio now uses 192kbps MP3 files.

BBC iPlayer TV 8.0.0

If you’ve tried to use the BBC iPlayer TV 7 program recently you’ll know that it is completely broken. A few months ago all the channels went except for Audio Described, and more recently that disappeared too.

Over the years (fifteen, I think, though that may be Radio) I’ve taken many approaches to delivering BBC TV programmes to blind users, from RealPlayer days to now. In version 7 I received some help from the BBC: a nice, fast way to get programme listings. So I put that into the software, and all was well.

You would think I would learn! This handy mechanism disappeared this year, I think without warning, and the channel listings with it. However, Audio Described lasted a bit longer because it didn’t use the approved BBC mechanism, and on examination it only took a tweak to make it work again. I’ve therefore done the work to make the other channels use the Audio Described mechanism, so we have a new BBC iPlayer TV 8, and you once again have Audio Described, channels including One, Two, Four and News, and a new Signed channel listing too. The listings will all take longer to load, but that’s just how it has to work now.

Generally every couple of years there is a burst of enthusiasm at the BBC and someone will reach out to me with great plans and proposals: a year or two later they disappear with their technical help. Individuals have been kind and supportive, but the BBC faces great commercial and political pressure, so I can’t blame them. Anyway, for the geeks: we’re back to screen-scraping, which is slow but I can patch it up when the website changes and doesn’t rely on flaky BBC cooperation.

Finally, I observe that we now have more hoops to jump through before programmes play – like a BBC logon. You should only have to get this set up and working once, and it will work smoothly after that. But you might well need sighted help to get you through these steps: I have fitfully automate these steps, but it was just too much for me to keep up with changes, so I’m afraid you’re on your own. More reliable, though, which is nice.

BBC iPlayer Radio 9.3.5

A new version of the BBC iPlayer Radio program. This should, I hope, solve any problems you have been experiencing with “skipping” during programmes.

A quick explanation: the BBC provides their radio programmes as AAC files. These play on Windows 8 and later, in theory. But I was having lots of reports of programmes skipping. I thought this might have been the code that downloads the AAC files, but I discovered that the AAC files skipped in Windows Media Player as well as in my program (which uses Windows Media Player internally), and my program successfully downloaded exactly the same file each time. Finally, converting the AAC file to another file type fixed the program just fine.

BBC iPlayer Radio therefore has a “conversion” step after downloading a programme where it is converted into a format that will play without skipping.

New text-to-speech voices in Windows 10 Creators Update

This update to Windows 10 has arrived, and it has more text-to-speech voices.

First, these are again Windows Mobile voices, not SAPI5, so your screenreader or other application may not be able to see or use them.

Second, there appear to be no additional languages, but there are reported to be “more than ten” new voices (e.g. male voices where before there were only female). I’ve identified two new accents or language variants that are new: Australian English and Canadian English.

I believe the full list of Windows Mobile voices as they stand now for Windows 10 Creators Update in 2017 is given in this Microsoft Support article: TTS voices.

New text-to-speech options in Amazon Kindle App

eBooks have always been a problem for blind screenreader users. Legal eBooks are kept heavily protected to stop you copying or sharing them, which means it’s hard for assistive technology to get into them and read them back. Governments have been lobbied to clamp down on file-sharing sites where you can get eBooks that read easily. And anything complex in layout, like a textbook, usually has shoddy text-to-speech support.

There are ways to do it, like using iBooks on iPad or getting books from Bookshare and other organisations. But that’s not every book, and that means an additional process that sighted users don’t have to follow.

Good news, then, that Amazon has updated its Kindle Apps. This lets you get text-to-speech to read out loads more books, and you can still change the content (colour, font size) to make it easier to read if you have some sight. This includes Amazon Kindle for Windows PC.

All taken from this great write-up at the CALL Scotland blog, which I recommend you go read: Giving your Kindle App a voice.

New Text-to-Speech voices in Windows 10 Anniversary Update

Windows has always come with free text-to-speech voices. Windows 10 Anniversary Update, shipped August 2016, comes with new voices too. Hooray!

But there’s a catch: these are all Windows Mobile voices, not SAPI5 voices. So desktop Windows applications that use SAPI5 cannot use them: Universal Windows Apps (Windows Store apps, or Metro apps) that you get from the Windows Store can use them, and MSDN suggests that developers of desktop Windows applications (e.g. screenreaders) can now use them, but they need to write some code – they can’t use SAPI5. See my previous blog post explaining the difference between SAPI5 and Windows Mobile voices.

In simple English: Windows may have these voices, but it does not mean your Windows screenreader will be able to use them. They won’t show up. Contact the developer.

One application that CAN use them is Windows Narrator! Narrator can use both traditional SAPI5 voices and also the new Windows Mobile voices. So there is now (for example) a free Arabic screenreader!

On to the list. Windows 10 Anniversary Update provides the following new voices according to the MSDN Accessiblity blog and I’ve tested a few out:

  • Arabic (Egypt)
  • Catalan (Spain)
  • Danish (Denmark)
  • Dutch (Belgium)
  • Dutch (Netherlands)
  • Finnish (Finland)
  • French (Canada)
  • Norwegian (Norway)
  • Portuguese (Brazil)
  • Portuguese (Portugal)
  • Spanish (Mexico)
  • Swedish (Sweden)
  • Turkish (Turkey)

You can access these from Start > Settings > Time & Language > Region & Language > Language section. This lets you add more languages to Windows and shows the languages you already have installed.
Click on Add to add a new language to Windows and add the language for the voice you want to use.
Click on any installed voice and an Options button appears. Clicking this displays an Options button, which lets you download the Voice if you haven’t already.

Finally, for completeness here are the Windows 8 and 10 SAPI5 voices you can get through Control Panel > Clock, Language and Region > Language, and listed on MSDN:

  • English (US) David
  • English (UK) Hazel
  • English (US) Zira
  • English (India) Heera
  • Korean Heami
  • Spanish (Spain) Helena
  • Spanish (Mexico) Sabina
  • French Hortense
  • German Hedda
  • Japanese Haruka
  • Chinese (simplified) Hanhan and Huihui
  • Chinese (traditional) Tracy
  • Italian Elsa
  • Polish Paulina
  • Portuguese (Brazil) Maria
  • Russian Irina

WebbIE Web Browser 4.5.2

I’ve updated the WebbIE Web Browser. No new features, but significant plumbing improvements I hope. Non-technical readers can stop here!

One of the big problems that WebbIE has is when to update the text view it generates for each web page. Back when WebbIE started off in 2001 this was pretty easy, though HTML frames were a bit tricky: you waited until a page loaded, parsed it, and the user was good to go until the next web page transition.

You don’t see HTML frames much nowadays in 2016, but many more web pages dynamically load and amend their content using JavaScript and talking to servers in the background but without loading a new page. Worse, much of this is either useless junk (loading advertisements) or a distraction for the user (an auto-updating chat sidebar when the user is trying to fill in a form).

WebbIE therefore tries to update only when (1) it knows there is a new page transition or (2) the user does something that plausibly would result in a page transition, like clicking a button. In the second case WebbIE simply waits a bit, then triggers a refresh if there has not been a page transition. So really the problem is “have we had a new page transition?”

WebbIE uses Internet Explorer through COM, so how do we detect Internet Explorer doing a page transition? Here are some things I’ve used:

  • Watching the status bar text to see if it says “Done”. This was surprisingly effective! Would need to internationalise the phrase to check for non-English users.
  • Using the DocumentComplete event fired by Internet Explorer. This isn’t trivial, because it fires for a page, saying it is done (.ReadyState is COMPLETE), but ALSO fires for any FRAME elements BEFORE the actual page (FRAMESET), and ALSO then fires for any later IFRAMEs loaded by the page – and until the page is finished you can’t know how many IFRAMEs will be loaded. I do use this as a fallback for the JavaScript onload event, though.
  • Hooking the onload JavaScript event. This is what we’re doing in WebbIE now. Essentially it’s outsourcing the problem of knowing when the page is loaded to the agent with the best chance of knowing – the web browser itself.

And here are some to try out in the future!

  • WAI-ARIA events – good for later versions of Internet Explorer, so a plausible approach in the future as more Windows machines get updated.
  • UIA events – the accessibility interface is getting some more tender loving care from Microsoft in the last few years, probably trying to catch up with the perception that Apple is better on accessibility.

BBC iPlayer Radio 9.3.2

A small update to BBC iPlayer Radio. I’ve been having some reports that the program is having problems connecting to the Internet. I can’t replicate the problems here, sadly. But I’ve made the error message provide more information, so hopefully I’ll be able to get to the bottom of it!

A couple of other little bugfixes, including a fix for Windows 7 machines without .Net 4, and removing some Windows Firewall code that I now realise is redundant (and who knows, might be causing the connection problems!)

  • BBC iPlayer Radio 9.3.2 Installer

BBC iPlayer TV 7.5.0

I’ve updated BBC iPlayer TV to 7.5.0. For 7.3 and 7.4 I was using a JavaScript interface, but the new “Have you got a BBC TV Licence?” dialogue and other changes appears to have broken it (again!)

I’ve therefore gone to using the venerable Microsoft Active Accessibility (MSAA) interface to hunt down and press the correct buttons on the iPlayer page. This is a bit slow, and you’ve lost the mechanism for pause or skipping. I could put that in another time, but for now it works, and that’s the main thing. You’ve also sadly lost the switching interface, but I suspect no-one was using it!