Android UI… fragmentation?

Tuesday, Aug 3. 2010  –  Category: Android, Code, Musings, Rdio

Perhaps fragmentation isn’t the right word… but this issue certainly confuses me.  It seems trendy to throw about the term ‘platform fragmentation’ as it pertains to Android, so I’ll capitalise on that buzzword and go with that for now.  (To be fair, I’d love to be proven wrong and will happily eat my words if someone can point out a better way I should be addressing this).  While developing the Rdio Android app, I’ve been testing on a bunch of different devices and frankly, with generally stock widgets in use, I’m running into the problem where widgets look different on each device.  This wouldn’t be so much an issue, except often times the differences are visual/stylistic tweaks in things like background images or colours which cause our design assets (icons, text colour, etc.) to look bad on one or more devices.

Case in point: TabWidget.  Using a completely stock TabWidget on our app which has minSdkVersion 4 and targetSdkVersion 6, I get the following:

Android 2.2 on Nexus One

Android 2.2 on Nexus One

Android 2.1 + Sense UI on HTC Droid Incredible

Android 2.1 + Sense UI on HTC Droid Incredible

Android 2.1 + Sense UI on HTC Hero

Android 2.1 + Sense UI on HTC Hero

Android 2.1 + Motoblur on Motorola Droid X

Android 2.1 + Motoblur on Motorola Droid X

In each above screenshot, the leftmost tab is selected (i.e. active/current), the centre tab is focused/pressed (i.e. my finger is currently holding it down but I haven’t released it, while the rightmost tab is unselected.

As you can see from the above images, things like the selected and unselected tab icons look fine on the Motoblur and Hero with Sense UI, but look like crap on the Droid Incredible with Sense UI and stock Android on the Nexus One.  Meanwhile text colour looks fine on Motoblur, looks passable on the stock Android, looks mostly awful on the Droid Incredible with Sense UI, and is completely unusable on the Hero with Sense UI.

One option we have available to us is to hardcode all our own widget styles, which means completely skipping the system look and feel.  This is great for the Rdio brand (i.e. we can use our own highlight colours, etc.).. but this is like going back to the days of the 1337 90s when we were all cool kids in college running Litestep, XFCE, GNOME, etc. and only apps with custom themes and skins.  At some point it gets old, we grow up, and we want apps that match the system styles.  I don’t mind mobile apps having their unique personality, but I don’t want widgets having their own custom look and feel.  I want a ListView in one Android app to look and behave like ListViews in other Android apps.  Ditto that for TabWidgets, Buttons, etc.

But how are we supposed to do that if there isn’t a standard widget style we can rely on?  Am I just missing something painfully obvious about system-wide styles I should be using?  And what about custom widgets?  For example, in the above screenshots, each album art is clickable and relies on a “button” like look and feel to it… but buttons on stock Android use orange focus/select/press states, while on Sense UI they use green, and on Motoblur they use red.  We need to make custom graphics (in this case a 9patch drawable) for this, so are we expected to make one version for every vendor?

What are other Android developers doing to get around these annoying vendor-specific extensions and styles to the Android UI?

OBAI

Thursday, May 13. 2010  –  Category: Musings, Songbird

rockhorns

I’m leaving Songbird.

It’s been a blast, and I’ve loved working here.  I think Songbird is in a great position now, what with the Philips partnership, and the upcoming partnerships that are in the pipeline waiting to be announced.  It’s hugely gratifying to be able to walk into Target, pick up a Philips MP3 player and see the Songbird logo on the back.  It is partly because of where Songbird is now that I feel comfortable leaving, knowing it’s in the capable hands of all the birders involved.  I’ll continue to follow Songbird’s progress with a fond eye and a tuned ear.

I wish the Songbird and Mozilla communities all the best, and hope that I can still be involved in both.  I think the Mozilla community is amazing, truly one of a kind, and it’s been really awesome to have the chance to work and be involved with it.

So what’s up for me next?  I’m finishing up my work on the servicepane until the end of the month, and then I’m off to go join Rdio… obviously the music bug has bit me.

Rebuilding a Schwinn Varsity

Monday, Aug 24. 2009  –  Category: Musings

Ever since getting a 2009 Schwinn Fastback roadbike for a new recreational hobby, I’ve been wanting to learn more about the mechanics of bikes.. mostly so I can learn how to work on one myself to better do some of my own maintenance.

Working with software for so long made me forget the joy of simple pleasures like turning a wrench and getting your hands dirty.

Anyway, rather than destroy my brand new bike, I decided to destroy and old bike instead… a neighbour of mine had an old 1971 Schwinn Varsity sitting out (who knows for how long) who was kind enough to donate it to the cause.

Originally this came as a Kool Lemon 10 speed. I took a bunch of before photos. All the components on it were stock.. and rusty.

In the weeks since I’ve stripped everything off its frame.. with the goal of rebuilding it into a single-speed commute bike to ride to work on. (Mostly because I don’t want to deal with the complexity of a geared bike as my first rebuild). I bought new wheels, tires, tubes, hub, crankset, bottom bracket, chain, pedals, toeclips, saddle, seatpost, stem, bars, and brakes…in other words, every thing except the frame, fork and headset.

I picked up some random no name black race wheels off of eBay, with tires, tubes, and a flip/flop single-speed/fixed hub and cog set. This past weekend I threw the old one piece crank on (stripped down to just the original inner 39t chainring), with the original chain but with the new wheels to see how it rode as a single speed (albeit with no brakes, which made things…. interesting).

Here’s some photos of how it looks as a single-speed with the new rims.

Finding new parts for this has been an interesting challenge. Many of the sizes/specs used by Schwinn 38 years ago are different now. Also, the bike originally was a 37 pound beast. I’ve been attempting to strip and replace many of the heavier parts.

Finding a quill stem has been the most difficult. The original was a 21.1mm steel monstrosity that’s heavy enough to do some serious damage as a weapon. I ended up finding an equally old (mid-70’s) Schwinn Continental stem which had the exact same diameter, and dive angle – but made of aluminum for some considerable weight savings.

Taking off the kickstand saved 1.1 pounds. !!! Seriously.

The cranks + bottom bracket was also interesting… the bike originally had an old BMX style bottom bracket size with an old school one piece crank. I had a helluva time finding a bottom bracket adapter to convert it to the new Euro style 68mm bottom bracket, but ended up finding one after about a week and a half of searching. It’s awaiting a new Pake 44t + 165m crankset slated to arrive next week.

The rest of the components should be arriving this week or next week, I’m really looking forward to getting it all together and riding it for its first real ride. My test ride yesterday worked well, but stopping with no brakes on a hill involved me running into my empty garbage cans which worked but isn’t really a scalable solution.. :)

Can’t wait to get this puppy all together..

Good guys vs. bad guys

Friday, Apr 10. 2009  –  Category: Musings, Travel

Dubrovnik, CroatiaWendy and I just got back from an awesome vacation to Barcelona, Croatia (Dubrovnik), and Montenegro (Kotor & Budva).  I’ll upload photos soon.. I won’t say much on Barcelona since both Wendy and I had been there before and done the touristy thing.  The weather was cold, dreary, and rainy.  Wendy had her wallet stolen.  .. but the food… wow.  We ate extravagantly, we ate fantastically, and we ate well.

We’d been reading a lot about the Balkans and the history of the region (skimming most of the stuff pre-WW1) trying to understand the tensions and conflicts that have plagued the area.  It was definitely a little chaotic to track all the different parties involved, and we ended up sitting down one night in the hotel bar with some drinks, pads of paper, Wendy’s Kindle & my iPhone with various Wikipedia pages loaded (such geeks, I know).   We mapped out the parties involved, the wars fought, and generally tried to simplify things into “good guys” vs. “bad guys”.

Of course, this dramatically over-simplifies things, but we were really trying to just distill things down as much as possible.  One of the things that jumps out at you when you do this exercise is that things aren’t so clear cut as the “good guys” vs. the “bad guys”.  There is perspective obviously (e.g. how the Albanian Kosovars saw NATO vs. how the Serbs saw NATO), and the vicious cycle of revenge and what everybody calls justice.  I’ve spent my whole life in the West (England and the US), so justice to me is pretty clear and absolute.  But justice in the Balkans takes on shades of grey tinged with the red of revenge for war crimes committed by pretty much every side involved.

Given that my only previous background to the area was more or less the news media coverage we got here in the US in the 90s, my initial naive impression was that NATO (and thus, by extension, everyone NATO was “defending”) were the good guys, and that the Serbs (e.g. anyone led by Milosevic) were the bad guys.  Reading the accounts, going through the quite thorough Wikipedia articles, and actually talking to folks present that lived through the wars has dramatically changed that for me.

Wendy and I had dinner one night at Restaurant Europe in the Budva Old Town.  Since it was still low season we had the entire restaurant to ourselves for the whole night, and we conversed quite a bit with the manager, Dragoslav, (who we ended up inviting to sit down and have a drink with us).  (As a random side note, apparently the owner of the restaurant is Dragan Stojković (a.k.a. Piksi or Pixie), the former Serbian national footballer!)  He is Serbian, from Belgrade, but living in Montenegro to run the restaurant.  Getting his perspective of the war was really interesting.  I was initially timid, but perhaps the bottle of Montenegrin Sauvignon-blanc loosened me up, but eventually I asked him what his opinion of Milosevic was, and gave him the impression we all get in the west of a genocidal war-criminal.

This was the first time I’d ever talked to someone directly face-to-face who, without any hesitation, proclaimed Milosevic a hero and a patriot to the Serbian people for trying to hold on to some sense of Serbian identity and pride (prior to my reading and our trip, I had no idea Kosovo holds a special place in Serbian history as a legendary battleground for them… it’s akin to an American Gettysburg, or Scottish Falkirk).

Having now left, I’m still reading my last book on the region and still fascinated by the tensions that I can see still exist in the general populace there. Across the regions we visited, I saw desire to not be involved in any more conflicts, and to move on with life and build up some semblance of a tourist industry – but at the same time, I didn’t necessarily see a desire to forgive and forget. The people we talked to seem to still have the strong national pride, and the museums we visited (including the memorial in Dubrovnik to the soldiers and civilians killed in the shelling of Dubrovnik from Montenegro) still very much evoked a “look at how we were wronged” attitude.

I really really hope that the region can heal… it’s an immensely beautiful land.  Honestly, it’s one of the most beautiful areas I’ve ever visited.  The bay towns of Dubrovnik, Kotor, and Budva will be huge tourist draws (Dubrovnik already is, Kotor and Budva less so… at least internationally).  They are beautiful medieval-era cities with a ton of history, with friendly people, fantastic food, and just overall are incredible towns to explore.  I’d encourage anyone reading this to travel there soon.  While we were in Kotor we came across two EU Election Observers (there to observe the parliamentary elections to ensure fair elections, a requirement for EU admission), and I can honestly say that was the first time I’d talked to someone in the past 8 years who was genuinely excited to see an American tourist.  :-)

cliKball

Friday, Mar 6. 2009  –  Category: Linkage, Musings

I’ve been enthusiastically using cliKball a lot lately, and have become a big enough fan, I actually sent out a few invitations to friends to use it too.  I don’t normally do this (honestly, I tend to get annoyed at all the “Join my new Web 2.0 service!” invites I typically get), but cliKball has been so super cool, I succumbed to the invite thing.

Apologies to any friends I sent invites to that won’t use the service… to the few folks I sent invites to: it was only because you guys make prodigious use of bookmarks, or always have interesting stuff to share with me…

cliKball is sort of a del.icio.us + Twitter, all in one… it sits, unobtrusively, in your Firefox browser – and when you add a bookmark, all your followers see it (and your comments), and everyone can follow and have a conversation directly in the browser about it.  There are a bunch of us at Songbird who have started using it, mostly for sharing inane things we find hilarious, but I’m starting to find it useful for more serious things now too.  And in the vein of all things Webby, it’s got ATOM/RSS feeds… which I’m looking to pull into my blog at somepoint soon.

Anyway – go sign up.. I’m stevel on it. :)

lazy sunday

Sunday, Jan 18. 2009  –  Category: Musings, Pets

nothing like being lazy on a sunny sunday afternoon to make you feel like the world is alright

7 Things You May (or May Not) Know About Me

Tuesday, Jan 6. 2009  –  Category: Musings, Songbird

… I was tagged!  (by way of @SaraD (blog), who came from @sogrady (blog), and an undoubtedly longer (and more famous) path from there…)

So, 7 things you may or may not know about me….  I believe in open communication and transparency… especially when I’m drunk, so it’s hard to think of seven things I haven’t blabbed about (whether I should have or not) previously…

  1. I was investigated by the FBI.  A story I’d rather not get into on a webpage, but will instead save for some other time when we’re having a drink.  (Hah, the rules don’t say I have to get into details… but suffice to say, it involved AT&T, a phone system exploit and Fry’s Electronics.  Plus I was like 12 at the time.)
  2. Between the ages of 8 and 20, I refused to eat avocado believing myself to be allergic to it.  Within my first two weeks of arriving in the states, I had avocado twice (once raw, and once in guacamole).  I threw up both times.  I fully believed myself to be incapable of eating avocado for the next 12 years until I accidentally ate some guac in a carne asada burrito in Rosarito, Mexico on a long drive for tacos.  God bless Rosarito.
  3. I used to run a bulletin board system (BBS) way back in the day.  It was called “The Nebuolic Cheese”, and it ran Waffle and had a UUCP feed from sbay.org.  That’s right… you can send email VIA THE INTERNETS.  It was awesome and amazing and here’s my proof. (It’s an old sbay.org guide, with my BBS as the example map entry).
  4. I was expelled from high school.  This one involved an Apple Macintosh computer lab, a system administrator who stupidly had a wall mirror behind his desk, and a high school student who happened to have an assigned seat facing the mirror and who learned to read passwords in a backwards keyboard.
  5. I saved every college rejection letter I got (and I got quite a few…. I was only accepted into one college, see #4 above).  I took them to UCSD with me and everytime I got stressed or hated school I pulled them out for inspiration.  To this day I still have them.  No, I don’t look at them anymore.
  6. I have an absolutely awful sense of direction.  If we’re lost, don’t look to me to be any help unless I have my iPhone on me and am getting reception.  What’s worse is I don’t actually care.  I’m quite happy to be lost and wander around aimlessly.  I blame this on living in San Diego for 6 years.  You don’t need to have a sense of direction because you always know where the ocean is (thereby knowing which way is West).
  7. My hair was permed in the 3rd grade.  Really.  I don’t know why, my mum wanted to do it.  The embarassing photographic proof is at my parents house somewhere.  I think I threw it in a closet.
So there you go… I hope those were entertaining at least.  So here are the rules (again, by way of SaraD & SOG):
  • Link to your original tagger(s) and list these rules in your post.
  • Share seven facts about yourself in the post.
  • Tag seven people at the end of your post by leaving their names and the links to their blogs.
  • Let them know they’ve been tagged.
I hereby tag:
  1. Geoff Arnold (@geoffarnold), blog – because he has been my mentor in work and in life, and is the friend I would most describe as a wise sage. Geoff responded!
  2. Patrick Finch (@patrickf), blog – because he has a skill I covet: managing to tie pretty much any topic back to football, plus he’s like a good writer and stuff. Patrick responded!
  3. Tim Foster (@timfoster), blog – because though I only met him in real life once, I feel like I stalk him via his blog, he’s a super nice guy, and am intrigued to see if there is an evil side to him. Tim responded!
  4. Ryan Tomayko (@rtomayko), blog – because he sits next to me at work and is automatically intriguing because he is the first person I met outside of a large corporation who knew SOG.
  5. Esther Ko (no twitter! OMG!), blog – because she’s a great writer and should blog more.
  6. Mark Finkle (@mfinkle), blog – because his blog has one of the best domain names I’ve seen, and I don’t actually know if I’ve seen him blog personal stuff before and wonder if he would.  Plus I haven’t seen this meme on PMO yet. ;-) Mark responded!
  7. Brian King (@brianking), blog – because I keep meaning to ask him what ‘pogovor’ means and I’m trying to double my chances of getting this meme to cross onto PMO.

woefully lagging on blog posts

Friday, Nov 14. 2008  –  Category: Musings

sigh. my blog is being neglected… mostly because i end up twittering more often these days. what’s sad is that i’ve even started twittering as Char-siu. sadder yet, is that i’ve realised that twittering as my dog is way more interesting and fun than twittering as myself.

writing blog posts and twittering my actual life often just reveals the reality of life and how boring it can be.

pretending to be my dog on twitter means i get to make up wonderful things that may or may not be true. meh. being grounded in reality was never that much fun anyway ;-)

winter is coming, the resorts are opening, and i spent some time in the basement tonight cleaning up (lubed my cams for the first time ever too (why does that sound vaguely dirty??)) my climbing gear, and putting it away for the season. doesn’t look like i’ll get any more outdoor climbing in this winter unless an “emergency” jtree trip comes up. i lined up my boards and boots, and then crossed my fingers for snow. thinking about planning a trip to Park City this winter for some riding, except now apparently i’m supposed to be boycotting Utah because of Prop 8.

sigh. i wish politics would stay out of my sports. okay, enough rambling… i’m going back to twittering as my dog.

best firefox 3 launch press article ever

Wednesday, Jun 18. 2008  –  Category: Musings, Songbird

seriously. i love firefox as much as the next guy… but this article cracked me up.

i love the accompanying photo – but is that really the best accompanying photo they found to run it with?

screenshot here in case the article changes:

overstuffage

Wednesday, Jun 18. 2008  –  Category: Musings

i’m packing for this weekend’s camping/climbing trip and my pack is exploding – and i’m not even bringing a tent. i’m trying to go light… minimal food, no tent (just a tarp + pad + sleeping bag). fortunately the weather looks good (all sun, no Tuolumne™ showers in store, and lows in the 40’s, possibly 30’s depending on elevation)… and yet my pack is stuffed.

it’s hard to go minimal when you’re packing climbing pro. i’m sitting here staring at a 2.5″ piece thinking “hrm, i can probably skip this” while the other voice in my head is picturing me pumped staring at a 2.5″ crack thinking “darn, that extra 2.5″ piece sure would be handy right about now”. i tend to err on the side of caution (okay okay fine, i probably don’t need 10 slings), but… well… it’s my life, right? :-P

the “luxuries” i intend on packing: toothbrush and cards

cards are awesome. they’re fun… by yourself you’ve got solitaire, with groups you’ve got other games, they make a decent fire starter, and if worse comes to worse, you’ve got a place to scribble down your dying man’s last thoughts. (wonder what card i would choose to right on? probably ace of spades… how unimaginative)


Recent posts