Posts Tagged ‘HTC’

h1

This iPhoneless Life #11 – iTunes’ Secret Agent

August 27, 2010

iPod To describe my life as iPhoneless is a slight exaggeration. There is definitely an iPhone in my life, my wife’s iPhone 4, and it robs me of sleep.

My wife is addicted to Angry Birds.  It has not quite taken over completely from reading in bed at night (I can thank the late Stieg Larsson for that) but there seems to be an unwritten rule that we have to get through at least 2 or 3 levels of the aforementioned smash hit game before calling it a night.  I am often called in to help out clearing a level if my wife is stuck on it and wants a break to read another chapter of The Girl with the Dragon Tattoo. I am expected to keep going until every last grunting green pig has been blown to bits.


So I know all about the iPhone 4, it’s beautiful “retina” screen and gorgeous build quality. But for my own use I still have my old, battered Windows Mobile phone – an HTC Tytn II (in O2 “Stellar” livery).  It has done a job for me but now enough is enough and I want a modern phone.

Largely out of sheer bedevilment, I am determined not to become an iPhone user like everyone else in my family. And I’m wary of being a Windows Phone early adopter, much as I believe that platform holds out great promise. How could I forget what it was like to be an early adopter of Vista, when the pain of it is still faithfully documented in this blog? So I will go Android, at least for the foreseeable future, and currently favour the Samsung Galaxy S.

It was while I was checking out what the podcast client options look like in the Android world that I came across a free open source application called iTunes Agent. The idea is very simple. It makes your random non-Apple music device look, to iTunes, like an iPod. That means you can use iTunes directly and seamlessly to synchronise music and podcasts with any mp3 player or phone.  iTunes Agent has been around for quite a while and I can’t think how I missed it, particularly when I was casting around for a podcast solution for my HTC WM6 phone. As explained in an earlier post, I have a more than workable solution using iTunes for podcast capture and WMP for synchronisation, but iTunes Agent looked like a neater fix and I thought I should try it out.

I had no trouble installing and running iTunes Agent on my Windows 7 PC, and it hooked up immediately with iTunes. The difficulty I had was getting iTunes Agent to link up to my phone when the latter was connected to the PC via USB.

The way it is supposed to work is that you specify the folder on your music device where you want your synchronised music to live, in my case a folder on the HTC phone’s micro SD storage card. When you connect your phone, iTunes Agent is supposed to detect that this folder  is available on the Windows file system and therefore knows your phone is ready for synchronisation.  The limitation is that iTunes Agent requires your phone or music player to have been allocated a drive letter by Windows, but Windows was just listing my phone under “Portable Devices”. I could easily navigate through the phone’s folders and files using Windows Explorer but no way could I persuade Windows to allocate a drive letter.  And without a drive letter, iTunes Agent refused to accept any folder on the storage card as synchronisation target.

This stumped me for a while until, by dint of frantic Googling, I discovered the difference between the MTP and UMS protocols for connecting storage devices over USB. My phone naturally connects to my PC using MTP (Media Transfer Protocol) – a technology which is reckoned to offer the widest device compatibility with media players – as opposed to UMS (USB Mass Storage) which is targeted more at USB keys and SD card readers. Unfortunately Windows only allocates a drive letter with UMS devices, not with MTP.

More Googling and I found out about two applications that can be installed on a WM phone to make it emulate a UMS device and thus qualify for a drive letter, W5torage and Softick Card Export.  The former was written by a lone developer and is free whereas Card Export is a commercial product. Both were created so that you can in effect use your WM phone as a card reader.

I tried W5torage first.  It installed fine on my phone and appeared to be running, but in UMS mode my PC was not able to detect my phone at all. A quick uninstall and I tried Card Export, which is free to trial for 21 days. I took an instant dislike to the latter because it automatically added an annoying status display to my Today screen and an icon in the notification tray. It did however work. My phone now appeared as the G: drive and at last I was able to configure my phone in iTunes Agent. My HTC now showed up as a device in iTunes.

This did not though constitute a happy ending. Before going much further I was determined to rid my phone’s Today screen of the unwanted Card Export status display.  I went into the phone settings and unticked the Card Export option from the list of Today items. This resulted in my phone locking up. A reboot later and the Today Screen was free of Card Export status, but now my program icons were missing. There was clearly some clash between Card Export and the application manager software from O2 which came with my phone. Now the O2 software is lot more important to me than use of iTunes Agent – my researches in that direction were more curiosity than need – so it was Card Export that was going to have to go.

It took about 10 reboots before the phone was working normally again, with no trace of Card Export, the Today screen displaying all the right items and no lock-ups when I tried to access the Today settings.  There was a moment when I thought I was going to have to ditch the phone as a write-off, or at least restore factory settings.

That is, unfortunately, one of the most problematical issues with Windows Mobile. Lots of apps but easy access by developers to the deep innards of the operating system, which can readily become unstable as a result. I don’t know why iTunes Agent had remained a secret to me for so long but I could have done with it remaining a secret.

Advertisements
h1

This iPhoneless Life #10 – Almost enough to make me buy an iPhone

August 10, 2009

iPod As I have been documenting over the last few months, I have got my WM6 phone pretty much doing all the same things as an iPhone but with the added advantage of wireless stereo Bluetooth earphone support.

Of course there are some downsides.  The device, an HTC TyTN II, is not as svelte and elegant as an iPhone and the user interface, being based on Windows Mobile, is not as slick and well integrated as the Apple equivalent. Also, the looser software/hardware integration of Windows Mobile devices, and in particular the greater reliance on third-party utilities, is more likely to cause grief.

A case in point is the clash between Windows Media Player Mobile (WMPM) and Audible.com’s player. For reasons best known to themselves, Audible will not allow their audiobooks to be played on WMPM, instead requiring users to install Audible’s proprietary audiobook player. Maybe it’s because WMPM does not support bookmarking. It  would not have been that much of a problem to have to use two separate applications for music/podcasts vs. audiobooks were it not for the fact that they conflict with each other causing the phone to crash.

The culprit appears to be the Audible player.  Once it has been run, it seems to result in some persistent locking of resources which interferes with the operation of Windows Media Player, even after the Audible player application has been closed.  You can still open and use Windows Media, but when you try to close the latter down, as you would if say updating your podcasts or synchronising your music, the phone locks up and requires a time-consuming soft reset.

I have tried installing various bits of kit to try to troubleshoot or debug the problem, but whatever it is has its hooks too deep down within the operating system and I cannot fathom it.  It is very annoying but I guess I’m stuck with it for the foreseeable future unless anyone has any bright ideas.

AddThis Social Bookmark Button

h1

O2 should give the Zest a rest

July 17, 2009

iPod A hideous disappointment, and that’s being kind. Describing it as a steaming pile of camel droppings is not too harsh. I’m talking about O2’s XDA Zest, the only XDA branded phone to date not made by HTC.

The Zest is made by Asus, better known for motherboards and notebook computers. Their first foray into the smartphone market has not been auspicious.

It looks cheap, feels cheap and the battery won’t hold enough charge to keep it alive overnight. I got my son Alex one of these as a stopgap, to replace his dead LG phone and dead iPod Touch. The plan was to find a phone that would also handle media, in particular being able to take a large (32GB) micro SD card. On paper the Zest fitted the bill, despite being an unfashionable Windows Mobile phone. As I recently found, you can get WM phones to perform perfectly well as media devices.

In practice, twice in a row his alarm failed to go off in the morning because the battery had died, despite having been fully charged the evening before. I wondered if GPS might be on all the time or the power/display options were screwed, but was able to eliminate all issues of that type.  Maybe the battery was defective. Even so, the plasticky build quality compared with every HTC-built XDA I have ever seen was enough to deem the Zest a reject.

It has this morning been collected by the courier.  Good riddance.

AddThis Social Bookmark Button

h1

This iPhoneless Life #7 – Simply music

April 13, 2009

iPod Most iPhone users will think of the media capabilities of the device as mainly about music and video. So far, in looking at my Windows Mobile based alternative to the iPhone, I have been focusing on podcasts and audiobooks. That’s partly because they are important to me and partly because they need the most effort to get working smoothly on a WM PDA-phone, whereas music is obviously trivial, right?

Well, maybe if all your music takes the form of CDs you ripped yourself in mp3 format, using say iTunes. Provided it is all sitting in a folder which is “watched” by WMP on your PC it will appear in your WMP Library. If you want to sync a particular album to your phone, you just go the Album view in the Library, find the desired album, right click and select “Add to Sync List”. Next time you synchronise with your phone the album will be copied across. It is then easy to find and play in your phone’s WMP Library, and the album art will be there too if you had added that.

It gets more complicated though if you have bought iTunes music and have songs in say .m4a (AAC) format. Natively, WMP will not recognise them so they will not appear in the Library, whichever folder they are in and WMP will not be able to play them. Thankfully, there are WMP plug-ins available to fix that. As far as DRM’d music is concerned (.m4p) you really can’t use those in the Windows world outside of iTunes. The only option is to remove the DRM encryption so you end up with an m4a. I’ll leave you investigate that for yourself if you wish.

To enable desktop WMP playback of (unprotected) AAC there is a free plug-in from Orban technologies. The plug-in works well but on its own won’t make your m4a files visible to the WMP Library. For that you need a tag extender plug-in. There are several available and generally seem to work well. You can try the Softpointer Tag Support Plugin, or maybe this plugin among others.

With all that in place music is fine on a WM6 phone. The AAC files play fine natively on the phone in WMP. No click wheel but I would have to say that WMP works well enough as a vanilla music player.

Speaking of click-wheels and Apple, did I get this wrong or does the iPhone NOT support bluetooth stereo streaming (A2DP), even in its 3G manifestation? That’s a complete and utter showstopper for me. I had been giving serious thought to getting an iPhone when my WM phone’s contract runs out in December.  But my bluetooth Sennheiser earphones have transformed my mobile audio and no way would I go back to wired. Suddenly, I’m entirely happy with my iPhoneless life.

AddThis Social Bookmark Button

h1

This iPhoneless Life #4 – Tangling with earphones

March 19, 2009

iPod One of the biggest drawbacks of using a Windows Mobile PDA-phone as your media device is that you end up with a tangle of wires that makes you look like you’re on life-support.

My HTC-manufactured phone (TyTN II) doesn’t have a 3.5″ headphone jack socket. The device was designed more as phone than media player so the audio connections are geared around being able to make and receive calls.  So it comes with a phone-controller dongle which plugs into the phone via a mini-USB port.  There is a 3.5″ jack socket but it is in the dongle, not the phone.

You can use the supplied earphones, which have a wire of the right length when used in combination with the dongle. Unfortunately the quality is dreadful.  I wanted to use my Sennheiser in-ear headphones but the cable is much longer, because it is intended to plug straight into say an iPod.

The result is a mess.  You have the phone in your pocket, with the dongle plugged in and clipped to your jacket or shirt. The cable is quite long and flaps about.  You then have the further wire from the Sennheisers which plugs into the dongle, but which dangles and flaps around even more. The overall effect is hardly neat and the wires catch on everything.

When you get to wherever you’re going, you put the assembly of wires in your pocket. When you later come to fetch dongle and headphones out you find they are so tangled together it can take several minutes to tease them apart without damaging them.

My Sennheisers are now playing up.  The left hand channel has lost volume; it plays at half the volume of the right. I know it’s not a case of sudden one-sided deafness because I tried switching the earphones round, and also plugged in the supplied headphones. The channel balance was fine, which also confirms that it wasn’t a problem with the phone or dongle.

The deterioration in the Sennheisers is probably the result of wear and tear on the wires due to the incessant plugging in, unpglugging, wires getting caught, wires getting tangled. I have been through a surprising number of earphones in the last few years.  The attrition rate is huge and always due to the constant bending/unbending of wires, eventually causing a channel to fail. The Sennheisers have been more robust than most but I am getting fed up with the wires and fed up with the regular loss of channels due to wear and tear on the wires. I would far prefer to go wireless.

So, if the Sennheisers are on their way out, I may as well replace them with stereo bluetooth earphones.  Thankfully the HTC supports the A2DP protocol so can stream good quality stereo over bluetooth. I like Sennheiser in-ear phones so a set of MM 200‘s would seem to be a sensible bet. And no more tangles.

Previous “This iPhoneless Life” posts.

AddThis Social Bookmark Button

h1

This iPhoneless Life #3 – Podcasts: Playback

March 16, 2009

iPod This is the third in a short series, documenting my experiments using a Windows Mobile 6 device (an HTC TyTN II) as combined phone and media player, in the manner of an iPhone. In the previous post, I explained how I managed to still use iTunes for podcast capture but then pass the baton to Windows Media Player 11 to get the podcasts synced to the WM6 phone.

The attention now turns to the playback experience. WMP on the PC may have succeeded in transferring the right podcasts onto the phone, but what is it like using the HTC device as an iPhone (or iPod) replacement for podcast listening purposes?

First off, could I get them to play in the right order? You might think I’m being a bit fussy but I want my podcasts to play in the order in which they were downloaded by iTunes. Most of the time it’s not important, but it can be an issue with daily podcasts. I don’t want to be presented with Friday’s Dail Giz Wiz before I’ve heard Thursday’s. Same sort of thing with daily news items. It is obviously confusing to hear the follow-up story before the podcast which broke a news item.

Getting the playback order right had not been trivial even when I was using an iPod. I had iTunes automatically sync the podcasts to my iPod, but for correct playback purposes I had to set up two playlists. I had a Smart Playlist on iTunes called “Latest Podcasts” which was defined so as to display the podcasts in the correct “date added” order. I then had another playlist called “podcasts” on the iPod. With the iPod docked, I would highlight and copy the items from “Latest Podcasts” on iTunes to “podcasts” on the iPod. Provided I listened to my podcasts using the “podcasts” playlist the correct running order would be preserved. I also had the option to make changes to the running order to suit personal preferences (for example, if I were desperate to hear the next episode of “Security Now!” or whatever) before undocking the iPod.

You can get something similar on WM6, but not quite in the same way. Remember the Auto Playlist dialog box from post #2 of this series?

There is a further useful criterion you can add by clicking on a green plus sign. Choose “Sort by” then on “click to set” and select “Date Added”. This does the trick, or at least nearly does it.

If you recall, we had to define two paths for locating podcasts as downloaded by iTunes. One had “downloads” in the pathname and one didn’t. Unfortunately, using the Auto Playlist “Sort by” criteria you can only get the sort order right for each of these paths separately. So the first batch of podcasts (from “Music\iTunes\iTunes Music\Podcasts”) will play in the right order, and then the second batch (from “Music\iTunes\iTunes Music\Downloads\Podcasts”) will play in the right order. But there is no way to define an overall running order for the complete set of podcasts. However, all is not lost as we shall see.

After syncing, the Auto Playlist is copied (and synchronised) to the phone. New podcasts are added and any podcasts which had been deleted on iTunes are removed. Note that it is safest to have WMP on the phone closed during the syncing operation, otherwise the removal of deleted podcasts can fail. On my HTC it is quite easy to see whether (pocket) WMP is running and to close it down, because there is a handy task manager utility accessible from the Today page. Windows Mobile users who don’t have a utility like that will have to use Start > Settings > System > Memory > Running Programs to check whether “Windows Media” is running and if need be select it and click “Stop” to shut it down.

On opening WMP on the phone and selecting “Library…” from the “Menu” option the following view appears:

Clicking on “My Playlists” (where “clicking” is my shorthand for normal use of the stylus) should bring up this screen:

In practice, this doesn’t always happen, which is a minor annoyance. It depends on whether the phone is “looking” for playlists in its built-in memory or on the storage card.  If the latter then it will find the “podcasts” playlist and all will be well. If not, there would be no playlists showing under “My Playlists”. In that situation, select the Library view again, “click” on the “Library” drop-down (in the menu bar, next to the magnifying glass icon) and ensure “Storage Card” is selected.

Click on the “podcasts” playlist to bring up a listing of your podcasts, which if you are lucky will already be in the right order.

Another annoyance. WMP does not always pick up the podcast name first time. Quite often the bottom few items will display as “download”.  If you select one of those items and click “Play”, then pause and select “Now Playing” it will take you to what looks like the same playlist (except that strictly speaking it is now the “Now Playing” playlist) and the correct podcast name will now be displayed, and maybe some of the other “download” items will also now be displaying the correct podcast name. It may take a couple of goes to get all the names displayed correctly as in the example above.

This is where you can do some re-ordering to suit your preferences, or to correct errors in the ordering as described above. To do this, select any podcast you want to move and click the up or down arrows at the left side of the lower menu. To check the correct overall order I look at my “Latest Podcasts” Smart Playlist which I can still refer to on iTunes.

Then just select say the top item on the list and click “Play”, and the podcasts will play in order.  You get a graphic (as you would with a recent iPod) and all the obvious controls for navigation, volume, etc.

Once you’ve got the hang of this, it works pretty well and is not specially worse than using an iPod. But WM6 phones started off as PDA+phone combinations and are fundamentally more complex beasts than iPods, which were created as very user-friendly, intuitive devices for playing back music and that was it. For that reason, a WM6 device will not be as slick as an iPod when used for media playback, but it is perfectly livable with.

I’ll go into a few more of the practicalities in part #4.

AddThis Social Bookmark Button

h1

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 drop.io/dailyringtone.

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.

SYSTEMTIME st;

unsigned short DayOfWeek;

HKEY hKey;

DWORD cb;

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″);

GetSystemTime(&st);

DayOfWeek = st.wDayOfWeek;

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

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

switch(DayOfWeek)

{

case 0:

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

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

break;

case 1:

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

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

break;

case 2:

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

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

break;

case 3:

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

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

break;

case 4:

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

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

break;

case 5:

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

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

break;

case 6:

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

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

}

RegCloseKey(hKey);

}

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

AddThis Social Bookmark Button

%d bloggers like this: