Author Archives: Abe Diaz

How Seattle GiveCamp got 176 volunteers to code for charity – AT&T Developer Program Blogs

One dollar here, five dollars there, we all contribute to causes that are near and dear to our heart. But have you ever worked non-stop over a full weekend for charity? Well 176 people put their coding abilities to work and did just that. This past weekend the Seattle GiveCamp united 21 charities along with a tribe of passionate and excited developers for a hackathon and the results were amazing.

Continue on http://developer.att.com

An MMS is worth a thousand words. – AT&T Developer Program Blogs

People say an image is worth a thousand words… does the same apply to MMS? I personally think so. A long time ago I sent out a belated birthday email to a good friend and his reply was very particular, he said “thanks, but it’s no cake.” The next year, I sent out the celebratory email to this same friend (this one was on time) but I sent a picture of a cake with his name on it. He thought it was funny and memorable, consequently I continued to do the same thing with my other close friends. This year I tried to take it an extra notch up and decided to use the AT&T API Platform SDK for Microsoft® to send out the cake via MMS.

Continue on http://developer.att.com

Using RestSharp? Here is how to add ads to your website too. – AT&T Developer Program Blogs

When building a mobile (or desktop) website that consumes a RESTful backend, there are many options to consume those endpoints.  For those comfortable with C# and inclined towards open source solutions RestSharp might be a good API Client for you.  It is simple to use and has a great community behind, a good example is Github’s Phil Haack.  Here is a short sample on how to use AT&T’s Ads Api and RestSharp to monetize your website.

RestSharp being lightweight (yet robust) provides all the options you need to send and retrieve data from an API.  Let’s create am http request for an ad from our API. First make sure you have your OAuth token as we will use it in the example, refer to the Exploring an API article for some tips calling our OAuth service.

Continue on http://developer.att.com

Get a bootstrap makeover and speed up your site – AT&T Developer Program Blogs

The term responsive design was coined by Ethan Marcotte in the May 2010 article of A List Apart.  It is pretty straightforward: a website should adapt given the screen size and orientation to allow for a more readable and enjoyable experience for the users.

Fast forward to today and you will see a good set of tools and templates for developers to create websites that are responsive in nature. One of the most popular ones is Bootstrap.  Here is a list of tips and tricks to help you spruce up your designs and speed them up too.

Continue on http://developer.att.com

Rapid prototyping of mobile apps – AT&T Developer Program Blogs

Rapid Prototyping has been around for over 30 years.  It has been used in the manufacturing industry to quickly develop parts and products. In the software development industry, rapid prototyping is linked to rapid application development and refers to the practice of iteratively creating screens or visuals of increasingly better resolution that project how an application will function in the future (or end state). This is particularly useful for mobile applications where we try to include the minimal set of features that are used most of the time by customers.

 

Rapid prototyping is highly effective when designing visual interfaces for mobile apps; unfortunately, effective does not mean easy.  As with any iterative process, there are a series of steps to follow for each cycle.  The rapid prototyping cycle includes three fundamental steps: envisioncreate and review.

01-RapidPrototyping.png

 

Continue on http://developer.att.com

The value of “good” user stories – AT&T Developer Program Blogs

Pigs & Chickens, Scrum Master, Sprints, etc., we have been hearing these terms for quite some time now. They are related to the (not so) new software development methodology called Agile based on the Agile Manifesto generated by (what was later called) the Agile Alliance.

One of the guidelines for agile software development, is the use of User Stories to depict the needs of the user from a functional perspective; and while I won’t go into details of what agile is and is not, I do want to talk about user stories and the value of them for a development team in a churn.

Continue on http://developer.att.com

Designing mobile apps for offline mode – AT&T Developer Program Blogs

For many of us, being disconnected from the web seems like an alien concept. We keep our phones in our pockets all the time and get frustrated when our flight has no Wi-Fi onboard. But for app developers, being disconnected presents additional challenges.

I recently attended DevLink and heard Aaron Powell speak about “airplane mode” and some of the ways to achieve this within mobile web apps. His talk sparked my curiosity and made me wonder how many developers are creating apps with offline mode capabilities as a feature, or “offline first” design principles as some call it.

Continue on http://developer.att.com

Exploring an API with Fiddler – AT&T Developer Program Blogs

How many of us can say we didn’t stumble for a little while when learning to ride a bike? Unless you are Travis Pastrana, you probably know what I mean. When it comes to new APIs sometimes we need training wheels too. A good set of training wheels to start getting your feet wet is a “web debugging proxy” or a REST Client.

Continue on http://developer.att.com

“Mobilize” your existing SQL Azure tables (from WASD to ZUMO)

I have been playing around with Windows Azure Mobile Services (ZUMO) and found a great article on Using an existing Azure SQL table with Windows Azure Mobile Services by Jeff Sanders. I have been trying to do the same but found some challenges along the way.

If you are using EF Data Migrations on you project you will need to ensure the schema is set to the name of the Mobile Service name instead of dbo (this might be tricky for some); or use the EF DB First Model approach. In addition to that you will need to make sure the column types being used by your app are compatible with the types for ZUMO. Lastly remember to set the id (Not ID as it is case sensitive) column to be an identity column.

With those small changes you will be able to access your previously created tables via ZUMO while minimizing impact to any legacy webapp you may have developed earlier.

Hope this helps 🙂

Additional References:

Moving an Access DB to Windows Azure Mobile Services by Scott Klein

Creating a EF DB First Model with SQL Azure by Julie Lerman

Using existing database with Azure Mobile Services by Filip Woj

Do you or do you not know about the VERB… Cause everybody’s heard that the VERB is the word

[youtube http://www.youtube.com/watch?v=4Py0UpbVMOc%5D

Like Peter Griffin said the bird is the word, I say the VERB is the word. What I’m I talking about? HTTP Verbs.

I have been recently playing with Windows Azure Mobile Services commonly called ZUMO. In doing so I ran into a bit of a snag. I was trying to do CRUD operations from an MVC 4 app when i kept getting an error on updates. As many people know the typical mapping for REST APIs is something like this:

Read: HTTP GET
Insert: HTTP POST
Update: HTTP PUT
Delete: HTTP DELETE

While I had no issues inserting or reading the update action was failing with the following error “{“MethodNotAllowed“}. After some digging I was able to spot the issue. The ZUMO REST API is expecting the PATCH Verb instead of PUT.

I replaced the following:

var request = new HttpRequestMessage(HttpMethod.Post, BaseAddress);

with

HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("X-ZUMO-APPLICATION", ApplicationKey);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var request = new HttpRequestMessage(new HttpMethod("PATCH"), BaseAddress + contact.id);

That little tweak did the trick!

Hope this helps others playing with Windows Azure Mobile Services too. If you haven’t go ahead and give it a try 🙂