Computers

How to learn a language

Oliver Brown
— This upcoming video may not be available to view yet.

I found an interesting post through Technorati tagged Pimsleur about how to learn a language. And for once it actually seems quite sensible and plausible. It’s also made me think about grammar and how it should be handled in my language learning app.

At the moment it plays the audio at you without anything on the screen. Perhaps the screen could display explanations of interesting or important points about what you hear? I’m worried about distracting people from listening and limiting the offline usability of precompiled lessons though…

More R&D in EVE

Oliver Brown
— This upcoming video may not be available to view yet.

Ooh, after reading the forums I found a way to increase the number of research points you get when doing R&D in EVE Online.

After starting R&D you can also ask the agent for missions. The rewards for the missions are extra research points instead of ISK. The reason I had to go to the forums to find this out is because it apparently isn’t available until a day after you start the R&D.

Language learning pricing and making it pay for itself

Oliver Brown
— This upcoming video may not be available to view yet.

If I’m considering paying for voice talent for the language app (which let’s face it, I’m going to have to do) I have to be thinking about getting the money back somehow and I have an interesting idea that essentially equates to everyone helping each other learn languages.

Basically when learning, you pay per phrase (phrase in this context means any named element. Usually a phrase but could also be a specific term). The cost would be something really low (say for example $0.01 each). You only pay for a phrase once regardless of how many times it gets repeated or how many conversations it appears in. Just to provide some sort of concrete example, the material I’m testing with (which covers the first two Pimsleur lessons) has 82* different phrases/terms. Quite a few simple conversations can be put together with that material. As the number of phrases increases, the number of conversations increases exponentially (the mathematician within me has to point out that strictly speaking it’s probably not exponential).

The clever part would be to allow people to upload their own audio. Although this has a few issues with regards to quality it might work. If you upload audio, you get a percentage of the money spent on listening to your audio. What the exact percentage should be is complicated though. As well as audio, the other big part of the system is the scripts. The traditional part of me feels that the scripts should have some sort of professional input from someone with experience teaching the language. Another part of me realises that hundreds of books exist for teaching languages that are written by professionals that are totally useless (and therefore professional input may not be all its cracked up to be). With that in mind, someone fluent in the language may be all that is required. Either way, the script writers need money too and should probably get a percentage as well. That $0.01 is being spread quite thin…

The system obviously needs an infrastructure in place to sort this. At a basic level it should list phrases that are needed in scripts but are missing. Another part would be to highlight underutilised phrases that need more conversations writing for them.

As a final note I’d like to explain another bit of cleverness in the system (and an associated problem, perhaps). Before a conversation is played it is checked for completeness - i.e. do sound files exist for all the required audio. Shortly I’ll be adding another layer to this - checking for sound files by the right people. Phrases in a script are marked by “person”. Simply a way of identifying who is doing the talking when a script involves more than one person (which most of them will do). It’s important that all elements in a script marked “Person1” are by the same person and all the parts by “Person2” are by the same person (and that “Person1” and “Person2” are different from each other). This means that there will be some duplication of audio going on. If someone records all the initial audio, but then never records any more, someone else will have to re-record most of it since it will be used in later scripts. Which also implies there’s nothing to stop people re-recording the initial material in an effort to get a percentage of the money (assuming enough is offered to make it worthwhile). I’m not sure if that really is so bad though - it offers more variety for listeners…

* Or perhaps 164. Whether you should pay for the native and foreign versions is a tough subject. I’d like the application to be independent of a specific language so my preference would be “yes”. They take just as much effort to record after all…

How much fluff is needed?

Oliver Brown
— This upcoming video may not be available to view yet.

I’ve been sorting out exactly what needs recording for the language app (which I finally have an idea for a name for) and I was trying to decide how much extra instructor speech is needed. Situations aren’t described for instance (no “Image an English man sitting next to a French woman”) and you aren’t asked to say things explicitly (“How do you ask someone if they speak English?”). Will this harm the process at all?

The best thing to do perhaps would be to avoid trying to be Pimsleur quite so exactly.

TalkTalk service could change

Oliver Brown
— This upcoming video may not be available to view yet.

To all those people with TalkTalk problems, the quality of your service may change.

I found this page on Sam Knows that is apparently a list of telephone exchanges with scheduling dates for TalkTalk unbundling. According to the information there, no exchanges have actually been switched completely to TalkTalk yet. When they do switch there should be a difference in quality. For most people it apparently couldn’t get worse so this should be seen as a good thing.

The date for the changeover is 31/08/06. I’m a little suspicious about the authenticity of those dates since a reasonable amount of physical activity is required to switch over and doing them all at once seems silly.

Multilingual pretty URLs

Oliver Brown
— This upcoming video may not be available to view yet.

There is more and more emphasis on pretty URLs these days. With things like Ruby on Rails around to easily support it and better knowledge and use of things like mod_rewrite the days of horrible query strings is going away (excluding of course the most used websites - search engines). But how do you make your multilingual website have pretty URLs?

My language learning app uses the Zend Framework and so uses pretty URLs by default. I need the interface available in many languages, but then the URLs should be pretty in a localized way.

For example, starting a new Finnish lesson uses the following:

/lesson/new/fi

That would be the new action of the lesson controller with an extra language code parameter of fi.

In German this should be something like:

/lektion/neu/fi

By default this would access the neu action of the lektion controller.

The “simple” solution would be to write lots of controllers that just delegate to the real one. Which is silly. Instead an extra layer has to be added to the routing process some sort of look-up table mapping localized URL fragments with “real” canonical ones. This should be fairly simple with Zend Framework (although I haven’t actually tried yet).

Just an important issue no-one seems to have brought up yet…

Using XHTML, XSLT and XForms for Xemplorary performance

Oliver Brown
— This upcoming video may not be available to view yet.

Alliteration and bad pun. Good start :)

One of the features the language app will need is some sort of module editor. Although the XML format of the scripts is straightforward to anyone used to hand editing HTML, a lot of other people will not have a clue. Therefore a WYSIWIG would be a cool addition. And lots of X’s may be the way to go.

Although XForm support in browsers isn’t exactly stellar, the fact that only script editors will require means that needing a plug-in or extension isn’t such a big thing. And I get brownie points for being Web 2.0 as well.

I’m going to assume you know what XForms and XSLT are. If you don’t, then go find out. I’ll probably explain in a future post, but for now just accept them as “cool” :P

Basically a module is included directly into the XHTML source of the page. The only change is the addition of a namespace declaration (which are normally absent from the modules). XSLT is then used to add some nice formatting to the conversation along with XForm stuff for editing (including adding/removing elements). This makes the server side code really easy since the whole XML of the module gets posted back to the server.

In theory the XSLT shouldn’t be needed since XForms can do repeating and stuff. The only problem is I don’t think it can handle recursion which is a bit of a limitation.

There is one bit of the XSL that I’m stuck on there. I have the XML fragment in the head of the XHTML document. I need to be able to transform a copy of it and place it in the document body, but keep the original intact in the head. Does anyone have an XSL snippet to do that?

More info on Sky Broadband

Oliver Brown
— This upcoming video may not be available to view yet.

As well as another article, the Metro also carried a double page ad today about Sky broadband. There will be three levels available:

2GB a month for free. 40GB a month for £5. Unlimited for £10.

The “unlimited” part is subject to a fair use policy but it’s presumably higher than 40GB a month.

I can’t remember what the speeds are except for the highest one which is “up to 16MB”.

Sky to offer free broadband?

Oliver Brown
— This upcoming video may not be available to view yet.

I read in the Metro that Sky may be offering free broadband to it’s “top subscribers” in a move similar to Orange’s. Personally a shame for me since we probably qualify as a top subscriber (with all the Movies and Sports).

EVE Online and Pimsleur

Oliver Brown
— This upcoming video may not be available to view yet.

Pimsleur makes the perfect companion to EVE Online, especially when you’re doing cargo runs or other things that don’t meed much concentration. Why not learn Spanish nipping out to buy that new Battleship? :P

I’m not sure if you can alter the in game music that EVE uses (and changing it to Pimsleur would probably be a hassle since you’re only going to play each track once) but you can run EVE in a window and therefore use whatever media player you like in the background.

EVE, EVE Online, Spanish, Pimsleur