Want to know what went on behind the scenes of JavaRanch’s mobile site creation?
Timeline
- January 2009 – We started talking about how poorly the site renders on a BlackBerry
- July 2009 – I got a BlackBerry for work. And ugh. The forums do look horrible.
- August 2009 – Tried out BlackBerry emulator and explored the minimalistic approach possible to creating a mobile version (see next section.) That didn’t work and I wasn’t prepared to spend a lot of time on it in the summer.
- mid November 2009 – Start discussing design/UI. Noted it took 4 minutes to edit a post via BlackBerry. Very excessive.
- late November 2009 – Restart development using approach #2.
- December 2009 – Weekly deployments to production using “secret URL that only the moderators know” for beta testing.
- January 3, 2010 – Mobile URL announced to public and added to e-mail notifications
Approach #1 – Mobile CSS
My original theory was that the easiest thing to do would be to just add a mobile stylesheet that would hide some columns. It wouldn’t shrink the pages of course. But as a first step: slow and readable beats slow and un-readable. I quickly ran into some problems:
- The BlackBerry doesn’t like mobile stylesheets. Bushido covers the options in a lot of detail. Search for “Alright, alright. Gimme the code already!” for the ugly CSS imports. The real problem is that you don’t have a mobile stylesheet with this technique. You have a stylesheet that everyone uses called mobile and the main stylesheet which cancels out the main one. Developing for this is crazy as you are compromising what stylesheets appear to do. And it will break when RIM finally gets their act together.
- JForum uses a largely table based layout. This doesn’t go well with CSS for hiding things.
- The table layout made changing anything incrementally very difficult.
Approach #2 – An actual mobile site
This approach is definitely more mobile friendly as the pages are designed to be mobile sized. They are also written from scratch and get to use <div>s. Basically what I did was take the real page, pick the most important parts and create div layouts for them. Once I had one done, the rest followed easily. There are a few limitations documented in the JavaRanch announcement site. But overall, I’m happy with it. It is certainly way better than what we had before. And we will continue to tweak it.
Testing
I tested locally using the BlackBerry simulator and later with the Droid emulator. I also tested using my real BlackBerry after deploying to the test server. The aggravation of using a real mobile device isn’t captured on the emulators! It is possible to use testiphone.com as an emulator. It is not completely accurate though. In particular, it didn’t show the viewport problem.
<meta name=”viewport” content=”width = 320″ />
We also tested on a variety of real devices. Many moderators tested on their personal handhelds and we got a good variety that way.
I’d like to thank a few people in particular. Thank you to everyone who let me test on their device, especially
- Gregg Bolinger – for instant feedback in testing the viewport fix at 11pm on both the iPhone and the Droid. (And more testing than anyone else.)
- A few coworkers (at my real job) – for the wide variety of devices I got to put my hands on. The simulators really aren’t the same. Five minutes on the real handheld at lunch really helped.
- Chuck from the NYC Spin for offering his tiny touch screen device (the smallest I’ve tested on) without my even asking!
Marketing
You know how sometimes marketing picks a ship date and it overrides “doneness” ? Well, I really wanted to announce this on January 3rd – the one year anniversary of us being on Java based software. There are some things that I wish were more resolved like why Google Mobilizer is injecting itself in links. Overall, I think it is in good shape and ready for people to try out though.
—
What do you think of the new site? Share in the JavaRanch announcement thread or as a comment here!