Summary:
A method of executing the device lock/unlock features of Windows Mobile by using the gestures available in FTouchFlo v1.4.1.
Here's a sample video of it in action courtesy of kidnamedAlbert: http://www.youtube.com/watch?v=wjPxHroy9VU
Current Status:
I've got the basics working on my device right now, and it works quite well. Beta version is now available, where I offer a choice of install methods. Since many users already have FTouchFlo and some version of the "true" HTC Cube application with my TFloCubeCtrl, then all that is needed for this is an update to version 1.2.0 of TFloControl, and an adjustment to the FTouchFlo config file. I also have a stand-alone cab installer for just FTouchFlo and the "slide 2 lock/unlock" capability. Note: there's no cube involved in this one!
Where is it?!
*NEW* CAB installer for TFloControl + FTouchFlo + config for "Slide to Lock/Unlock" with a left-right gesture now available here: http://rapidshare.com/files/128559842/TFloControl_v1.2.0___FTouchFlo_v1.4.1.cab
Be sure to check the install/usage notes in Post #4
If you've already got FTouchFlo v1.4.1 installed, and an HTC Cube using TFloCubeCtrl, then you can just download the new TFloControl.exe and FTouchFlo.config files from the attachments, and follow the directions in Post #4
What's Next?
Currently, configuration of TFloCubeCtrl is through command-line params fed by FTouchFlo. I think this could be made better, and possibly there should be a configuration app ... since all of my FTouchFlo gestures just map to calling TFloCubeCtrl anymore, which nowadays does so much more than just control the HTC Cube!
I'm currently talking with efrost about the possibility of turning TFloCubeCtrl and it's functionality into a plug-in for the newer FTouchSL application.
I wonder what other sorts of features I could build into it as additional parameters. So far I have:
Lock
{no params} - execute the device lock
home - return to the Today screen and then lock
suspend - lock, and then suspend the device
Unlock
{no params} - unlock the device
<milliseconds> - amount of delay between the simulating the left softkey, and clicking the unlock button. I added this in case different devices needed different amounts of lag time based on processor speed. 50ms seems to work quite well on my Kaiser.
Donations:
If you like what I've done, then please ... feel free to donate to me. It definitely helps in keeping me motivated to add new features and answer questions. However, if you find this function useful, you should also consider a donation to efrost ... because without FTouchFlo v1.4.1, this little project would not exist.
Props:
efrost - for making FTouchFlo!
Matt Armstrong - creator of DeviceLock, where I first saw that the unlock process could be automated
wacky.banana - for pointing out the "bug" that clued me in that unlock was possible via FTouchFlo
kidnamedAlbert - for making a video of it in action
Background
While working on a project to bring full HTC Cube finger control to non-Touch devices, I developed an application to work hand-in-hand with efrost's FTouchFlo application. In addition to being able to control the HTC Cube, I also added a few system control functions that you could map to FTouchFlo gestures. One such system control function was the ability to engage the standard device lock, with additional options for returning the display to the home screen, and also for suspending the device. I soon realized that this was a slick was to lock your device, by just sliding your finger across the screen left-to-right. However, this then still left me with the rather lame way of unlocking the device, pressing the left softkey, and then clicking on a button on the screen. I became further annoyed when attempting to unlock the screen in bright sunlight, where it's next to impossible to find the button on the screen (at least for me!).
Where is this going?
One day, I had a small revelation. Someone had previously reported a "bug" with TFloCubeCtrl, whereby you could open up the cube, even when the device was locked. I subsequently added some code to ensure that all functions were disabled if it detected that the device was locked. But while it was reported as a bug ... the indication here was that TFloCubeCtrl would receive calls from FTouchFlo even when the device was locked. I suddenly realized that this meant that I could also add functionality to TFloCubeCtrl to unlock the device, by automating the unlock procedure.
So, does it work?
In fact ... it works just the way I had hoped. Now, with the device on, but locked with the standard WinMo device lock functionality, I can swipe my finger left-to-right, and the device becomes unlocked. You don't even see the unlock screen (on my Kaiser anyway), as it's dismissed so quickly due to the automated unlock.
And why should I care?
Well, I like it because it works well for me, and solves some of the annoyances I've had in the past. Specifically, I like the HTC Home screen ... as I'm used to it's layout, and it has everything there I need. So I like to be able to lock the device with a quick action, and have it revert to the home screen upon locking. And thanks to FTouchFlo, a left-right swipe anywhere on the screen will work (no trying to hit a specific icon). Then, to unlock, just the same swipe again is all it takes. It's a simple action, and can be done anywhere on the screen as long as it's a complete swipe across the screen ... so you don't even need to look at the screen to unlock the device. And best of all, it all works *with* the standard device lock functionality ... so even if you lock with a different method (device lock on today screen), you can still "slide to unlock". Incoming calls work the same as before ... and PIN code input should also still function normally (initial tests have shown this to be true!)
Here are some thoughts I've come up with on possible features:
Specify an X,Y to simulate a mouse click after the Today screen is shown. (In order to ensure a particular tab is also displayed)
Specify a particular application to be displayed before locking, instead of the Today screen
Vibrate when the device is unlocked (DeviceLock offered this when "easy unlock" was enabled)
Specify a particular application to be displayed after unlocking
Installation / Usage Notes
General Usage Warnings -
This app requires FTouchFlo. As such, installing this will subject your device to known FTouchFlo "issues"
Once FTouchFlo is running, it cannot be stopped without a soft reset
While FTouchFlo is running, the Transcriber SIP and Screen Alignment utility cannot be used
Some programs that are "finger friendly" themselves do not work well with FTouchFlo, and should be added to the Exclusions list in FTouchFlo.config. Some common known apps are already in the list.
After a soft reset, you must manually start FTouchFlo before you can "Slide to Lock/Unlock". Alternatively, you can create a shortcut to FTouchFlo in your StartUp folder.
CAB Install Method -
Install the CAB file on your Windows Mobile device
Be sure to install to the Device (not a storage card)
Run FTouchFlo, found under Start->Programs
Perform a left-right slide gesture to lock the device
Perform the same left-right slide gesture again to unlock the device
Enjoy
File Install Method (Advanced Users Only) -
Use this method if you already have FTouchFlo installed, and/or if you have an HTC Cube install already on your device using TFloCubeCtrl
Copy TFloControl.exe into a \Program Files\TFloControl folder
Update your FTouchFlo.config file to reflect something similar to my sample
TFloControl is the new name for the app, replacing the old TFloCubeCtrl (it does more than control the cube!)
Morning Kona. I see you have decided to go public on this, which is great!
A couple of points from me:
One of the things you are going to have to watch out for , as you develop this tool, is getting the tool to work in a consistent and predictable manner with the inbuilt WM6 pin lock facility.
Because I am security conscious, I have pin lock initialise itself half an hour after locking the device either with device lock or Slide-To-Unlock (S2U2). When using S2U2 I have found that if a call comes in after pin lock is engaged, trying to answer the call can cause unpredictable results ranging from the call being successfully answered, to S2U2 to being presented with the pin lock keyboard to unlock the device before the call can be taken, to the call being dropped altogether.
This behaviour became such a pain that I dropped S2U2 altogether in order to get a consistent method of answering calls when the device is locked in this way, ie with device lock and pin lock in operation. I note this is an area you have not tested yet, hence me advising caution here.
Another point from me: I am assuming that your lock will not work unless a version of Ftouchflo is installed? If yes does that mean that people like me who have given up on Ftouchflo and the Cube will not be able to use your tool?
Final point; early days yet but have you thought of integrating your tool with the organic lock invented by someone on here?
Hope you find these points helpful. More than happy to undertake some testing for you if you let me know what is required, etc.
Cheers
WB
will this be a lot like the unlocking mechanism from wm 7 in which you have to slide a certain way so the device unlocks. A bit confused as far as function though. I am glad you are starting a new project...
I can not say how much i'm interested in such software, even though i dont pin lock my device, but i really like to lock it cause it many times make a call or opens and drains the battery without any need..
any way .. i'm waiting .. and i believe it's gonna be great
cheers
WB,
Thanks for the input. So far ... here's what I can tell you:
wacky.banana said:
One of the things you are going to have to watch out for , as you develop this tool, is getting the tool to work in a consistent and predictable manner with the inbuilt WM6 pin lock facility.
Because I am security conscious, I have pin lock initialise itself half an hour after locking the device either with device lock or Slide-To-Unlock (S2U2). When using S2U2 I have found that if a call comes in after pin lock is engaged, trying to answer the call can cause unpredictable results ranging from the call being successfully answered, to S2U2 to being presented with the pin lock keyboard to unlock the device before the call can be taken, to the call being dropped altogether.
This behavior became such a pain that I dropped S2U2 altogether in order to get a consistent method of answering calls when the device is locked in this way, ie with device lock and pin lock in operation. I note this is an area you have not tested yet, hence me advising caution here.
Click to expand...
Click to collapse
Since what I've done here is devise a way to use gestures as a way to interact with the standard built-in Windows Mobile locking mechanism, we should be OK here. My initial tests are indicating that everything functions predictably when PIN locking is enabled. My unlock gesture works when the PIN is not yet enabled. And once the PIN screen appears, the unlock gesture basically doesn't do much ... and you have to enter the PIN to access the phone. Incoming calls are unaffected, as the standard WinMo "Incoming Call" screen appears, and a SoftKey press will still answer without requiring an unlock. This is where people's desire for functionality is probably going to differ.
wacky.banana said:
Another point from me: I am assuming that your lock will not work unless a version of Ftouchflo is installed? If yes does that mean that people like me who have given up on Ftouchflo and the Cube will not be able to use your tool?
Click to expand...
Click to collapse
Yes ... and no. FTouchFlo is currently required, as this project is intentionally a solution to work with FTouchFlo. However, the cube is not a requirement ... it doesn't even have to be installed.
wacky.banana said:
Final point; early days yet but have you thought of integrating your tool with the organic lock invented by someone on here?
Click to expand...
Click to collapse
I have downloaded Organic Lock, and will test it out. My initial thoughts ... are that it should integrate quite well with what I've done here, since it's designed to work with the built-in WinMo device locking. I'll post my results when I get to test it out.
domineus said:
will this be a lot like the unlocking mechanism from wm 7 in which you have to slide a certain way so the device unlocks. A bit confused as far as function though. I am glad you are starting a new project...
Click to expand...
Click to collapse
Perhaps ... I honestly haven't seen what WM7 is offering. In a nutshell, what I've done here will allow you to use any of FTouchFlo's gestures to lock/unlock your device using the built-in WM6 device lock. Current FTouchFlo gestures are up-down, down-up, left-right, and right-left. You basically sweep your finger across the entire length of the screen in one continuous motion. It takes a bit of getting used to, but I get it to recognize my gestures about 95% of the time these days.
solomhamada said:
I can not say how much i'm interested in such software, even though i dont pin lock my device, but i really like to lock it cause it many times make a call or opens and drains the battery without any need..
any way .. i'm waiting .. and i believe it's gonna be great
cheers
Click to expand...
Click to collapse
I currently don't really use the PIN lock feature myself ... but your scenario of the phone accidentally waking up and doing things unintentionally is a big reason I started using the device lock to lock my phone. But when I got annoyed with the unlock procedure, I wrote the "slide to unlock" part, which is really useful (to me). This is really more of a convenience feature that a real security measure. But it makes the device lock/unlock very easy to use. I just put it on my wife's phone, because her phone kept calling people while it was in her purse!
Slide to Answer
I just had a thought ... and tested it out. You can actually "Slide to Answer" as well, when a phone call comes in.
As is true with unlock, the softkey method still works ... however, if the device is currently locked, and a phone call comes in ... if you perform the unlock gesture, TFloCubeCtrl will try to initiate the unlock by pressing the left softkey, which in turn answers the call! It's really a side-effect in this case ... but it works! Interesting ... but it would probably be more useful if I could disable the on-screen buttons, and require either a hardware keypress, or the slide gesture.
Kona_Mtbkr said:
..... It takes a bit of getting used to, but I get it to recognize my gestures about 95% of the time these days.
Click to expand...
Click to collapse
Hey Kona,
Thanks for the comprehensive response to my points. The tool looks more promising every time I hear from you.
To the point about 95% accuracy this isn't too bad and, from my experience, probably on a par with S2U2. When I was playing with TouchFlo in the early days I found you could increase the consistency of the gestures by changing the sensitivity response or whatever it was called.
When are you expecting to have a beta version of the tool out for testing then?
Cheers
WB
wacky.banana said:
Hey Kona,
Thanks for the comprehensive response to my points. The tool looks more promising every time I hear from you.
To the point about 95% accuracy this isn't too bad and, from my experience, probably on a par with S2U2. When I was playing with TouchFlo in the early days I found you could increase the consistency of the gestures by changing the sensitivity response or whatever it was called.
When are you expecting to have a beta version of the tool out for testing then?
Cheers
WB
Click to expand...
Click to collapse
Yes ... changing the sensitivity settings was key for really making FTouchFlo useful. It's a balancing act between the pressure sensitivity, and the gesture delay ... which controls how long FTouchFlo waits before deciding that you're not actually doing a gesture, so it forwards the input on to the OS. It makes it a bit trickier to try to use scrollbars or to do other dragging operations (like selecting multiple items) when FTouchFlo is in use. Not sure if FTouchSL has improved on any of these items.
As for release ... we'll see how the weekend goes. It'll be easier for me to post the new app, and a sample config for those who already have FTouchFlo and an HTC Cube install with TFloCubeCtrl. But I know that isn't going to cut it ... so I'll put a "fresh install" cab together as well.
Kona,
Good idea putting an all-in-1 cab together for an easy install otherwise all you will get is a thousand questions on how to install the app and what other linked apps are required. Probably a major distraction if what you really want to know is how the user experience is progresing.
Re the sensitivity compromise, have you had a chat with Efrost as to where his latest version of Ftouchflo is now at, from a technical perspective?
This thread is now on my auto notify list, ready for your next move.
All the best.
WB
im completely interested but does this have a transparent background on the home screen like the original windows unlock screen?
if so, this if EXACTLY what im looking for.
a lock on wakeup feature would be great too.
thanks,
wacky.banana said:
Kona,
Re the sensitivity compromise, have you had a chat with Efrost as to where his latest version of Ftouchflo is now at, from a technical perspective?
Click to expand...
Click to collapse
Well, I have contacted him through PM here ... and asked about the plugin architecture for FTouchSL, to see if he'd let me rebuild my TFloCtrl app as a plugin. He seemed to be receptive to the idea ... but I haven't heard much from him since. I'm pretty sure the free version of FTouchFlo isn't going to progress past v1.4.1 ... as all efforts are now on FTouchSL. It's only like $15, so I'll probably buy a copy at some point. efrost deserves our support! Of course, I was hoping he'd give me a license for developing my plugins against, and then I could buy a copy for my wife!
I need to get a bit more insight into his plugin architecture too, however. I'm not completely sure that everything that I've done so far with TFloCtrl will work in his plugin architecture. We'll have to see.
sounds lije it will be awesome...when developed of course. i am really into being able to lock my device easily and be something i can unlock without much thought or having to look at the keyboard whilst i enter an alpha-numeric code. kinda biometrics like without the fingerprint scanner. thanks for the info and i am waiting for more news.
kidnamedAlbert said:
im completely interested but does this have a transparent background on the home screen like the original windows unlock screen?
Click to expand...
Click to collapse
Yes, in fact, TFloCtrl has no background ... or window at all. It's more of a windowless process, that sets the display to the Today screen, locks the device, and exits. You're left at the Today screen with a locked device. Hmm, that gives me an idea for a feature, bridging between another app I'm working on. An option to also simulate a click on the Today screen, to ensure a particular tab is selected upon locking.
kidnamedAlbert said:
if so, this if EXACTLY what im looking for.
a lock on wakeup feature would be great too.
thanks,
Click to expand...
Click to collapse
Well, to put in a lock on wakeup feature would require a whole separate application. At that point, I'd almost be rebuilding armstrong's DeviceLock. You should take a look at this, as I was running it for a while for just that feature. It should work just fine with my app, because he is also using the normal built-in lock functionality. He also had an "easy unlock" feature that only required the softkey press ... but it was too "easy" for me. The swipe gesture is much less likely to occur accidentally, but still can be completed without even looking at the screen! That's the biggest benefit in my mind.
Daremo_23 said:
sounds lije it will be awesome...when developed of course. i am really into being able to lock my device easily and be something i can unlock without much thought or having to look at the keyboard whilst i enter an alpha-numeric code. kinda biometrics like without the fingerprint scanner. thanks for the info and i am waiting for more news.
Click to expand...
Click to collapse
"biometrics without the scanning" ... that's a pretty good way to describe it
I think it nice, because it offers the protection from accidental button/screen presses of the device lock, but with easier unlocking ... as you said, not having to look at the screen. But in addition, I'm also hoping it'll pair well with Organic Lock, to offer the additional security that people like WB are looking for.
And as far as "developed" goes ... it's already working on my device! I'm just thinking about what features to include for a Beta 1 release ... and also I need to invest the time to put together the installation ... or else the thread will fill with "how to install?" postings. I learned my lesson last time with the TFloCubeCtrl thread.
Just an idea, stolen from the Android platform.
You could make the unlock gesture user-customizable. Maybe there could be an interface in the settings for users to "draw" their unlock gesture and practice on it. Then, if someone wants security without a password, he can use a complex gesture.
edit: That was a horrible explanation, haha, you'll get the point from this video:
http://www.youtube.com/watch?v=arXolJrLVEg
As known with Xperia, the Landscape mode is oriented the way the hardware keyboard may be used.
But it would be pretty sometimes (in my car, actually) to have an opportunity to switch to a "flipped landscape", with the USB port looking down, not up. I understand the HW keyboard is useless now, but it's OK with me.
Can I somehow switch X1 to opposite Landscape mode?
Registry hack, software controlled application or so? Hardware hacks aren't welcomed.
The SPB Pocket Plus 4 today plug-in has a one click option to rotate the screen to the right. Seems to work ok.
I believe you can change this in advanced config, however it might be a pain to keep going in and out of the application everytime you use it.
My thoughts were that if advanced config does it - someone might be able to find the corrisponding reg key to make a shortcut/app/cab
Not sure if that setting requires a soft reset to take effect?
Some guys recommended me AE Button.
http://handheld.softpedia.com/get/System-Utilities/Enhancements/AE-Button-Plus-21781.shtml
This applet can set any task to any button, including 90, 180 and 270 degrees rotations (some may be disabled). $8 is OK with me and I'm going to test shareware till the end of the week.
Report following.
I have only good things to say about AE Button plus. Really useful app.
The USB port is on the bottom, unless your phone is upside down haha