A good use of an old Windows Mobile phone

Before owning an Android phone (Samsung Galaxy S) I had a HTC TyTN II which is a Windows Mobile 6.1 device. Until recently it was lying in a drawer because I didn’t know what to do with it. I didn’t want to give it away because I was afraid to turn the new owner into an enemy due the the poor quality of the phone. Anyway I am a so-so happy Android user now.

But recently I had to travel to Italy here and there and I was really lost without an internet connection to my laptop. Sure, I could use roaming, but I am not that rich. I figured out that the cheapest way to get connected in Italy is to buy an Italian prepaid SIM card, from TIM in my case. During the buying process I encountered two peculiarities.

1. The vendor asked me for ID. ID? For prepaid SIM card? I learned that they have this fabulous anti terrorism law in Italy that forbids vending SIM cards to anonymous users. Never heard of it in Slovenia. They even forbid vending more than 4 cards to a single person if I recall correctly. Go figure.

2. The guy asked me whether I want to use internet on my phone or on my laptop. Phone of course, why would I pay a premium price? After all Galaxy S comes with a mobile access point and I though it would be fine. It worked in Croatia just fine. Surprise, surprise, it doesn’t work. It works if I access the internet from my phone but not through an access point. After speaking with a fellow MVP network guru Miha Pihler he figured out that they probably inspect TCP/IP packets for traces of NAT and in such cases block the traffic.

One solution to this problem was to switch my Slovene SIM card in Galaxy S with the Italian one each time I travelled to Italy. There are two shortcoming to this solution. It is annoying to switch them again and again and I still couldn’t access internet from my laptop. Hey, I could buy a cheap GPRS modem. Hm, those aren’t that cheap after all, specially because I don’t need it that often.

At this point I remembered my old crappy TyTN II lying in the drawer. I also remembered that there is a really nice internet tethering application out there called WMWiFiRouter. Combining the two and using Bluetooth PAN feature it was a matter of minutes for connecting my laptop through bluetooth to TyTN II to the Italian internet. It is just that easy - a matter of starting the application and clicking a button. Besides Bluetooth PAN WMWiFiRouter can share cellular internet connection through USB and WiFi and much much more, see the features list.

The bottom line is that I finally found a good use for TyTN II and found a good internet tethering application as well which I’d definitely recommended.

Microsoft Tag beta

It goes basically like this: Sign up, create one or more tags (the image is generated on the server), make a sticker with tag image and once people scan the image with a mobile phone or some other mobile device they get the action you associate with the tag (i.e. open an URL). Simple and effective.

Even on my lame HTC TyTN II Windows Mobile device all it takes is a click to start the application and pointing phone’s camera to the printed tag. (to install the Tag application on the mobile phone you should browse the http://www.microsoft.com/tag using your phone’s browser)

Here is an example that will redirect you to this blog. Note that images aren’t fixed sized.

Righthand's_blogYou can test Microsoft Tag for free.

Should we get PocketPC/Windows Mobile OS upgrades (for free)?

In the times when HTC rules the Windows Mobile market with an absurd amount of different models nobody is questioning their (and perhaps MS’) tactics of pure greed and “buy new device each couple of months” logic just to get a bunch of issues fixed (and introduce new ones) and of course, to get a new OS version. True, along you’ll get newer hardware as well, but do you really need it?

The logic is simple: HTC shovels tons of good (or bad) hardware into the device, installs whatever Windows Mobile version is actual, includes drivers or not, checks the functionality by doing few tests in a day time span and releases the model. At least this is my impression. If something doesn’t work as expected you are free to purchase an improved version in a month or so. OS upgrades are very very rare and more of an exception than the rule. Missing drivers? No way they will provide any driver that is missing from the beginning even if it is a core driver, such as graphics accelerator.

In other words, upgrades are something they are really reluctant to offer. Why? Simple, more we sell more we profit. Am I spoiled by desktop computers where at least I can buy an upgrade? I don’t think so. And nor does Apple. They are giving iPhone upgrades for free. OK, iPhone isn’t perfect nor is Apple selling policy etc. but, they are providing upgrades for free. Something unthinkable in Windows Mobile world. Somebody might say that newer Windows Mobile requires better hardware and won’t run on existing devices and thus buying a new model is a necessity. Wrong. Take for example my TyTN II. It has almost the same graphics horsepower and a bit slower CPU as iPhone. Should it run WM 6.5? I think so and probably it will through self-cooked ROMs. Will it run an official version of WM 6.5? I very much doubt it.

And then there is Google Android:

Android is the first free, open source, and fully customizable mobile platform.

This approach is unthinkable again, this time for both HTC/MS and Apple. It is too soon to judge it but the idea is great. Is it possible that some day we’ll see new devices come with drivers only and we’ll be able to install whatever OS we’ll want? Just like our desktop machines? It doesn’t looks like a near future but Android is certainly a step in that direction.

Anyway, the most important difference between Apple and HTC/MS (hard to say who is responsible for what) is how they treat their devices. Apple treats them with love and care and they put a lot of effort to make them customer friendly. On the other side, HTC just puts hardware together, installs OS, throws them to customers and forgets about them. I wonder which is the policy you prefer. HTC/MS should learn something from both Apple and Google not just copy Apple’s marketplace thing (forthcoming WM feature) to make more money. It is the attitude! Even the super hyped honeycomb UI won’t make a significant difference (why the heck are people even speaking about it?).

Last but not least, mass producing instead of software upgrading unnecessarily burdens mother earth with enormous amounts of (HTC) waste.

I am currently stuck with HTC TyTN II/WM6.1 and I am waiting for a new gadget to appear. It just might be an Android one, but certainly not powered by HTC. My confidence in Windows Mobile is slowly vaporizing and I’ll most probably jump the wagon. Heck, even ease of development won’t convince me anymore (being a .net developer programming WM is somewhat familiar). It is just not quite the time for me to switch, yet.It is comming though.

Perhaps my impression is wrong, feel free to correct me. Note also that this article is more or less about the OS upgrades, not other problems.

First signs of Direct3D life on HTC TyTN II!

Guys at xda-developers.com achieved a breakthrough in HTC TyTN II missing (3D) graphics acceleration technology. In fact they achieved to cook up a proof of concept Direct3D driver that is able to accelerate windowed application on HTC's original WM6.1. Now is clear that MSM7200 inside TyTN II is capable of 3D acceleration if nothing else. Excellent work, chefs!

If you are in the mood for "miracles" then read the forum and download the drivers from HTCClassAction.org.

My article about missing HTC TyTN II graphics drivers published on Moj Mikro

A while ago I wrote an article about HTC TyTN II and its missing graphics drivers for Slovene computer magazine Moj Mikro. Now the article has been published on-line, so check it out if you are interested in why TyTN II's graphics performance is dismal, or how HTC is treating their loyal customers. The article is in Slovene.

Read the article here.

Update since article has been written: new ROM has been delivered with Windows Mobile 6.1 and no proper graphics drivers.

HTC did it again - new ROM, old story

At the beginning of this month news went out that HTC will release a new ROM featuring Windows Mobile 6.1 and improved graphics drivers for TyTN II device (and improvements/solutions for most of the issues). While the former was clear and confirmed by both [MS] and HTC the later was muddy. What improved graphics drivers exactly? Then an article was published in a Dutch online site and translations suggested that HTC had actually bought proper graphics drivers from Qualcomm and it will include them in this same update. Yeah, right.

On Friday, more than two weeks later HTC actually released a new ROM for the TyTN II device (you'll find it at HTC's e-Club web site). It features Windows Mobile 6.1 but, of course - cheap, ignorant and arrogant company as HTC these days is, no proper graphics drivers at all. Yep, the first reports don't indicate any significant performance improvements, the device is still unnecessarily sluggish - even worse, new ROM has apparently brought new problems (at least to some users), among them device freezing while typing on keyboard, Internet connection sharing won't work and Skype won't work either. Furthermore many old issues are still there.

Will I install new ROM? Certainly not at this time.

Building your own Media Center

Since I have IPTV I am really annoyed by not having an option to save programs, like in old video recorder and cable network days. True, one can still save using video recorder, but the problem is that video recorder can't change channels on STB (set top box) and thus you are limited to a single channel. Pretty much useless. The other option is using personal recorder, a feature provided by my IPTV provider. But again, the drawbacks are enormous: there is a monthly fee, you are limited to 6 hrs of total saved content. Even worse limitation is that your content can be stored for maximum of two days (forget vacation, or drive back to home every two days to watch the saved content). But there's another drawback, in fact mother of all drawbacks: only a few channels and not all shows on those channels are allowed to be saved. Total useless crap.

Hence the idea of my own media center. After all I live by using my development skills, why not use them for this one. So, RH Media Center project was born.

The main objectives:

  1. ability to save from IPTV
  2. ability to schedule saving
  3. ability to playback saved content
  4. ability to control RH Media Center by remote

Hardware requirements

  1. A computer (server which is always on preferably) that will be used to save content
  2. A computer to playback the saved content (possibly attached to TV). In my case this is my laptop.
  3. A PocketPC device (remote control)

1. and 2. can be the same computer, whatever is feasible for you.

Implementation

VLC media player ActiveX control is at the core of RH Media Center. VLC media player is a free, open source, cross platform application that plays just everything out there, including SIOL IPTV streams. And luckily for me, they have an ActiveX control, too. In fact I've build my application around this ActiveX control using Windows Forms UI. Here is how it looks:

 image

Video (both IPTV stream and saved content playback) is rendered and saved by VLC. You can also see a bunch of controls on the top and the channel listing on the right. There is also saved content listing in the docking panel next to channel listing.

image

Test saved contents listing

Note that UI is pretty rough at this time as prettiness wasn't one of the objectives. Anyway the objectives 1. and 3. are done now.

Scheduling

Once the core functionality is done (see above) the scheduling is pretty easy. The application should parse command line arguments and start saving given channel for given time. The content file name should be made of given argument (i.e. name of the show) plus date. Here is an example:

RhMediaCenter.exe rec "Channel" ShowName 120

This means that content from "Channel" will be recorded for 120 minutes to a file name

ShowName_hh_mm__dd_MM_YYYY.ps

ps is MPEG-PS extension. You'll note that I didn't specify when should the recording start aka scheduling. This step is done using Task Scheduler - no wonders there, just run that command line at any time you specify and that's it. A bit rough to configure but it works just fine (in future I'll enhance the configuration step).

Remote control

Every decent media center has remote control capabilities. How can you skip those commercials otherwise? I've figured out, that I have a bunch of PocketPCs lying around and collecting dust. At the same time I have a Wi-Fi network at home. Get the idea? Yes, I'll use PocketPC over Wi-Fi to control my media center. The technology of choice is WCF which is partially supported with .NET Compact Framework 3.5. BasicHttpBinding, here we go.

So I've build a simple Windows Mobile 6 application which looks like this:

image

It allows to connect to preferred RH Media Center through providing a proper IP, it can get a list of saved content and it allows you to play any of them. It features also a Pause button and move forward (left group of buttons) or backward (right group of buttons) for a given time span. And after creating a hole in Windows Firewall on computer where RH Media Control runs it just works.

The only problem is how to build WCF service client code for .net compact framework. This feature is provided by Power Toys for .NET Compact Framework 3.5's NetCFSvcUtil utility that does the similar job as Service Metadata Utility (SvcUtil.exe) for .net framework.

Conclusion

I solved the biggest IPTV issue - saving programs and playback of saved content using a remote control. By using .net 3.5/Windows Forms/WCF/Compact framework and VLC ActiveX control it took me only around 10 hours of total time over the weekend (most of the time I used for plumbing , user interface and figuring out VLC ActiveX oddities). If you wonder why I'd used Windows Forms instead of WPF: because I was experimenting at the beginning (and the project is still an experiment) and I have no 3rd party controls for WPF yet - so it was easier with Windows Forms. In future I'll be definitely using WPF.

I have to say that .net/VLC made it so easy to build this pet project - the ease of putting pieces together is amazing.

BTW, Is anybody interested in binaries? (I am not saying I'll provide them nor that I won't provide them :-))

My first article published in Moj Mikro, Slovene computer monthly magazine

The article is all about HTC's dirty secrets behind its line of PocketPC's based on Qualcomm's MSM7x00 CPU/chipset and is my first article being published in such a large scale magazine or in any magazine I guess. Moj Mikro also brings my memories back; I remember when I was young and I was eagerly waiting for the magazine each month. At the time Moj Mikro was more or less the only Slovene computer magazine and one of the few Yugoslav ones (Slovenia was part of Yugoslavia then and there were a couple of Serb computer magazines, too).

Anyway, the magazine comes out on the first Tuesday in March and I hope you'll enjoy my article titled "Umazane podrobnosti HTC mobilnih naprav – dejstva, ki jih je HTC zamolčal".

Feedback appreciated of course.

HTC is giving a finger to its customers

I already reported about presumably lack of drivers in newer HTC devices. At the time it was all speculation. Now we have an official response from HTC. They are basically saying:

Yes, we advertise the devices as great, the devices have actually great hardware but we don't include proper drivers because it would take time and effort from us. Thus the devices perform worse than years older devices but it is still good for you. We won't provide drivers for actual devices, no, that would take time and effort from us. Instead, since you demand it, we will sell you future devices with such drivers, if you really want it. Maybe.

Now, let's play a couple of analogies. Let's say you bought 64 of the newest top notch graphic card, that features a zillion of pipelines and 64 way SLI. You plug them into your mobo that supports 64 SLI graphic cards and try playing Duke Nuke'm 4 only to find out that graphics perform same as with a single 4 year old graphic card. The reason being drives not included. Nor they are available at all. What? You did assume drivers were there?

Let's see a car analogy. You buy a great car, that includes a turbo charger. Yet, the acceleration and top speed are low. The reason being turbo charger is not working because is not connected. And you can't connect it since nobody is selling connection cables. What? You did assume turbo charger will work?

Now, let me state this clear, as there is some misunderstanding in the air. It is not just about video playback speed and quality. The entire UI is slow. Try running Windows in safe mode with VGA mode enabled and you'll get the point. This lousy UI performance casts a very dark shadow to [MS] Windows Mobile, too - many says that the slowness is because Windows Mobile sucks. Perhaps, but the core reason is the lack of hardware acceleration. No wonder that iPhone had such a success. In this case Apple did an integral product, not just created good hardware and throw it to the customers. No, they actually provide proper software, too. (I am still in favor of Windows Mobile devices though for other reasons, such as programmability). Looks like the Windows Mobile device manufacturers lack of common sense when comes to usability.

So, what does the biggest Windows Mobile device manufacturer do when its customers point out that it is selling an underperfoming device just because lack of proper drivers. Will they rectify the problem and provide proper drivers? Will they provide proper drivers for a small fee? No, HTC shows a proverbial finger at its loyal customers (HTC is also mentioning how much they value their customers in every press release). I only hope that this attitude will backfire on them.

The biggest mystery of this story is, why isn't HTC including these drivers by default. I mean what company wouldn't like to have best performing devices out there? I presume that there are two basic reasons:

  1. They are plain stupid (they don't see why those would be required, even now, with iPhone UI performance out there)
  2. They are cheap. Which is stupid again. Because they won't spend money on better software they'll loose additional customers. But if they did spend it would be certainly an overall profit for them.

I really can't think of other reasons.

So, it is not just about the lack of drivers, what really is sad, is the response and attitude from HTC.

But hey, let's give the finger back - I won't buy a HTC device again and I am sure that many others won't as well.

HTC devices and lack of proper drivers

If you are considering to buy a HTC device or already have one then you should definitely visit this website: HTCClassAction.org. IOW a range of HTC devices that have Qualcomm CPU (MSM7200 and MSM7500) lack of proper drivers. I own a TyTN II and I can confirm that UI is really crappy slow while the paper specs looks far better.

Now, why would a manufacturer decide to cripple its devices? My guess: most probably because there are no proper drivers from Qualcomm for Windows Mobile. Yet. So we all have to wait for proper drivers to emerge. And here we get a real problem. HTC is playing dumb, denying the problem and stalling which is a completely wrong attitude from such a company. Instead of saying something like: "Qualcomm screwed us with not providing the drivers, we are pushing them, will update drivers asap (i.e. month/year) and sorry for all the problems" they are playing dumb. "Luckily" the number of angry users is raising, petitions are being signed, news is spreading through online community and lawsuit is being prepared. And perhaps HTC will change the attitude, after all the public image is important and even HTC should understand this.

At the end, even though we might get proper drivers, a black spot will remain on HTC for a long, long time. The fact how they are dealing with the problems might turn away a lot of existing and potential customers. I hope that this will serve them as a lesson where to improve.