Cloud Functions vs Container Engine

Comment

Cloud Functions vs Container Engine

I was talking to a developer a couple weeks ago about these technologies and he asked a simple question, “when would you choose Kubernetes over Cloud Functions?”.  Both are powerful and as a developer it is easy to default to Cloud Functions because it takes a lot of administrative work out of my hands.  So let's see when you should choose Kubernetes (Container Engine) over Cloud Functions.

Comment

Keeping the Realtime in Firebase's Realtime Database

Comment

Keeping the Realtime in Firebase's Realtime Database

If you’ve used Firebase you know that one of the cooler aspects is watching the realtime database do its thing live right in front of you.  However, as you start to add more and more data, the realtime functionality will get turned off.  Check out this article to see how to work around the issue so you can continue to debug and see those updates occur in realtime.

Comment

Filling the Gaps in Auto Layout

Comment

Filling the Gaps in Auto Layout

I am super excited to see my second Pluralsight course [iOS Auto Layout: Fundamentals](https://app.pluralsight.com/library/courses/ios-auto-layout-fundamentals/table-of-contents) published.  There were plenty of challenges for creating the course and I wanted to take the opportunity to discuss some of the things I learned while creating the course.

Comment

Comment

Touch and Motion Events for iOS

One of the most excited things today is the changing landscape of how we interact with our devices.  However, many developers have been slow to utilize these new interactions.  The PC era brought with it simple conventions such as clicking a button with a mouse that when we were given new devices such as the iPhone which allows for multiple fingers to control the screen, it has taken time for us to catch up with this new reality.  All too often you see apps use the old conventions and solve most problems with a simple button click.  This is easy to understand.  It is tried and tested and we can already think about our user interfaces in this aspect.  I wanted to see all of use push past these limits and try to create new experiences.  That was the driving force behind my first Pluralsight course “Touch and Motion Events for iOS”.

We should always try to explore and push the boundaries with these devices.  I teach the user everything their is to know about the touch system in iOS.  It covers the fundamentals with hit-testing, the process that iOS uses to decide whether a user touched a certain area. The user is taken through all of the Gesture Recognizers that were built and provided by Apple.  These are probably the most important aspect for handling touches within iOS because they provide a common set of gestures that we can all use in our apps.  A user can attempt a rotation gesture on a view with the expectation that it will work if we all apply that same gesture recognizer within our apps.  It creates a common set of gestures across the platform. 

Gesture Recognizers are powerful as reusable components.  My course will also teach you how to create your own.  Not only will you create a gesture recognizer, but it will work the same as the ones Apple delivers to us on the platform.  This is powerful because any developer that knows how to use Apple’s gesture recognizers can use yours without missing a beat.

Motion is another elements that we overlook when designing new and engaging experiences.  I think most developers should enter this realm with caution, it’s easy to get wrong and frustrate the user instead of creating an intuitive experience.  I can see subtle motion in both animation and using the device’s motion to deliver something unique.  Perhaps discoverability is the key to using motion, show the user something new and then let them fully unlock it with a touch.  In my course I show developers how to pull and push motion data as well as map the device motion to a UIView on the screen.  This just scratches the surface of what can be done.

Ultimately, there are many new technologies out there today that are changing the world.  As developers we need to keep pace with these technologies and create new experiences for our users.  Static is boring and we want to keep our users engaged.  That is why I created this course, I want us all to deliver these new experiences.

Comment

Hello World

Comment

Hello World

So when thinking about my first post for this site.  There were so many topics that came across my mind.  This space will contain various articles ranging from the very technical to general musings about app development.

One of the greatest trends over the last several years has been the importance of UI/UX.  Apple has always taken great pride in these areas.  Microsoft introduced a design language with Windows Phone, Xbox One, and Windows 8 that tried to bring simplicity to the once chaotic windows forms that plagued us over the last two decades.  Then last year Google released the Material design language which creates a design language that covers phones, tablets, desktops, and the web.

Below is a video that many of you have seen, and if you haven't then you should definitely check it out.  Corning's "A Day Made of Glass", is amazing because it looks at the possibilities of what is to come.  The Microsoft Kinect was the device that made me miss programming to the point that I needed to return to what I always had a passion for growing up.  Although the device wasn't perfect, it was an example of the virtual world breaking into our real world.  There are many devices such as the Leap Motion, Myo, Occulus Rift, Emotiv Insight, Google's Chromecast and Glass, and the constant stream of mobile devices that are breaking us free from the personal computer.  The biggest challenge these devices need to overcome is ease of use.  They are missing the software (the phones and chomecast are the exception) that will make these devices truly amazing.  This is why I love the Corning video because it represents something we need to strive for.  The video displays all of these devices working in concert in a fun, playful, and practical way.

Typical posts in the future will contain original material.  However, as an introduction I couldn't resist sharing this because it truly represents what drives me when I create software.  All of us should set the bar higher.

Comment