<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">AfricaApps</title><subtitle type="html" /><id>http://blogs.msdn.com/b/africaapps/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/africaapps/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2013-04-02T11:42:00Z</updated><entry><title>Using Windows Azure Mobile services to develop Android Applications–Nigeria DevCamp</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applications-nigeria-devcamp.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/05/14/using-windows-azure-mobile-services-to-develop-android-applications-nigeria-devcamp.aspx</id><published>2013-05-14T19:00:22Z</published><updated>2013-05-14T19:00:22Z</updated><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;The Nigeria Events&amp;#160; &lt;/h5&gt;  &lt;p&gt;If you attended our events in Nigeria you may have seen our team do a combined demo, which showed how you can develop a Windows 8 application, use the same logical layer with Windows phone 8 application. This was later improved to used Windows Azure Mobile Services (WAMS) and some very interesting features including push notifications and Facebook authentication and an Android application. So much fun!&lt;/p&gt;  &lt;p&gt;You can review the event tweets and activities using &lt;strong&gt;@africaapps&lt;/strong&gt; and #&lt;strong&gt;MSNigDevCamp&lt;/strong&gt;.&lt;/p&gt;  &lt;h5&gt;Why Windows Azure Mobile Services&lt;/h5&gt;  &lt;p&gt;WAMS supports Windows Store, HTML, Windows Phone 8, iOS, and Android development and are free for your first ten apps. &lt;/p&gt;  &lt;h5&gt;Prerequisites&lt;/h5&gt;  &lt;p&gt;a) Android Developer toolkit.&amp;#160;&amp;#160; &lt;a href="http://developer.android.com/sdk/index.html"&gt;Download&lt;/a&gt;.    &lt;br /&gt;b) Additional files (ShoppingActivity.java, ItemAdapter.java, row_list_shopping.xml) &lt;a href="http://sdrv.ms/1031E5l"&gt;Download&lt;/a&gt;.&lt;/p&gt;  &lt;h5&gt;The Recipe&lt;/h5&gt;  &lt;p&gt;In this particular post I will take you through the steps I followed to develop an Android application that used Windows Azure mobile services. In doing this, I'm not trying to show you how to develop Android applications, but to integrate WAMS into your application.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;1) Create a new Android Application Project. Give it a name as follows. Click next button and configure the project to have a blank activity and a custom launcher icon. You can name the activity-name as &lt;font face="Consolas"&gt;ShoppingActivity&lt;/font&gt;, and that should give the layout the name &lt;font face="Consolas"&gt;activity_shopping&lt;/font&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37-metablogapi/5545.image_5F00_14463DCA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37-metablogapi/4540.image_5F00_thumb_5F00_66E4A7F9.png" width="359" height="338" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;2) Add the following mobile service libraries to the project. Drag them to the project lib folder and add them to project libraries build path, by clicking Add JARs.. as shown below.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;gson-2.2.2.jar&amp;#160; &lt;/li&gt;    &lt;li&gt;httpclient-4.2.3.jar&lt;/li&gt;    &lt;li&gt;mobileservices-0.2.0-javadoc.jar&lt;/li&gt;    &lt;li&gt;mobileservices-0.2.0-sources.jar &lt;/li&gt;    &lt;li&gt;mobileservices-0.2.0.jar &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can download these files from &lt;a href="http://sdrv.ms/11C4SQf"&gt;here&lt;/a&gt;. I would recommend that you search for latest versions.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37-metablogapi/5700.image_5F00_1D062049.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37-metablogapi/0488.image_5F00_thumb_5F00_73AED84A.png" width="479" height="285" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;3) Add uses permission to internet to &lt;font face="Consolas"&gt;AndroidManifest.xml&lt;/font&gt; (android.permission.INTERNET)&lt;/p&gt;  &lt;p&gt;4) Add class. Item&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Item {

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Item text &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    @com.google.gson.annotations.SerializedName(&lt;span class="str"&gt;&amp;quot;text&amp;quot;&lt;/span&gt;) 
    &lt;span class="kwrd"&gt;private&lt;/span&gt; String mText;

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Item Id &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    @com.google.gson.annotations.SerializedName(&lt;span class="str"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;) 
    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; mId;

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Indicates if the item is completed &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    @com.google.gson.annotations.SerializedName(&lt;span class="str"&gt;&amp;quot;iscompleted&amp;quot;&lt;/span&gt;) 
    &lt;span class="kwrd"&gt;private&lt;/span&gt; boolean mComplete;

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * ToDoItem constructor &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; Item() {

    }

    &lt;span class="preproc"&gt;@Override&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; String toString() { 
        &lt;span class="kwrd"&gt;return&lt;/span&gt; getText(); 
    }

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Initializes a new ToDoItem &lt;/span&gt;
&lt;span class="rem"&gt;     * &lt;/span&gt;
&lt;span class="rem"&gt;     * @param text &lt;/span&gt;
&lt;span class="rem"&gt;     *            The item text &lt;/span&gt;
&lt;span class="rem"&gt;     * @param id &lt;/span&gt;
&lt;span class="rem"&gt;     *            The item id &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; Item(String text, &lt;span class="kwrd"&gt;int&lt;/span&gt; id) { 
        &lt;span class="kwrd"&gt;this&lt;/span&gt;.setText(text); 
        &lt;span class="kwrd"&gt;this&lt;/span&gt;.setId(id); 
    }

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Returns the item text &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; String getText() { 
        &lt;span class="kwrd"&gt;return&lt;/span&gt; mText; 
    }

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Sets the item text &lt;/span&gt;
&lt;span class="rem"&gt;     * &lt;/span&gt;
&lt;span class="rem"&gt;     * @param text &lt;/span&gt;
&lt;span class="rem"&gt;     *            text to set &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; final &lt;span class="kwrd"&gt;void&lt;/span&gt; setText(String text) { 
        mText = text; 
    }

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Returns the item id &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;int&lt;/span&gt; getId() { 
        &lt;span class="kwrd"&gt;return&lt;/span&gt; mId; 
    }

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Sets the item id &lt;/span&gt;
&lt;span class="rem"&gt;     * &lt;/span&gt;
&lt;span class="rem"&gt;     * @param id &lt;/span&gt;
&lt;span class="rem"&gt;     *            id to set &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; final &lt;span class="kwrd"&gt;void&lt;/span&gt; setId(&lt;span class="kwrd"&gt;int&lt;/span&gt; id) { 
        mId = id; 
    }

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Indicates if the item is marked as completed &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; boolean isComplete() { 
        &lt;span class="kwrd"&gt;return&lt;/span&gt; mComplete; 
    }

    &lt;span class="rem"&gt;/** &lt;/span&gt;
&lt;span class="rem"&gt;     * Marks the item as completed or incompleted &lt;/span&gt;
&lt;span class="rem"&gt;     */&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; setComplete(boolean complete) { 
        mComplete = complete; 
    }

    &lt;span class="preproc"&gt;@Override&lt;/span&gt; 
    &lt;span class="kwrd"&gt;public&lt;/span&gt; boolean equals(Object o) { 
        &lt;span class="kwrd"&gt;return&lt;/span&gt; o instanceof Item &amp;amp;&amp;amp; ((Item) o).mId == mId; 
    } 
}
&lt;/pre&gt;


&lt;p&gt;5) Add the followowing on the strings.xml resource&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;add_textbox_hint&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Add a shopping item&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; 
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;add_button_text&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Add&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; 
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;mobile_services&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Mobile Services &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;menu_refresh&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Refresh&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; 
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;checkbox_text&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Item Text&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;string&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;
  &lt;br /&gt;6) Go to activity_shopping.xml. Delete contents. Right click on the properties and change the layout to vertical&lt;/p&gt;

&lt;p&gt;7) Paste the following to get the Title of the application, progress-bar within the activity_shopping layout XML.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;LinearLayout&lt;/span&gt; 
        &lt;span class="attr"&gt;android:layout_width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;match_parent&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:layout_height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;wrap_content&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:background&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;#71BCFA&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:padding&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;6dip&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextView&lt;/span&gt; 
            &lt;span class="attr"&gt;android:id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@+id/textViewTitle&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0dip&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;wrap_content&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_marginLeft&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;2dp&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_weight&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0.12&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@string/mobile_services&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:textAppearance&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;?android:attr/textAppearanceLarge&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ProgressBar&lt;/span&gt; 
            &lt;span class="attr"&gt;android:id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@+id/loadingProgressBar&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;28dp&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;28dp&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; 
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;LinearLayout&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;8) Add entry part of the application using the following markup.&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;

&lt;p&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;LinearLayout&lt;/span&gt; 
        &lt;span class="attr"&gt;android:layout_width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;match_parent&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:layout_height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;wrap_content&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:background&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;#71BCFA&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:padding&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;6dip&amp;quot;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;EditText&lt;/span&gt; 
            &lt;span class="attr"&gt;android:id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@+id/textNewShoppingItem&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0dip&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;wrap_content&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_weight&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:ems&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:hint&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@string/add_textbox_hint&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;requestFocus&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; 
       &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;EditText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt; 
            &lt;span class="attr"&gt;android:id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@+id/buttonAddToDo&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;64dip&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:layout_height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;wrap_content&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:onClick&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;addItem&amp;quot;&lt;/span&gt; 
            &lt;span class="attr"&gt;android:text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@string/add_button_text&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;LinearLayout&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; 
  &lt;/pre&gt;
  &amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;You should have the following on your grid layout.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37-metablogapi/5633.2013_2D00_05_2D00_14_2D00_15_5F00_39_5F00_13_2D00_Java_2D002D002D00_ShoppingActivity_5F00_res_5F00_layout_5F00_activity_5F00_shopping.xml_2D002D002D00_ADT_5F00_231D4717.png"&gt;&lt;img title="2013-05-14 15_39_13-Java - ShoppingActivity_res_layout_activity_shopping.xml - ADT" style="display: inline; background-image: none;" border="0" alt="2013-05-14 15_39_13-Java - ShoppingActivity_res_layout_activity_shopping.xml - ADT" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37-metablogapi/8420.2013_2D00_05_2D00_14_2D00_15_5F00_39_5F00_13_2D00_Java_2D002D002D00_ShoppingActivity_5F00_res_5F00_layout_5F00_activity_5F00_shopping.xml_2D002D002D00_ADT_5F00_thumb_5F00_00E53B91.png" width="196" height="312" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;9) Add the following markup to tie in the listview that will show the actual shopping list items.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;LinearLayout&lt;/span&gt; 
        &lt;span class="attr"&gt;android:layout_width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;match_parent&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:layout_height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;wrap_content&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:background&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;#71BCFA&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:padding&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;6dip&amp;quot;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ListView&lt;/span&gt; 
        &lt;span class="attr"&gt;android:id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@+id/listViewShoppingItem&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:layout_width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;match_parent&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:layout_height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;wrap_content&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;tools:listitem&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@layout/row_list_shopping&amp;quot;&lt;/span&gt; 
        &lt;span class="attr"&gt;android:padding&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;6dip&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ListView&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;LinearLayout&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;
  &lt;br /&gt;10) Insert the following markup to include the refresh button in the menu markup file.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;item&lt;/span&gt; &lt;span class="attr"&gt;android:id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@+id/menu_refresh&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;android:orderInCategory&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;101&amp;quot;&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="attr"&gt;android:showAsAction&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;always&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;android:title&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@string/menu_refresh&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;item&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;
  &lt;br /&gt;11) Drag &lt;font face="Consolas"&gt;ItemAdapter&lt;/font&gt; and fix namespaces.&lt;/p&gt;

&lt;p&gt;
  &lt;br /&gt;12) Drag &lt;font face="Consolas"&gt;ShoppingActivity&lt;/font&gt; and fix namespaces.&lt;/p&gt;

&lt;p&gt;Happy running :)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37-metablogapi/8244.image_5F00_5F1962FF.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37-metablogapi/5086.image_5F00_thumb_5F00_57414A90.png" width="311" height="360" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;More on the mobile services implementation&lt;/h5&gt;

&lt;p&gt;When the activity is executed, a new instance of a MobileServiceClient is created using the credeantials supplied. You will then access the differenct objects using this object.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// Create the Mobile Service Client instance, using the provided &lt;/span&gt;
&lt;span class="rem"&gt;// Mobile Service URL and key &lt;/span&gt;
mClient = &lt;span class="kwrd"&gt;new&lt;/span&gt; MobileServiceClient(&lt;span class="str"&gt;&amp;quot;https://yourservices.azure-mobile.net/&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;yourkey&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;this&lt;/span&gt;)
           .withFilter(&lt;span class="kwrd"&gt;new&lt;/span&gt; ProgressFilter());&lt;/pre&gt;


&lt;p&gt;
  &lt;br /&gt;The following line enables you to access the tables in WAMS&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;pre class="csharpcode"&gt;mShoppingTable = mClient.getTable(Item.&lt;span class="kwrd"&gt;class&lt;/span&gt;); &lt;/pre&gt;
  

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;The following line enables the application to use FaceBook authentication. Remember... you can use Microsoft account and Google account for authentication too. Upon authentication the included callback handles success or failure and displayed appropriate message.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;

  &lt;pre class="csharpcode"&gt;   mClient.login(MobileServiceAuthenticationProvider.Facebook, 
                &lt;span class="kwrd"&gt;new&lt;/span&gt; UserAuthenticationCallback() {


                    &lt;span class="preproc"&gt;@Override&lt;/span&gt; 
                    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; onCompleted(MobileServiceUser user, 
                            Exception exception, ServiceFilterResponse response) {


                        &lt;span class="kwrd"&gt;if&lt;/span&gt; (exception == &lt;span class="kwrd"&gt;null&lt;/span&gt;) { 
                            createAndShowDialog(String.format( 
                                            &lt;span class="str"&gt;&amp;quot;You are now logged in - %1$2s&amp;quot;&lt;/span&gt;, 
                                            user.getUserId()), &lt;span class="str"&gt;&amp;quot;Success&amp;quot;&lt;/span&gt;); 
                            createTable(); 
                        } &lt;span class="kwrd"&gt;else&lt;/span&gt; { 
                            createAndShowDialog(&lt;span class="str"&gt;&amp;quot;You must log in. Login Required&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;Error&amp;quot;&lt;/span&gt;); 
                        } 
                    } 
                });
  &lt;/pre&gt;
  &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h5&gt;References&lt;/h5&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Thanks to the work of the team at MSOpenTech for their commitment to Microsoft&amp;#160; and Opensource interoperability.&amp;#160; &lt;/p&gt;

&lt;p&gt;You can ge more information on the following links&lt;/p&gt;

&lt;p&gt;1) Windows Azure 
  &lt;br /&gt;&lt;a href="http://www.windowsazure.com"&gt;http://www.windowsazure.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Windows Azure mobile services 
  &lt;br /&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/mobile/"&gt;http://www.windowsazure.com/en-us/develop/mobile/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3) MSOpenTech 
  &lt;br /&gt;&lt;a href="http://msopentech.com/"&gt;http://msopentech.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4) Github 
  &lt;br /&gt;&lt;a href="https://github.com/MSOpenTech"&gt;https://github.com/MSOpenTech&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10418566" width="1" height="1"&gt;</content><author><name>Malisa Ncube</name><uri>http://blogs.msdn.com/malisa.ncube_4000_live.com/ProfileUrlRedirect.ashx</uri></author><category term="windows azure" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/windows+azure/" /><category term="Africa" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Africa/" /><category term="Windows Azure Mobile Services" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Windows+Azure+Mobile+Services/" /><category term="Android" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Android/" /></entry><entry><title>The cross platform Shopping List demo with a Windows Azure backend</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/05/09/the-cross-platform-shopping-list-demo-with-a-windows-azure-backend.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/05/09/the-cross-platform-shopping-list-demo-with-a-windows-azure-backend.aspx</id><published>2013-05-09T10:32:37Z</published><updated>2013-05-09T10:32:37Z</updated><content type="html">&lt;p&gt;We've been doing a combined demo in our dev camps recently, which is a shopping list application that works cross platform (Windows 8, Windows Phone and Android) with a Windows Azure Mobile Services backend.&lt;/p&gt;
&lt;p&gt;The source code is posted on GitHub: &lt;a href="https://github.com/sabb0ur/ShopingListFinalDemo"&gt;https://github.com/sabb0ur/ShopingListFinalDemo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We'll be following this post with detailed explanation of how you can recreate this app.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10417278" width="1" height="1"&gt;</content><author><name>Ahmed Sabbour</name><uri>http://blogs.msdn.com/sabbour_4000_outlook.com/ProfileUrlRedirect.ashx</uri></author><category term="windows azure" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/windows+azure/" /><category term="Windows 8" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Windows+8/" /><category term="Windows Phone 8" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Windows+Phone+8/" /><category term="Mobile Services" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Mobile+Services/" /></entry><entry><title>Nigeria, a different approach</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/05/03/nigeria-a-different-approach.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/05/03/nigeria-a-different-approach.aspx</id><published>2013-05-03T15:05:01Z</published><updated>2013-05-03T15:05:01Z</updated><content type="html">&lt;p&gt;We are coming to Nigeria next week, from the 7th - 10th of May. The whole team will be present where we will cover many topics in different technologies. We will have some basic sessions for those who are new to Microsoft technologies, some mind opening sessions like integrating your OPEN SOURCE code into Microsoft technologies, and some advanced sessions for the one who wants to be the master. We will have a variety of topics&amp;nbsp;across&amp;nbsp;the days including but not limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Visual Studio.&lt;/li&gt;
&lt;li&gt;Introduction&amp;nbsp;to Windows 8 development.&lt;/li&gt;
&lt;li&gt;Introduction&amp;nbsp;to Windows Phone 8 development.&lt;/li&gt;
&lt;li&gt;Introduction to Windows Azure.&lt;/li&gt;
&lt;li&gt;Introduction to Bing maps development.&lt;/li&gt;
&lt;li&gt;Introduction to Kinect for Windows.&lt;/li&gt;
&lt;li&gt;Integrating your open source&amp;nbsp;applications&amp;nbsp;with Microsoft (Integrating not only migrating).&lt;/li&gt;
&lt;li&gt;Creating a cross platform (Windows 8, Windows Phone, Android) shopping list app with a Windows Azure Mobile Services&amp;nbsp;back end.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Location aware Camera app with Windows Azure as back end.&lt;/li&gt;
&lt;li&gt;Cloud Services and Windows Azure Storage&lt;/li&gt;
&lt;li&gt;ASP.net MVC Web API&lt;/li&gt;
&lt;li&gt;Customizing your app to fit WP8 Traits&lt;/li&gt;
&lt;li&gt;Creating a highly available load balanced Virtual Machine environment&lt;/li&gt;
&lt;li&gt;Asynchronous web applications using ASP.NET SignalR&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;So pick your topic, join us, and get our free gifts.&lt;/div&gt;
&lt;div&gt;Event Agenda:&amp;nbsp;&lt;a href="https://www.facebook.com/AfricaApps/events"&gt;https://www.facebook.com/AfricaApps/events&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;Don't forget to follow us on&amp;nbsp;&lt;a href="http://facebook.com/africaapps"&gt;http://facebook.com/africaapps&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://twitter.com/africaapps"&gt;https://twitter.com/africaapps&lt;/a&gt;&amp;nbsp;and tweet us on #NigDevCamp&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10415922" width="1" height="1"&gt;</content><author><name>Mostafa Nageeb</name><uri>http://blogs.msdn.com/mostafanageeb_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Interview with The Developer Akinwale Ariwodola (Windows 8 Apps)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/05/02/interview-with-akinwale-ariwodola.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/05/02/interview-with-akinwale-ariwodola.aspx</id><published>2013-05-02T12:27:00Z</published><updated>2013-05-02T12:27:00Z</updated><content type="html">&lt;h3&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Interview Questions&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;table border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;h3&gt;&lt;span style="color: #3366ff; font-family: arial,helvetica,sans-serif;"&gt;Could you please tell us a bit about yourself and your background?&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="text-align: left; padding-left: 30px;"&gt;&lt;span style="font-size: large;"&gt;I&amp;rsquo;m a 26 year old from the southwest of Nigeria who&amp;rsquo;s had a passion for computers since the age of 4.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;I&amp;rsquo;ve always enjoyed programming and video games, as well as good books and movies.&lt;/span&gt;&lt;/h3&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;span style="color: #3366ff;"&gt;&amp;nbsp;How the idea of the &lt;/span&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Slyde &lt;/span&gt;&lt;/strong&gt;&lt;span style="color: #3366ff;"&gt;came to you?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;I was fond of the sliding numbers puzzle when I was little, and it seemed like a simple enough idea to implement, so I decided to give it a shot.&lt;/span&gt;&lt;/p&gt;
&amp;nbsp;
&lt;h3&gt;&amp;nbsp;&lt;span style="color: #3366ff;"&gt;Why you decided to implement this idea specifically Windows8?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;I was looking to develop a simple game which didn&amp;rsquo;t require the use of DirectX or any third-party game libraries. Slyde makes use of the pure Windows RT API without the need for&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;external references.&lt;/span&gt;&lt;/p&gt;
&amp;nbsp;
&lt;h3&gt;&lt;span style="color: #3366ff;"&gt;What resources on Microsoft or community side you found most helpful while working on the app?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;I&amp;rsquo;ve found the MSDN reference to be the most useful for getting started, especially the Windows 8 application samples available for download.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;Links that helped me&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;Windows 8 Controls list&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465351.aspx"&gt;http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465351.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;Windows 8 Modern Style App Samples&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;&lt;a href="http://code.msdn.microsoft.com/windowsapps/Windows-8-Modern-Style-App-Samples"&gt;http://code.msdn.microsoft.com/windowsapps/Windows-8-Modern-Style-App-Samples&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;Windows Store app development&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/br229519.aspx"&gt;http://msdn.microsoft.com/en-us/library/windows/apps/xaml/br229519.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&amp;nbsp;
&lt;h3&gt;&lt;span style="color: #3366ff;"&gt;Could you please take us on a quick tour to understand your application better?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;When you launch the game, you&amp;rsquo;re offered to play two modes. The 8-puzzle and the 15-puzzle which is slightly more complex. The goal is to arrange the numbers in order from left-to-right, top-to-bottom by tapping on the tile right next to the empty block. The game calculates the total number of moves that you made to solve the puzzle and the time taken. Once you&amp;rsquo;ve successfully arranged the numbers, you get a win notification which asks you to play again if you would like.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;span style="color: #3366ff;"&gt;&amp;nbsp;What are your interests behind technology?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;I&amp;rsquo;ve always liked computers and the ability to create programs for them. I&amp;rsquo;ve also looked into building robots as a hobby, but I&amp;rsquo;ve never actually completed one yet. Perhaps, when I have more free time, I&amp;rsquo;ll get around to it.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="color: #3366ff; font-family: arial,helvetica,sans-serif;"&gt;Any plans for news apps or projects in general?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;I have quite a few apps I&amp;rsquo;d like to work on. Particularly, an App.net client and a packing app, among others.&lt;/span&gt;&lt;/p&gt;
&amp;nbsp;
&lt;h3&gt;&lt;span style="color: #3366ff; font-family: arial,helvetica,sans-serif;"&gt;What would you advise to Developers in the region who also would like to become #MEAHero?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;Personally, I&amp;rsquo;d say if you&amp;rsquo;ve got an idea, just start working on it immediately by writing code and putting stuff on the screen, instead of overthinking or spending too much time &lt;/span&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;working on design. Design is important, but things can evolve rapidly, and it&amp;rsquo;s very easy to provide incremental updates if you&amp;rsquo;re developing apps.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;span style="color: #3366ff;"&gt;Where the community can catch up with you online or offline?&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: large;"&gt;My Twitter handle is @akinwale, or you could just reach me by email using akinwale@gmail.com&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;br clear="ALL" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10415608" width="1" height="1"&gt;</content><author><name>Hanan Hazem</name><uri>http://blogs.msdn.com/otta_5F00_ana_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Windows+8/" /><category term="windows 8 design" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/windows+8+design/" /><category term="Building Apps" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Building+Apps/" /><category term="Developers" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Developers/" /></entry><entry><title>Video Tutorial on Building Apps for Windows Phone 8 </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/04/14/video-tutorial-on-building-apps-for-windows-phone-8.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/04/14/video-tutorial-on-building-apps-for-windows-phone-8.aspx</id><published>2013-04-14T10:40:00Z</published><updated>2013-04-14T10:40:00Z</updated><content type="html">&lt;p&gt;This is my first video tutorial for starting to build apps for windows phone 8. It is posted on my&lt;br /&gt;YouTube channel here: &lt;a href="http://aka.ms/dhelmyWP"&gt;http://aka.ms/dhelmyWP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I hope that you will benefit from it and I'll be waiting for your feedback.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10410887" width="1" height="1"&gt;</content><author><name>Dina Helmy</name><uri>http://blogs.msdn.com/dina_5F00_helmy_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="Apps" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Apps/" /><category term="Windows Phone 8" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Windows+Phone+8/" /><category term="introduction" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/introduction/" /><category term="Video tutorial" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Video+tutorial/" /></entry><entry><title>Introduction to Windows 8 with a simple camera application</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/04/12/introduction-to-windows-8-with-a-simple-camera-application.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/04/12/introduction-to-windows-8-with-a-simple-camera-application.aspx</id><published>2013-04-12T21:04:00Z</published><updated>2013-04-12T21:04:00Z</updated><content type="html">&lt;p&gt;This is My first video tutorial, in it I'm giving a small introduction about windows 8 and building a small demo application in C# and XAML that uses the WinRT APIs to connect with the camera.&lt;/p&gt;
&lt;p&gt;I hope that you like it and I'll be waiting for your comments.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/africaapps/archive/2013/04/12/introduction-to-windows-8-with-a-simple-camera-application.aspx"&gt;(Please visit the site to view this video)&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10410745" width="1" height="1"&gt;</content><author><name>shehab fawzy</name><uri>http://blogs.msdn.com/shehab.fawzy_4000_outlook.com/ProfileUrlRedirect.ashx</uri></author><category term="Windows 8" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Windows+8/" /><category term="introduction" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/introduction/" /><category term="winRT" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/winRT/" /><category term="C#" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/C_2300_/" /><category term="video" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/video/" /><category term="XAML" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/XAML/" /></entry><entry><title>Windows Azure video tutorials and champ calls</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/04/10/windows-azure-video-tutorials-and-champ-calls.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/04/10/windows-azure-video-tutorials-and-champ-calls.aspx</id><published>2013-04-10T14:38:58Z</published><updated>2013-04-10T14:38:58Z</updated><content type="html">&lt;h2&gt;YouTube channel&lt;/h2&gt;
&lt;p&gt;I started posting video tutorials on YouTube under my channel here: &lt;a href="http://aka.ms/sabbourazure"&gt;http://aka.ms/sabbourazure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;4Afrika Azure Champ Calls&lt;/h2&gt;
&lt;p&gt;We also started a monthly Windows Azure champ call, which will also be recorded and posted to the channel above.&lt;/p&gt;
&lt;p&gt;The first Monday of every month. To join, you need to download Lync Attendee (&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=23396)"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=23396)&lt;/a&gt;, then you can join here: &lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0066cc; font-family: 'Calibri','sans-serif'; font-size: 14pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Calibri; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;&lt;a href="https://join.microsoft.com/meet/v-ahsab/4LQTMB2Z"&gt;&lt;span style="color: #0066cc; font-size: 16pt;"&gt;Join Lync Meeting&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The time for the call is as follows:&lt;/p&gt;
&lt;table border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cairo (Egypt)&lt;/td&gt;
&lt;td&gt;1:30:00 PM EET UTC+2 hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kigali (Rwanda)&amp;nbsp;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;1:30:00 PM CAT UTC+2 hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kampala (Uganda)&lt;/td&gt;
&lt;td&gt;&amp;nbsp;2:30:00 PM EAT UTC+3 hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nairobi (Kenya)&lt;/td&gt;
&lt;td&gt;&amp;nbsp;2:30:00 PM EAT UTC+3 hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Corresponding UTC (GMT)&lt;/td&gt;
&lt;td&gt;&amp;nbsp;11:30:00&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I'll be updating you with the next call in May.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10410017" width="1" height="1"&gt;</content><author><name>Ahmed Sabbour</name><uri>http://blogs.msdn.com/sabbour_4000_outlook.com/ProfileUrlRedirect.ashx</uri></author><category term="windows azure" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/windows+azure/" /><category term="YouTube" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/YouTube/" /><category term="Champs" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Champs/" /></entry><entry><title>Part 1: Protecting an ASP.net Web API hosted on Azure with OAuth Simple Web Tokens using the Access Control Service – Server Side</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/04/04/part-1-protecting-an-asp-net-web-api-hosted-on-azure-with-oauth-simple-web-tokens-using-the-access-control-service-server-side.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/04/04/part-1-protecting-an-asp-net-web-api-hosted-on-azure-with-oauth-simple-web-tokens-using-the-access-control-service-server-side.aspx</id><published>2013-04-04T15:36:55Z</published><updated>2013-04-04T15:36:55Z</updated><content type="html">&lt;h2&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #2e74b5;"&gt;&lt;span style="font-family: Calibri Light;"&gt;Introduction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;I&amp;rsquo;ve been in this situation many times, I have an API that needs an authenticated user to access it, how can this problem be solved?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;You could pass the username and password of the user with each request, a horribly unsecure method for that the password can be sniffed if your API is not using HTTPS, and even if using HTTPS, it is not a good practice to keep sending this sensitive data around.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Come to save you is the Token based authentication. You login to a server, and you a presented with a Token, which you can think of as a Ticket with an expiry date. Whenever you want to access protected resources, you just present this ticket to the service, and the service would check its validity and grant you access.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;That&amp;rsquo;s the idea behind Token based authentication, which OAuth and Simple Web Token (SWT) is one of them.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;I will not be going into deep details in this post, but I&amp;rsquo;ll be providing the sample working solution. The project and the Simple Web Token OAuth library are posted on &lt;a href="https://github.com/sabb0ur/SWTOAuth"&gt;&lt;span style="color: #0563c1;"&gt;GitHub&lt;/span&gt;&lt;/a&gt;, so get them from there.&lt;br /&gt; &lt;br /&gt; It is based on the project hosted below but modified. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://zamd.net/2011/02/08/using-simple-web-token-swt-with-wif/"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;http://zamd.net/2011/02/08/using-simple-web-token-swt-with-wif/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://netfx.codeplex.com/"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;http://netfx.codeplex.com/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #2e74b5;"&gt;&lt;span style="font-family: Calibri Light;"&gt;What we are trying to build&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #2e74b5;"&gt;&lt;span style="font-family: Calibri Light;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/1323.Picture1.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/1323.Picture1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Open the sample solution, you should find the solution structure as below &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/7331.Picture2.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/7331.Picture2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: #2e74b5;"&gt;&lt;span style="font-family: Calibri Light;"&gt;Server side: Configuring and Protecting the Web API&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;In this part, we are going to configure the Windows Azure Access Control Service (ACS) to accept logins from Facebook, and allow your client application to use it to Authenticate and issue Simple Web Tokens. Then protect the Web API itself with such mechanism.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #1f4d78;"&gt;&lt;span style="font-family: Calibri Light;"&gt;Step 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Create a Windows Azure ACS by going to the Management Portal. Windows Azure ACS allows you to externalize the process of authenticating users, where you can use it to authenticate users using Facebook, Google, Microsoft Account and Active Directory. ACS is a big topic and if you are interested, I suggest you read up on it &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh147631.aspx"&gt;&lt;span style="color: #0563c1; font-family: Calibri; font-size: small;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Create a new Access Control namespace&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/1033.Picture3.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/1033.Picture3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #1f4d78;"&gt;&lt;span style="font-family: Calibri Light;"&gt;Step 2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;After creating the ACS on Windows Azure, you need to create a &amp;ldquo;Relying Party Application&amp;rdquo;. This basically allows you to specify applications that have access to your API.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Click on Manage to manage the ACS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/2275.Picture4.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/2275.Picture4.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;When the management portal loads up, click on &amp;rdquo;Relying party applications&amp;rdquo;, then click on Add.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Enter a name for the application, say &amp;ldquo;&lt;strong&gt;MyWebAPI&lt;/strong&gt;&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Enter a realm to identify the app, could be a url or an identifier, Ex: &amp;ldquo;&lt;strong&gt;uri:mywebapi&lt;/strong&gt;&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Select the &amp;ldquo;&lt;strong&gt;SWT&lt;/strong&gt;&amp;rdquo; Token Format&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Select the identity providers you want to enable login through. For the purpose of this, we&amp;rsquo;re sticking with Windows Live Id, but you can add more through the Identity Providers tab.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Click &lt;strong&gt;Generate&lt;/strong&gt; to generate a &lt;strong&gt;256-bit symmetric signing key&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size: small;"&gt;&amp;middot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Save&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/7418.Picture5.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/7418.Picture5.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt; &lt;br /&gt; Now take the Symmetric Key and the realm and put them in the &lt;strong&gt;Web.config&lt;/strong&gt; of your Web API under the &amp;lt;appSettings&amp;gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- for ACS --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;appSettings&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add key="TrustedTokenPolicyKey" value="[your symmetric key]" /&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add key="TrustedAudience" value="[your app realm]" /&amp;gt;&lt;br /&gt; &amp;lt;/appSettings&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;And then open the &lt;strong&gt;Global.asax.cs&lt;/strong&gt; file to register the SWTOAuth module to handle incoming requests and validate the tokens that the client is sending. Write the line below in Application_Start() method:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;GlobalConfiguration.Configuration.MessageHandlers.Add(new TokenValidationHandler(CloudConfigurationManager.GetSetting("TrustedTokenPolicyKey")));&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt; This will allow the SWTOAuth library to validate the tokens that the client is sending.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #1f4d78;"&gt;&lt;span style="font-family: Calibri Light;"&gt;Step 3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;But what does the SWTOAuth module do exactly? It parses the incoming Authorization header in the request, validates the validity of the token, then sets the current &lt;strong&gt;User.Identity&lt;/strong&gt; of the Thread to the parsed claims from the SWT token in the request. By making that, you are able to make use of the User.Identity in any of the API Controllers like so:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;// GET api/claims&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Dictionary&amp;lt;string, string&amp;gt; Get()&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get the User.Identity which would have been set by the SWTOAuth module&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var identity = User.Identity as ClaimsIdentity;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Parse the incoming claims&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dictionary&amp;lt;string, string&amp;gt; parsedClaims = new Dictionary&amp;lt;string, string&amp;gt;();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var claim in identity.Claims)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parsedClaims[claim.Type] = claim.Value;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Return them, just for show&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return parsedClaims;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Stay tuned for the next post, were we'll tackle the client side of the app.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10407607" width="1" height="1"&gt;</content><author><name>Ahmed Sabbour</name><uri>http://blogs.msdn.com/sabbour_4000_outlook.com/ProfileUrlRedirect.ashx</uri></author><category term="windows azure" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/windows+azure/" /><category term="Windows Phone" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Windows+Phone/" /><category term="Access Control Service" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Access+Control+Service/" /><category term="OAuth" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/OAuth/" /><category term="ACS" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/ACS/" /><category term="SWT" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/SWT/" /></entry><entry><title>KE .NET User Group Reflections on our first meeting </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/04/03/ke-net-user-group-reflections-on-our-first-meeting.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/04/03/ke-net-user-group-reflections-on-our-first-meeting.aspx</id><published>2013-04-03T13:37:00Z</published><updated>2013-04-03T13:37:00Z</updated><content type="html">&lt;p&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;"&gt;Last Wednesday was the first meeting of Kenya .NET User Group. I&amp;rsquo;d like to thank attendees for coming to the meeting and hope that in return everyone learned something new. Big thanks to Jimmy and the team at the iHub for all the heavy lifting that went into make the event such a success. Now to reflections. The turnout was about 20 people and we had a lot to discuss, thanks to our presenters &lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;"&gt;Seth Kigen &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;"&gt;Conrad Akunga&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;"&gt;George Mbuthia&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;"&gt;Hannington Mambo &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;"&gt;I got great feedback on the presentations, most comments were asking for better publicity of the event and given the short notice of the first meeting, this was a fair comment. This was the first time we ran the .NET User Group this year and am confident that members of the community will be able to enjoy more interesting content in our future meetings where we will show off new tools and technologies coming out. In addition, we invite the community members to talk about the kind of solutions that they are building. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;"&gt;If you have a solution that you would like to talk about in our next meeting, please drop me a line at v-stebic@microsoft.com&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10407239" width="1" height="1"&gt;</content><author><name>Stephen Ebichondo</name><uri>http://blogs.msdn.com/sebichondo_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="AfricaApps" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/AfricaApps/" /><category term="Team Foundation Server" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Team+Foundation+Server/" /><category term="Visual Studio" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Visual+Studio/" /><category term="ALM" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/ALM/" /></entry><entry><title>Interview With Allan Rwakatungu.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/africaapps/archive/2013/04/02/interview-with-allan-rwakatungu.aspx" /><id>http://blogs.msdn.com/b/africaapps/archive/2013/04/02/interview-with-allan-rwakatungu.aspx</id><published>2013-04-02T10:42:00Z</published><updated>2013-04-02T10:42:00Z</updated><content type="html">&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;&lt;ol&gt;&lt;ol&gt;1.&lt;/ol&gt;&lt;/ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #0000ff; font-family: verdana,geneva; font-size: small;"&gt;Could you please tell us a bit about yourself and your background?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table style="padding-left: 90px;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/0576.Allan.jpg"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/0576.Allan.jpg" alt="" width="115" height="146" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;My name is Allan Rwakatungu. I am founder of intelworld which is a software solutions company &amp;ndash; we are focused on enabling&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;all types of businesses to accept mobile payments.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;I have a background in telecom &amp;ndash; I worked with MTN (the biggest telecom in Africa) for over 5 years as&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;a developer with MTN Uganda and 2 years as an Architect for the MTN South and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Eastern African (SEA) region.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;At university I studied economics and statistics &amp;ndash; so all I know about IT and computing is self-taught&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;or experience from work&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="padding-left: 90px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;&lt;ol&gt;&lt;ol&gt;2.&lt;/ol&gt;&lt;/ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;How the idea of &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;m&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;bet came to you?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify; padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;As mentioned earlier, our company intelworld enables traditional businesses to move from the brick&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;and mortar; cash based business model to the mobile device and electronic model&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;which is more efficient in many ways. Sports betting is huge in Uganda so we&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;got in touch with a big betting company in Europe , shared the idea and they&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;liked it so we went ahead and developed mbet. We shipped mbet about 2 months&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;ago &amp;ndash; it&amp;rsquo;s exciting to see people actually using it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3. Why you decided to implement this idea specifically on&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #00ccff; font-family: verdana,geneva; font-size: small; text-decoration: underline;"&gt;Windows Azure?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;In 2008 while a developer with MTN, I attended Professional Developer Conference (PDC) in the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;United States. It was amazing to meet the best developers in the world and talk to them. At the conference,&amp;nbsp;we were introduced to Windows Azure and I got early&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;access to the beta program. So I know all the advantages of running my business applications in the cloud. When we started intelworld we choose Windows Azure&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;as our cloud partner.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4. &amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;What resources on Microsoft or community side you found most helpful while working on the app?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp; MSDN, channel 9, stack overflow &amp;ndash; I particularly love channel 9 as am visual leaner&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5. Could you please take us on a quick tour to understand your application better?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;A picture tells a thousand words.&amp;nbsp; See how we architected mbet below&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left: 210px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/6378.Arct_2E00_.png"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-57-37/6378.Arct_2E00_.png" alt="" width="672" height="406" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 270px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;It&amp;rsquo;s important for us that our applications support as many clients as possible from feature phones,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;to PC to points of sale and soon we hope native phone applications like Windows&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;phone.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left: 150px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;What does this translate to in the real world?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left: 120px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Using mbet as an example it supports multiple payment vendors from Airtel to MTN, we constantly message our customers (SMS, email, chat) about upcoming games, receipts, results etc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;and mbet is accessible through multiple channels. Online you get to mbet using URL &lt;a href="http://www.mbet.ug"&gt;www.mbet.ug&lt;/a&gt; , feature phone users access us using the USSD channel (*152# on Airtel and *168*50# on MTN) and soon we will be supporting&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;points of sale. It doesn&amp;rsquo;t matter what the customer uses they get a consistent unified experience&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6. What are your interests behind technology?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Our major interest is to finally bring Africa into the digital age. Access is not really a problem anymore with millions of mobile phones. The opportunity in voice is well documented.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;The next opportunity is in mobile commerce. That&amp;rsquo;s why we are focused on mobile payments and increasing the use cases, making them more accessible and more usable.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7. Any plans for news apps or projects in general?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Most definitely. There still so many use cases that can be put on mobile devices and payments be made electronically.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;We are particularly interested in remittances, ticketing, mobile and online shopping.&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;8. Were there any benefits for you from &lt;strong&gt;&lt;span style="color: #ff0000; font-family: verdana,geneva; font-size: small;"&gt;m&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;&lt;span style="color: #000000;"&gt;bet&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;? if yes can you illustrate please&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Yes. mbet helped us dive in. We&amp;rsquo;ve shipped a product and we are learning so many things about customers, marketing and other aspects of business&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9. &amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;What would you advise to Developers in the region who also would like to become &lt;span style="color: #ff0000;"&gt;#MEAHero&lt;/span&gt;?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;I will give them my two favorite quotations&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 120px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;Passion is everything&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 120px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;-&amp;nbsp;&amp;nbsp;Ideas mean nothing unless executed&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;span style="color: #3366ff; font-family: verdana,geneva; font-size: small;"&gt;10. &lt;strong&gt;Where the community can catch up with you online or offline?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Twitter: &lt;a href="https://twitter.com/arwakatungu"&gt;https://twitter.com/arwakatungu&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Blog: &lt;a href="http://geekswithblogs.net/ugandadotnet/Default.aspx"&gt;http://geekswithblogs.net/ugandadotnet/Default.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left: 90px;"&gt;&lt;span style="font-family: verdana,geneva; font-size: small;"&gt;Stack overflow: &lt;a href="http://stackoverflow.com/users/249928/allan-rwakatungu"&gt;http://stackoverflow.com/users/249928/allan-rwakatungu&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt; &lt;br clear="ALL" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10406891" width="1" height="1"&gt;</content><author><name>Hanan Hazem</name><uri>http://blogs.msdn.com/otta_5F00_ana_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="AfricaApps" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/AfricaApps/" /><category term="windows azure" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/windows+azure/" /><category term="Africa" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Africa/" /><category term="azure" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/azure/" /><category term="Building Apps" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Building+Apps/" /><category term="Developers" scheme="http://blogs.msdn.com/b/africaapps/archive/tags/Developers/" /></entry></feed>