Droid Bionic review

September 19th, 2011 § Leave a Comment

Ok, I’ve had the Bionic in hand for about a week and a half now – long enough to give more meaningful feedback.  (If you missed it, you can see my initial thoughts here.  This review assumes you’ve at least skimmed that; if not, go check it out.)

The Basics
The Bionic is Verizon‘s latest high-end phone, the only VZW phone with both a dual-core processor and a 4G (LTE) radio.  The specs are all over the place – I’m not going to repeat them all – but it’s got a dual-core CPU with 1G of RAM, a 4.3″ qHD screen, and an LTE radio – this is the most powerful phone Verizon offers (and, arguably, the most powerful combo available on any carrier right now).  However – and this is a big one, potentially – we’re mere weeks away from a flood of high-end, dual-core powerhouses, including the new Nexus Prime, which will quickly knock the Bionic down a notch or two.

The Build
I really like the form factor here – the phone is large but not unmanageable and feels very solid.  It’s got an attractive metal body with gorilla glass over the screen, and is surprisingly light in the hand.  The back is a matte plastic, sloping to a thicker top around the camera.  It’s not the thinnest phone out there but never feels too thick or too heavy.  It really gives off an impression of quality and is pleasant to hold or look at.  Two thumbs up in this regard.

Performance
Simply put: the Bionic screams.  I’ve never used a phone this fast, where everything you do is smooth and effortless and just about instantaneous.

The 4G network seems to average 11mbps down and 4 mbps up in NYC, which is almost an order of magnitude better than either Verizon’s CDMA network, or my home DSL.  Reception was generally pretty good, except for some parts of my house (which I’m convinced is lined in lead – and considering its age may be).  Phone service was also good, no one on the receiving end seemed to have any issues.

The dual core CPU really shines in this phone – and whatever Motorola did to optimize performance worked.  Most Android phones have a known sluggishness when it comes to response – you touch or slide or open an app and it stutters or pauses.  Newer models are better, of course, but road is the first time I’ve seen one perform like this.  The home screen/ launcher is silky smooth and in general you rarely feel like you’re waiting for the phone to figure something out.  I/O performance can lag occasionally, but every phone from every manufacturer (including Apple) tends to suffer from this and the average user will rarely encounter issues, if ever.

Display
A lot of people have written about Motorola’s pentile displays.  The short summary is that they use very little power, are quite bright (even in sunlight), have weak greens, and have an odd graininess to visuals that comes from the spacing of the pixels in the display.  In my experience, the problems aren’t as bad as some people say: the greens have apparently been bumped up quite a bit from older models, and the graininess is only obvious when you’re looking at certain colors and images.  Text looks sharp and very readable, and generally it’s not something that bothers me.  However, when it does, it’s really annoying.

In the end, having a 4.3″ screen with qHD resolution (960×540) is a real pleasure and that, plus the brightness and low power usage make for a very reasonable compromise in my mind.  It’s not close to being the best display out there, but you could certainly do worse, and it’s a step up from many.

Battery Life
What was that?  Battery life?  Here’s the first strike.  Battery life on the Bionic is bad.  It could be worse, but it’s nowhere near what I was hoping for.

A few points: Android’s battery life tends to be meh.  And Verizon’s LTE network is a known battery hog.  As a result, most of their 4G phones have appalling battery life.  The Bionic has a large battery and a fairly efficient screen, so it performs better than most, but it’s still (in my opinion) unacceptable in this day and age.  I tend to be a moderate to heavy user, with 2 google accounts syncing, facebook and g+ and twitter, plus google reader once an hour (caching full webpages plus images on the device), frequent usage, a few calls a day, and 2 subway rides a day (with little to no service underground – another situation known to drain the battery like crazy).  I ran a few tests, and here were my results:

Everything turned on except Bluetooth, including wifi at home for 2 hours, a subway ride, and 4G at the office: 9.5 hours.
4G off, everything else on except BT, same basic setup as before: 16 hours.
4G off, wifi off,  BT off: 13 hours(!).
4G off, wifi on both at home (2 hours) and in the office (9 hours), BT off, airplane mode for most of my subway ride: over 18 hours and counting.

What’s interesting to me is not that 4G uses the most power, but that 3G uses so much more than wifi – using wifi in favor of 3G data (and, in fairness, using some airplane mode while in the subway) extended the life of the phone by over 5 hours (so far).  That’s a huge difference, much greater than I would’ve expected.

So in summary: battery life is good if you’re on wifi most of the day; bad if you never use wifi; terrible if you never use wifi and use 4G and have lousy reception.  Realistically, though, most of the time I don’t need 4G, I’m just syncing email or my google reader feed, and 3G will do just fine – and in those scenarios, I actually get better battery life than my old Droid.  I’ve always got the option of cranking up the 4G when it makes sense (like when I’m watching a video or downloading a new app), and the rest of the time I get improved (but still not great) battery life.  Could be worse, I guess.

OS & Apps
Well, either you like Android and its freedom – and everything that comes with that, good and bad – or you don’t.  Personally, I love it, but a lot of people don’t.  The thing is, though, this isn’t vanilla Android (aka AOSP) – this is Motorola and Verizon’s take on Android, and that’s a little different.  For one, Motoblur – while Motorola has dropped the name, they still have a custom launcher/ home screen/ etc. interface.  Likewise, Android has some useful base apps, but Verizon likes to have a chance to pee in the pool and leave behind a bunch of fairly useless apps to hog up space on your phone.

The OS is a modified version of Android 2.3.4.  Motoblur is not the greatest mod ever, but it’s not the worst, either.  I have to say – while a lot of their modifications seem stupid to me, it is a lot smoother than I had expected.  The home screen is probably the best part – it has a nifty (if weird) sort of 3D effect when you swipe from screen to screen, and it allows you to easily move – and resize – home screen widgets and app shortcuts.  This is actually a good thing – it brings you functionality and a smooth interface that arguably improves on the default.  Ok, cool.  But on the flip side, Motorola has loaded it with custom icons for the various apps (phone, calendar, email, camera, etc.).  The problem is, those icons are not only ugly but they don’t even look particularly like what you’re expecting.  The camera icon doesn’t look like a camera, the camcorder icon doesn’t look like a camcorder, etc.  Why do that?  The default Android icons were clear and at least somewhat attractive, the Motorola replacements are neither.  Likewise, the launcher switches from the default vertical scrolling list to a more iphone-like side-swipe with distinct screens of apps.  Ok, that’s a matter of choice, some people may prefer that.  But they break the standard way of adding apps – normally a long-press on an app will allow you to add it to your home screen.  Motorola changed that so now it pops up a menu and adds multiple steps, so what used to be a quick and convenient action is now slower and less convenient.  Why change that?

The apps Verizon includes are forgettable – I can’t really remember what’s on there except for My Verizon (check your account info) and the VZW Navigator, which is a complete waste of space w/ Google Maps providing free high-quality GPS-style navigation.  The standard Google apps are included, and these are as good as you’re used to – the really excellent Gmail app, the already-mentioned excellent Google Maps, and the new and improved Market app – with a really slick, nice new interface.  You’ll never go wrong with those.

Call Quality
Not much to report here.  The call quality is solid, the speakerphone is a little quiet, but no real complaints.

Data Signal – Quirks
This one… data signal was generally good.  And, in fact, when coming out of the subway it picked up both 3G and 4G signals much more quickly than my OG Droid ever did.  But (and isn’t there always a but?) there were these times when switching radios between wifi and 3G, or 3G and 4G, when it would just lose its data connectivity.  Sometimes, flipping into airplane mode and back out will reset the radios and get you back online, and sometimes, it won’t.  I’m guessing this is a flaw that’ll be patched in time, but it’s annoying for now.  I’ll also throw out the concept that your average user may not be constantly flipping the radios on and off and testing battery life and signal, and maybe the average user that doesn’t mess with that stuff wouldn’t see these same issues – so take it with a grain of salt.  You may never see this issue.  (And maybe I just got a bum phone, too.)

Camera/ Camcorder
Not bad.  8MP, reasonable quality, fairly fast to take shots – the only real issue?  It sometimes, randomly takes eons to focus.  Most of the time it’s fast and gives nice shots, and then you’ll get that odd time, when it takes forever and you miss the shot – and get a blurry, useless shot instead.  Awesome.  The camcorder doesn’t seem to have the same problem, although I’ve used it less.  One other odd quirk about the phone: it has around 8 video resolution levels, but only seems to have 2 resolutions for the camera itself – 6 MP widescreen or 8 MP.  I do like the fact that you can use the flash while taking a video – nice little touch.

Advertising
This has nothing to do with the phone, of course, but Verizon’s bombastic Droid advertising is as over-the-top as usual.  The Bionic was apparently “Made from Machines… to Rule All Machines”.  There you go.  If you’re looking for a phone that will apparently let you defeat killer robots in an arena while letting you control your home stereo system (or something like that), this is the phone for you.

Hackability
I’m not referring to security, here – I’m referring to the ability to customize your phone, root it, change the OS, and install all kinds of things the manufacturer never intended.  It’s too early to really know, but so far the Bionic looks very promising here – it’s already been rooted, and the Cyanogenmod team already has a preliminary version of CM7 they’re working on.  With a little luck this’ll be almost as much fun to play with as my OG has been.

Conclusion
This is a tough one for me.  There’s a lot to like about this phone – it’s fast as hell, it looks and feels like a high-quality, well-made piece of technology, and the 4G modem brings wireless speeds that just put the old 3G CDMA network to shame.  The battery life is mediocre, on average, but if you’re using the 4G judiciously and are staying on wifi most of the time, it’ll do.  The phone is really a pretty good phone, and honestly, it’s fast enough and slick enough that even people that aren’t Android fans will find plenty to like.  But it’s hard to recommend outright when there are a huge lineup of kick-ass phones coming out – phones with NFC and HD screens and Ice Cream Sandwich… (not to mention, of course, the new iPhone coming out) and if you have the ability to wait a few months, you may find something even better.  Of course, if you can’t wait, you probably won’t be disappointed by the Bionic, either – it’s got enough juice to keep you happy for quite a while.

Droid Generations: OG to Bionic, Impressions

September 9th, 2011 § 2 Comments

When the first Verizon Droid-branded Android phone came out (November 2009) I pre-ordered it and picked it up the day it was released.  I had been using a Blackberry for a while, and a Treo before that (and “dumb” phones before that), and I was really intrigued by all the things I was reading about with the new generation of touch-friendly phones (and more than a little jealous of the people I saw walking around with their fancy toys).  So when VZW announced (or it was leaked, same difference) the Motorola Droid (aka the OG), I was eager to get on board.  (I was never a fan of Apple and the iPhone; I like to play with my toys, and to tweak them, and there’s no way I’d get that from an iPhone then… probably not now, either.)

Long story short, I’ve been using the OG Droid pretty much every day for the past 2 years, and always really liked it – it’s a solidly built phone with a decent keyboard, a screen that on release blew everything else away, and it had served me faithfully through upgrades and rooting and custom ROMs and everything else you can subject a phone with an unlocked boot loader to.  The problem, though, was speed (or lack thereof).  VZW’s 3G network – slow.  The OG’s cpu and lack of memory – slow.  Apps took forever to load and to run, the phone was laggy, browsing  was painful, you get the idea.  When the Droid Bionic was announced back in January – dual core! 4G!  big screen! – it seemed like the ideal phone, something that’d blow everything out of the water.  It probably would have, too, had it come out when promised.  8 months later, and around 5 months later than planned, it’s finally out – and I went and picked one up on release day again, despite all the other lust-worthy phones that’ve recently come out (or been announced).

Anyways, a bunch of people have eagerly asked me what I thought of it.  It’s too early for a review – I’ve had it for less than 24 hours.  But I figured some early impressions might be worthwhile.

First off, it’s worth repeating: the Bionic was the phone of the future, but that was 8 months ago.  Now?  It’s the phone of today.  (Better today than yesterday, but a smart phone loses a bit of lustre over 8 months.)

If you’re not familiar with it, it’s got a 4.3″ qHD screen, 8MP camera, 1 GHz dual-core CPU, 1 G of RAM, VZW LTE/CDMA radios, runs Android 2.3.4, and has an impressive 32G of storage it ships with (16G internal, 16G in a card – but you can replace that with a 32G card if you really want a lot of space on your phone).  Great specs – but nothing earth-shattering.   Phones like the Samsung Galaxy S2 and the HTC Evo 3D have similar specs, and in some cases some fancy benefits like a Super AMOLED Plus screen or dual cameras and glasses-free 3D, so the Bionic has an uphill battle right out of the gate.

So, without further ado, some impressions (and if you haven’t figured it out by now, my writing style is ‘wordy and rambling’):

  • It’s surprisingly light for a phone with a solid build.  It’s lighter than the OG, despite being considerably longer and wider, and is very comfortable in the hand for most tasks.  If you use the volume, power, and capacitive buttons often, though, it’s a bit of a stretch.  (I do a lot of news/ blog reading on mine, and use the volume keys to go to the prev/ next story, and the capacitive buttons to save posts or send them to people, so that’s taking some getting used to – can’t do it all with a single hand without shifting things around a bit.)  It looks nice, though, and has gorilla glass protecting its front (meaning it’s nearly indestructible – anything that can scratch the screen would go straight through a screen protector, without exaggeration, so don’t waste your money).
  • It’s fast, and oh-so-smooth.  I was a bit shocked by this – I’ve played with some newer Android phones, and this has by far the smoothest feel of any of them I’ve seen when sliding around – there’s no delay, no hiccups, no hesitation.  Maybe there are others like this, too, but none I’ve seen.  It’s silky.
  • It’s Motoblurred.  This is a downer for me – I’m a big fan of vanilla Android, and this almost was a deal-breaker for me.  (Still may be.)  Interestingly enough, though, the motoblur home screen is actually much more smooth and responsive than other replacements like Launcher Pro and ADW.  I suspect that it uses 3D hardware acceleration to manage this – something a generic launcher generally won’t offer, one of the ‘flaws’ of the open software/ hardware combo that Google is juggling.  The iPhone is so smooth because its interface is optimized for the one type of hardware it’s going to run on – versus being optimized to run on as many hardware platforms as possible.  Motorola seems to have stolen a page or two from Apple, in a good way.  However – Motoblur is still Motoblur, and other than performance, it’s worse than the stock launcher in pretty much every way.  The icons are ugly and hard to decipher, it’s much clunkier to use, doing basic tasks like adding shortcuts take many more clicks, etc.  If they’d drop that crap and just use the stock launcher – but bolt hardware acceleration into it – I’d be much happier.
  • Battery life: only on my first day, but so far, it looks terrible.  After 7 and a half hours of unplugged moderate- to heavy- usage, I’m down to 20% battery.  Now a few disclaimers: normally I take some battery-saving measures, like flipping to airplane mode on the subway, because Android (or maybe all smartphones) seem to be terrible about managing their battery when they can’t reach the network (as far as I can guess, they sit there trying to find a tower and reconnect repeatedly, and it just drains the battery in no time.  My OG suffered from the same problem – an hour on the subway would actually burn battery faster than doing something like streaming video on the phone), and I have not been taking those precautions with this phone so far.  I wanted to see how it was out of the box without any real tweaks or cheats.  Anyways, so far, I’m really unimpressed – it has a nice big 1700+ mAH battery and it still can’t handle it.  VZW’s LTE (“4G”) radios are known for being terrible about battery life, so my next test will be to flip back to 3G and see how that impacts its life.  (I’m guessing that it may just about double it.)
    Update: 8h 47m, 5% warning just popped up.  Looks like around 9.5 hours, including 45 minutes on the subway, is all it’ll manage on its first day.  Great.  Take out the subway time, and you’re up 10-11 hours of moderately heavy usage w/ LTE enabled, per charge.  Time to look into extended life batteries…
    Update: made it another 55 minutes or so – a little over 9 and a half hours, before it died.
    Update: with 4G disabled, and with 2 subway rides, plus 2 hours in a data center (i.e. multiple situations w/ lousy reception, i.e. heavy battery usage), it has made it to 14 hours and 22 minutes and is at 5% battery – figure 15-16 hours before it completely dies.  My guess is that with good reception and 4G disabled, you could make it almost 20 hours.  Right now, cell standby accounts for 35% of the time and wifi for another 26%, with phone idle at another 23%.  I don’t know if I buy those numbers, but theoretically with wifi off, 4G off, and good reception, you could probably go over 24 hours without issues.  We’ll find out tomorrow.  ;)
    Update: With 4G disabled it went for 16 hours.  With wifi and 4g both disabled, it actually went through battery faster… around 13 hours.  :(
  • The screen is a blessing and a curse.  It’s apparently the same basic screen as on the Atrix and the X2, it’s a pentile qHD 4.3″ monster.  The resolution is high and it’s shockingly bright and readable even in direct sunlight, thanks to the pentile display.  However, the flip side of the pentile display is that it also has a grainy, pixelated sort of look to images with patches of flat colors or gradations, due to the way the pixels are laid out on the screen itself.  It actually looks a lot like the old color comics printed in newspapers – or if you prefer, like the flesh tones on a Lichtenstein print.  I’m not a fan of it, but I have to admit, in casual day-to-day use I don’t really notice it (but it’s obvious if you look closely).  The reality is that most photos are not comprised of smooth gradients but collections of jumbled pixels – especially jpgs, and so most when viewing photos and videos, it looks ok.  App interfaces, though, are typically not photos but are (drumroll) blocks of color gradients, so you notice it more there.
  • So far, 4G seems a little over-rated, but admittedly I don’t watch a lot of videos on my phone and I don’t stream a lot of music onto it, either.  (I also don’t download a lot of large apps or docs, either, having been trained by the minimal space in my OG.)  I’ve got Pandora and Youtube and Vevo installed, though, so I may be able to give you better feedback here soon.  I will say this, though – I was able to start streaming a movie over Netflix in something like 3 seconds, which is actually a lot less time than it takes my PS3 to buffer it at home over my DSL line.
  • Pre-installed apps: ugh.  Seriously, why do these vendors do it?  But you can hide them from the app drawer, which is nice.
  • The camera’s decent – neither great nor terrible.  It seems much better than the camera on the Droid 3, and better (but not dramatically so) than the OG’s camera, but it’s not going to win any awards for picture quality.  Still, it works, and for those of you interested it’ll record 1080p video (haven’t tested this yet… not a major selling point for me).

So, there you go.  I’m debating whether I’ll keep it or wait for the holy-grail-held-by-bigfoot-riding-on-a-winged-unicorn-flying-over-the-loch-ness-monster that is the “Droid Prime” or “Nexus Prime” or the “Galaxy Prime” or whatever it’s called – supposedly an improved and reworked replacement for the missing Samsung Galaxy SII on VZW, running vanilla Android (Ice Cream Sandwich!) on Verizon’s  LTE network w/ a giant 4.65″ Super AMOLED Plus screen running w/ higher pixel density than the iPhone 4.  (I think it also mows your lawn and gets you a cold beer during the game and gives you blowjobs when no one’s looking, but those are just rumors.)  If I do decide to keep it, I’ll post a review in a week or two.  And if not, I’ll let you know how it goes as I resume my search for Nessie.  ;)

Managing technical teams

October 29th, 2010 § Leave a Comment

The Assembla Blog had a great post about how their tech leads supervise their distributed development teams.  It’s interesting to see how they work, especially how they use their own tools.

Our team isn’t distributed, so we have fewer communication challenges, but many of their best practices work well regardless of whether your team is colocated in the same room or distributed across the planet.

One comment they make in another post is that they don’t use Scrum Masters – their technical leads fill the role and are always technical people, actual doers and not just supervisers-of-doers.  We have a similar structure – each team has a facilitator that handles most of the same responsibilities.  The biggest difference in our team structure and theirs is that we have product managers (i.e. the people who write business cases, determine product requirements, do market research, etc.) who are part of the teams and for some of the teams they act as the facilitators.

I’m looking for ways to integrate operations (SA’s, DBA’s) into this development/ build path – I think that’s a critical element to solving some of our issues and enabling faster growth and scalability (both in terms of traffic and our business!) in the future.  This isn’t a new concept – or, at least, not that new.  There’s a budding DevOps movement going on, and I think it’s a change for the better.

Kindle 3 Impressions

September 14th, 2010 § 2 Comments

Something that I’ve been asked recently (other than for my favorite Android apps) was what I thought about my new Kindle 3. Many people seem to be new to the concept of e-readers and the recent popularity of the iPad* and that whole tablet form-factor seems to have brought them to the forefront of people’s attention.

So first off, a bit of background: I’m a voracious reader, but a busy one – I burn through books quickly and never seem to have enough time to get to the bookstore and leisurely peruse the available titles. I’ve owned all 3 editions of the Kindle so far, and have loved each one as I’ve gotten it. The first was given away as a gift to a friend, the second is still used by the family, and the third is.. my precious. (That may give a hint as to where my feelings lie.)

As far as why I chose the Kindle over other e-readers (like the B&N Nook, or the Sony Reader, or the Alex, or the Kobo, or any of the others), it’s relatively simple.  For one, I’m a fan of Amazon – I like them, I think their prices are good, their shipping is great, and their customer service treats me well.  They’ve got a good library of ebooks in their store, and the device itself is compelling – the Kindle 1 was the first mainstream e-reader, and the built-in 3G wireless for life was a killer feature.  Then the Kindle 2 came out, and was lighter and thinner and faster and had better battery life, and the competition (primarily the Nook, and Sony‘s device) wasn’t compelling – slower, buggier, smaller library, higher prices… when the Kindle 3 came out, it seemed like a no-brainer.  Like the Kindle 2, it was everything its predecessor was, but further refined and improved.  Each new model has been (in my opinion) the best e-reader on the market on release.

 

Kindle 3

The Kindle 3 in graphite

So, the Kindle 3.  It’s noticeably smaller and lighter than the Kindle 2, and now comes in graphite in addition to the standard off-white.  It also has dramatically improved battery life – up to a month, straight, with the wifi edition.  The price took a major drop (beating the Nook).  The refresh is improved.  It now has a wifi-only edition (lighter, better battery life than 3G, but with the obvious problem of not having 3G connectivity).  And it has more storage, better contrast (arguably the best e-ink screen of any device out there)… and even has a new and improved case, with a reading light built-in that uses the Kindle’s own battery.  (That one’s very nice – I used to burn through batteries like crazy w/ my old reading light, and it was a pain carrying it around.)

I’ve been impressed so far – the changes are all incremental, evolutionary rather than revolutionary, but all of them help to improve the experience of using the device.  Getting the Kindle (any one, even the first edition) genuinely changed the way I approach reading – it had gone from something that I did less and less, mostly focused on periodicals (because they were convenient – delivered to my house) to something that I now do more and more of.  I’ve read more books in the past couple of years, on my Kindles, than I have for probably the 10 or 15 years previously, combined.  Getting books is effortless, now (they’re delivered in a few seconds, literally) and the ability to preview a book, reading the first chapter or two free, is really great too – it’s led me to trying books I may not have, otherwise.

Ultimately, that’s what it boils down to for me – forget about any of the nifty technology or the gadget lust.  With the Kindle 3, I read more, and I enjoy reading more – and that’s a good thing.

* – To the Apple fanboys: the iPad is a great device, but it’s not a great e-reader.  It’s too big to comfortably hold in one hand (not to mention turning the page), the screen looks like crap in direct light, and the battery life is good but not great.  If I wanted a dedicated web browsing/ app running device, and had way too much money on my hands, I’d probably get the iPad.  (Or maybe one of the new Android tablets… )  But what I really wanted to do was read, and there’s just no contest when it comes to pure out-and-out reading.  The iPad simply does not compare.  The only device I know of that may compare – and which has inspired a huge amount of gadget lust in me – is the Notion Ink Adam, which uses the new Pixel Qi screen – a unique blend of LCD and e-ink and arguably better than either one alone.  The biggest problem with the Adam is the bigness – it’s too large for an e-reader, too.)

My Favorite Android Apps

August 22nd, 2010 § 1 Comment

Android robot logo.

Image via Wikipedia

I’ve had several people ask me this, so here’s my long-awaited list of my favorite Android apps.

(Bear in mind: I’m running Froyo (OS version 2.2), I’m using the Motorola Droid, and I’m rooted, so these may not all apply to you.)

3banana – Excellent note-taking app. Syncs online, so you can edit in browser or on your phone. Good for quick notes. Several apps use it for their locally saved data.

ADW Launcher – my favorite home screen replacement by far. It’s very similar to the Froyo home screen, but it’s faster, more configurable, and with more features. I love this. LauncherPro is another good one.

Agenda Widget – handy for those of you that like seeing your calendar on one of your home screens. I use it on my main homescreen to see all of my upcoming meetings.

AppBrain – AppBrain.com is a website that lets you search for apps, read their description and reviews, look at screenshots, etc. And the AppBrain app allows you to sync your apps w/ the site, so you can find a cool looking app, mark it for installation, and then sync it to your phone to install it. With Fast Web Installer, you can have it automatically kick off installations without needing to launch an app. If you’re like me and you like to try all of the latest apps (and then uninstall them after you decide they’re a waste of time ;) ) it’s awesome.

ASTRO – file manager, plus task manager, etc. Useful if you copy files onto your phone and need to edit them, access them, etc. Great general purpose utility.

Awesome Drop – nifty app for copying files to your phone from the web. Does one thing, does it well.

Barnacle Wifi Tether (or Android Wifi Tether) – useful for using your phone as a wifi hotspot/ modem. When you’re not near a hotspot but you have 3G access, you can still get online on your laptop. (Or iPad. ;) )

Beautiful Widgets – like it sounds, it’s a bunch of beautiful looking widgets. The weather app is especially noteworthy – very nice looking and functional as well. If you ever look at your phone and wished it was just a little prettier, this app will help you get there.

Bubble – use your phone as a level. Surprisingly useful. I find uses for this all the time.

Chrome to Phone – send links and other data to your phone, directly from your browser. Send bookmarks, maps, etc.

Documents to Go – read/edit Word, Excel, etc. docs on your phone. Great if you get a lot and need to see what they really look like. I get a lot of attachments. This may be less useful for other people. ;)

Droid Light – use your Droid flash as a flashlight. Super handy. Great when you’re in the basement, or when someone blows a fuse. I’ve used this in the office, and at home. (We blow fuses in both places, and have bad lighting in both places. ;) )

Facebook/ Twitter/ Foursquare – if you use these social networks, get these. If you don’t, don’t. (Other good Twitter apps: Touitter, Twidroyd, Hootsuite.)

Favorite Recipes – like it sounds, it allows you to search for recipes, add your own, save them to your phone, etc. When saving, it uses 3banana, which is handy.

Kindle – ebooks on your phone. Syncs with your Kindle reader if you have one. There are thousands of free ebooks, and a great selection of paid ebooks.

Maps (-) – like Google Maps, but it syncs and saves maps for offline use. Really useful if you vacation or travel in areas with limited data access, like the Catskills. :)

Movies – if you like to watch movies, get this. Showtimes, theaters, reviews, etc.

NASAImages – beautiful images, all free. Set them as your wallpaper – more attractive, and science-y too (yes, that’s a word).

NewsRob – the best RSS/ newsreader app out there. Syncs with Google Reader. Downloads the text and images for offline usage – read your favorite blogs and news articles in the subway. :) Functional, practical, excellent.

OpenSudoku – Free Sudoku app. Hundreds of free boards. ’nuff said.

PanoPlanet – amazingly beautiful live background. Really nifty looking.

Retro Defense – fun tower defense game.

Screebl Pro – if you get annoyed with your phone screen timing out sometimes, and wearing out your battery other times, get this. It alters the screen timeout based on how you’re using it (i.e. when you’re holding it, it won’t time out… when you put it down, it will.)

SetCPU – overclock and underclock your phone based on usage, battery, etc.

SmartBar – handy for accessing settings and other things quickly from any screen.

SpringPad – similar to 3Banana but with more features. Supports more automated formats – things like check lists, shopping lists, etc.

Swype – my favorite keyboard. In beta, but via invite only. If you can’t get access to this, check out Swiftkey Beta. Swype allows you to literally swipe across the letters in the word and it has an amazing ability to figure out the correct word. Swiftkey is a normal keyboard, but with much, much better prediction than the built-in keyboard. Swiftkey’s most compelling feature for me is the fact that it does prediction even on the hardware keyboard on the Droid.

Tasker – allows you to program all sorts of logic into your phone to adjust its behavior – for example, my GPS automatically turns on when I use Maps or Foursquare, off at other times to save battery. When my battery gets low, it lowers my screen brightness. When I’m in a meeting, it mutes the ringer and switches to vibrate. Another similar app is Locale, which is very nice as well (but not free).

Voice – useful if you use Google Voice. If you don’t, you should. Visual voicemail, voicemail transcriptions, free calling and text messages… awesome service/ app.

WaveSecure/ Lookout – They backup your contacts, call logs, etc. And in Lookout’s case, it scans for viruses. I don’t know of any Android viruses, so I don’t really see much value there, but the backup functionality is handy. Especially if you like to wipe your phone and install different ROMs. :)

Having trouble finding these apps? Go to AppBrain.com and do a search, you’ll find it in no time. :)

AOL Pagetest Presentation

April 16th, 2010 § Leave a Comment

Last night I gave a presentation/ demo of AOL’s Pagetest tool to the NYC Web Performance Meetup. As a disclaimer, I’m not involved with the development of the tool at all, I’m just an avid user. :)

I thought the presentation went pretty well over all – I was definitely rusty, but it was good to get up there and it was a relatively light topic to get back to presenting with. I posted the presentation on SlideShare, but it seems to have mangled it a bit. It looks odd, but it’s still mostly legible, so here you go:

If you attended the talk, feedback is valued! Like I said, it’s been a while since I’ve presented, and I’m always looking to get better. :) Sergey posted the talk up on SpeakerRate, so feel free to use that instead of commenting here: http://speakerrate.com/talks/2929-tool-demos-webpagetest-org

We’re hiring!

December 16th, 2009 § Leave a Comment

Interactive One is hiring – we’ve got multiple spots open, including 3 Database-related positions: an Oracle Production DBA, a MySQL DBA/Developer, and a Business Intelligence Engineer. We’re a small, growing company in NYC that runs a whole bunch of websites – a little over 60 – that pull in a whole bunch of page views every month. It’s a fast paced environment, and one that encourages creativity and demands excellence to succeed. (Every now and then you can get by with “pretty good”. ;) )

If that sounds interesting to you, check out the listings on our site here:
http://www.interactiveone.com/jobs_at_interactive_one.php

Exanet, I hardly knew ye

December 11th, 2009 § Leave a Comment

Not a lot to say immediately, but just wanted to note the passing of what had been an excellent NAS vendor, Exanet.

There are a few articles about it, like this one: Exanet exit-bound despite Dell’s efforts.

Exanet wasn’t perfect – their ending speaks to that – but they had a really solid, amazingly fast product for the price (or almost any price, for that matter). We put it in head-to-head tests against several other significant NAS vendors’ products, and it essentially beat them all in performance, while still coming in lower than most for price. We’ve used it, happily, for a little over a year… until now.

Our Exanet boxes are still in production, but the real question is, what now? There’s an answer to that, and I’ll talking about that shortly in a new post. Hold on to your seats, true believers! ;)

Our Experiences Using Varnish

September 22nd, 2009 § 1 Comment

One downside to using Varnish is that it’s just not that well documented and searching for info on it often doesn’t give you much useful info. (Everything’s relative, of course, but there are a million and one tutorials on apache, for instance, or even something “obscure” like nginx. Tutorials on varnish are pretty much non-existent.)

As a result, a lot of what you do with Varnish feels a bit like trial and error. Google, read the comments, make some changes, cross your fingers, see what happens, rinse, repeat… On the upside, though, it’s really f’ing fast*.

One potential issue w/ Varnish is just that old versions tend to crash. A lot. We had been running v2.0.2 in production for a while, and were seeing it dump its cache on a regular basis. Upgrading to 2.0.4, the latest (but still old) version, fixed that problem. Here’s a quick graph to illustrate how bad the problem was for us before the upgrade:

varnish stability, 2.0.2  vs. 2.0.4

varnish stability, 2.0.2 vs. 2.0.4

Can you tell when we upgraded?

A few days after the upgrade, one of the admins noted that the cache-hit ratio on one our Varnish boxes had tanked. It was averaging ~5%. (Yes, that’s correct: 5% cache-hit ratio.) He couldn’t figure out why, and was worried that the new version (or the server itself) was broken. I decided to take a deeper look.

Where’s the first place you always look? The logs.

Varnish ships w/ a utility to view its logs, the creatively named “varnishlog”. By default, it is VERY verbose, and each type of log entry is displayed on a separate line, making for a lot of reading. Here’s a quick snippet:

7 ReqStart c 10.50.200.2 28930 1190155455
7 RxRequest c GET
7 RxURL c /lsap/wamj/
7 RxProtocol c HTTP/1.1
7 RxHeader c Accept: */*
7 RxHeader c Accept-Language: en-US
7 RxHeader c Referer: http://wmplayer.i1cdn.us/lsap/lsap.swf?2
7 RxHeader c x-flash-version: 10,0,32,18
7 RxHeader c User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
7 RxHeader c Cookie: __qca=1206622485-48854133-13839168; __utma=252465551.1953205683.1245086023.1250594590.1250680036.49; __utmz=252465551.1245086023.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)
7 RxHeader c X-Akamai-CONFIG-LOG-DETAIL: true
7 RxHeader c TE: chunked;q=1.0
7 RxHeader c Connection: TE
7 RxHeader c Accept-Encoding: gzip
7 RxHeader c Akamai-Origin-Hop: 1
7 RxHeader c Via: 1.1 akamai.net(ghost) (AkamaiGHost)
7 RxHeader c X-Forwarded-For: 63.170.23.3
7 RxHeader c Host: wmplayer.interactiveone.com
7 RxHeader c Cache-Control: max-age=3600
7 RxHeader c Connection: keep-alive
7 RxHeader c Remote-Address: 24.143.193.5
7 VCL_call c recv
7 VCL_return c pass
7 VCL_call c pass
7 VCL_return c pass
7 Backend c 23 default default

That’s not even a full request and response. As you can imagine, trying to read through that and get some useful information, when it’s spewing that out, means reading hundreds of thousands of lines per second on even a moderately loaded box. Fortunately, it has filters. :)

Here’s what I like to use:
varnishlog -o -i VCL_call,VCL_return,ObjStatus,RxURL,RxRequest,Backend,BackendReuse

That’ll give you something that looks like this:

39 BackendReuse - default
15 SessionOpen c 10.50.0.1 33118 :6081
15 RxRequest c GET
15 RxURL c /lsap/wamj/
15 VCL_call c recv pass
15 VCL_call c pass pass
15 Backend c 39 default default
15 ObjStatus c 404
15 VCL_call c fetch error
15 VCL_call c error deliver
15 VCL_call c deliver deliver
15 ReqEnd c 1858675503 1253632536.477387428 1253632536.477694750 0.000040293 0.000285864 0.000021458

Much better.

Anyways, I dug through the logs, using varnishlog, filtered down to just some key info. What I find? A lot of 404′s (see above). Many per second, in fact, potentially enough to account for part of the problem.

The solution was relatively simple: DirectoryIndex wasn’t turned on in Apache, and for this content, we always linked directly to the index page, but apparently someone else was linking to the directory directly. Unofficial linking to this, in this case, is probably ok, so we turned it on.

After turning it on, requests look like this:


39 BackendReuse - default
32 RxRequest c GET
32 RxURL c /lsap/wxmg/
32 VCL_call c recv pass
32 VCL_call c pass pass
32 Backend c 39 default default
32 ObjStatus c 200
32 VCL_call c fetch deliver
32 VCL_call c deliver deliver
32 ReqEnd c 1190165064 1253642065.245815516 1253642065.247427225 0.016723871 0.001575947 0.000035763

Awesome. What was even better was seeing the cache-hit ratio graph:

varnish cache-hit ratio after fixing 404s

varnish cache-hit ratio after fixing 404s

So, I guess the things to take away from this:
- run the latest stable version
- check the content before you blame the cache
- set up graphing so you can see trends

Enjoy. ;)

* Disclaimer: I didn’t run or write that benchmark. But since I didn’t actually write one up myself, I figured I might as well link to a random one I found via Google.

Oracle and PHP – Part Two

June 29th, 2009 § 1 Comment

When we left off last time, we were stuck in a bit of a quagmire – we had solved the scalability issues with growing lots of little Oracle instances in an “OPAL” environment, but we had added a huge list of management headaches. Every dollar we saved in licensing costs was arguably being lost to the cost of maintaining all of that – maintaining the cluster divisions, maintaining the materialized views, maintaining the app so that it properly adhered to the artificial boundaries between databases… everything worked, for the most part, but it was a major headache to keep it running.

Well, we weren’t the only OPAL shop out there (although we were one of the bigger ones). And as a result, other people had suffered from similar problems, which had slowly come to the notice of Oracle itself. We had tried to solve some of these problems ourselves: building in a database proxy layer, for instance, to provide connection pooling. We tried it a couple of times, but it was a big project, and kept on getting shelved for more business-critical projects. Even if we were able to develop the first version (which we technically did, actually), maintaining it and keeping it up to date with the latest Oracle features was a huge task that we just didn’t have the manpower for.

Without the available resources, building an in-house software solution didn’t look feasible. So while we kept that on the back-burner and came back to it periodically, we decided to try Oracle’s MTS, aka Multi-threaded Server, aka Shared Server. It was ostensibly supposed to solve the problem we had by swapping dedicated connections for shared connections, but in reality, it didn’t. We did save memory using it, but it wasn’t efficient and ended up increasing the CPU load on the box dramatically. For our smaller sites, it was an acceptable loss, but on the larger databases it just moved the bottleneck from memory to CPU, causing it to be unusable. (We have some benchmarks somewhere, but the proof was in the pudding: boxes that were using 10-20% of their CPU prior to MTS went to 100% CPU utilization with MTS, causing the box to become unresponsive and our site to effectively be down. Not good.)

So if MTS isn’t the solution, then what about 3rd parties? SQLRelay looked like an interesting option, but at the time the project seemed to be stalled, and the Oracle support was out of date. (Sounds similar to our own solution, huh?) We played with it briefly, but abandoned it in fairly short order.

Over time, though, the number of OPAL shops increased, and Oracle itself became aware of some of the issues and limitations. Once Oracle became involved, suddenly the earlier resource constraints seemed less daunting. We didn’t have to be the team to write and maintain this proxy and/or connection pooling layer, Oracle did. And while we had some influence in the PHP community, Oracle was a big company with lots of employees and they undoubtedly had a lot more!

So, long story short, we “solved” the problem by using Oracle’s new solution – DRCP (pdf) (part of 11g). We participated in early alphas and betas and certainly had given them a lot of feedback and suggestions leading up to its release, but I can’t honestly say we were the reason it was created. (But it’s nice to think that maybe our years of complaining about it to them helped inspire it. ;) )

DRCP, aka Database Resident Connection Pooling, is exactly the answer for the problem we were facing. With DRCP, maintaining the client connection is no longer handled internally inside the database, but by the DRCP connection broker, which a.) reduces overhead dramatically and b.) allows it to be more intelligent about reuse of resources.

Long story short, the introduction of DRCP was a life-saver for us – it’s allowed us to free up multiple gigs of memory on each of our DRCP-enabled servers, even while increasing the connection load. The effective memory use for client connections ends up being around 10% of that prior to DRCP, which was a massive reduction. The other upside, is that with all of the memory we’ve reclaimed, we’ve been able to allocate more to the actual database itself, increasing performance on that side as well.

We gave a talk about our initial experiences at Oracle Open World 2008. The slides are here:
OOW presentation

(Whether we do a follow-up at OOW 2009 is still being debated. If so, I’ll post about that one, too. ;) )

  • Calendar

    January 2012
    M T W T F S S
    « Sep    
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
  • Categories

  • Archives

Follow

Get every new post delivered to your Inbox.