Xbox 360 Media Streaming and how TVersity rocks

Let me start at the begining here.  I’ve always loved podcasts, and video podcasts so I have a fair bit of odd format video on my PC.  Add to that videos from digital cameras of my own, my wife’s, and friends and family and you end up with a large problem.  Person A has encoded as WMV, B uses DivX, C uses XVid, D has made an FLV, and E has some odd concoction from elsewhere.

On my PC I usually resort to VLC to play back videos that are tough to play via anything more standard.  But this doesn’t help me play that video on my TV 2 rooms away from my PC.  This is where the XBox comes in.

Since Windows Media Player 11 (apparently), you can share your video and music library on your PC with your XBox.  While that’s pretty darned awesome, it has one catch: The XBox does all the decoding of the video format.  So if it’s in anything even remotely non standard, it fails badly.

Recently we upgraded to nice new PC’s with Windows 7 on them, and so entered Windows Media Center which became the bane and joy of my life.  With this, I could stream my media to the XBox and the Media Center would do the work of decoding the odd formats and encode them in a format that the XBox could use.

Awesome! Problem solved!  … But life isn’t that nice.  For all it’s wonders, the Windows Media Center interface just keeps on hanging.  It seems to improve if I remove certain of the more troublesome videos from my library, but that doesn’t really help if I want to watch those videos.  I’ve resorted to using Windows Media player to push the trouble video’s down to the XBox as a “Media Center Extender”, which means running from the TV and the PC to queue up a video and then running back again to watch it before I miss the start.

Another down side was that only one PC could be associated with the XBox’s Media Center interface at one time.  So either my wife’s PC or my PC could stream, but not both.  We needed to pool our media, or go through a complicated process to swap the XBox Media Center from the one PC to the other.  (Neither was a really good option)

Enter TVersity. [Queue angel lights overhead, and heavenly music]

TVersity does exactly what Windows Media Center does, just without the Media Center interface, and with way more video transcoding abilities. (e.g. TVersity handles .flv files quite well, while Media Center doesn’t handle them at all)

It wasn’t quite as simple as download, install, and revel in the beauty of a working system though.  So here’s the deal for getting it to work:

  1. Download TVersity
  2. Install TVersity
  3. Search the start menu for “Allow a Program through Windows Firewall” and run it
  4. Find TVersity Media Server in the list, and ensure that “Home/Work (Private)” is ticked (it wasn’t on mine, and without this your XBox won’t see TVersity)
  5. From there it’s a matter of tweaking TVersity to your needs. I went to “Settings | Transcoder | Windows Media Encoder (for Xbox and Windows Mobile Devices)” and changed it to use “Windows Media Video 9”, which improved the video quality quite nicely.

That’s it.  Now on the XBox you can go to “Video Library” and you should see your PC’s Tversity server running nicely.


ARG’s, Innovation and Evocation

I’ve always been particularly intrigued by ARG’s (Alternative Reality Games), and having just watched Jane McGonigal’s TED talk on “Gaming can make a better world”, I checked out her new game “Evoke

For those who don’t know, she’s done I Love Bees, World Without Oil, and The Lost Ring to name just a few of her ARG’s.  This new one seems to be all about learning to innovate, motivate and solve problems.

I’m trying out Evoke and this post is part of my first mission.  It’s all about social innovation.  Learning to innovate and to engage in “social networking”.  Even though it’s a game, they have some great resources for budding entrepreneurs who might need some guidance on what kind of products to build or how to target your product correctly.

Their first link is to “Innovation in Africa tips”, which (despite the odd language structure in the title) has some great advice.  Like the following point from a post of Ethan Zuckerman entitled “Innovating from constraint”:

Don’t fight culture (If people cook by stirring their stews, they’re not going to use a solar oven, no matter what you do to market it. Make them a better stove instead.)

Just this one bit of advice would save developers thousands of hours of time that they otherwise would have wasted.  Just recently we’ve spent an age designing a report based on what we thought were the requirements from the client.  Only to find out it’s completely un-usable because all of our “great ideas” are just distracting from the key things that the client wanted.

Sometimes (strange as this might sound) the customer really is right.  And even if they’re wrong, a silly solution that gets used, is infinitely better than a perfect solution that nobody ever touches.  It’s great to be reminded of these truths that we forget, it’s unfortunately sad that we forgot them in the first place.


Devs 4 Devs

I was at the Devs4Devs event today.  It’s one of those events that really is a great change to the norm in local developer events.  Having a time limit of 20-30 minutes per talk is an effective way to make the speakers focus and get through the meat of a topic.

In my experience it seems to be used for two main purposes:
1. Training new talented speakers
2. Sharing knowledge

On both of those fronts I think it’s highly successful.  It seemed like today the “new” speakers were first, followed by the more seasoned guys which gave a nice opportunity to see what skills the more “seasoned” guys had that the “newer” guys didn’t.  My list would be:

  1. Introduce yourself
  2. Let people know where you’re taking them on the talk (think “agenda”, but less formal)
  3. Slides – Don’t use too many slides, Less is more (one word and a picture is better than 40 words on a slide), use animations sparingly (moving at pace requires focus on what you’re saying, not your slide)
  4. Demos – don’t type your own code (either copy/paste, use snippets, or comment out the code), practice, practice practice (know your code), explain enough but not too much (remember the audience probably isn’t as great as you are at your topic)
  5. Engage the audience – find questions to ask (not too many), make the demo’s have an aspect of realism (how will this technology/idea/topic make their life easier – don’t just demo it, say it explicitly), offer to give the source you demoed to people on a USB stick or put it on a website before the talk and hand out the URL.
  6. Leave your contact details, point people to online resources that helped you learn. (Demo’s and talks are all fine and well, but when your audience gets back to their PC they’ll have forgotten 3/4 of what you’ve said – hopefully they’ll remember one of the resources you pointed them to)

The talks that left the biggest impression on me were probably the MVVM Pattern talk and the Sketch Flow talk. (VS 2010 was great, and has inspired me to use the product, but the others inspired me to go out and create something)

Thanks to all the speakers for some great topics and to Microsoft for hosting the event.  I’m looking forward to the next one.


Android Market App Review #1

Big news this week was that the Android Market arrived in South Africa.  Only a quick flash of the devices ROM using the officially supplied file, or a quick trip into any Leaf store, and it was done. (See: MyBroadband article)  I’ve downloaded a few apps and wanted to review a few of them quickly.

Android Market

AndroidMarket Apple has the App Store, we have the Android Market.  I’ve not seen much of the App store (my wife has one, but I haven’t used it much).  You won’t go far wrong using the apps that are highlighted across the top bar.  Searching for applications are easy, and the categories seem to be really well maintained.

Applications download easily and are quickly kept up to date (I’ve had a number of updates in the few days that I’ve had the Market.  You can see applications that are installed, and applications that need updating by going to the “My Downloads” section.


Barcode Scanner

BarcodeScannerThe second application everyone MUST have is the barcode scanner.  You can use it for scanning many kinds of codes.  Many sites display these barcodes instead of links to applications (I will be using them too at the end of this article).  You can then use the scanner to read them and you’ll get directed to the Android Market. It can be used for Contact details, notes, and as plain old numbers.



Twitroid When it comes to Twitter Apps (free ones), Twidroid is the best.   The UI is pretty simple, and they keep it up to date.  It does DM’s, RT’s, can attach pics, and browse through your followers and people you follow.



SkyMap I’d heard about this application before Android was available in South Africa.  As an amateur astronomer I always struggle to know what exactly “that bright star over there” is. With Sky Map, you simply point your phone at the sky as if you were taking a photo of the star, and Sky Map will show you what stars are there.  If you’re looking for a star or planet, you can search for it, and Sky Map will show you where it is. Google’s site for Sky Map has a nice demo.


Task Killer

TaskKiller Android usually does a great job of managing your processes.  As soon as it figures out that an application needs more memory, it closes applications that aren’t currently in focus.   As a developer, it’s a really annoying habit of the OS because you have to build your applications to take this into account.  Unfortunately when you have a bunch of apps that run in the background, your battery life can start to run out quickly.  Task killer shows you what applications are running and you can close them easily.


Useful Switchers

UsefulSwitchers Turning on/off various features ends up being a long process unless you have Useful Switchers.  Another battery saving tool, this lets you quickly turn on or off services that usually would drain battery life.  So with one click you can turn on/off bluetooth, gps, wi-fi, and even swap into “Flight mode”.  It has a “flashlight” and the ability to change the brightness of the display (really handy at night).



PlacesDirectory What Skymap does for stars, Places does for things closer to the earth – just without the super cool graphics.  Do you want to find the nearest restaurant?  Go see a movie?  With Places you can search for establishments around you and it will direct you there. There’s a few other apps that can do this too, some cooler than this, but this is another one of those apps that I’ve heard about for ages and had been waiting to play with.  One thing that it’s lacking is the ability to add new content, but I’m sure it will grow in future.  It’s South African content is ok, but not great.   If you’re travelling abroad or in a different city, this could be really useful.


Android devices to get Flash 10 beta in October!

Just read a tweet from @DevDroid linking to a post by TalkAndroid entitled “Adobe Flash Player 10 For Android Due In October”.  I haven’t listened to the entire talk from Adobe but here’s the quote from their slideshow:

Flash Player 10 for smartphone-class devices to be made available in beta at MAX conference in October  []

According to TalkAndroid, the Adobe CEO Shantanu Naraye said:

Google’s Android, Nokia’s Symbian OS, Windows Mobile and the new Palm Web OS will be the first devices to support web browsing with the new Flash player [via Talk Android]

So, still no word on iPhone getting Flash.  It makes me really glad that I chose to purchase a phone based on an open platform.


Getting Android Apps without the Android Market

A “smartphone” without applications isn’t a SMART phone, its just a phone.  I know I’ve complained about the lack of the Android Market in South Africa.  Apparently the guy at Google in South Africa who’s responsible for the Android Market has said that it’s coming soon. (I didn’t get a response to my email to him asking him for a comment, but that’s what I’ve been told by another local Android fan)

My favourite so far is Handango, but here’s my list of markets.  Worst of the pack (so bad I didn’t include them, were and – no “on device” experience, and a lot of really bad applications.)

Handango – starstarstarstar

Handango has been around for years.  I’ve used them for apps on my old Palm pilot, Windows Mobile phone and now on my Android phone.  Their Android selection isn’t huge, but they have some fun games, apps, and tools.  If you go to from your device you’ll be prompted to install “InHand” – their Android application for browsing through their store and downloading apps.  They even have some EA games in their catalogue.

Rating: 4/5 – Good, but really not as good as Android Market – no way to be informed of updates to an application that you’ve downloaded already.

MobiHand – starstarstar

I hadn’t heard of them until I started looking for alternative App stores. MobiHand seem to have a pretty extensive collection of applications for many devices.  They have a really well trimmed down mobile site at which you can use easily from your Android device.  My only complaint about the online store on the Android devices is that when the list of apps is too long and they start to split them into pages, the links to swap from one page to another are so incredibly small that it’s virtually impossible to click them without zooming in 3 or 4 times.

Rating: 3/5 – It’s good, has a start in the “on phone” experience for browsing for apps, but it’s not a happy experience and could use a few more apps.

Handmark – starstar

Yet another new store to me, Handmark seem to have made a really clean site.  Their software selection seems a little less impressive than both MobiHand and Handango.  That could be because both their mobile and full website seem quite tough to use to find applications.   It looks good, but just seems to require too many clicks to get there.  However, they seem to be the only app store that is selling some of the great EA games like The Sims 3, Spore, Sim City and a bunch of others.

Rating: 2/5 – Not a great search or “on device” experience, but the EA games are a big plus.

Google Search – star

Thanks to Google, I found my a great app for Geocaching, which had just been released for Android.  It’s called CacheMate.   I also found GeoBeagle, which is a free app.  That’s how I found Twitli – a really nice Twitter application.

Rating: 1/5 – You can get some nice things here, but it’s a lot of work.

Open Market – star

I’ve written about this before – you can get to it at Open Market.  It’s great, but is missing a load of apps. Doesn’t do paid apps, and I still haven’t heard back from them about the app I wrote and submitted to them a few days ago.  Until it gets more fully fledged, it’s not going to be a real contender, but you can download it on your phone at

Rating: 1/5 – because it’s just South African, has no paid apps, doesn’t let you register as an app developer or downloader.


How to take Android Screenshots

For those of you wondering how I made the super awesome screenshots in the previous post.  It’s really easy.  Apparently there’s a $3 app that does something similar, but you can do it all for free if you have Java on your machine and have downloaded the Android SDK.  I got the steps to do this from “Taking screenshots on an Android-based phone”.

I’m going to quote a fair bit of their instructions, and make one or two modifications as necessary:

Step 1: Enable USB Debugging
On your Android phone (in this case, the G1), go to Settings, then Applications, and then Development. Check the checkbox for "USB debugging."


Step 2: Download the Android SDK
Download the SDK for your platform here. Google also has some great installation documentation if you get lost. You will need to make sure you have a current copy of the JDK.

They then go on to say that you’ll need Eclipse to carry on, but you shouldn’t.  All the functionality is contained in the SDK.  I’m working on Windows XP, so your mileage may vary on other OS’s.

Go ahead and plugin your Android handset into a USB port on your computer, if it is not plugged in already.

Step 3: Run DDMS
After configuring Eclipse or whatever IDE you use to work with Android, you need to open up the DDMS application from within the "tools" folder in the Android SDK’s main folder.
After DDMS launches, select your handset from the menu on the left (it should be the only device listed). You might see an error message, but the debug tool should be loaded. Then, click CTRL-S on your keyboard. This will bring up the "Device Screen Capture" interface. From here, a static image is captured from what is appearing on your handset. You can save the image (nicely defaulted as PNG) and then refresh to your heart’s content to grab updated or different screenshots from your phone.

That should be it… Easy and quick screenshots.  Just remember, if you choose to make the SD card accessible to your PC by doing the following, then you won’t be able to use it on your phone for your demo’s:

01 - Mount SD Card via USB But if you don’t do that, then the phone should operate like normal.


HTC Magic’s keyboard

02 - Default KeyboardI have the plain HTC Magic (i.e. not the “with Google” version), and have been learning how to type with it.  My first complaint was that the keyboard in portrait mode, the standard QWERTY keyboard became a little small to work with.  Especially if you have slightly wider fingers or not too accurate hand-eye-coordination.  So one of my first missions was to investigate the alternative keyboards.

From my initial reading, I’d not seen much that gave me great hope for any better keyboards in portrait mode.  One of the guys in our offices recently got a Samsung Omnia and was showing how he’d swapped to an “XT9” keyboard in portrait, and I wished that Android had been clever enough to do the same.  With little hope I clicked on the little “cog” and went through the following steps:

03 - Keyboard Settings 04 - Touch Input Settings 05 - Touch Input Settings - Keyboard Types selected
Click the “Setup” cog< /td> Touch Input Settings Click Keyboard Types
06 - Touch Input Settings - Keyboard Types 07 - Touch Input Settings - Compact QWERTY 08 - Compact QWERTY
Keyboard Types List Click “Compact QWERTY” Enter Text

The result is a slightly fatter keyed QWERTY keyboard.  It’s not one I’m used to using so this didn’t quite work out too well for me.  Looking at the other option in the list of keyboard types (“Phone Keypad”) I just assumed it would be a quick way to enter numbers.  Boy was I wrong.  I followed the same steps as above, and chose “Phone Keypad” and came back to my browser and found this:

09 - Phone Keypad I now had a phone keypad just like the physical pad I used to have on my old iMate SP3.  The little “XT9”/”ABC” button on the left swaps between T9 predictive text and standard multiple-push ABC style entry.  To make things even cooler, if I tilt the phone on it’s side, it doesn’t stick with this keyboard but rather swaps to the standard QWERTY layout again because there is now enough space to use bigger keys, as follows:

10 - Landscape Keyboard

Now I can have the best of both worlds.  Of course my fingers still sometimes make mistakes, but that’s where the clever “auto correct” type feature kicks in and saves the day.  For example, if I’m typing an SMS and I want to start with “Hello” but by mistake I miss the “h” and press “g” to start with, the following happens:

11 - AutoCorrectIt actually lists alternative words that use keys near to the ones that I pressed, and selects the one it thinks is the most likely correction.  If I press “space”, it will automatically choose the word highlighted in green.  This is really useful and, as Leo Laporte said in an episode of TWIT (referring to the iPhone’s auto-correct feature) “as long as you trust in Steve, it will all work out” (slightly paraphrased). 

There are times when it’s not so great, as in the first time I typed in “Er” where it helpfully substituted the word “We”.  I didn’t realise that it thought I’d made a spelling mistake, so I happily sent off a rather cryptic sentence via Google Talk.  But that’s where Android have been really smart.  If I type in a word that the phone doesn’t recognise, I just have to tap on the word in the list of suggestions and it adds it to it’s dictionary and will use the new word in future.

I think the reason that the “T9” style keyboard is called “XT9” is because they’ve extended the standard “T9” to allow for similar mis-pressed keys.  So that the same ability that the landscape keyboard has to recover gracefully from my badly pressed keys extends to the “T9” keyboard too.

By mistake I also found out that doing a “long press” on a key gives you an “options” menu as follows:

09 - Phone Keypad - long touch     12 - Standard QWERTY - Long Press

For people who have to write Afrikaans stuff often, the ability to write é or ö at will could be great in the standard keyboard and when using the “ABC” mode of the “Phone Keypad”, it can be a nice time saver sometimes.


HTC Magic – Part 1 – Unboxing and initial impressions

I’m going to do this in a few parts:

  1. Unboxing and initial impressions
  2. My first app for the HTC Magic
  3. Any updates to the impressions after my Vodacom sim card starts working
  4. Review after a week

On Friday morning I finally got the call that the phone had arrived at Vodashop Rivonia, unfortunately my HTC TyTn has a *really* bad camera so the pics from the shop didn’t come out too well.  The process signup was pretty smooth, although it took almost an hour to get completed.  (The shop didn’t have the HTC Magic on various lists and they all needed to get updated, and then the manager needed to do some approval but he’d popped out)

The phone came with a full battery charge (possibly because Vodacom updated the ROMs on the phones before selling them) which was great – no need to charge it before you can play with it.   Since I’m porting form MTN to Vodacom, I need to wait for the port to complete before I can actually make calls on the phone, so I’ll be writing another post to give any updated impressions of the phone once I can use it to make calls and such.

IMG_0739 I’ve had 2 other HTC phones and this packaging was probably one of the cooler ones that I can remember.  Nice and compact, and easy to open.  Relatively minimal clutter on the packaging.



Once you take off the outer shell, you see the phone, covered by a plastic film that says IMG_0742“Important – to prevent damage, do not apply excessive pressure to the screen or device case. Please remove the device from your pants pocket before sitting down.  For more details, see the Quick Start Guide.”  Now I’m assuming that this must not be present on the phones sold in the UK for two reasons.  Firstly, UK people would have to wonder why anyone would keep their phone in their underwear, and might be wondering about the logic in placing a pocket in one’s underwear.  Secondly, its assuming that everyone who uses this phone wears trousers and not skirts/dresses which is semi-sexist.  Sorry ladies/gents, you can’t use this phone if you’re wearing a dress!

Underneath the cardboard that the phone is resting on, is the rest of the contents of the box which looks like this:
Going from left to right and top to bottom, those are: Charger, Accessories booklet, Corded earphones, HTC Care booklet, Warranty Statement, USB Cable, Quick Start Guide, Battery (below the guide), slim “leather” case, phone, and the cover with the warning described above.

What you’ll notice, if you compare this list of goodies with the list of goodies that Vodafone UK customers get, you’ll see that we’re missing the USB to Headphone jack converter cable.  HTC (in their usual style) don’t give you a Headphone jack to plug into on the phone so you have to use their USB headphones.   Vodafone UK clearly saw this downfall and rectified it by including a USB to Headphone jack converter cable, while Vodacom decided not to do that.

While I’m happily bashing Vodacom and praising Vodafone, my initial look at the Vodafone offering showed that they get the “with Google” branded phones which means that they’re missing a few apps that the Vodacom guys do get.  You can see the spec’s of the two phones here:  HTC Magic “with google” vs HTC Magic (not “with google”) .  From what I can see on the spec sheets here’s the bonuses of getting the one that is NOT branded “with google”:

288mb RAM instead of 198mb, “A2DP for wireless stereo headsets”, HTC Sync (for syncronising data with your PC), Microsoft® Exchange Server synchronization

[HTC Magic Comparison]

BUT there is more that they don’t tell you…the phones not branded “with google “ get:

  1. “HTC Mail” which besides being their Exchange integration, also does POP3 and IMAP mail
  2. PDF Viewer – for viewing PDF’s
  3. Quick Office – for viewing MS Office documents

So on the whole Vodacom are getting us a better deal than the Vodafone guys.  I’d be really impressed if there were no downsides, but there is just one (even though it’s not Vodacom’s fault).  The HTC Magic’s sold by Vodafone include Android Market which is where most of the great Android applications can be found.  It’s like selling the iPhone without the App Store, or a car without some place to “pimp it out”.  As far as I’ve been able to tell, most of this is under Google’s control, so there’s not much that Vodacom or Leaf can do.

What they have done is to create their own “Open Market” which is a great idea except that it doesn’t yet have many apps.  And as luck would have it, as I start trying to list some now their application starts off hanging (causing Android to try to close it as a non-responsive application) and then tells me that my device has not been given access to the Open Market and that I should contact my provider.

If you want to get apps I’ve found a few ways of getting them:

  1. Go to Cyrket (pronounced like Circuit), there you can find the app, then do a google search and hope that the developer has provided a direct download.  If not, PLEASE take the time to email the developer and ask them to make it available elsewhere.  I’ve found 3 or 4 developers who have been more than happy to send me a direct link to their software.
  2. Android Freeware (   I am not linking directly to it because their apps just seemed dodgy, like the “Facebook” app which really is just a shortcut to launching
  3. Google – Just google for: Android Weather download, or Android Geocaching download.  It takes a while, but its been one of the best ways for me to get some nice apps.

If you’re a geek, you can take a look at, then search for Android apps, download the source, open it in Eclipse, build the project, and then transfer the resulting .apk to your phone.  That’s how I got ZXing – the Barcode scanner – on my phone.  I’m not sure of the legalities of posting a link to the apk, so I won’t do it just yet.  I’ve also got a really basic Solitaire app too.  Some of the projects even link directly to their own APK, like GeoBeagle (A GeoCaching application for Android)

On the whole I’m really happy with the phone even though the lack of applications is slightly frustrating.  Apparently it took 6-8 months before Australia got the Android Market, and even then they only got access to the free apps so hopefully this will be fixed in time.  But until then we’re at the mercy of Leaf, Handango, Handmark, Mobihand, and the developers of applications.   If I think about the trade off – Android Market vs all the benefits of the non “with google” phone, I think we’re better off without the Market for now.


Captcha’s in ASP.Net

I recently started getting some spam from my “contact us” page on my site.  I’d set it up “cleverly” so that it doesn’t try to send the mail to/from the addresses entered into the form since I’d seen online contact forms being used for “evil”.  Unfortunately I’d not taking into account the possibility that someone might use the form to send me spam.

Since I’d completely ignored that fact, I had not bothered to do any kind of captcha or other check to see that there it was a human that was sending the mails.  To be honest, part of the reason was that I’d imagined that making a Captcha work well would require WAY too much effort and I just wasn’t up to the task at the time.

Now that I was getting spam, I needed to make a plan and make one quickly before I was swamped by the mail.  Fortunately I remembered reading about ReCaptcha.  Basically they’re scanning books and words that are partly recognised get used in their captcha images.  Then when people enter the values for the captcha’s they’re helping ReCaptcha improve their OCR quality.

I headed on over to their site and was AMAZED at how many plugins and code “modules” they’d built.  Just take a look at the ReCaptcha Resources – When it comes to languages they have PHP, ASP.Net, Classic ASP, Python, Perl, Ruby, Java, JSP, and Coldfusion support.  And they have plugins for WordPress, MediaWiki, phpBB, Movable Type, Drupal, Symfony, Typo3, NucleusCMS, vBulletin, and Joomla.  That’s excluding the fact that they have an API that you could interact with directly.

On to the ASP.Net.  It’s REALLY easy.  You reference their DLL, then register a tag for their control on the page you want it to be placed on as follows:

<%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>

Then you sign up for an API Key, and place the Captcha control in place as follows:


Then finally you just put in a bit of code on the submission of the form that checks:

if (Page.Valid())

If it’s not valid, then the user entered the wrong captcha.

Three simple steps, and super quick to implement… Now my Contact page has a Captcha on it :)  I love it when things just work, and work simply.