These days it’s probably a good idea to have cloud backend for your apps. There are a greater number of connected devices in comparison to individuals, which means your apps may be expected to work as well as sync across multiple platforms as a rule.
The number of connected devices is more than number of people since 2008. Source: Cisco
This tutorial will show you how to create a cloud backend for an Android app, but the bigger picture would be the ability to roll this out to the other platforms as well. The idea that all the connected devices of an individual user (perhaps an iPhone, iPad, WindowsPhone and Windows device) could all tap into the same shared resources and server-side business logic in the cloud. Of course managing a cloud infrastructure or server isn’t something that most app developers want to get burdened with, never mind the cost and time implications. Azure Mobile Services takes care of all that, enabling developers to focus on developing the app – making the best possible user experience.
I have arranged this tutorial as a three part series. Each part features a 10-15 minute video screencast to allow inclusion of additional titbits that I hope will prove useful. Please note these tutorials are recorded using Android Studio on a Mac, so bear in mind that some steps may differ slightly if you are using Android Studio for Windows or Eclipse.
How to create an Android app using Azure Mobile Services tutorial parts:
Select WEB SITES and choose NEW > WEB SITE > FROM GALLERY
Select BLOGS > WordPress
Enter unique site URL at *.azurewebsites.net (you will be able to add your own domain name later). Choose MySQL database option and preferred region. Deployment Settings are optional and can be skipped.
Setup your WordPress site by visiting your Azure Website’s URL http://*.azurewebsites.net in your browser.
To setup custom domain name URL you will have to upscale from FREE to STANDARD. In your website menu select SCALE > STANDARD.
Select CONFIGURE > domain names > manage domains
Enter your custom URL. You will also need to make a note of the CNAME record awverify.www.*.azurewebsites.net to verify ownership and the IP ADDRESS provided to update your DNS A-Record.
Go to your domain registrar control panel to modify the domain’s DNS Records.
Add the CNAME record awverify.www.*.azurewebsites.net
(Note: some registrars require Canonical names to have an extra ‘.’ at the end)
You will also need to remove any existing A Records and replace with a new A Record pointing to your Azure Website’s IP Address.
Once your DNS changes are in sync (usually 1-2 hours), you can update the domain settings in your Azure Website’s WordPress control panel to match your domain.
Finally, I would activate Settings > Permalinks using one of the presets or a custom structure. This enables a number of benefits including SEO friendly URLs so your keywords can appear in the URL address bar. Also advanced users can navigate using your URL address. Tip: for huge blogs it maybe advisable to start with a number (like %year% or %post_id%) for speed.
Just one more thing… It’s probably a good idea to backup your WordPress website so you can rollback if a WordPress update ever goes wrong. Azure BACKUPS is a new feature which automatically backs up to a STORAGE data service. When creating a new Storage component I would select a different region and set replication to ‘Locally Redundant’ which is the most cost effective option.
If you’ve developed an app you might want to make a promo video showing your app working across devices or multiple screens.
Of course you can record an iOS Simulator, Android Virtual Device, or WindowsPhone emulator easy enough using a screen recording tool like Camtasia but it’s often a bit tricker to record real footage from the device hardware. Also it might be necessary to demonstrate app functionality not supported by a simulator.
Windows Phone 8.1 already comes with the screen projection functionality built-in. This makes Windows the easiest platform to record app interaction.
How to present and record screen of WindowsPhone device using PC/Mac
On PC you will need Windows 8 installed. On Mac you will need a Bootcamp partition or VMware Fusion Virtual Machine with Windows 8 installed.
The WindowsPhone should have the latest 8.1 update installed.
Connect the Phone over USB.
Open Windows Phone Settings and select “Project my screen”.
Tap ‘yes’ when prompt to allow screen projection on WindowsPhone appears.
Tip: In the Windows “Project My Screen” application press ‘F‘ key to toggle fullscreen mode and ‘B‘ key to hide the phone background chrome.
Unfortunately there is no way to display or record the touch gestures, but this can be dummied using Camtasia mouse effects. Simply ‘mirror’ with the mouse pointer what your other hand does on the device at the same time. Once the screen footage is recorded in Camtasia you can hide the mouse cursor by setting the Cursor Opacity to zero and add a Cursor Highlight effect to simulate the touch input.
How to present and record screen of iPhone/iPad device using PC/Mac
To record an iPhone or iPad you can try out the third party Reflector app. This makes your PC/Mac act as an AirPlay device allowing you to display and record the screen.
Connect PC/Mac and iPhone/iPad to the same wifi network.
Launch Reflector application.
On iOS7 or higher device, swipe up from bottom of screen to open ‘Control Center’ to select the Reflector Airplay device and enable video ‘Mirroring’.
Unfortunately there is no way to display the touch gestures, but this can be dummied using Camtasia mouse effects. Simply ‘mirror’ with the mouse pointer what your other hand does on the device at the same time. Then once your Reflector footage is recorded in Camtasia you can hide the mouse cursor by setting the Cursor Opacity to zero and add a Cursor Highlight effect to simulate the touch input.
How to record screen of Android device using PC/Mac
To record an Android device without rooting your device requires an install of the Android SDK on your PC/Mac. Once your SDK Environment is setup you can run commands in the command prompt / Terminal:
Check Android device is connected to PC/Mac using USB connection. NB: You will have to enable ‘Developer’ mode on your device by tapping Build number seven times (found under Settings > About device). Then enable USB debugging (found under new Developer options settings). adb devices
Record screen using adb shell. NB: Requires Android 4.4 KitKat (API level 19) or above. adb shell
Unfortunately there is no way to record the touch gestures at the same time using this technique. What you can do is play the original screen recording and mimic the touch gestures over the top while recording using Camtasia.
This will prevent duplicate registrations of user and device handles.
In the app add a Todo item to trigger a Push Notification
The Push Notification will appear with the Todo item text.
That’s all there is to it! If you wanted to take it to the next level you could use this backend Mobile Service and roll it out across other platforms like Windows Store, Windows Phone, iOS, or use cross platform tools like Xamerin or Phonegap.
For latest platform support, how to connect to other identities and push notification services check out the Azure online docs.
It’s super simple to create your first WordPress blog using Microsoft Azure Websites Gallery. Getting this all up and running is extremely fast. I’ve uploaded a short video and blog post showing how to setup up a WordPress site in Azure in only a couple of minutes.
But what if you want to create a second WordPress Azure website while reusing your existing MySQL database from the first one?
Initially when I load up the ‘*.azure-websites.net’ URL I just get a blank page (which is PHP’s quiet way of letting you know something needs fixed). When you reuse the existing MySQL database then you going to need to tweak one setting in the WordPress configuration file (wp-config.php). To modify this config file you will need to grab your FTP settings in your Azure website dashboard.
Download the publish profile to get your FTP username and password. Open this file in an XML text editor to locate the ‘userName’ and ‘userPass’ values which are located just after the ‘ftpPassiveMode’ attribute.
Once you FTP in, navigate to ‘site/wwwroot/’ and edit the wp-config.php file (you may wish to download a backup first). Then change the ‘table_prefix’ value (line no. 62) from:
to something like:
You should now be able to navigate to your website URL ‘*.azure-websites.net/wp-admin/’ to complete the WordPress setup.
Also, if you want to see what this looks like in your database just open up a MySQL client to check the new WordPress tables added using the connection settings available in your Azure Websites dashboard.