Room 118 Solutions - Web Application Development & Programming

Android Emulator without Eclipse

So, you’re a web developer, not an Android developer, and you just want to test your work on a specific version of Android, or emulate a specific device. You just want to get up and running quickly, you don’t want to deal with Eclipse, and you don’t want to trudge through the SDK’s extensive documentation, which very poorly covers the usage of the SDK without Eclipse (which is a shame, since its Eclipse plugin is just a thin wrapper for a powerful suite of command line tools).

Here’s what you need to do:

  1. Download and extract the SDK
  2. Open a terminal and navigate to the “tools” directory
  3. Launch the “android” tool (./android if you are currently in the tools directory)
  4. Tick off the “SDK Platform” for each version of Android that you’d like to use in your emulator
  5. Click the “Install N Packages” button
  6. Click each package and tick off “Accept License” (legally, I’m probably required to tell you that this step may take several hours as you read each license ;)
  7. Done with those licenses? Great. Click “Install”. Wait for the SDK manager to finish installing your packages, then you can close it.
  8. Back in your terminal, still in the tools directory, enter ./android avd which will launch the Android Virtual Device Manager
  9. Click “New” and fill out the form to build the device you’d like to emulate. In the “Target” dropdown, you’ll see the SDK Platforms that you installed earlier. If the version you need is missing, you need to go back and install it. Click OK when you’re done.
  10. Click on the device that you just created and click the “Start” button, tweak any options that you need on the Launch Options window, and click “Launch”.

That’s it! You’re all done. If you expect to need the emulator frequently, I’d recommend a shortcut to the “android” tool with the “avd” flag, so you can quickly access the Android Virtual Device Manager. Enjoy!

Website Optimization for Retina Displays How-to

Packt Publishing has recently released their introduction to retina displays as part of their Instant line, entitled Website Optimization for Retina Displays How-to, by Kyle J. Larson.

The book provides a quick overview of many of the different ways of serving higher density images to retina displays. Kyle starts with the basics using <img> tags and CSS, working through media queries and using fonts for icons, all the way onto Javascript and server-side methods for swapping in higher density images. Over 10 different techniques are shown, each with a description and sample code to demonstrate it. If your client just started complaining their site is blurry on their new Retina MacBook Pro, or you’re just looking to keep up with recent trends, this book is a good, quick place to start understanding your options.

Back in April of 2012, Jim shared his thoughts on dealing with retina displays in his own post, Server Side Retina Graphics.

Twitter Bootstrap Web Development How-To

Packt Publishing has recently released their introduction to Bootstrap (formerly Twitter Bootstrap), entitled Twitter Bootstrap Web Development How-To, by David Cochran. I was lucky enough to be a technical reviewer for the book.

If you’re new to web development, it’s a good walk through of building a website using  Bootstrap, introducing many of the components provided out of the box, like navigation, drops downs, carousels, and even taking advantage of Bootstrap’s responsive design features. At under 60 pages, it’s a quick read to get you up and running with Bootstrap for your own projects.

Server Side Retina Graphics

The more I use my new iPad, the more I notice non-retina graphics. We’re spoiled by the many native apps with retina graphics, that when we browse the web, it feels like a second class citizen. It doesn’t have to. This problem isn’t going away, either. I bet we’ll start seeing retina displays in MacBooks pretty soon, and maybe even glorious 27″ retina cinema displays, too. But, even with just the iPhone 4, 4S and new iPad, we’ve got a lot of devices receiving subpar content.  Let’s fix that.

Read on

SD Times – Software engineering: Art or science?

I was recently interviewed for an SD Times article about the role of art and science in software development.

Chris Gunther, cofounder and developer at Room 118 Solutions, agreed with Jacobson.

“I believe software development is not an art, but rather a craft as it is ultimately defined by its ability to solve a need for an end user,” he said. “Beautifully written code doesn’t count for much when it fails to solve the needs of the end user, and vice versa; poorly written code will have little negative effect on the end user when it successfully solves their needs.

“I think the craft side of software development becomes more of a necessity when working alongside other developers. Code that clearly reflects the domain model and is well organized becomes self-documenting and allows fellow developers to collaborate and understand the domain much easier.”

Gunther believed that science plays a role in development, but mainly due to the experiments used to find the perfect combination of code and the fact that developers are always building on top of older theories and ideas.

Read the full article.

RVM/Capistrano: rvm-shell not found

If you’re trying to deploy with Capistrano to a server you just set up, and it fails with an error like this:

rvm-shell: No such file or directory

Then you probably have a newer version of RVM on your new server than on your development machine.  Update RVM and go on your way.  Hope this saves someone some frustration!


Styling Print Headers and Footers With CSS

Last week I was tasked with porting a couple of reports for a client from Crystal Reports to HTML/CSS, so I thought I’d document my trials here. Luckily because this was running on a server and the printing was initiated on the server side, I was able to focus just on one browser (Internet Explorer 8) rather than ensuring wide cross-browser compatibility. Read on