Posts Tagged ‘xda’


This iPhone 4 wife

August 8, 2010

iPod It seems very strange that I have now purchased 4 iPhones but am still using a Windows Mobile phone. For a while at least I will continue to lead this iPhoneless life. The first 3 iPhones (all 3GSs) were for my children, for the festive season, and just recently an iPhone 4 for my wife, Naomi.

My children are absolutely besotted with their iPhones. In heaven with them. Naomi hates hers and keeps begging me to get rid of it. Until very recently she was a Windows Mobile user too, and had been since the first O2 XDA came out 7 or 8 years ago. But her O2 XDA Orbit2 was suffering death throes (symbolic of the Windows Mobile platform as a whole) and the iPhone seemed the obvious, safe alternative. Naomi had had a play with the kids’ iPhones (admittedly mostly Doodle Jump) and I expected her to take to it straight away. But she is finding the transition very hard going.

Steve Jobs has shown us that the one true smartphone experience has no room for a pesky stylus. Such things are fiddly and keep getting lost or broken. There is no need for any such contrivance if the user interface is properly thought through. Except that Naomi had had plenty of time to get very efficient writing texts etc with a stylus and finds the iPhone keyboard to be a beast, as many do on first acquaintance. Coupled with exceptionally unhelpful predictive text and her unfortunate tendency to hit send on SMS messages by accident and the results are utterly infuriating for her, when they’re not hilarious.

Last week she replied to a text from my son Jonathan which asked for advice on making sure a text he planned to send to a friend was not misinterpreted. She wanted to suggest he tack a smiley on the end of his text. But thanks to her keyboard issues, the unwanted incompetent interference from the predictive text facility and an untimely use of send she ended up advising him to add a “skills” to his text.

The reply came back: “what is a skills and where do I put it?”

Naomi dissolved into a fit of uncontrollable laughter. She could hardly breathe, let alone say a word. Which was highly inconvenient because at that moment I was driving the two of us around the horrible Coventry ring-road system (which I do not know at all), was struggling to make sense of the Satnav and was hoping for some help from my co-pilot. I had to manage without help.

I sense Naomi is settling down, very slowly, to the iPhone. And what are the alternatives? Another moribund Windows Mobile phone? Just putting off the inevitable. A Blackberry with a real keyboard? She likes the tiny buttons even less than Apple’s virtual ones. And there really is no going back to the horrible texting systems we had before smartphones.

So I imagine the iPhone will stay. But in trying to help my wife get on speaking terms with her new phone I have spent a fair bit of time with it and I do see where she is coming from. The more time I spend with it, the more I think Windows Mobile has come in for an unfairly bad rap.

I don’t think I will be buying a fifth iPhone. Not for myself. I know Windows Mobile is on its deathbed and Windows Phone 7 is still some way off being ready to invest in. Most likely I will go with the trend towards Android.

AddThis Social Bookmark Button


The Daily Ringtone Wiz

January 28, 2009

Or how to get your Windows Mobile phone to use a different ringtone for each day of the week

Vista busy cursor The popular gadget podcast “The Daily Giz Wiz” is famed for its amusing themes and jingles, contributed by talented musicians who are fans of the show.  Regular listeners to the podcast, hosted by Leo Laporte and Dick DeBartolo, will know there are now separate themes for each day of the week, even Saturday and Sunday when the show is not actually on.

The themes are available for download and it struck me as a fun idea to use them for mobile phone ringtones.  Of course, I wanted to have the ringtone change daily to the correct theme for the day.

Picture by Sean Carruthers (by kind permission) – original on Flickr

You can change ringtones manually and for a while I did this every night at the same time as I was checking my alarm settings for the next morning.  It’s not exactly difficult but not very elegant either.

Really, you’d want the ringtone to change automatically.  Unfortunately, there is no facility for this on a Windows Mobile PDA-phone (I have the XDA Stellar which is O2’s rebrand of the HTC TyTN II) and probably no easier to implement on any other mobile platform.

I found myself off on a quest to sort this.  Not because it is important (it is after all just a silly whim) but it was a technological challenge and I don’t like to be beaten.

Suffice to say I found a solution, although I had to cut some code for the first time in years.  But having got there the solution is easy to implement and I am making my ringtone-switching program available for download.  Full instructions for implementing the solution are given below.

To the best of my knowledge this should work on any Windows Mobile phone, even fairly old ones.

Of course, you don’t have to use it with the Daily GizWiz themes.  You can use it with any 7 ringtones of your choice if you like the idea of a different ringtone for each day of the week.

Step 1 – Download the themes and the theme-switcher program

The files are available for download from

The login password is dickyde.

Download all the files to your computer then transfer them to the “My Documents” folder of your Windows Mobile phone (for example using ActiveSync or just opening your WM device in Windows Explorer).

The theme files are simply named for the days of the week: sunday.mp3, monday.mp3, etc.  There were actually two Saturday themes created, a Lueders and a Houghton version.  Dan Lueders‘s theme is funnier but Houghton’s makes for a far better ringtone so that’s the one I’ve included.

If you want to use non-GizWiz ringtones, just rename your chosen mp3 files to sunday.mp3, monday.mp3 etc and ensure they are saved in your phone’s My Documents folder.

The other file is my program, DailyRingTone.exe.  It also needs to go in the My Documents folder of your phone. Don’t trust me that it’s safe to download to your phone – please use your normal virus checker.

All the program does is get the current date/time from the system clock, extract the day of the week then update the ringtone setting in the Windows Registry accordingly.  That is, whenever this program runs it sets the ringtone to the mp3 file with the same name as the current day of the week.

Note that the program does not check that the mp3 file for the day of the week is present in the right folder, although if it isn’t all that happens is that the phone is set to use a default ringtone instead.  The program will run on any ARM processor, v4 or later.

You can test the program by finding it in your phone’s My Documents folder and “clicking” on it with your stylus.  The first time it runs you will need to give permission for it to run.  Do this now, so that the program will already be “authorised” when it runs automatically later under scheduler control.  Look in Settings > Phone and you will see that the ringtone has been changed to the correct day of the week.

Step 2 – Install a scheduler

You need a program to run DailyRingTone.exe every day for you.  There was no point my trying to code this.  There is a free commercial solution (if that isn’t a contradiction in terms).

For PDA-phone users (Pocket PC) you need CT Scheduler lite. Just download and install this in the normal way.  There is a different version for WM smartphones available from the same people, but I don’t have a WM smartphone to test my solution on.

Run the scheduler.  It is very simple to set up. Just add a new event and have it run the DailyRingTone.exe program every day at say 00:01.

And you’re done!

Note that the scheduler program needs to be kept running for the solution to work.  If you reboot your phone or close down the scheduler by mistake you will need to remember to restart CTSchedulerLite or your ringtone will not change automatically.

You can though arrange for the scheduler to restart automatically on a reboot. Find the program CTSchedulerLite in your phone’s Program Files\Connective Tools folder, copy it then “paste shortcut” into your phone’s Windows\Startup folder.

For anyone interested …

This is the main operative code for DailyRingTone.exe.  It may not be the most elegant bit of C++ code  ever written but it works.


unsigned short DayOfWeek;

HKEY hKey;


TCHAR sz0[] = _T(“\\My Documents\\sunday.mp3”);

TCHAR sz1[] = _T(“\\My Documents\\monday.mp3″);

TCHAR sz2[] = _T(“\\My Documents\\tuesday.mp3″);

TCHAR sz3[] = _T(“\\My Documents\\wednesday.mp3″);

TCHAR sz4[] = _T(“\\My Documents\\thursday.mp3″);

TCHAR sz5[] = _T(“\\My Documents\\friday.mp3″);

TCHAR sz6[] = _T(“\\My Documents\\saturday.mp3″);


DayOfWeek = st.wDayOfWeek;

//Sunday = 0, Monday = 1 … Saturday = 6

if (RegOpenKeyEx(HKEY_CURRENT_USER, _T(“ControlPanel\\Sounds\\RingTone0”), 0, KEY_READ, &hKey) == ERROR_SUCCESS){



case 0:

cb = (_tcslen(sz0) + 1) * sizeof(TCHAR);

RegSetValueEx(hKey, _T(“sound”), 0, REG_SZ, (const BYTE *)sz0, cb);


case 1:

cb = (_tcslen(sz1) + 1) * sizeof(TCHAR);

RegSetValueEx(hKey, _T(“sound”), 0, REG_SZ, (const BYTE *)sz1, cb);


case 2:

cb = (_tcslen(sz2) + 1) * sizeof(TCHAR);

RegSetValueEx(hKey, _T(“sound”), 0, REG_SZ, (const BYTE *)sz2, cb);


case 3:

cb = (_tcslen(sz3) + 1) * sizeof(TCHAR);

RegSetValueEx(hKey, _T(“sound”), 0, REG_SZ, (const BYTE *)sz3, cb);


case 4:

cb = (_tcslen(sz4) + 1) * sizeof(TCHAR);

RegSetValueEx(hKey, _T(“sound”), 0, REG_SZ, (const BYTE *)sz4, cb);


case 5:

cb = (_tcslen(sz5) + 1) * sizeof(TCHAR);

RegSetValueEx(hKey, _T(“sound”), 0, REG_SZ, (const BYTE *)sz5, cb);


case 6:

cb = (_tcslen(sz6) + 1) * sizeof(TCHAR);

RegSetValueEx(hKey, _T(“sound”), 0, REG_SZ, (const BYTE *)sz6, cb);




I guess publishing the code makes this an open source (but unlicenced) project.

AddThis Social Bookmark Button


Reminder tip recalled to mind

October 16, 2008

Vista busy cursor A number of weeks ago my PDA phone, an XDA Stellar which runs Windows Mobile 6, stopped reminding me about appointments.  The reminder field would be set correctly, but appointment times would come and go unannounced.

I had rather come to rely on the chirpy reminder tone 5 minutes before I was due on a conference call, or whatever, so this was a real nuisance.  I did all the obvious things like fiddling with settings, changing the reminder tone, soft reset, all to no avail.

Googling threw up a host of suggested solutions to similar problems on various generations of WM smartphones and touch-screen phones. Some of these looked decidedly complex and scary, involving fiddling with configuration files or installing odd bits of external software.

Luckily I came upon this.  The post of interest is from user “bundy” on 13 Dec 2006 at 1:03pm. He happened to recall the solution from an earlier experience.

Apparently, it is all down to an internal appointment database being out of synch.  It can be forced to resynch by changing to a different time zone (causing all appointment times to be updated), letting it chug for a minute then setting it back.  I gave it a minute to chug on both time zone changes and ensured the phone stayed fully on the whole time.

Bingo!  I entered a new test appointment for just a few minutes ahead and with a reminder one minute in advance.  It chirped on cue.

I think keeping the phone on while it goes through the synchronisation processing is key.  What I now suspect caused the problem in the first place was my changing time zone for a trip to the US at the end of August.  Quite possibly I turned the phone off at a critical time, just after changing the timezone setting, and interrupted a resync process somewhere in the middle.

A further lesson, then, is to ensure that the phone stays on for around a minute after changing time zone.

AddThis Social Bookmark Button


Learning to hate with ActiveSync

April 3, 2008

Vista busy cursor I try not to “do hate”. It’s a matter of personal philosophy. The very act of hating someone or something reduces us to the level of the objects of our hate.

But I make an exception for Microsoft’s ActiveSync. In that one case, hate is perfectly justified. In fact, no negative emotion directed towards it is too extreme.

Even during Vista’s endlessly-rotating-blue-bagel-riddled infancy I did not begin to come close to the desire for murderous revenge regularly engendered by ActiveSync, Microsoft’s lame effort at software for synchronising Windows Mobile devices with MS Outlook.

Since my family started using Windows Mobile devices in 2003 (the original O2 XDA and subsequent incarnations) I have synchronised with Outlook as infrequently as I think I can get away with. It has always been such an utter pain, from the frustration of getting a connection (USB, infra-red, bluetooth, wireless, piece of string with a plastic cup at either end … ActiveSync can fail to locate them all) to the unpredictable and alarming threat of synchronising in the wrong direction thus deleting all one’s new contacts and appointments … and latterly dismembering my laptop’s network connection capability.

Yes, ActiveSync rendered my XP Thinkpad unable to connect to a network via LAN or wireless. Violent, painful death would be a megillion times too good for it, could software but be subjected to torture and assassination.

It started when I upgraded my XDA Mini S to an XDA Stellar. I was in danger of making a second exception to my “no hate” rule for the former’s telescopic stylus which suffers from a congenital design fault and becomes very loose in its storage hole after a while. The stylus would fall out almost every time I picked the Mini S up unless I was very careful. I lost the two that came in the original box and two more from a pack of spares I had to buy from O2. I found myself going to great lengths to carry the phone upside down, to enlist some help from gravity in my stylus-retention challenge. Even so, people would keep finding random disembodied styli lying around the place and returning them to me.

Enough! It had to go, hence the XDA Stellar. A far better bit of kit anyway, and thankfully equipped with a non-collapsible securely stowable stylus.

O2 XDA Stellar

You’ve guessed the downside. I had to get my non-SIM contact details across to the new phone. I hadn’t used ActiveSync in months. I tried infra-red to connect. Slow, but experience had taught me it was less disaster-prone than the USB cable method. No dice. ActiveSync did not want to know. Reluctantly, like an utter fool I resorted to USB. No only did this fail to produce a connection, it caused an ActiveSync freeze-up and general computer crash which left my laptop bereft of any TCP/IP based communication capability whatever.

It has taken me days to get any improvement. I have followed any number of Microsoft Technical articles, checking settings and reinstalling parts of Windows. The biggest help has been uninstalling the ethernet and wireless devices from the Control Panel and allowing Plug and Play to rediscover/reinstall them on a reboot. LAN and wifi are now both operational again, although the latter seems to take ages settling down. It keeps losing the wifi connection and reconnecting every few seconds, for the first 10 minutes or so after a reboot or switch from LAN connection.

Maybe my experience with the Windows Mobile Device Center in Vista will be better. I’m going to try that next, since there is no way I’m letting ActiveSync loose on my laptop again. Who knows? It might turn out out to be the best reason yet to be grateful for Vista.

AddThis Social Bookmark Button

%d bloggers like this: