Category Archives: Reviews and Discussions

Will Hybrid Mobile Apps Prevail Over Native?

I’ve been wrestling with this question for some time, and I thought this post may help sort out my thoughts and opinions while giving you some important insight. Are hybrid mobile apps going to become the developer’s choice anytime soon? The debate can be pretty heated as companies choose one technology over the other.

Hybrid, the Unlikely Union

Let’s get the definitions straight before we begin. A hybrid app is one of those mobile apps that uses a native web view to display HTML, CSS, and JS “web” apps. They’re only sort-of “web apps” because they are run locally, though they often pull data from online sources via AJAX requests. So, you have this HTML/CSS/JS app running inside of a natively-compiled stand-alone web browser of sorts on your phone. One such example is PhoneGap. Because the logic bits of the app are written using web technologies, you can often develop once and deploy on multiple platforms, so long as you’re using supported markup. You’re killing multiple birds with one stone.

Hybrid is the Bee’s Knees

As I mentioned above, hybrid technologies are great for developing cross-platform apps. Seriously – since iOS, Android, and even some Blackberry devices are both running Webkit most, if not all, your html, css, js is going to work remarkably similarly on both platforms. It’s pretty enticing. From your and your client’s perspective it’s a pretty easy sell. For one round of development you have the potential to hit many more users. It’s pretty cost-effective. Pretty soon you’re singing the praises of your decision and you’ve decided that from now on hybrid apps are the bee’s knees.
Continue reading

Tagged , , ,

Trends and Trajectory

As 2009 comes to a close I’m sitting in a nice, comfy coffee shop, working on some code for an iPhone app I wanted to release a couple weeks ago. I’m not going to be hard on myself. The Holiday season came upon us and there became more important things like family, friends, and feasts. This evening I’ve spent some time reflecting on my journeys over the last 12 months and begin figuring out where 2010 might take me.

I’ve pretty much immersed myself in mobile development the last couple months as some exciting new projects have hit the desk. It’s changed my view of computing. I don’t think much is new, but the added perspective is certainly important. For the sake of pointing them out, something needs to be said about the tremendous growth in a few trends – the ones that will continue explosive growth well into the future.


It’s no surprise that SaaS (software as a service / “pay for play”) has made it pretty big, especially with companies like 37Signals leading the way in team collaboration. Tons of companies are copying the business plan because it can work tremendously well. SaaS is quite a game changer over the old boxed software model. The ubiquity of the net makes it easy for customers to connect to a service, do what they need to do, and leave without ever thinking about all the dirty parts of actually maintaining a computer. There are tons of other great benefits to SaaS, but I’ll just have to save it for later.


It’s no surprise that we’re finally arriving at the Renaissance of user interface design. Tools and information have become improved enough that instead of spending a ton of time writing code, and more time designing appealing interfaces. We see this in both desktop apps and the web.


Mobile is big. It’s not going away. This is not about that. Apple’s iPhone has revolutionized our concept of the application development model. It has shown us how apps that do one or two things, but do them well, have taken the place of monolithic apps that try to do everything, but only sort-of well. I don’t think the iPhone can actually take credit for this, but it is probably among the largest driving factors in this mentality shift . We also see similar shifts in online tools (37Signals with their collaboration suite) and desktop apps (Compare the beautiful from MarketCircle to Intuit’s Quicken and Quickbooks).


I never promised anything revolutionary, but when you look at the horizon it’s pretty clear to see where the current trends will continue to expand into meaningful user experiences.

Tagged , , ,

Case in Point: Orbital iPhone App

Check out this article in TUAW about how an iPhone app, Orbital, isn’t really making it for the developer after less than (nearly?) 100,000 units sold. The article suggests it’s just a case of bad luck. True? I’m not so sure. Here’s why.


It seems to me that the App Store is pretty saturated. To clarify – the iPhone App market feels pretty saturated. I don’t mean that good apps don’t come along from time to time, however the sheer volume is daunting. I searched the App Store for “Camera” and came up with about 1200 matching apps.


Face it, you can’t rely solely on the App Store to do all your marketing. Get into the top lists and you’re got a pretty good shot of doing well your first couple days. If you don’t, good luck with getting potential customers to find your app out of the thousands that accompany it in the store. It’s time to get involved with good ol-fashioned marketing – just like every other product in this world. Pretty soon developing profitable iPhone apps looks a lot like developing the boxed apps, but without the boxes and retail chain.

I think I’m done blogging about this for a while. Nothing like beating a dead horse.

Tagged ,

Take a Moment and Take a Survey

Take a moment to take this survey at A List Apart. As a web professional, it’s a worthy cause.


N00bs are OK Too

Here’s a little commentary over at CakeBaker on people apologizing for being a newbie.

On mailing lists or in private mails I sometimes read statements like “I am sorry, but I am a newbie” or “Sorry for this newbie question”. And I always wonder why do those people apologize for not being proficient?

I think the apologies come from the fact that most communities has their fair share of snarky members. Case in point: I was on IRC the other day to ask a question about a new language/framework I’m learning… it was a REALLY easy answer for the experienced developer, but for whatever reason I wasn’t sure if I fully understood the concept. Among the types of responses I received, most were fairly typical:

  • A couple genuinely helpful answers
  • The “What do you mean you don’t get it? How can you NOT understand?” type response.
  • That I should stop what I’m doing now, close the book I’m trying to learn from, and read through another book on a different subject. In this case it would be like (not the actual case) being told to stop reading the Agile Development with Rails book in favor of reading Programming Ruby 1.9.
  • The non-response – nobody responds to your request for help. Mind you, I do a lot of extra work to make the barrier to helping me as small as possible.

After my experiences, I’m not surprised that people apologize for being noobs. It’s embarrassing to be made to look like a fool in public, especially when you have to ask for help because you can’t get it on your own. Now of course, I have less sympathy for people who don’t read the documentation and at least try, but if you’ve done that and it’s still a cloudy mess in your brain, ask away.

Tagged , , ,

CakePHP Access Control Alphabet Soup

Reading through a few of my most recent posts, you’ll quickly learn that I’m learning CakePHP as my PHP framework of choice. So far, so good. Actually, it’s pretty good, but that is not without some questions I’ve had along the way. I’m probably getting stuck more than I should on best practice coding, but I like to do it the right way, not necessarily the easiest way (read: hacks).

Among some of my initial stumbling blocks has been working through the idea of access control from the framework viewpoint. I “get it” when it comes to writing my own code, like in the revealCMS, and I “get it” in the context of certain “things” (usually users) needing access to specific things (often controllers and actions). The hard part is sorting out where to even start with all the alphabet soup: Auth, Acl, Aro, Aco, etc etc etc. How do you even get to a point where you have a simple working prototype to expand on?

Apparently there are numerous examples and tutorials of how to get started with Cake Acl, however I find many of them to be over-complicated or thorough. In other cases some are simply too terse. There is a fine line between terseness and conciseness. Even the CakePHP docs leave much to be desired for newer users: the official Acl documentation is long and kind-of confusing, and the sample application tutorial (also part of the official docs) seems to do things differently than explained in the primary documentation – a considerable problem, in my opinion. Yes, I do realize that the concept of Acl really depends on your application, but shouldn’t documentation at least be consistent? The one saving grace, however, is that the Bakery has a few examples, which brings me to my next point.

I found a tutorial I actually like so far. By “so far,” I mean I haven’t finished it yet, but to this point I’ve gotten more done than most articles have gotten me in just setting up the Acl… and it’s not all that difficult. It’s Ketan’s How to use Acl with Cake PHP 1.2.x?* No dobut some of you will stumble across this post here, and hopefully find it useful. I think once the dust settles on the first step, you(we) will be able to look at some of the other tutorials and adapt them to our own specific needs.

I’ll try to keep this post updated with additonal solutions as I find them.

* There ARE some typos in the example code, so be aware of that and make modifications as necessary.

Tagged ,

Framework Mania: CakePHP

It has been an interesting month – at the same time I’m picking up CakePHP, I have a client project that uses the Zend Framework. Right out of the gates I like CakePHP better. ZF doesn’t seem quite as cohesive as Cake, so getting it set-up has been more challenging. Granted, the client’s setup is a little more complex than the standard setup, but it still seems like there’s a lot more work involved just to get things going – lots more configuration. After two days on Zend I already realize how spoiled I am with Cake.

With Cake, I’m finally starting to learn unit testing. It seems real simple in theory, and I’m sure it is once you get the hang of it, but it is tedious. I’m talking about the amount of actual work involved just getting these test cases working. My simple pleasure at the end of the day is watching the screen fill up with a bunch of green “Pass” statements… no red.

Tagged , ,

Cool Download Page

I’m looking into new JS frameworks for frontend enhancements, and came across MooTools on recommendation from a friend. The framework has lots of cool features and seems pretty simple, but one thing I’m most impressed with is the download page. It acts just like the *nix package managers – allowing to you pick and choose which modules you’d like to download – even auto-selecting dependencies. Definitely a novel idea for the web.

Award Winning : Davey Awards

I just received word that one of my projects just won a Davey Award for online marketing and email campaigns:

Munchkin’s Project Pink: Email a Duck, Raise a Buck!

Harley Bergsma at the UXB and I devised this brainchild together. From there he took care of project management and I took care of developing the back-end. The idea is that users can decorate their own pink duck on the site (using Flash), then forward their creation to all their friends. For each person that receives the duck and opens (don’t even have to click links!) the email five cents is donated to Susan G Komen for the Cure. One of the coolest things is that the email dynamically shows how much the duck raised (how many emails were sent) and how much the project’s running total was. If you were to come back to the email a few minutes, days, weeks later, it would continue to show fully-updated information. Rad!

In just a couple months there were over 131,000 forwards, for a total of over $6550 raised just from this part of the campaign alone.

Amberjack Media, RevealCMS

It’s official – I’m now Amberjack Media ( The papers from the city just arrived, but the process with officially registering the DBA with the county is not yet complete.

I have the domain, but it’s not yet set-up with any hosting space just yet.

On another note, I’ve named the CMS i’m working on: RevealCMS. Development has been really slow as of late due to long work hours (contract developer) and trying to balance a social life with web dev and learning how to trade the stock market. It’s a full plate… I know!

I hope to have a demo of the CMS running a live site within the next couple months. The one I have in mind doesn’t have a huge amount of traffic, but it does get roughly 30k hits/month. I’ve spent a lot of time making sure the code is pretty optimized so we don’t have to worry about a lot of overhead spent going back and forth with the database or file I/O. Reveal will also have a caching system built-in, though it won’t be very mature in the initial release. I think one of the best features for developers is simple add-on development: plugins, page modules, and site-wide templates.


Get every new post delivered to your Inbox.

Join 385 other followers