It’s been quiet here cause I’ve had my head down in numerous projects, but I am extremely proud today to announce Bread Baking Basics for iPad. Get it for only $1.99 at the iTunes AppStore.
Bread Baking Basics is a tool and kitchen companion that allows you to custom configure your own bread recipes. Choose the type of flour, the shape of bread, and the amount of bread you want to make, and the app creates a custom tailored recipe to suit your needs — including full size color photographs depicting each step of the process. English or metric? Weight or volume? By hand or with a mixer? Who cares, we support all of these options.
If you want to read more about the details of the app, then check out the official Bread Baking Basics page on Michael Ruhlman’s site.
The Challenge: Build and release an app that required less than 12 hours of work. The Result: NYC Subway Status for Android
I’ve been beating the drum lately on the need to build things very quickly. I’ve found that despite loads of thinking and planning, often you don’t discover most of the real problems with your idea until you’re knee deep in development. Building something in a brief time period is meant to short circuit the process and avoid analysis paralysis.
Working this way, though, can be very stressful. You’re having to cut corners, to make compromises, and to eliminate functionality in order to meet your deadline. However, working like this also forces you to simplify your ideas and focus on the core user experience which can lead to a simpler, more refined final product. Sometimes it’s better to do one feature well than to cram in three or four features.
The result of this latest personal challenge is the NYC Subway Status app for Android. It was built in a few hours and does one thing very well — tells you if the NYC Subway lines are running smoothly, encountering delays, or scheduling maintenance. Here are some screenshots of the app in action.
You can install the app for free just by searching on the Android Market. Alternatively, you can scan in this barcode on your phone.
So for the past few months, I’ve been working with food writer Michael Ruhlman on the Android adaptation of his cookbook “Ratio”. Well pop some bubbly, cause the app is now live in the Android Market! Search for it on the Android Market or scan this barcode:
So for the past few months, I’ve been working with food writer Michael Ruhlman on the iPhone adaptation of his cookbook “Ratio”. Well pop some bubbly, cause the app is now live in iTunes!
I’ve been using MobilePress for a while now on my blog. It’s a quick, easy way to make your WordPress blog friendly for all those crazy smartphones out there like iPhone, Android, Nokia, Palm Pre, etc. etc. You just add the plugin to your WordPress install, activate it, and you’re set.
My only issue with the plugin is that it doesn’t support alternate content for mobile devices. Sure you can post the same text in both places, but it doesn’t always work that way for things like very large images or YouTube embeds. Often you’ll want the desktop version to have the very large image, but the mobile version to have a small thumbnail. Likewise with videos you’ll want your desktop site to have the full video embed, but the mobile site to have a link to the 3GP version of your video. To solve this, I quickly wrote an extension to MobilePress that allows you to accomplish this using WordPress shortcodes. Here’s the result.
If you’re on the mobile site, you should only have seen a small thumbnail linking to a mobile version of the video. But if you’re on the normal version of the site, you’ll get the full video embed.
So how did that work exactly? In the post itself, place [mobile] at the beginning and [/mobile] at the end of any text you want to appear only on the mobile site. Likewise, for content that you don’t want to appear on the mobile site, you place [nonmobile] at the beginning and [/nonmobile] at the end of any text. For this post, here’s what the text looked like.
[mobile]
<h1>You're on the mobile site!</h1>
<a href="rtsp://rtsp-youtube.l.google.com/CkYLENy73wIaPQk4TalGJzJtDRMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoWg5DbGlja1RodW1ibmFpbGCLjNC-9__5m0oM/0/0/0/30/video.3gp">
<img src="http://i.ytimg.com/vi/DW0yJ0apTTg/default.jpg?w=160&h=120&sigh=uxtjuGf9Vjatje_YL3m1JSn0mMY" alt="video" width="160" height="120" style="border:2;margin:0px;" />
</a>
[/mobile]
[nonmobile]
<h1>You're on the non-mobile site!</h1>
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/DW0yJ0apTTg&hl=en&fs=1&rel=0"&rt;</param&rt;
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/DW0yJ0apTTg&hl=en&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
</object>
[/nonmobile]
Pretty easy, eh? Here’s the source code for the plugin.
That’s all there is to it. Each of these functions just checks for the existence of a session variable telling whether or not you are using the mobile version of MobilePress (the cookie management is handled entirely by MobilePress). Based on the session cookie, it either returns the text itself, or it returns an empty string.
I’ve only spent a few minutes writing the plug in, so I am curious if others would find this useful or if there are any obvious bugs or enhancements people notice.
UPDATE: That was fast, just got an email that the widget has been accepted!
I’ve officially submitted the Morse Code widget to the Ovi Store where hopefully it will downloaded onto millions of devices worldwide. And guess what? It’s FREE.
In case you’ve forgotten about it, here’s a brief video showing how it works.
My last entry about Google AppEngine and Facebook Applications was written during the development of RepresentedBy, a Facebook application which is still in a rough beta state, but has finally been opened up to the general public.
To increase personal awareness of the legislators representing you in Congress and how they are voting on important issues.
To share information about your representatives with your friends, and to encourage civic engagement among your peers.
To provide an open source learning template for Facebook applications developed with Google App Engine.
The app is still in beta, but once it’s ready for release sometime in late March, then the source code will be made available. In the meantime, please check out the application and let me know what bugs you find, and any problems that you encounter.
I’ve been doing some pro bono web work recently for Children’s Pressline, a youth news service that trains kids to be reporters and editors who write articles for mainstream media partners. It’s a non-profit open to any child in NYC, and currently their news stories are being run in the NY Daily News, Metro, and the Amsterdam News.
There’s not a mobile website, but just by having an RSS feed, that’s all you really need to get started reading the content on your mobile. If you’re reading this on your S60 device, you can just click on the RSS feed, and automatically subscribe to the latest news articles.
If you’ve got one of the newer S60 devices, though, then you can get a richer experience using this widget I made which pulls in the RSS feed and displays the latest news stories directly on your phone.
Total development time for this widget was less than an hour, and most of that time was just deciding which colors to use in the CSS. If you haven’t seen the Nokia Web Run Time, then I’d recommend checking it out as it’s going to be a great way to build quick applications for S60 devices. Right now, it’s only drawback is that it has almost no access to the device itself (e.g. GPS, Contacts), but Nokia has already announced these features will be included in the next major release.
If you want to see the source code of the widget, then just download the file to your PC and change the file extension from .wgz to .zip. Then open the zip file and all of the source code is there. It’s a very simple setup with one HTML page, and one XMLHttpRequest call to retrieve the RSS feed.
Let me know if you have any questions about how the widget was built, and I’m also interested to see how other people are using widgets not just for their personal use, but also to help promote causes they believe in.
I finally think I squashed the date bug in the UpcomingBirthdays widget. Please download the latest version and let me know if you’re still having issues. Total list of changes include:
- fixed date bug where birthdays sometimes appeared one day off
- fixed link to wubbahed.com
- fixed link to help page as well as help graphics
Though most won’t notice, the blog has been upgraded over to WordPress from MovableType. And in the spirit of upgrading, I finally recompiled GuitarChords and UpcomingBirthdays to make them Universal Binaries.
Having said that, I don’t actually own any Intel-based Macs, so I have no way of testing whether or not these really work on those machines. So any feedback there good or bad will help. Thanks. Download links are in the sidebar ->>>