I Know What You Did Last Vacation...
Okay, I have no idea what you did on your last vacation. But I hope you had fun. If you're a regular reader, you know that I took the month of December off. It was a good vacation. I skateboarded every day for the first two weeks (then it started raining and hasn't stopped) and I spent a ton of time with my wife and son. On the down side, my XBox 360 never did come in. Apparently the store that was so happy to take my $50 preorder in early October was much more happy to sell my unit to new buyers as part of a $1000 bundle on their website. They're forecasting me actually getting mine by February. And I'm forecasting me buying significantly fewer games from this chain in the future....
So, faced with no new video games, wet skateparks, and extra time on my hands, I did what any computer guy would do. I wrote code. No, not code for work. I did a pretty good job of not reading email and not doing anything work related for the month. I wrote things I wanted for my own PocketPC and Smartphone. These things were in various stages of completion, ranging from "just needs a new icon" to "hasn't been started yet." I completed them and put them on my website. Sorry for this blurring of my professional and personal life, but we don't have a good way for me to put these things on an MSDN site. Still, the apps are all free, and I've provided links directly to them. You don't have to look at anything else on the site if you don't want to.
I didn't do setup programs for any of this stuff. I put them on my device with Active Sync's "Explore" feature. I tend to just put them directly on the start menu. Aside from Joymouse360, which is a desktop app, all of this stuff will work on WM 2003 and WM5. And all will work on both SP and PPC, though some make more sense on one than the other.
ToggleBth
A quick little app that flips Bluetooth from on to off and from off to on. On Smartphone, I put in this in \windows\Start Menu\Accessories, assign a speed dial to it, and use it to flip Bth on and off with a single keypress. This only works on devices that use the Microsoft Bth stack. The easiest way to see which stack you have is to try it and see if it works.
Nightly
I use this to shut my Smartphone off every night. Since I don't use it when I'm asleep, it doesn't make sense for it to be burning power. PPC doesn't currently have a full shut down mode, so Nightly doesn't really work there, though it does have a "reboot" option if you're having stability problems and want to do that instead of shut down. (Yes, it hurts me to suggest that, but users asked for the feature and it was easy to do, so I added it.)
CincoSP
This is an addictive little text game that's kind of a cross between Hangman and Mastermind. Long time PPC users will remember it from the old game pack. I wanted a version for Smartphone so I sat down and wrote one from scratch in .net. I wanted to use the original Cinco word list, but our marketing folks wouldn't let me do that and give it away, so I found a freeware wordlist on the net and used that instead. Intended for SP, but it works on PPC as well.
RPNCalc
This is a scientific calculator in the HP "Reverse Polish Notation" style. I wrote the original version ages ago so that I could stop carrying around my venerable HP28S. This version is in .net and works on SP, PPC, and the desktop.
Joymouse360
This is a desktop app. It won't work on WM. While I don't have an XBox 360, I do have a wired 360 gamepad. And those work on the desktop. So I wrote an app that reads from the gamepad and translates the various sticks and buttons into mouse and keyboard controls. When I use it, I lean back in my chair, put my feet up, and surf the web. Note that this isn't exactly for the faint of heart. It requires a wired 360 gamepad. Wireless gamepads and other joysticks won't work. It also requires that you install some redistributables (.net20 and some DX stuff). And it's going to need to be updated when they change the DX stuff. But, if you go through all that, it sure is neat, in a geeky, frustrated, unable to get a 360, sort of way...
I also did a lot of work on a WM version of Shogi (Japan's far superior version of Chess), but I didn't get that done. I know that I once promised to do an app for you folks that would tell you which programs are using how much CPU time. I didn't end up writing that because someone here already wrote something better than I would have. I'm working to get that posted somewhere you can get to it.
I hope you enjoy the programs. If not, well, they were free anyway...
Mike Calligaro
Comments
Anonymous
January 11, 2006
Hi, I loved you Joymouse360 program! It's very usefull, I'm using it to control my TV Tunner :)
May I suggest you add the possibility for user-defined mappings of the buttons to keys? That way we could map it to work with any program ;)
PS: If you released the source code, I would do it ;)
You can reach me at Sergio<dot>Jardim<at>gmail<dot>comAnonymous
January 11, 2006
Hey Mike, I know this is a little off-topic, but any chance you could consider doing a blog explaining why Voice Command doesn't work with BT headsets. It seems like it should be possible, yet it's a stated limitation of the SW. What's really going on here?Anonymous
January 16, 2006
it'd be cool to get this working w/ the old spaceorb :-)
http://www.planethardware.com/spaceorb/Anonymous
January 19, 2006
Can you make a windows mobile app that fakes a phone call to get me out of meetings???
:-DAnonymous
January 19, 2006
Any chance of something similar to the Bluetooth toggle that toggles the phone on and off on Pocket PC Phone 2003? Having to get the stylus out and click the icon is so slow!Anonymous
January 22, 2006
Thank you for great utility.
I have SCH-M600 from Samsung for SKT in South Korea. This phone was application-locked, but I unlocked it with the Sprite Backup. Fortunately, it has Verizon Wiress certificate, which is necessary to run Sprite Backup. :) I wrote this information at MyMits.net, Samsung Mits user group. So most M600 users can enjoy the power of WM Smartphone. :)
Anyway, I have a question about bluetooth.
I can turn on or off the bluetooth of M600 with your ToggleBth. So I guess it uses Microsoft Bluetooth stack. But I can not use ActiveSync with bluetooth, since it has no bluetooth menu in ActiveSync. I found that Orange C500/550 has bluetooth connection menu in ActiveSync. So I copied bthasplugin.dll and set the relevant registry values. But it does not work.
Is there any possibility to use ActiveSync with bluetooth on M600?
You can contact me, AlwaysNovice at gmail dot com.
Thank you in adavnce.Anonymous
January 25, 2006
Love the simple and very effective bluetooth toggle. Fixes one aspect of the O2 Atoms usability issue.
WIFI version on the card? (For the Atom for example :)Anonymous
January 26, 2006
Mike,
Great apps, but doens't the bluetooth icon on the bottom of the today screen perform what the bluetooth toggle function, or is that only available for i-mate JAM's?
The problem i have is that i'd like to shut off the core radios (GSM/GPRS) and leave bluetooth on so I can connect to my GPS when I'm in the mountains and save the same battery power. Any ideas?
Steve.Anonymous
January 27, 2006
Hi everyone. Sorry I've been slow to respond. I had a tight deadline that I had to struggle to meet and haven't had time breathe, much less read the blog.
Sergio: I've had requests in the past for user defined settings on the old Joymouse program. Maybe I'll add them to Joymouse360 in the future. What key layout would you set? (Just curious.)
Interested Guy: I'm doing some research to get you an answer on the Voice Command and BTh thing. Hopefully I'll be able to do a blog on it soon.
Ken: Joymouse360 relies on the XInput api, which only works with 360 controllers. So it won't work with the spaceorb. But, if the spaceorb is a Direct Input Joystic device, then the original Joymouse (on the same website) should work with it.
C: Do you want the device to call yourself, or just play the "the phone is ringing" sound? Actually, you probably just want it to vibrate, since in a meeting you'd probably set it to vibrate anyway. That would be pretty easy to do.
D Wilson: I have wanted a way to turn the phone on and off from an app. There are a couple of things I'd use that for. Unfortunately, my previous attempts have failed.
Always Novice: Do you know which Windows Mobile version is running on your M600? I believe it was shipped with a version that predates the AS BTh work. In general you can't upgrade features by just dropping a new DLL onto the device. The feature usually needs support from many places to work.
Stephen Garran: I'm not the only one who has decided it's too hard to toggle BTh on our devices. Some OEMs have provided other ways to do it as well. That icon on your JAM is done by the OEM. ToggleBTh wouldn't be very useful on your device. But it's killer on my smartphone. (-:
Mike CalligaroAnonymous
February 17, 2006
About your bluetooth program...
i found thousand of program that do the same thing on the net...
i hope if you can modify another version that turn the BT and discovery on/off...
waiting for your response...
regardsAnonymous
February 17, 2006
About your bluetooth program...
i found thousand of program that do the same thing on the net...
i hope if you can modify another version that turn the BT and discovery on/off...
waiting for your response...
regardsAnonymous
June 09, 2006
I like the concept of NIGHTLY, but it would be even more usefull to me if it would put my phone in flight mode at night and take it back out of flight mode in the morning.
Is source available?
I've researched this, and I think a call to the TAPI setEquipmentState is all I would need to implement what I'm after.Anonymous
December 16, 2006
I can't get Nightly to work with the Moto Q, is it compatible?Anonymous
January 04, 2007
I’m back after taking the month of December off. It’s always hard to come back. I love my job. I’ve beenAnonymous
January 04, 2007
How about a smartphone program that turns on Bluetooth, discover A2DP stereo headphone, map audio to that stereo headphone and kick off Media Player? Currently, I have a Samsung BackJack with iTech Clip S35. To stream audio to S35, I need to press : Setting > Connections > Bluetooth > HeadSet Settings > Menu >All Connect > OK. That's 7 keys presses just so WM media player will play stereo over A2DP headphone. It would be nice if whole process can be automated. I imagine more and more WM users will find this useful since newer HTC & Samsung smartphones now comes with a proprietary audio connector, which, at the end, favor the use of BT stereo headphone for listening AudioBook/Music on WM phones.Anonymous
January 05, 2007
Mike, any chance the source of Nightly would is available? I am working on an application that would remotely shutdown my smartphone in case it gets stolen/lost... If the source is not available, it would be nice to have at least some pointer where to look for this function... I have checked the cf2.0, but didn't find anything... thanks in advanceAnonymous
January 08, 2007
Mcfly, it can get messy to release source code. But the call to shut the phone down is ExitWindowsEx and is documented in MSDN. There's a flags parameter which can be either EWX_REBOOT or EWX_POWEROFF. Smartphones can do either, but PocketPCs don't handle PowerOff. Is that the information you're looking for? MikeAnonymous
January 08, 2007
MC, on the devices with A2DP that I've used, once you've paired the headset with the phone (something you only have to do once), just turning the headset on makes it connect. Then pressing the play button launches media player and starts it playing. You shouldn't need to do all those button presses. MikeAnonymous
May 06, 2007
Mike, I dont know if you will read this, but re A2DP, many devices do not work as you describe, and require the tedious 7 button push to activate A2DP on the smartphone. Also there seems to be no way to de-activate A2DP on the smartphone, short of switching bluetooth of itself. Would you consider a little app which starts a A2DP connection to the last A2DP device (or if that is too difficult a specific device) with one or two button presses, and easily reverts to normal audio in a similar manner? It would be much appreciated. Surur