I hereby decree

by David LeMieux


So, it took a while (sorry Ben) but Steep.it - the tea timing cousin of E.ggTimer - now has mobile support.

Steep.it mobile
Screen shot from early test version on Palm Pre


I decided to go a step beyond the mobile implementation I did for E.ggtimer. Mostly because Steep.it has a much more compelling multi-use case. Here is what you get:

  • Offline support: Yep, if your device/browser supports HTML5 manifest files you should be able to bookmark your favorite tea timer and come back to it later, even if you aren't connected to the internet.

  • iOS Home Screen Icon: Add the timer to your iOS home screen and you will have an always-ready timer.

  • Core upgrades: This is less noticeable (hopefully) than the others, but I updated the core E.ggTimer mobile code to be more flexible and more efficient.

Of all the features, the Offline support was probably the hardest to test.

A Rant
(I apologize up front for being such a whiner.)

Unfortunately a recent update of iOS broke some of the functionality. I suppose what I was doing before was a workaround, but now you can't invoke sound or media to play through JavaScript in HTML5 on certain mobile browsers (iOS 4.2, some android) unless through user interaction.

This makes sense from a bandwidth point of view, but it is frustrating that companies like Google and Apple tout HTML5 as a solution for building mobile web applications but then remove some of the abilities. It is, of course, their prerogative to do so and it probably makes sense, but having to special case how the app runs depending on what device it is on seems like the very thing we were trying to get away from.

Obviously web applications developers like myself need to remember things like progressive enhancement, but because of native apps any "downgraded" (or not enhanced) performance from a mobile web app appears even more dramatic. For example, why can't the timer play a simple noise at its expiration? (Answer: because javascript can't invoke the sound in the device browser without direct user action).

I have already thought of ways to work around this issue, like require that the user "unmutes" the sound - which would put it in to a playable state. Or that instead of auto-starting the timer the user has to start it manually. Both of these options, though, break from the most basic user experience of E.ggTimer and Steep.it - that you start the timer via URL and don't have to do anything else.

But enough complaining. As the mobile and web worlds continue to merge and collide new solutions and opportunities will present themselves.

Try it out
Just go to Steep.it on your mobile device and give it a whirl. You will be redirected to steep.it/m and all your wildest tea timing dreams will come true.


blog comments powered by Disqus