Devgeeks

Apr 19

blog.izs.me: Free as in Hugs Licence -

izs:

Copyright (c) __AUTHOR_NAME__ (“Author”) and Contributors

All rights reserved.

The “Free as in Hugs” License

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must…

Apr 03

4ZzZfm app in need of an update

The 4ZzZfm app was my first ever mobile app. It was then my first PhoneGap / Cordova app when I ported it.

It’s in desperate need of an update if for no other reason than that the iOS version does not support the iPhone 5 screen size.

I am thinking of trying to consolidate the codebases (currently it is a codebase for each of its two platforms) and maybe even expand it to cover other platforms beyond iOS and Android.

Questions I am going to have to look at over the next couple of weeks:

I’ll try to keep updating the blog as I go with it (since I haven’t been using the blog for anything else lately with Pixfor’s own update on hold).

Mar 26

photoKandy Studios: Getting Started with Cordova-CLI -

A Great intro to the Cordova Command Line Tooling

photokandy:

Cordova-CLI is doing some great things to make working with multiple platforms in one Cordova project easier. But installing with it can initially seem a little daunting if you’ve never played with it before, and so I thought it would help to write this guide up to help anyone else getting their…

Dec 08

My slides for the Sensis API Product Hack Camp

Dec 03

Raised center TabBar button in Cordova / PhoneGap for iOS

A popular pattern in iOS lately (especially in apps with a focus on photo taking) is the raised / highlighted middle TabBar button. It’s easy enough to get a native TabBar in an iOS PhoneGap app using one of the two popular plugins (NativeControls and TabBar). There is even a great article on getting a raised middle TabBar button on iOS.

But not everyone using PhoneGap can comfortably turn that article into a modified TabBar plugin. There was even a recent thread on this topic in the PhoneGap Google Group recently.

Since I have done this in one of my apps, I thought I might post a quick outline on how to use the code in the iDevRecipes article above to get one of these buttons into one of the plugins above.

The Button Image

aperture-tab.png

This is the button I created for my app Pixfor. It’s basically just a green tinted screenshot of the middle third of a standard TabBar with an Aperture icon and a subtle shadow. You certainly don’t need to have a tinted gradient as well as your larger icon or whatever. That’s just a design decision. The great thing about how this works is that the touch goes straight through the added UIButton, so the highlight of the TabBar still happens so if your button image has transparency, it will show through nicely.

The button image is named aperture-tab.png and also has a corresponding aperture-tab@2x.png image for retina devices.

Note: these images (unlike the icons normally used in the TabBar plugins as icons) are added to the project through XCode as a resource, not just copied into the www folder with the other PhoneGap assets.

The JavaScript Code

For the JavaScript code, all you really need to do is create a TabBar item with an empty label and an empty icon.

For example, in NativeControls:

window.plugins.nativeControls.createTabBarItem("takepix", "", "", options);

and in TabBar:

window.plugins.tabBar.createItem("takepix", "", "", options);

The Objective-C Code

Pixfor happens to use the NativeControls plugin, but the code below should work in both.

They both have a method in their respective .m files that creates the TabBar (create in TabBar and createTabBar in NativeControls). *

Both these methods end with

[self.webView.superview addSubview:tabBar];

What we are going to do is add the following code directly after this line before the closing brace.

This code will add a custom UIButton using our image centered on our TabBar. Note the file name aperture-tab.png in the first line. The retina @2x version does not need to be explicitly referenced.

Pixfor's raised middle button

And there it is! Our special TabBar button.









* Line numbers only used for illustration. Please find the methods above in the plugin’s latest version.

Dec 02

First rejection

So I know I haven’t been posting here much, what can I say?

But I did feel like posting that I have had my first ever rejection experience with the Apple App Store.

An app I have been building for a client got rejected for collecting donations for charity — even though the app did not collect actual money, it merely allowed you to convert points earned in the app to a charitable donation.

The reviewer was very nice about it and offered some suggestions on how to comply with the rules in this area.

Here is where this post turns into a love letter to PhoneGap/Cordova and KendoUI.

The easiest way to comply was to have the actual charitable donation aspect happen on a web site and have the app kick the user out of the app to said web site to complete the donation. If the app had been native I would have had to re-write all my logic and create a web site appropriate for a mobile device, etc. However, since the app was a hybrid app using PhoneGap and KendoUI, all I had to do was copy some of the app into a standalone website using the same UI and the same JavaScript logic. Then I added a button from the website sending the user back to the app using URI schemes in iOS (the Android version of the app can stay how it was).

Like magic, I now have the charitable donations happening on a web site instead of the app, but with very little effort and it even looks the same aesthetically as the app!

The app has been resubmitted and our fingers are once again crossed.

As for the other problem (a lack of decent posts on this blog) I have been storing some up that I did not want to post until this app was finished. They should be coming very soon. I hope. Heh.

Jun 25

the Web, unplugged: There must be something out there? -

johnallsopp:

I’ve been developing a workshop focussing on HTML5 app features like UI, localStorage, devicemotion, geolocation, as well a bit of phoneGap, so students can add additional featurs like camera support, and package it all up as an app.

Jun 02

I always wanted to be a 1%-er

So I submitted version 1.1 of Pixfor already.





I don’t think that’s the 1% I wanted to be in. *sigh*

May 28

Pixfor is live.

The side project I have been working on for the last two months is finally live.

http://pixfor.me

Pixfor is, in many ways, the 21st century update on the idea of leaving disposable cameras on the tables at weddings. It is also a great deal more than that.

It’s a combination of an app (currently iOS only) and a SaaS web site. 

I have so much I haven’t had time to post about here and hope to finally get around to it now that Pixfor is launched (albeit very softly so far).

May 19

Been a while, but there is a reason

Finally submitted

It’s been almost two months since my last post, but that’s because I have been working hard on a new app. In fact, an entire new product.

I’ll be able to post more soon including some of the custom plugins I wrote for the app.

It’s a camera-based app at heart so I needed a custom camera overlay view as well as some changes to make the camera more responsive (there was a horrible delay after clicking the “use” button in the core PhoneGap Camera API).

I am hoping to find a way to make the camera functionality open source and abstract enough that it would be useful to someone else.

Until then, stay tuned? ;)