How to use the ActionSheet in PhoneGap
The ActionSheet is a handy control on the iPhone, and is a very intuitive way of getting a multiple-choice answer from a user in a modal but unobtrusive way.
Using it in PhoneGap makes interacting with your user easy, while keeping the display responsive. And as an added bonus, you don’t need to update any HTML or CSS to get the buttons to look right. The native iPhone codebase handles it for you.
In-App purchases allowed for free apps on the App Store
Finally, what we’ve all been waiting for. Apple just announced that they’re allowing In-App purchases for free apps, and not just paid apps. This means, as an app developer, I can develop a single app for the app store for free, but can allow my users to upgrade to the full paid version without having to split it up into a “Lite” and “Full” version.
I can’t wait to apply this to my apps!
How to automate your iPhone app builds with Hudson
As any iPhone application developer who’s released at least a single app to the App Store will tell you, releasing your app is a terrible pain in the…well, it’s not a fun experience. After your second or third app you start to get the hang of things, but there’s still pain and suffering involved. Managing certificates, getting settings configured properly, and iterating between development, AdHoc beta builds, and the final App Store release builds, all make the process seem tediously manual and prone to human error.
PhoneGap officially permitted on the App Store
Its been a while since I’ve made an update to my blog, and I figured it’s far overdue for a new post. My life over the past little while has been divided up into 4 chunks: my family, my work, my weekend consulting, and my own personal application development. Somewhere around the second half of that list is sprinkled a bit of PhoneGap development.
PhoneGap vs Apple, resolved
First, I’d like to announce that I’ve made headway with my interactions with Apple. They were convinced by my argument that PhoneGap-based apps, just like any other apps developed by users who have access to a rich API, should be judged by their own merits and not prejudged based on what tools were used to built them. This is fantastic news, and means that apps submitted to the App Store will not be rejected solely because they’re built on PhoneGap. Now, if the application is buggy or if a developer tries to do something underhanded with it (for instance, changing the behavior of the app after Apple approves it) that is still cause for a rejection or worse consequences, but the same goes for any application released to the App Store.
Updates on Apple / PhoneGap
Things have been busy over the past few days, which is the reason why I haven’t had a chance to post about this until now. But for the PhoneGap community, I have some good news and some bad news. First, the good news: I got a phone call from the Apple app reviewer that was reviewing my test app. And before I go any further, I want to say a few things.
A Git Workflow for Agile Teams
I’ve been using git for all my new software development and have been converting my old Subversion (and gasp CVS) repositories over. Throughout this process I keep learning more and more about git, and my love story with it continues every day. Thanks to my friend Chris, he sent along this blog posting that really describes how you can do hardcore agile software development in teams with git. This really is helping me solidify in my head what it is I want to do, but have just never had the tools or know-how to put into practice.
Ideas On Tap, or “Speed Dating for Entrepreneurs”
At the suggestion of my friend Scott McWhirter, I decided to go to Ideas On Tap and keep an eye on the pulse of the Vancouver technology community. And after spending an evening drinking beer and talking with various people from companies around Vancouver, I began to feel like the only married guy in the middle of a speed dating session.
I have a stable and intellectually stimulating day job that I have no plans of leaving anytime soon, but it was still a nice ego boost to be flirted with by so many companies looking for bright talent. In Vancouver, at least, it seems like if you’re smart and you are a creative developer, there’s work out there to be had. In fact they can’t seem to get enough. But unfortunately for them, a lot of developers here are in the same situation I’m in – happy with their current jobs, challenged but not over-worked, and not too interested in changing anytime soon.
Have a list of several hundred addresses to get coordinates for? Perl to the rescue!
I recently wanted to try my hand at writing a little iPhone app for helping students find University grant funding. It turns out to be a bit more difficult than I’d expected, but part of the app was to be a listing of all the available universities near the student. This, of course, would involve actually having a list of Universities. To make a long story short, once I got the list (Wikipedia rocks), I needed to get their locations so I could do a proximity search from the user’s coordinates. Since I didn’t want to spend too much time entering every one of the several hundred University names into Google, I decided to whip up a simple little script in Perl to do this for me.
I really need to broaden my music horizons
You know that feeling when you listen to a song that you love so much, you re-play it 3 times in a row? You also know that feeling when people tell you “ZOMG you’ve gotta listen to, you’ll love it” and you say “yeah yeah, sure, sometime…” and you never bother ’till “sometime” eventually comes along, and you think “Why the hell didn’t I listen to this earlier?!” Well, I’m doing that right now with “Miss Murder” by AFI. I’m on my 3rd play through in a row, and I’m seriously considering starting it over…
Build process experiments with PhoneGap
I’ve made some quick updates on the train this morning, and ended up creating a Bourne shell script in the iPhone directory of PhoneGap for renaming a brand-new PhoneGap fork to whatever your project is called. This also works with the previous changes I made to my buildprocess branch, meaning that when you’re done, you shouldn’t have any references to PhoneGap in your code at all. It also makes developing quite a lot easier, since renaming my XCode project file by hand is cumbersome, and needs to be done every time I start a new project.