Showing posts with label Windows Mobile. Show all posts
Showing posts with label Windows Mobile. Show all posts

Thursday, June 25, 2009

Haptic Feedback on Touchscreen Devices

After having a brief play with a workmate's Samsung Omnia the other day, I found that the simple haptic feedback it gave was very useful in using the device. For those who've been unlucky enough not to use an Omnia yet, whenever you touch a button on screen, the phone gives a quick little vibrate shot to let you know it's registered the press. It really does have more of an effect than you'd expect it to.

I set about this morning trying to find if anyone had created anything that would provide a similar experience on my Touch Diamond. I like the phone in general, but typing out SMSs on the on-screen keyboard is pretty terrible. It's far to easy to tap a key, only to find that it didn't register the key press, and now you're half-way through a misspelt word. It's not so much a case of pressing the wrong key (although that happens too with big fingers and small on-screen key targets...) - more along the lines of it registering the press half-way between two on-screen "keys". I could immediately see how something like the Omnia's haptic feedback system would make it much better in this regard.

And what do you know? XDA Devs to the rescue again:
I've downloaded it and installed it, and am happy to report that it does what it says on the tin! It's quite strange for the first 5 mins, clicking around on the phone and having it buzz in your hand. The software is quite configurable, with such nice defaults as disabling the vibrate when the phone is locked (so it doesn't vibrate away in your pocket if it turns itself on whilst you're walking), and to be able to restrict it to only work with the on-screen keyboard.

Unfortunately, it's not quite what I was after, though. Because it's done as a driver for the touschreen, ANY press on the touchscreen registers a buzz. So it still won't help me with my bad typing - I'll still press the gap between two "keys", and the phone still won't register it as a keypress, but it will buzz to tell me I've hit the screen. Which is disappointing. I really was hoping for something more akin to the Omnia's more deeply integrated haptic feedback system.

What I was hoping is that someone would have written a hook into the actual software button press event, so that the vibrate/haptic is only triggered when you touch the screen on an area that the app is interested in. IE, when I press a key on the virtual keyboard, the app detects not the physical press of my finger on the screen, but it registers a click on that particular key. It then interprets that as it would (IE, detects input of a "T" character, say), and prints it to the screen/adds it to the message, etc. What I would like is for the haptic feedback to be triggered at this point. IE, not all screen presses trigger a buzz - just the ones that the app is interested in.

I understand this means that the app can't be coded as a generic touschreen driver - that's too low a level in the app stack. The touchscreen doesn't know about the clickable areas in the app - it's job is just to register the click on the screen, map it to a set of X & Y co-ords, then pass that event through to the application.

The most obvious way to add the haptic feedback to an app is to have the functionality coded into the application itself. So, in the aforementioned SMS example, it would register the press on the T key, print the T to the screen, then give a quick buzz. Obviously this puts the burden of development onto the application developers themselves, and some apps might support it but not others, etc. All in all, not an elegant solution.

What I was hoping was that some smart cookie would be able to tap into the generic windows event for the click, and hang the haptic feedback functionality off that. But I'm not even sure that's possible these days with winmo in a touchscreen configuration. It's highly possible that the app authors don't use any generic windows controls for their touchscreen interfaces - they may have their own screen-press handler function that simply takes the X&Y co-ords, figures out what button was under that bit of screen, and then calls their own specialised action handler. I really don't know - I've never done any WinMo development at all.

So, I guess what I'm saying is that whilst TouchResponse isn't great, it's probably the best that can be done. I'll use it for a couple of weeks and see if there's any benefit to it, and how it impacts on battery life, and post back with my conclusions. If you want to try it out for yourself, simply click the link above to open the thread on XDA Devs - you'll need to register to be able to download the app.

Wednesday, May 13, 2009

Telstra HTC Touch Diamond ROM Update Available

Just a quick note regarding the new HTC Touch Diamond update available for Telstra TD's. You can download the update from the HTC AU site here : HTC Touch Diamond ROM Upgrade (for Telstra Network Customers). It's dated 6/5/2009, and upgrades the ROM to version 2.07.841.2. You've got to enter in your serial number (under the battery) before you can download the ROM, as the website checks that the SN matches their list of official Telstra TD's. IE, if you don't have a Telstra-bought TD, the website won't give you the download.

I do, however, have a Telstra-branded-and-supplied TD, so have downloaded the files and updated my TD this morning. Happy to say that everything went very well. The download is 100Mb, so be ready for that, but otherwise it's very straightforward. The re-flash will completely erase anything on the main memory of the phone, but it leave the integrated 4Gb "Internal Memory" partition alone. So backup any CAB files or ring tones to that (or to your PC) before you start. The flash process takes about 10 mins.

Also, note that the update also removes any pre-existing ActiveSync partnerships, emails, anything - it's just like formatting your PC and starting from scratch. For me, that's not so much of an issue, since I just re-created the partnership with my Exchange server account via Windows Mobile Device Manager on my laptop after the update, and it automatically synced all my contacts, calendar and email back onto the phone. Love that. However, I've only just realised that all my SMS's are now gone though, which kinda sucks. Didn't even think about that. Bugger.

First impressions, however, are very positive. It's certainly much quicker to use, and that's with basically standard settings. Previously I had used both Advanced Config and TD3D Config to implement a number of hacks to boost performance and battery life. The new ROM is easily faster than it was, and I've not yet done any performance tuning to it. I plan to use it as-is for a couple of weeks, then get stuck in under the hood, and see if I can wrangle any additional performance and battery life out of it. I've been particularly un-impressed with the battery life over late, so we'll see if the new ROM addresses that at all.

The standout change, however, seems to be with the media player. The HTC media player in TouchFlow 3D always had problems picking up the Album Art associated with mp3's that were synced to the device. There was a hack to get around it, but it was an ugly, filthy hack that took a lot of time. it worked, but it wasn't nice. Since flashing the new ROM though, my existing mp3's (on the internal memory card) all picked up their album art, and everything looks pretty! So big kudos to HTC for fixing that - it was one thing that really took a lot of the polish off TF3D. Now that it's fixed, it's perfect.


It's also been a good chance to go over my list of "essential apps" for the phone. What I've re-installed this morning:
  • Advanced Config Tool 3.3 - Very handy customising tool - heaps of options to tinker with WinMo and TF3D. You will need the DotNet Compact Framework 3.5 to make this work. It's a PC download that you install to your PC with the mobile connected. It'll install the CF to the PC, then also push an install out to the attached mobile.
  • Black Carbon theme with dialer - Just a theme, but it's well done, a bit different from standard, and very easy to install
  • Diamond TF3D Config - Like Advanced Config, but with more TF3D-specific functions. Ability to re-oder the tabs along the TF3D ribbon, which is great as I use the weather tab a lot, and like to be able to move it so it's easy to get to from the main Home screen
  • Diamond Slide-To-Answer patch - Brings the Touch HD's fabulous slide-to-answer function to the Diamond. Once you've used this, you'll wonder how you ever did without it. NOTE - On a tip-off from Scotty (who has the same phone, and upgraded his last week), I've discovered that you don't need this - the new ROM includes it as standard! Awesome!
  • Google Maps - Can use the phone's integrated GPS hardware - very handy! Saved our bacon when we were in Japan ealier this year!
  • Microsoft Recite - Very tricky. You can record voice notes, and then search then by simply saying a key word. Works brilliantly. Haven't used it enough to make it as essential part of my day yet, but I feel it could get that way.
  • OneNote Mobile - Because I've got OneNote on my laptop, it automatically installs the mobile client onto the phone (and is the only way to get the client, BTW). I've not really used it yet, but have been using OneNote on the laptop more and more, and have been finding it really very useful. The shared notebooks in particular are awesome. So I'm looking forward to trying out the Mobile client as well.
  • PHM Regedit - Like it says - it's a registry editor for WinMo. Very handy for tinkering. This is my favourite regeditor - very easy to use and very powerful.
  • TD Cam Silencer (AU) (With the accompanying sdkcerts.cab) - Telstra have, in their infinite wisdom, locked their ROM so that you can't change the standard camera focussing and snapshot sound. It's an obnoxious noise, and it belts out at max volume. I guess they're wanting to cut down on people taking photos without others knowledge. However, for me, it's just terrible and renders the camera unusable. None of my other cameras do this, so I don't see why my phone should either. Thankfully a helpful soul on the XDA-Developers forum came to my rescue with a CAB install to remove the sound. Works a treat, and is easily the first thing I install now. You'll need to sign up to XDA Devs be able to download the files, but once you're there, you'll find a lot of other indispensable stuff anyway.
  • Disable SMS Conversation Mode - Windows mobile 6.1 devices default to a SMS Chat mode when reading and replying to SMS messages. I find it terribly annoying and hard to use. Luckily, there's a quick and easy way to disable it and set it back to how SMS messages should work! It's one little reg hack, so you will have needed to install the reg editor beforehand.
And that's about it! I've moved my standard ringtone back in and set that up, so I'll recognise that it's my phone ringing. I've had a couple of quick hacks in Advanced Config, but nothing major or that will affect performance or battery life yet. As mentioned earlier, I'm going to run the phone just like this for a coupel of weeks, and see how the new ROM stands up. But so far, I'm mightily impressed!