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.
September 17, 2007
I’ve been working on some software for my Treo to replace the Windows Mobile UI for a while now. I think marketing and executives ruined Windows Mobile, and operators like Verizon only multiple the problem with their annoying almost-functional software. The reason I liked the iPod was that it was simple.
Amidst hundreds of flashy, cumbersome and confusing MP3 players the iPod was born. This wonderful Apple device was so easy to use even dogs can use them (though it seems to make them a little fruity)…
Unfortunately Apple has joined the usual suspects and gone flashy with the new iPod Touch and iPhone. I think Apple will refine MultiTouch until the interface is simple and easy to use, but it might take a while. My point is that they didn’t get it on the first try like they did with the iPod, and their new sales figures prove that.
Back to my software, I think your mobile phone should simple know where you are if you have GPS. I don’t want to fiddle with settings and menus. I simply want my phone to know where I am. Is that asking too much? So far I’ve written the interface to the device and the background service. …Next I need to finish my mapping, directions and phonebook services. I’ve only done %5 of the total work, but the rest is http parsing and UI.
Right now most people will have to use an external GPS solution because cell phone carriers are criminals. However, external devices have at least one advantage; they use their own batteries so they won’t be draining your phone.
I chose the GPSlim240 and paid something like $120 for it about a year ago. You can buy one today at MWave for $79. I’ve already got my money out of this gadget, and it lived up to my expectations. That’s rare.
This unit tracks 20 satellites (normal but not great) for up to 8 hours under continuous use (much longer when used sporadically). It connects to your phone using Bluetooth, which is a really special (think small-bus) wireless networking technology. It’s not perfect, but it does exactly what I wanted it to and it’s smaller then I thought it would be. This is what it looks like…
I tethered mine on my keychain because it’s small, and my jeans aren’t going to stop satellite signals. It works well in my pocket and while my key is in the ignition. This is what it looks like while I’m driving…
Here’s a picture of what Microsoft’s cumbersome Live Search Maps program looks like…
I’ll probably blog more about the software I’m working on later. Right now I just wanted to show you the GPSlim240. Hopefully Microsoft will just fix their software before I finish my own, but I’m not holding my breath.
May 23, 2007
Did you know every Windows Mobile Smartphone has a dynamic public IP address? I was reading the other day about how we’re quickly running out of IP addresses. What I read again and again claimed cell phones in Europe and Asia had a lot to do with this. I wasn’t really worried about this because the new IP standards IPv6 gives us plenty new numbers. But this got me curious and a quick Google later I realized something I should have already known. Smartphone’s have public IP addresses. Checking my Q I realized the IP address was public and dynamic. I would have preferred a static number, but I still thought that was fantastic.
Just in case you don’t know about IP addresses I’ll give you a quick primer. IP addresses are like phone numbers on the most common kind of computer networks. Some numbers are private; those can’t be accessed from any PCs that aren’t on the same private network (typically this is how computers are networked at home and in the office). Having a private IP address is nice because people can’t access your PC. In all too familiar twist, that’s also why they’re lousy. Sometimes you might want to give someone your IP address, just like you randomly might want to give someone your phone number.
So, there are two kinds of public IP addresses; Dynamic and Static. The dynamic kind change seemingly at random, the static ones never change. Cell phones use the dynamic kind. That’s a little lame because if you give someone you’re IP address (think phone number) your number might change before they use it. Well, geeks already thought about this a long time ago. They wrote software that update DNS servers whenever your number changes. DNS servers are the magic boxes that map all the URLs like www.google.com to IP addresses. Today there are plenty of sites like www.DynDNS.org that map your dynamic public IP address to a domain name for free.
In other words, http://yourphone.dyndns.org could point to your phone. You could simply give anyone that URL and they could access anything you wanted to expose from your phone. For a guy like me, who uses his phone like an iPod, this is nice. This means I can just tell people to hit my URL whenever they want to download a song I have. …Is this illegal? I hope not, I pay for my music on URGE. …Let’s just say this is hypothetical to be safe.
Another nifty feature is that people browsing the site running on my Smartphone could see photos instantly the moment I took them with my phone’s camera. My blog could also be served up directly from my phone with new posts the moment inspiration struck. All sorts of other nifty things like that.
…The only down side is that I have a CDMA phone that doesn’t support phone and internet access at the same time — My phone goes to voicemail while I’m online. GSM phones don’t have this problem. Maybe I’ll end up with one of those.
So, I think I’m way ahead of the curve here. But I want to help push it along. There wasn’t an easy way to use DynDNS from my Smartphone, so I wrote this program. It maps your Smartphone’s IP directly to a URL (like http://myphone.com) quickly and painlessly. It’ll be posted here eventually, I also wrote a small web-server for Smartphones and I want to release them at the same time. Here’s some screenshots (with fake numbers). You’ll have to excuse my language. This won’t be the release version’s title. A few problems had me cursing at the program while I was coding it, one of those names just stuck.