Monday, April 28, 2014

Using OAuth, Twitter and Async To Display Data - Connect to Twitter from a mobile application using OAuth with the Xamarin.Auth library, along with Joe Mayo's LINQ To Twitter library

Authentication has been a part of .NET for a long time. Unfortunately, there are a couple of problems:
  • Users must remember their user ids and passwords. For technologists, this is not a problem. For my parents, this is a huge challenge. Many people are able to remember their Twitter or other social network passwords. Unfortunately, remembering their user IDs and password for your service is most likely a problem.
  • When an application is responsible for the user IDs and passwords, it must store that information securely in some way. If there's one thing we should all understand, no application is 100 percent secure. There is always the chance for some type of data loss.
Depending on the application's needs, it may make sense to let another service store user IDs and passwords. The next question is, "Is there a standard way to interact with other services that can handle authentication?" Thankfully, there is a standard for cross-application authentication: OAuth. OAuth has been implemented by a number of social networks and other services, including Twitter, Facebook, Google and others.
OAuth is an open standard for authorization. It provides the following:
  • A standard method for client authentication.
  • A standard process for end users to authorize third-party access to server resources.
  • The ability to authorize these third parties without the sharing of credentials (username and password pair).
This article will not get into OAuth specifics; that information is available on the OAuth Web site.
For these set of examples, we'll use OAuth as a mechanism to authenticate users. We'll authenticate users, get a response and display information to the user (specifically, a profile image). From there, the example will integrate with Twitter via OAuth and then make calls to Twitter via a third-party library. This will demonstrate the strength of the growing Xamarin ecosystem.
Url: http://visualstudiomagazine.com/articles/2014/04/01/using-oauth-twitter-and-async-to-display-data.aspx

Wednesday, April 2, 2014

Build a Cross-Platform, Mobile Golf App Using C# and Xamarin - MSDN Magazine Article

One of the fun things about the return of golf season is participating in tournaments that feature events such as a longest drive contest. In these, a person’s first shot off a designated hole is measured against others in the tournament. The longest drive during the day is declared the winner. However, these contests typically don’t have centralized scoring. If you’re in the first group, you don’t know until after the event is over where your shots stand in relation to everyone else’s. Why not use a mobile phone to record the starting point and ending point of drives and store the information in a cloud-hosted database?
The options for building such an app are many, which can be confusing. In this article, I’ll walk through how I built such an app using the back-end options in Windows Azure and how I handled various issues. I’ll show the code for writing an app for Windows Phone as well as iOS using Xamarin.
Several features were required. The app needed to run across mobile devices and multiple device OSes. It had to be a native app that looked just like all of the others on a device. The back-end server had to be always available, with minimal hassle to the developer (me). The cloud services had to provide as much help as possible in the area of cross-platform development. The back-end database needed to provide some amount of geolocation functionality.

Many thanks to Brian Prince, Kevin Darty, Tara Walker, Craig Dunn, and a host of others for reviewing the article
PS. You don't have to go to Build to get this Cross Platform Awesomeness 

Thursday, February 27, 2014

CodeCast Episode #2 - Talkin' 'bout Xamarin

I was honored to have been on CodeCast Episode #2.  While there, I talked about my past, how I got into programming, and the decision tree that led me to use Xamarin's technologies.  After those discussions, I did a demo on oAuth authentication to Twitter via Xamarin.Auth and Xamarin.iOS (iPhone) and then showed the code for doing the exact same thing in Xamarin.Android (Android).  Hopefully, this is helpful to you as you look at, discussion, try, and do whatever on Xamarin's technologies.

Monday, February 3, 2014

Article - How to Advance Your Software Development Career: Sharpen Your "Soft" Business Skills



Many developers get into technology careers because they like to write code. However, as you progress in your career, you'll probably find that at some point, you "hit the wall" and have reached the highest position you can solely as a coder. To advance in your career, you must expand your expertise to include more than just straight technology know-how and experience. You must understand the nature of business so that you can take actions in your career that directly profit the business and profit you as well.

Thursday, January 30, 2014

Article - Xamarin How-To: Controls for Navigating Between Screens in iOS

Article Url: http://visualstudiomagazine.com/articles/2014/01/01/xamarin-how-to.aspx 

Developers like to create simple examples. Typically, these examples are a screen of data and controls that users can work with. But rarely are real-world applications a single screen of data. iOS provides developers with several standard mechanisms to allow users to navigate between multiple screens of data. This article will examine two controls that developers can use to provide easy navigation for users: the UINavigationController and the UITabBarController.

I hope that you enjoy the article. Thank you for your time and consideration.

Wednesday, January 29, 2014

Training on Xamarin.iOS with iOS 7: Introduction and Features

I have a new training class out on using Xamarin.iOS with iOS 7 (iPhone and iPad).  This training class will introduce you to iOS 7.  Personally, my favorite features are iBeacons.  I hope that you all the new iOS 7 features as much as I do.
Course Description: In this course we will look at a number of new features for iOS 7. These include the visual transition between views and a number of other new features. We’ll look at iBeacons and more options for background processes. iBeacons have the power to improve location management services by giving really fine control over location and the information at that location. The Background processing feature has been designed for the mobile environment and takes into account power management issues.
Topics

Introduction

Introduction
Introduction to iOS 7
Device Support
Statistics
UI - User Features
UI Redesign
Views
Text Kit
64 Bit Support
Multitasking
Sprite Kit
Game Controller Framework
Game Center Improvements
Maps
AirDrop
Inter-App Audio
Peer-to-Peer
Safari Services
Media Accessibility Framework
JavaScript Core Framework
Summary
iOS7 User Interface

Introduction
UIKit Framework
UIKit Framework (cont'd)
Xcode Features
Existing Controls
Controls
iOS7 Design Surface
Summary
View Controller

Introduction
View Controller Transitions
During the Transition
UIView Animation Enhancements
Spring Animations
Keyframe Animations
UIKit Dynamics
Primitive Behaviors
Sequence for Adding
Sequence for Adding (code)
Summary
Text

Introduction
Dynamic Type
Text Kit
Text Kit Architecture
Text Storage & Attributes
Summary
Background Download

Introduction
Multitasking
iOS Background Tasks
Backgrounding Session in iOS7
NSUrlSessionDelegate
Summary 


I hope that you enjoy the training. Thank you for your time and consideration.

Monday, January 27, 2014

Training on Xamarin Visual Studio 2013 Plugin, .NET 4.5 async/await Support, HttpClient, and other New Features

I have a new training class out on Xamarin.  This session will cover the new features that Xamarin has provided in their mid-2013 update.  These new features include support for iOS 7 (iPhone and iPad), but don't require iOS7.  I hope you enjoy this class.  My favorite features here are the Visual Studio 2013 support for iOS, which I use every day, the .NET 4.5 async/await support, and the HttpClient.
Course Description: With the new features from Xamarin, .NET developers have many things that they can work with. Xamarin has provided support for Visual Studio developers to write iPhone and iPad applications. Support for the asynchronous APIs in .NET 4.5, the .NET 4.5 HTTP client, improved gestures for an improved API to work with and other features as well.
 
Topics
Xamarin .Net 4.5 Features
Introduction
Recent Xamarin Updates
iOS Specific Enhancements
Tools updates
Optimization
Async Support
Why Async?
How to be Async?
Problems
async/await to the Rescue
Exception Handling
Good Candidates
Summary

HTTP Client
Introduction
HttpClient
HTTP Verbs
Notes
GET Operation
Other Http Verbs
Post
Summary

Xamarin Async Extensions
Introduction
iOS async/await extensions
F# Support
Resources
Summary

Xamarin OS Visual Studio
Introduction
Overview
Introduction
Visual Studio Features for iOS
Host Settings
Xamarin.iOS Build Server
Visual Studio Toolbar
Additional Toolbar Options
Output Windows
Project Properties
New iOS Project
File -> New
Updates
User Interface
How?
Screen Rotation
Results
Remember
Resources
Summary

Improvements and Gestures
Introduction
Recent Xamarin Improvements
Gesture Recognizers
Previous Setup
Pattern
Gesture
Types
States
Multiple Gestures
Summary

iOS Notifications
Introduction
Notifications
Local Notifications
How To?
Options
Push Notifications
Requirements
Demo: Local Notifications
Summary

Xamarin Razor
Introduction
Razor Integration
Demo: Xamarin App
Demo: Razor Integration
Summary

Xamarin Other
Introduction
Audio Support
Updated Garbage Collector
NSObject.Description
Threading
CheckForIllegalCrossThreadCalls
Strong Type Constructors
Screen Capture
NSAttributedString
CFNetwork HTTPClient
Summary
 


I hope that you enjoy the training. Thank you for your time and consideration.