Saturday, November 14, 2009

Eclipse buttons, Google Chrome drop-downs and Ubuntu 9.10

I installed kubuntu 9.10, then installed freenx, then downloaded and installed Eclipse 3.5. Then while trying to add packages to Eclipse I noticed that clicking on buttons had no effect. I thought freenx wasn't sending my clicks to Eclipse.

And I also found that drop-down lists in Google Chrome were blank - if the drop-down had 10 items in it, then a drop-down with 10 blank lines appeared.

And then while installing the Android SDK I found a post linking to an explanation and workaround:
If you put
export GDK_NATIVE_WINDOWS=true
in your .bashrc your apps will behave correctly again. This saved me a ton of time troubleshooting!

Droid Basics - Initial thoughts, initial uses

I've had my Droid for 7 days now. I'm a little bit in love with it. It's fast, the UI is fun to use, it keeps me connected, there are several fun apps, and I haven't even begun developing for it yet. Here are my impressions of it, speaking as a total Android newbie. Maybe this will help other people using the Droid for the first time.
  • Status indicators. Some are obvious, some aren't. Verizon's little quick start guide doesn't explain them. But their support page in a link to the "manufacturer's user guide" has them.
  • I wanted was to use the Droid on my fast home wireless network. And I wanted one-touch buttons to manage wi-fi and other power-related functions. Well there's a widget for that. It let you turn on/off the wi-fi, gps, bluetooth, sync and change the screen brightness. So simple and so necessary to keeping your Droid running all day.
    1. On one of your home screens touch "Menu".
    2. Touch "Add".
    3. Touch "Widget".
    4. Scroll to the "Power Control" and touch it.
  • Overall User Interface experience - GREAT. I love the touch screen and using gestures to move around. It's very responsive, unlike what I've heard about slower Android phones. Things are simple once you know to touch the "Menu" button for settings, extra functions, etc. Having used many Windows Mobile and older BlackBerries in the past this blows them away. I haven't used an iPhone for any length of time to compare.
  • Exchange support - I bought the $30 data plan, not the $45 business plan that provides business support. And I still use Exchange email - it's built into Android and is there to use. Verizon's $45 plan is simply there for them to ding companies that want business support. If you're like me and want to connect to your company email server without buying a company phone then just get the consumer plan. Set up was easy and everything is working great.
  • Navigation - this is Google's turn-by-turn directions application. Also known as the "Garmin/TomTom/Magellan killer". And really, Navigation is very good - very easy to use, accurate, quick to respond to new routes. There are a few choices they made with the User Interface that I don't care for - depending on how soon you turn the arrow indicating your turn direction is either on the left (for "turning soon") or the right(for "turning in several miles"). And I'd like a dead simple way to choose from a list of favorite locations, and a "go home" button. But none of these things are showstoppers - none of them would make me even consider getting another Garmin device when I've already spent the money on the Droid. Go Google!
  • Facebook - I've tried Facebook's official widget and application and I think they suck. Everytime I go back to the "Notifications" screen I see the list of notifications from last week. So I click "refresh", getting the latest notifications, but the next time I use the app I once again have only last week's list. And I'd really like to have an Inbox and a way to respond to my friend's messages but this is missing from the app. Without it I end up using the Droid's browser to go to facebook! Which actually works fine, so I've stopped using the official application and am frequently searching the Market for worthy replacements.
  • Other apps -
    1. I use and like "Swift" for twitter,
    2. "Barcode Scanner" just cause it's totally fun and impresses the family,
    3. "Listen" to subscribe and listen to podcasts,
    4. "WikiMobile" to look up stuff on my Droid instead of over the web,
    5. "Google Sky Map" so that at night I can look up, look at the stars, and then point my Droid the same direction to figure out if I'm looking at a constellation(s), and
    6. "Movies" to get local movie times quickly.
    7. I want to try out "Locale" but people keep reporting problems with it on the Droid so I'm waiting.
  • Keyboard -
    1. on the downside the keyboard is very sensitive,
    2. the keys are raised only the slightest bit making it hard to distinguish between keys and
    3. the protective case takes up some needed room along the top row of buttons.
    But see, one of my friends mentioned his acid test for hardware keyboards is to determine if he can touch-type with enough practice. I never thought of doing that. So now I'm being picky about the keyboard. I don't know if I'll ever touch-type on it. I suspect my thumbs are too thick.
  • Yesterday I found the easy on/off switch for all sounds. When the phone is in Locked mode, drag the speaker icon to the left, it's the opposite of unlocking the phone. So simple, yet so necessary.
So that's pretty much everything. Oh and I get a guilty kick out of hearing it say "DROIIID" every time a notification pops in. I keep forgetting to turn it off when I get to work. They make fun of me.

Thursday, November 12, 2009

Private browsing and freenx save the day

Recently I noticed a co-worker switching to incognito mode in Google Chrome when testing a Flash app. I didn't know why at the time but it stuck in my head and only a week later I found out why (the hard way): my browser seemingly randomly stopped reloading swfs. The browser continues to use the cached swf even though I reload the page or clear my browser cache - which is a common problem for Flash developers (see here for Adobe's suggestions). Incognito mode (or private browsing in Firefox) starts with an empty cache, so it's just a matter of a few key strokes to ensuring your Flash session is running the latest swf.
  • Google Chrome: Ctrl-Shift-N
  • Firefox: Ctrl-Shift-P
This week I installed kubuntu on a newly freed up desktop at home, intending it to be my development machine. But I don't want to sit at my desktop to work/play. And I've always missed the good ol' days of XDM at my university lab when we used to log into a remote server from a Solaris workstation.

So I setup kdm to accept remote connections and installed XMing on my Windows laptop and found the whole thing boring - my session seemed to crawl. I could work but only if I was very patient.

Another co-worker recommended freenx saying it used a different protocol than vnc. I'm working on it now - it's essentially a heavily modified X protocol running over ssh. They use several techniques to speed things up, including better compression, caching, and eliminating round-trips between the client and server. This lets them claim near-local performance over modems. It's impressive - it was a cinch to setup and it works as advertised. Latency is noticeable in some cases (scrolling through long web pages) but in other cases, like typing or clicking, I don't notice any latency. It's Christmas come early!