Offline Tools
I started writing my JavaScript tools to provide me with solutions to problems I had. My depth of field calculator started out as a quick way to get 1/8-depth of field values that I needed for building an autofocus target. It grew from there in to a way to compare lenses across platforms with an eye towards maintaining a fixed composition, i.e. the same angle of view and depth of field. One thing that’s always slightly annoyed me with these tools is that they only live online.
The trouble is, developing applications for mobile devices (phones and tablets) is quite a mess. The 3 major platform all use different environments, APIs, and programming languages; Microsoft uses .NET, Apple uses objective-c, Android uses “Java”. Of the three options I have the most experience with .NET, but as a user I have Apple’s iOS based devices. Even then there are associated costs with bring an app to market on any of the respective platforms. Never mind which one do I target? Apple’s iOS because it’s what I use, or Android because it’s the most popular? Or do I try and find a cross platform toolkit of some kind?
Thanks, but no thanks.
There is another option, HTML 5. All the mobile phones support HTML 5 at this point, at least in the browser, if not though some mechanism that frames the “app” as something more “native”. And HTML5 supports an offline caching mode that can store all the relevant files on the device so the app works when there’s no internet connection. Okay sure, the experience isn’t quite as good as a native app, but right now that’s a compromise I’m willing to make for the sake of getting things done. Moreover, since my tools are already entirely based on JavaScript and HTML 5, it’s relatively painless for me to port the existing tools and roll out new ones as I find things I need.
Which brings me to why I’m posting this. I’ve rolled out the first early release of my offline capable HTML5 tools. The first tool is a direct port of my depth of field and equivalent lens calculator. It uses the same underlying code as the existing tool, it’s just packaged up so you can book mark it (or if you’re an iOS user, add it to your home screen), and use it anywhere any time you need it.
I still consider this to be a beta class product, as I’m still rolling out the documentation and refining the functionality. It’s currently been tested in iOS 7.1 and should support running as a full screen app. Simply visiting the site should download and cache the content required to run the application offline. Help and other documentation is still missing but is on the to do list.
Click the button below to go to the mobile tools landing page.
Comments
There are no comments on this article yet. Why don't you start the discussion?