Developing a Student Media App Presentation

I had the opportunity to give a talk about developing mobile apps for college student media publications today at the ACP/CMA College Media Convention here in Austin today.

We had a great discussion about pitfalls around developing in-house native apps for college newspapers and magazines.

Biscotti Labs

Updated Biscotti Labs Web Site

I’d originally built the web site for my mobile app development and training company Biscotti Labs as a very simple static Twitter Bootstrap HTML page.

I liked the idea of keeping the site as a static single page, instead of worrying about keeping another content management system up to date (WordPress has to be kept updated on a pretty regular basis because of security holes).

I also didn’t like the idea of digging too deep into a CMS theme to get things to look the way I wanted – customizing a WordPress or Drupal theme can be pretty time consuming, and I don’t really enjoy theme development.

I went with a single page theme that I bought from MediaLoot – my go to place for user interface assets. They have a much better license agreement than other marketplaces, but less selection.

A little customization (including some bear photos my wife and I took during a trip to Katmai National Park in Alaska), and I have a new web site for Biscotti Labs!

The next step will be to optimize the front-end web performance on the web page – out of the box, there are a few things that could be improved with the Javascript on the site.

iOS Development iPhone Development Teaching UT Austin

Fall Semester 2015: Mobile App Development Class for iOS

It’s the fall semester at the University of Texas at Austin, and I’m teaching my introduction to iPhone app programming class again! This is the third time that I’ve taught the class, and I’m always excited by it.

This year, we’ll be using the Swift programming language, and we’ll also be using Auto Layout from the very beginning of the class for responsive user interface design. Those are two major changes from how the class was taught in previous semesters (Objective-C, and very little Auto Layout).

Because this is a class for journalism students who may have never programmed before, I take a slightly different approach than many of the other iOS programming classes and tutorials. We start with a user-interface driven approach, and then go into programming.

If you’re interested, I’ll be adding links from this year’s class (and previous years’ classes) onto this web site on the Mobile Apps Class page.

Android iPhone Development Phonegap Talks Twilio

Twilio Signal 2015: Video of my Talk

My Talk at Twilio’s Signal 2015 Conference, Using your web development skills to build Twilio-powered apps for Android and iOS, is now up as a video. If you’re interested in adding voice to your mobile apps using the Twilio Client Plugin for PhoneGap, this video is a short intro to the topic. If you have any questions about mobile app development with Twilio, I’d be happy to talk about it!

Android iPhone Development Phonegap Talks Twilio

Twilio Signal 2015: Build Twilio-Powered Apps for Android and iOS


LittleBits/Matrix Color Rotator Code for Twilio Signal HackPack

I made my twitter handle scroll across the screen, changing colors as it goes – pretty simple effect, but here’s the Arduino code:

#include <Adafruit_NeoPixel.h>
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>

#define PIN 1

Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(8, 8, PIN,

void setup() {
// put your setup code here, to run once:
matrix.setTextColor( matrix.Color(0, 0, 255) );


int x = matrix.width();

int colorRotator = 0;

void loop() {
// put your main code here, to run repeatedly:
matrix.setCursor(x, 0);
if(--x < -70) {
x = matrix.width();
if (colorRotator > 3) {
colorRotator = 0;
if (colorRotator % 3 == 0) {
matrix.setTextColor( matrix.Color(0, 0, 255) );
} else if (colorRotator % 3 == 1) {
matrix.setTextColor( matrix.Color(0, 255, 0) );
} else {
matrix.setTextColor( matrix.Color(255, 0, 0) );

Phonegap Twilio

Quick Installation Guide for Twilio Plugin for PhoneGap

I’ll be speaking at Twilio’s Signal Conference later today about the Twilio Client Plugin for PhoneGap. Here’s a quick getting started guide (as a PDF) for running the Twilio Client inside of a PhoneGap mobile App.

Installing the Twilio Plugin for PhoneGap

UT Austin

Built In Austin and BurntX run articles about UT Apps Demo Day

UT Apps Demo day is tomorrow, but the students’ mobile app demos have already gotten some press!

First up is Built in Austin, with an article titled 6 apps to debut at UT Austin App Demo Day.

Next is burnt x, with Six Apps Made For UT Students By UT Students.

I’m really excited for tomorrow’s UT Apps Demo Day – I’ve seen all of these students form groups, work through issues, and go from concept to working app all in one semester (on top of all their other classes).


Journalism Hackathon 2015

The University of Texas at Austin School of Journalism and the Austin American Statesman both sponsored the first Journalism Hackathon, which was a success, especially for a first year event.

This was my first time organizing a hackathon – as part of a team including Robert Quigley and R.B. Brenner from the School of Journalism, and Christian McDonald and Andrew Chavez from the Statesman (they both also teach at the University of Texas in the School of Journalism as well). I’d like to thank Mashery, Microsoft, and Clarify for coming to the hackathon to show everyone what their technology does, and how it could apply to the changing world of journalism.

Many of the participants had never been to a hackathon before, and in fact were kind of intimidated – maybe the combination of “hacking” and “marathon” really doesn’t sound that friendly! From the beginning, we wanted to organize a friendly hackathon, where the focus was on learning something new, getting to know the other participants, and accomplishing something!

The highlight of the hackathon was the tour of the Statesman’s newspaper printing presses, led by Christian McDonald – the presses were busy churning out the next day’s paper. One of the most interesting facts we learned is that the Statesman prints many other newspapers as well – it’s just cheaper for these other papers to get rid of their printing presses, and run their paper copies off on the Statesman’s presses.


Using Javascript links with Turbolinks for Ruby on Rails 4.x

This was hard to find by Googling it, so I’ll put it into a blog post here. Turbolinks is a great page speed optimization technology that is built into Rails 4.

With Turbolinks, every page load simply replaces the HTML body tag with the contents of the next page, which means that your CSS and Javascript don’t have to be loaded again (even from cache) and then parsed.

Rails does some magic to your HTML links (basically by installing a jQuery event handler for opening links) so that this works. But what if you’re just using standard Javascript? For instance, I’m using Bootstrap Table for my admin interface, with rows of data. Clicking on a row will take me to that detail page. With, that forces a full refresh.

Instead, use Turbolinks.visit() with the URL you need to open, and your Rails 4 app will feel a lot quicker to your users.