Finger Flickin’ with BMoney

October 5, 2007

How many Windows Mobile users have been lusting after the iPhone’s finger flicking functionality? I know I have. Finger flickin’ is useful and a fun effect. Last night I decided I would make it mine the hard way (coding).

So I got started around 9pm, this video is what I ended up with around 1am. The video might not do it justice, but it works wonderfully. It’s very responsive and there is no screen-flicker. I was surprised how simple this actually was.

Basically there are only six strings I’m drawing with the text. Those move to give the illusion that the list is scrolling. The painting is done by overriding the OnPaint event. I implemented double-buffering there to prevent any flickers.

If you’re interested in a copy of the source code just fire me an email.

Unfortunately the first version I uploaded was crap. I came up with this idea late in the night and wrote the code half awake. My subsequent releases have been incrementally better, and much more organized, but I think I might have posted this too soon. I seem to have scared off most the readers.

You’re only my second comment. The first (on The Code Project) was pissed.

Here’s the deal, I couldn’t find ANYTHING like this in C#. And I think most the people coding for Smartphones, Pocket PC, etc. are using C# or C++. Maybe the problem is that this only runs in 240×240. I know how to adjust the scale dynamically, I just haven’t because I’m focused on other functionality.

It’d be great if you wanted to helpout with this. The scrolling still isn’t quite right at fast speeds. It’s fine on low speeds. This is caused by the LabelMover (stupid name, I’ll change it later) class with this code…

Oh, and on the bouncing. That’s a good idea, I was thinking the same thing. It’s a must have effect. I want to write a routine that bounces one bitmap over another. That way I can re-use it for other things. >:)

Actualy, I *just* completed a massive upgrade to the codebase last week. The list now moves very quickly, smoothly and kinetically. …But I don’t know if I want to give it away since it took a lot of time to perfect. I’ll have to think about it. What do you want to use the list for?

Oh, and in the new version I don’t use labels or any other controls. It’s all buffered GDI+ accelerated drawing commands (all smartphones support GDI+ accelertion). I also ended up using multiple threads. That was key to smooth animation/input.

I would like to express my interest on the code. I am developing a SlimServer client for the PocketPC (whose source I am probably going to open at some point), and was looking for an iphonelist-like component for browsing the music library on the server.

I tried out your version from codeproject and let me say this is a great control. I am currently developing a threaded SMS application for WM6 and would like to add the finger scrolling functionality (it’s going to be for free). I was wondering if it’s possible to send me the latest code for your project so i can integrate it into my app. For sure i’ll be giving you your credit. Also if interested in getting to know more about the app, please just fire me an email.

I think your code is great and I downloaded the one on CodeProject. I was wondering if you have a latest updated version of your code, could you please email it to me. I would love to use it in a personal financial application that I’m making.

I moved from an iPhone to a HTC Touch HD, and miss (of all things) my shopping list program. I’d like to keep the scrolling effect, and you seem to have a good start on it. Can you please send me a copy of the source?

Hiya! Amazing article! I’m a newbie cooking up an iPhone proof of concept open source library that would host similar controls at some point in future (for all to use). I would be grateful if you could send me the latest copy of your source code please (read: really really grateful!) Many thanks!

I made huge improvements over this version and wrote lots of other useful stuff. I’m planning on releasing the code for this list, and lots of other shizzle, in my forthcoming BS Framework product. Which will be open source and pure C#. I’ll email you when it’s done.

I wrote the BS Fart App to test this list and some other code. For a taste of some technology I’ll be including, visit http://www.bsfartapp.com