COM 567B – Application Design

First Assignment Rubric

I’d like you to create an App, due by Friday, March 21 by the end of class, that uses either the Geolocation, Accelerometer, or Compass API in conjunction with Cordova. I am concerned with the functionality of the app primarily, the design is secondary. You will not be required to use a framework (like JQM), but it’s an option (and in some cases makes your app easier to create).


There are a boatload of geolocation examples on the server that you can use as a starting point, but I’d like you to add some functionality to these existing apps rather than just re-creating them. For instance, there’s a driving app on the server; what if you tweaked it to be an app that shows driving directions from wherever you are to Elon, specifically? Or there’s the ‘places’ app, which shows the restaurants in an area around Elon. Why not change that to show, say, hair salons in East Durham, or sports stadiums in the Triangle, or korean food in Los Angeles?

You are not required by any means to use Google Maps, but many of you will want to (keep in mind you can use Google’s Geocoder to reverse-geocode latitude and longitude, and Google’s driving directions and places API, without using a Google map). But if you do use Google maps, it’d be a really good idea to do something to your map to make it look ‘different,’ such as using the Google maps style wizard (or even using MapKit or a Google maps alternative).

I know how busy / preoccupied you folks are with your capstone, but I also think many of you have capstone projects that’d benefit from geolocation. So, if you can ‘port’ that from of geolocation into an app for our assignment, you should be able to re-use that coding on your capstone!


All the online tutorials I’ve found only show how to display your x/y/z/timestamp info on the screen, which is useless. If you’d like to develop an accelerometer app, please do something with these values, such as make a ball roll around (the project we’re looking at in class), or tilt an image, a la parallax, or something else kinda cool. I’ve had quite limited luck getting the iOS to recognize a ‘shake’ event (using the accelerometer API), so that may not be the best approach.


Again, all the online tutorials you’ll find will just show you how to print your heading on the app’s screen, or at best rotate a needle around a compass (just like the compass app already on your phone). Any use of the Compass API will require some decent creativity. (I was thinking of a ‘game’ / ‘test’ where you ask people to guess what direction they’re facing?)

A few requirements:

  • This must be an ‘app,’ not a website. When you hand it in, I’d like your entire App folder (that was created by ‘cordova create…’)
  • Please only bother to develop for iOS, as that’s what I’ll test it on.
  • Please format it for the iPhone, or, if you’d rather format for the iPad, that’s fine, but tell me in advance so I don’t test it on a phone and think you did a crappy job.
  • If you don’t hand it in by March 21, you’ll get a ‘LP’ for our class’s mid-semester grade. This is non-binding, but still scary. Yes, you can hand it in early.



Posted in Uncategorized | Comments Off on First Assignment Rubric

Saving the canvas contents to the photo library

…is easy in Cordova, using this kickass plugin!

We’ll go over it in class on Friday.

Posted in Uncategorized | Comments Off on Saving the canvas contents to the photo library

Firefox isn’t just for humor anymore!

Whaddya know.

Posted in Uncategorized | Comments Off on Firefox isn’t just for humor anymore!

Browser re-sizing issues?

Try this:

(awesome, awesome, hilarious idea)

Posted in Uncategorized | Comments Off on Browser re-sizing issues?

Final Project Proposals

I’ve set up a survey for you to complete your final project proposals.  Please complete it by Friday.

Here’s the link:

Posted in Uncategorized | Comments Off on Final Project Proposals

Friday / The Future

I’m becoming concerned about scheduling for our class, so I’m working on a timeline for handing in proposals / mockups / wireframes for our apps.  If you were in class today, you heard I’ll be gone May 12-16.  Our exam is scheduled for the 16th, grades are due the 18th.  I’m not sure if this means our apps will be due Friday the 10th or Friday the 17th.

Also, our next class, I know 4 of you won’t be there, so for the rest of us, let’s walk through getting your app set up: picking a device to develop for, figuring out what plugins (if any) to use, building an initial project, specifying the OS target, making icons and splash screens, and the like. It may just devolve into a one-on-one lab, which is fine with me, too.

Posted in Uncategorized | Comments Off on Friday / The Future

Insane HTML5 / CSS3 Site

I’ve no clue how they made all of this happen… Very inspiring.

Posted in Uncategorized | 1 Comment


So that’s how to get set up for Android development. To reiterate what I said towards the end of class, anything that you get to work in Xcode via PhoneGap will work just as well here – there are exceptions and quirks, but generally, any PG code that works for the iPhone works for Android.  So I encourage you to develop for android if you have an android phone.

Next, I hope: using plugins with Eclipse.

Posted in Uncategorized | Comments Off on Android…

Do Androids Dream of Developer Tools?

On Wednesday, I’ll introduce you folks to the basics of Android development. You probably won’t be surprised to find out that it’s a little bit wacky getting everything set up! I’ve created a PDF file to assist with links, and we’ll walk through the process in class. To get started (if you want to work along with me in class), download Eclipse and the ADT plugin and Android SDK, all in one big package, here:

Here is the summary of steps to take.  See you then.


Posted in Uncategorized | Comments Off on Do Androids Dream of Developer Tools?

Today: Canvas / Photo Workshop

For today’s class I’m bringing in a version of our canvas / photo app, a version that currently populates the canvas with a picture taken by the device’s camera.  Oddly, when it’s added to the canvas, it gets clipped / smushed / resized poorly, so that’s what I’d like to troubleshoot in class.

If you want to work along, please copy the project from the IM server onto your laptop, then set up a *new* project, run it,  add the ‘www’ folder, add the plugins (and populate the ‘plugins’ section of Cordova.plist), and then copy over the .js and index files from the server project.  Then you should be able to test on your device!

Remember, an A/V project by *you* is due next Monday.  Feel free to work on that instead.

Posted in Uncategorized | Comments Off on Today: Canvas / Photo Workshop