Categories
Hackathon Uncategorized Wearables

Samsung Gear Smartwatch App: Knitting Puppy Row Counter

Knitting Puppy Gear App

I recently got a Samsung Gear 2 Neo smart watch – it pairs with recent, powerful Samsung phones and tablets, but without them, it’s basically a pedometer. So I’d definitely only recommend it if you already have one of their recent devices (like the Samsung Galaxy S5 or Note 3 phones), and not if you use an iPhone or a non-Samsung Android phone.

I got mine to see how the form factor could work (now that Android Wear is out, and it’s likely that Apple will release some sort of wearable device in the fall), and to try writing a few apps for it. The Gear watches run Tizen, which is an HTML5/Linux-based environment, so if you are comfortable with HTML, Javascript, and CSS, it’s pretty easy to get an app going. The biggest problem is the screen – it’s about 1.7 inches on each side, and 320 pixels on each side. So you have a limited amount of screen real estate for user interface elements.

I designed a knitting counter for my wife – there are a lot of simple plastic devices (such as this one) that do the same thing. Basically, you can keep track of how many rows you’ve knitted for a project, and then swipe across the number to reset it.

The Gear watch supports HTML Touch Events, so I was able to hook into a swipe event to do the reset. I used a swipe gesture because the screen is so small, it’s quite easy to hit the wrong button if you have two on the screen next to each other. My original design had a reset button underneath the “Rows Finished” button, and I ended up hitting the wrong button a lot. With the gesture, it’s a lot harder to make that mistake.

If you have a Gear watch, the app should be approved by Samsung soon! I entered it in the Samsung Gear App Challenge, so I’ll be curious to find out how it does in the challenge. Here’s the video submission I made for the app if you want to see it in action:

 

Categories
Training Uncategorized

Learn how to build an iPhone app for Drupal at SandCamp 2014!

Come to sunny San Diego for the DrupalCamp by the beach – SandCamp – January 23-25, 2014.

I’ll be teaching a training class for Drupal developers to learn how to build iOS apps (using Objective-C) that talk to Drupal. This is a class for web developers who don’t necessarily know anything about Objective-C, XCode, or mobile app development – I’ll be talking about all of these, along with the Drupal Services module.

http://sandcamp.org/building-ios-app-drupal

The training class is on Thursday, before the camp starts, so show up for the training, and then spend the next two days at the camp, and then maybe spend that Sunday exploring San Diego!

Categories
Uncategorized

Redesigned Biscotti Labs Web Site

I wanted to redo the web site for my mobile app development company, Biscotti Labs, because it had some stale design and content. DrupalCon 2013 is coming up fast, and I’d rather update the site before rather than after. Also, I wanted to make the site responsive for smartphones and tablets.

I’ve been a little bit frustrated with ThemeForest templates – they’re usually far too complex, present way too much information, and turn out to not be built on top of any kind of reusable framework. Additionally, I decided not to run the site on a CMS, but instead just make it a single page site with a static HTML file.

There are several front end development frameworks to make the job a little easier, but the one I’m most familiar with is Twitter Bootstrap. You can buy a pre-built theme for Bootstrap from several marketplaces, but I decided to give the WYSIWYG Twitter Bootstrap editor JetStrap a shot – it’s from the same great team that built Codiqa, the visual design and prototyping tool for jQuery Mobile.

JetStrap makes pretty clean HTML and CSS, and I took what they had, edited in their interface, and then downloaded the HTML and assets locally. My next step was to use some resources from my favorite design marketplace, MediaLoot. I went with a set of flat Photoshop vector icons, scaled them up to 512×512, and then used those to provide some visual context for the various solutions and services. JetStrap included some hot-linked blurred background images in the HTML, so I replaced those with blurred background images from another MediaLoot image set.

Overall, I’m pretty happy with the design of the site, though I certainly need to tweak it, and test it on a few mobile devices.

Categories
iPhone Development Uncategorized

Find Me Hotel Deals 1.0.3 available on the App Store!

The major feature in the 1.0.3 release is support for the iPhone 5 screen – it’s longer than the iPhone 4 screen, so I had to add a few autoresizing masks to get the content to flow properly.

The iPad version remains the same, and it will also work the same on any iPhone 3GS, 4, or 4S.

Categories
jQuery Mobile Phonegap Uncategorized

First chapter of the PhoneGap, Drupal, jQuery Mobile e-book is up!

I’m excited to announce progress on my new e-book on PhoneGap, Drupal, and jQuery Mobile! I gave an interview on using Drupal with PhoneGap to Brian Lewis at Modules Unraveled last month. In addition to the podcast, which I really enjoyed making, I recorded a screencast on setting up PhoneGap, which I hope you enjoy.

The first chapter of my e-book covers the same ground, so I decided to release it as a free PDF, which you can download and enjoy. I’m happy to hear any feedback you have! I also wanted to let people read the first chapter for free, because you need to have a Mac with XCode 4 to follow along with the book, and I don’t want anyone to buy the book if they can’t use it.

Download Chapter 1 (1.1 Megs)

Categories
Talks Uncategorized

Building Mobile Applications with Drupal – Dallas Drupal Camp

Slides from my presentation at Dallas Drupal Camp 2011

Categories
Uncategorized

Every Marathon Marathon Calendar iPhone App on App Store

 

My new app, the Every Marathon Marathon Calendar, just got approved by Apple, and is available on the App Store!

This app came about because I’ve been planning my travel around running marathons on road and trail in all fifty states, and I’ve gotten obsessive about finding all of the most obscure marathons in the US. I kept on going to several different sites from my iPhone, and getting frustrated by the user interface. I’ve been working on my active city guide web site in Drupal, and I’d added about a hundred marathons there already….one thing led to another and I had over 400 marathons!

I certainly haven’t run every marathon in the country, but I’ve finished fifty-one marathons or ultramarathons, including the Race to the Altar Trail Marathon, which I co-race directed! A long way from when I couldn’t even run around the block in 2005!

Categories
Talks Uncategorized

Using Prezi to give a tech talk

On Thursday, I gave my first talk about Drupal! Fito Kahn organizes the Austin Drupal Newbies Meetup, and we had lunch with him at the Southwest Drupal Summit in Houston last month. I was feeling pretty inspired from watching the speakers at the Summit, so I thought I might try to give a talk myself on Displaying Recent Tweets with Drupal using the twitter_pull module.

I didn’t want to have a set of boring slides with bullet points out of PowerPoint, so I thought I’d look at a few other options – most of the speakers at the Drupal Summit had great presentations and were well prepared! Browsing through the top presentations at SlideShare is a great way to see what’s effective without having to give up your Saturday to a conference.

I was pretty excited about 280 Slides, from what I read online. Unfortunately, when I loaded it, it looked exactly like PowerPoint! Scratch that. My next thought was to use Apple’s Keynote, but then after some searching on Hacker News, I saw a few references to Prezi.

Prezi is a completely different type of tool – not slide based, instead it relies on spatial organization and relative size for your presentation. This makes organizing your presentation much easier than trying to lay it out on slides. I’m always interested in information design, and Prezi totally changes the way your presentation is organized. You can drill down into different segments of your presentation and then pop back up – everything is in context.

It’s kind of hard to explain why Prezi is so great – I made my tech talk “I’ve got Twitter in my Drupal” presentation in Prezi. I certainly don’t have everything down with Prezi just yet – there’s a lot of tweaking you can do to make your presentations pop, but I’m very satisfied with what I could accomplish in a few hours.

Categories
iPhone Development Uncategorized

Quick Tip: Adding icons to Three20 Tab Bar

I’m using the Three20 Additions to UITabBarController for the Green Ninja Active City Guide iPhone app (based on TTNavigatorDemo). This is great, except all the examples I found for tab bar images use the controller to set the tab bar item. With Three20, that didn’t work, so I had to add some code to my TabBarController to get icons.

In the code below, the first part of the method sets up the tab bar for three URLs/controllers, and the second part of the method adds the images.

Has anyone else used a different approach to get icons on a Three20 application tab bar?

- (void)viewDidLoad {

[super viewDidLoad];

[self setTabURLs:[NSArray arrayWithObjects:

@"http://www.greenninja.com/city-guide/austin",

@"http://www.greenninja.com/activities/austin",

@"tt://map",

nil]];

NSArray *tabs =  [self viewControllers];

UIViewController *home = [tabs objectAtIndex:0];

home.tabBarItem.image = [UIImage imageNamed:@"house.png"];

UIViewController *activities = [tabs objectAtIndex:1];

activities.tabBarItem.image = [UIImage imageNamed:@"star.png"];

UIViewController *map = [tabs objectAtIndex:2];

map.tabBarItem.image = [UIImage imageNamed:@"world.png"];

}
Categories
Uncategorized

Quick Tip: Displaying only one CCK image in your teaser

For my Drupal 6 web site,  Green Ninja Active City Guides, I have several CCK content types that all have multiple images. Each of these uses the same field, (field_pictures), and I use jQuery Gallery Formatter to create a scrollable picture gallery on my Race, Park, and Trail content types.

I’m getting larger amounts of photos on some of my nodes now, for instance, the Cactus Rose 50 Mile and 100 Mile Race page, and that’s starting to slow performance. The jQuery Gallery Formatter really slows down my pages, so I switched my teaser views to just display the images with the node. That works great for nodes with one or two images, but looks horrible on pages like San Antonio Trail Running – where users have to scroll through all thirty of the Cactus Rose photos to get to the next race.

Ideally, CCK Imagefield would have a display option like “first image” or similar. The problem, as discussed on drupal.org here: http://drupal.org/node/430604 is that the CCK formatters don’t take configuration parameters, so to add this, the formatter would have to double the number of formatters in the drop down box. ImageCache already adds formatters for each image size you support, as do several other modules.

As that solution isn’t available to me, I went ahead and created my own solution by modifying my node-race.tpl.php.

First, I changed my Display Settings on Race to exclude my Pictures field from $content so the entire list doesn’t get displayed. Check the first “Exclude” checkbox for your field, but not the second – that will exclude the images from your full node display as well.

Next, I made a slight modification to my node-race.tpl.php file. Decide where on your display you would like the thumbnail to go and add this code:

<?php if ($teaser): ?>

      <?php print $field_pictures[0]['view']; ?>

<?php endif; ?>

replacing field_pictures with field_NAMEOFYOURCCKFIELD.

That’s all you need to do! Clear your cache if you’re running into difficulties seeing the change.