Coding 101

Oct 2nd 2014

Coding 101 37

C#: Building an App 1/4

Building an app from the ground up.

Although the show is no longer in production, you can enjoy episodes from the TWiT Archives.
Guests: Louis Maresca
Category: Help & How To

The Code for today's show is available below:

Snubs Compiled

Thanks to Ayesh Rodz for his Sample Array.

And to Rik Schreurs for busting out some collections knowledge.

And, of course, to Joe Maruschek, who keeps dazzling us with XAML.

Ivory Tower

We're Building an App!

We want to create a Tasks app that can take pictures of things we want to remember, tag location data to specific tasks, allow us to share OR KEEP PRIVATE that task list, and do it all across all of our devices.

The first thing we want to do when we're developing an app is to break down its functions. I prefer to go from the inside, out. (Start with the device, continue to what the device will connect)

  1. The App will create and maintain a Tasks list.
  2. The App will allow us to take pictures that become part of the tasks list
  3. The App will allow us to associate location information with the tasks list
  4. The App will have a user authentication procedure
  5. The App will use a back-end server to store data and sync across multiple devices
  6. The App will have a secure communications process

The Second thing we want to do is to gather resources. What service are availible for my app? I prefer to go from the outside, it. (Start with what is availible on the Internet, continue to what the device can do.)

  1. Do we want to create our own back-end server? If not, are there "task-services" that have an API, syncing and a secure communications process?
    • Outlook, Yahoo, Google:: We're Choosing Google.
  2. My phone has a GPS.
  3. My phone has a Camera.

The Third thing we want to do is to create the Logic Tree for our App

  1. Authenticate and connect to Google's Task API
  2. Get a list of tasks from Google's "Tasks" API
  3. Turn the list of tasks into a Task List
  4. Interact with the Task List
    • Create a New Task
    • Update and existing Task
    • Delete a task
    • Duplicate a tast
    • Be warned about a task
    • Associate Location data with a task
    • Capture a phoro and associate it with a task
  5. Push data back to Google Tasks

The fourth thing is to make each part of the logic tree possible:

  1. Get the APIs
    • There is a NuGet package that allows .NET programs to access many of the Google APIs.
    • Here are the APIs that I have access to:
    • Specifically, I have access to the "Tasks API"
  2. Register to use the APIs
  3. Access the GPS and the Camera on the Phone

Get in Touch With Us!

Bandwidth for Coding 101 is provided by CacheFly.