Logged in as Guest   Fri, Mar. 12th, 4:55 AM.      
Visitor Map
Recent Entries:
My Dev Setup Lately
Three Ways To Randomize on the iPhone
How to Remove .svn Directories On a Mac
How To Detect The iPhone Simulator
iPhoneMom Likes Doodle Games!
Updates To the Doodle Games Line
Three Jacks Now Tweets
Second iPhone App Submitted For Approval!
Pinch Media Analytics for iPhone
New iPhone Game Coming Soon!

Archive:
January - 2010
November - 2009
October - 2009
September - 2009
August - 2009
July - 2009
June - 2009
April - 2009
March - 2009
January - 2009
May - 2008
April - 2008
March - 2008
October - 2007
August - 2007
July - 2007
June - 2007
May - 2007
April - 2007
December - 2006
November - 2006
September - 2006
August - 2006
July - 2006
March - 2006
February - 2006
January - 2006
December - 2005
November - 2005
October - 2005
September - 2005
August - 2005
July - 2005
June - 2005
May - 2005
April - 2005
February - 2005
January - 2005
December - 2004
November - 2004
October - 2004
September - 2004
August - 2004
July - 2004
June - 2004
May - 2004
April - 2004
March - 2004

List Of Mobile Device User Agents
Brian Cantoni sent me an email in response to my previous post asking me if I would be willing to publish the list that I use to determine if a user has a mobile device or not. So, in the interest of the common mobile developer good, I am posting my current list that I switch on:
        'Blazer'
        'Palm'
        'Handspring'
        'Nokia'
        'Kyocera'
        'Samsung'
        'Motorola'
        'Smartphone'
        'Windows CE'
        'Blackberry'
        'WAP'
        'SonyEricsson'
Now, please note that I use a string subsearch function to check for the presence of these substrings in the user agent that is posted by the browser. I'm sure that there are a few that I am not taking into account, so as I said earlier, if you know of a device that the content switching doesn't work on, please let me know.
Submitted by bosshogg on Thursday the 27th of January 2005, at 01:15 pm


Optimized for Mobile Devices
Since I seem to have a couple people reading my pages now, I thought I would let people know that on mobile devices, Hazelware delivers pages optimized for lower bandwidth and smaller screens. I do all of the switching based on the HTTP headers that the browsers post in the HTTP GET. I have tested this on all of the PalmOS devices that I have at my disposal as well as a number of PocketPC and Symbian devices. Unfortunately, I found that the only thing that is consistent in the HTTP headers is the user agent (which is basically the browser type). Some browsers post screen size, some post OS, but there is no single thing that is consistent, other than the user agent. Anyway, my point is that if you have a mobile device and you don't get the mobile optimized pages, can you let me know what device you are using so I can add it to the filter?
Happy Surfing!
Submitted by bosshogg on Wednesday the 26th of January 2005, at 09:32 am


Attention Manager Oddity
Tonight, I discovered that on the PalmOS, the following code does nothing:
        AttnDoSpecialEffects(kAttnFlagsSoundBit);
Now instinctively, I would have figured that it would play the alarm sound or something, but all I got was a whole lot of nothing.
At first I figured that I just had the system sound off, but even after I made sure that the system sound was on, it still did nothing. After some digging and a google search, I discovered that the kAttnFlagsSoundBit value doesn't actually do anything in this scenario. How strange! I didn't find it documented anywhere in the API docs or the Help files, but apparently, this is a known 'feature'.
To make things more obfuscated, if you use:
        AttnDoSpecialEffects(kAttnFlagsSoundBit | kAttnFlagsVibrateBit);
it will successfully vibrate. If kAttnFlagsSoundBit is a bogus value for this function, it should at least have the decency to error out in a big way if I pass invalid values to it! Anyway, I'm sure most people don't really care about this, but if you need a workaround, just use SndPlaySystemSound(sndAlarm) instead.
Submitted by bosshogg on Saturday the 22nd of January 2005, at 10:20 pm


TomTom Navigator Rocks
Recently, I got my hands on the palmOne GPS Bluetooth unit, and I've been playing around with it in my spare time. It comes bundled with TomTom Navigator, and I've got to say that this is one of the best applications for any platform (let alone the PalmOS) that I've ever had the pleasure to use.
The GPS unit itself is pretty compact but seems to pick up the GPS satellites quickly and acurately. Its battery life also seems quite reasonable considering the amount of radio activity it has to utilize.
However, it's the TomTom Navigator software that really shines. Even though it's running on a handheld, the application does everything that I could imagine a GPS application would do. It will show you your velocity, your direction, driving instructions, route planning etc. You can zoom quicky in and out of maps, and the maps can even be displayed in a 3-D perspective corrected view so that it looks like you can see yourself driving down the road! It also will speaks driving directions to you if you plan a route, and these are good driving directions. The audio is clear, and the software does a bit of predictive logic with its instructions. For example, it will tell you "At the end of the road, take a left" or "In 300 yards you will take a right and get onto the freeway". That's so cool! I could gush for a long time about this application.
Oh, and the maps themselves are incredibly detailed and accurate as well. My carpool partner and I used it on our drive this morning, and we discovered geographic features (like rivers and ponds) that we didn't know existed even though we drive by them every day. All I can say is wow. If I had a job where I had to drive to different places, I would plunk down the $449 for this bundle in a heartbeat. If you have a chance to play with this application, I highly recommend that you do. It's very, very well done.
Submitted by bosshogg on Friday the 21st of January 2005, at 09:58 am


Results of Domestic Ubuntu Linux Experiment
So, a little while back, I convince my wife that she shouldn't use Windows anymore. It took a little work on my end, but eventually, she came around. Once she had agreed, I did some research to figure out what was currently the most "user-friendly" Linux distro. The general consensus was that Ubuntu was the current leader. So, I set to work installing it on my dual cpu box. Now, not wanting to lose my ability to revert to Windows, I set it up as a dual-boot system with Ubuntu as the default. The overall installation was fairly painless. It took the usual 45 minutes which is about what I would expect. The next part however, took me by surprise. As it rebooted for the initial run, the console came up correctly, and each of the components (Apache, Cups, etc) seemed to load and start fine. However, when it went to start X, the screen just went black. The odd part was that the system didn't appear to be locked up. It responded to pings, the keyboard appeared to be responding, even the apache interface seemed to be active. Very strange. So, I went poking around the X configuration files (which had been set up automatically for me). I discovered that it had loaded an NVidia PCI video card driver. I started to scratch my head at that one because my video card was an AGP card. Then it hit me. I had previously set my machine up with dual video cards to use multi-monitor support on Windows. After a while, though, my desk required me to get rid of one of my monitors so in the end, I disconnected the monitor connected to my PCI card and proceeded to forget that I even had a PCI card. Doh! User error on my part. So, I yanked the PCI card and reinstalled Ubuntu again. This time, it detected the AGP card wonderfully, and everything after that worked superbly. Now, this is mostly chalked up to my fault, however, I really do believe that the X auto-setup wizard should default to the video card that my BIOS uses.
Once I finally got into Ubuntu, I really liked what I saw. The interface was intuitive and the UI was crisp and clean. The only thing I had to do was to tell the CUPS (printing) interface which printer I had, and make my old Windows NTFS drives visible. Once I did that, my wife was ready to go.
For about a week, the Linux Experiment went well. My wife really liked the UI and the browser (Firefox) and her overall reaction was positive. Then she wanted to work on one of her spreadsheets.
No problem I though. I'll just install OpenOffice and she'll be set. So, I installed OpenOffice and then headed off to work.
I hadn't been at work 30 minutes, when she called me and said 'What did you do to me? I can't use this!' Uh, oh. I asked her to tell me what was wrong, and she proceeded to rant about how awful the interface was. Then she hit me with the real big one: No Publisher equivalent. I convinced her to keep using it for a while and that she would get the hang of it and like it. In the mean time, I told her that I would look for a Publisher equivalent.
I won't bore you with too many more details, but the punchline to this story is that there currently isn't a good replacement for Publisher on Linux. I searched for a long time, and the only solutions I could find were
A. Running MS Office under Wine
B. Crossover Office
Unfortunately, I am by no means a Linux expert, and both of these solutions required some Heavy Lifting in regards to configuration and installation, and I didn't/don't have time to invest in researching these. In the end, my wife went back to Windows, and I went back to installing weekly MS security patches. Ugh.
I guess that the summary of my experiment is that as an OS, the Ubuntu distribution of Linux is great to work and live in if you're mostly doing web work. The downside is that the applications that have become integral tools to a lot of people just aren't there for Linux. While there are work-arounds for a lot of these, there just isn't a quick and easy one click installation solution. Yet.
Submitted by bosshogg on Thursday the 20th of January 2005, at 02:08 pm


Changes In PACE Temp Files
So, yesterday, as I was trying to get home from CES, my plane out of Las Vegas got delayed for four and a half hours. During that time, I got pretty bored, so I started using Palmasaurus to poke around my Treo 650. I always get a kick looking at the hidden databases and hidden applications that you never get to see. While digging through it, I noticed that the 'a68k' temp files that get associated with 68k native applications on OS 5 weren't there any more. (See here for more info on these.) In a nutshell, these temp databases are used when PACE runs a 68k application.
After digging some more, I discovered that these databases actually are still present, however, they are now named 'PACERsrcDBx' where x is a number. Now, I doubt that this will actually impact most Palm OS developers, but I did think that it was mildly interesting.
One thing that I couldn't figure out though, was how PACE maps one of these PACERxxx databases to a particular 68k application. While Palmasaurus was running, I noticed that there were 10 of these databases, and the 0th one had 6 records in it while all the others had none. I assume that the 0th PACERxxx database was for Palmasaurus. What that makes me wonder is if the 10 databases are hardcoded? If they are, can PACE only actively run 10 applications at a time? If you know the answer to this, I'd love to know.
One last thing: I think that the Tungsten T5 probably has these changes as well, but I left mine at work, and so I couldn't check it.
Submitted by bosshogg on Saturday the 08th of January 2005, at 03:35 pm


Attending CES In Las Vegas
Well, I'm at this year'sCES convention and, so far, I've got to say that I'm underwhelmed. Perhaps my expectations were too high, but so far, I've seen nothing that was surprising or cool or even half-way interesting. I took some pictures as I walked around the convention, and to be honest the only thing that I decided to post was this picture of a snowboarding demo with imported snow.
This is my first CES, and I expected new, innovative products, but have yet to see any of that materialize. Where are the innovative gadgets that I just can't live withouth? If I had to sum up what I have seen so far, I would say that Bluetooth head sets and miniature MP3 players are all the rage. But we already knew that, didn't we?
Submitted by bosshogg on Thursday the 06th of January 2005, at 09:50 pm