Community report: Beijing Xamarin hack day

With the success of the Sydney Xamarin hack day a few months back, we decided to repeat the event in as many locations as possible. With me working in Beijing, China for a few months it was the perfect opportunity to run the event in another country!
http://xamarinhackday.com/beijing

Challenges

Running an event in another country comes with a number of localization issues. Such as different social media sites used, and language translations of any marketing materials that are sent out. We are lucky that China is embracing English as a critical part of their education, and people working in the Tech Industry are more used to speaking in English than other fields.

image

Newsletter

The mailout we sent out to our Chinese contacts took us 2 weeks to lock down. Initially I thought “this is an English event, being presented in English, for a crowd that is assumed to have a very basic level of English”. Under this assumption I created the initial version of the newsletter in English only. After reviewing it we decided we should probably send it out in Chinese, and I got my PA to translate it. We then decided to merge it all into a single English/Chinese flyer, which then took some time to get the formatting correct. All up it was 2 weeks of iterating on just how to communicate the event. The final result can be found here http://xamarinhackday.com/newsletter/aug2014/beijing-hack-day_en-ch.html

Social media

The traditional forms of social media we use in the western world (Twitter, FaceBook, Instagram, YouTube, Tumblr, etc.) are all blocked via the “Great Firewall of China”. This means you need to adapt and use the local alternatives of these services.

We used Weibo (Twitter clone) to promote the event on the SSW account http://www.weibo.com/2647550041/BlhOYjUab as well as on the official Microsoft MSDN account  http://www.weibo.com/1678298567/BlASwk0fs

We also uploaded the promotional video of the event to YouKu (YouTube clone) so that Chinese participants could view the video http://v.youku.com/v_show/id_XNzQ4MjY0MDMy.html

Android development kits blocked by firewall

Another fun issue I knew we would have, is the Xamarin installer instantly fails when you try to run it. As it tries to download Android resources off the Google CDNs, which are all blocked by the Chinese firewall. I had to get all the resources downloaded and put onto a USB key that I could share with the attendees on the day. I had one of my staff create a word document out of the instructions on how to install it offline with these caches, I should blog the instructions in the future.

On the day

The event went extremely smoothly on the day. The event was hosted at the Microsoft office, and they had organised everything perfectly, from the prearranged desks, right through to catering for lunch.

Presenting to a Non-Native speaker crowd

From working with Chinese .Net developers here in Beijing, my assumptions about their base level of English proved correct. I was able to give my presentation on using Xamarin basics, right through to advanced MVVM & PCL with Xamarin.Forms. It was meant to be a 3 hour talk, however it took me 4.5 hours as I spoke at 1/2 my normal speed, and was constantly making sure I clarified myself with simpler English, or in another way to help make sure I got the concepts across.

DSC06663

I also tried modifying my presentation style on the day. I knew that if I just did my typical “talk lots to the crowd” that I would lose a lot of them. I tried speaking and writing short notes on what I am saying, to help get the message across. I also tried to “let the code do the talking” and did my demos from 1st principles. By doing it all from the basics it helped ensure they understood what I was doing, as any attempt at trying to explain the background of a pre-canned sample may be futile due to language barrier.

You can read about my attempt at using GitHub to share the source code & MarkDown to prettify my notepad notes http://davidburela.wordpress.com/2014/09/18/experimenting-with-ways-to-share-presentation-materials/

DSC06675_2

Overall the day went well, with enthusiastic developers learning how to develop with Xamarin, and subsequently start running up their own cross platform apps. I saw many sample apps running identically on Windows Phone & Android via Xamarin.Forms.

A sneak peak at ASP.Net vNext

ASP.Net vNext is now available as a preview. I wanted to give everyone a heads up on what to expect in this next release. I recorded a quick video on what I consider to be the important things to be aware of.

  1. Project format is changing to a single JSON file
  2. ASP.NET MVC and Web API have been unified into a single programming model
  3. Project Roslyn allows for a “no-compile” developer experience while making updates
  4. Migration to a OWIN hosting model allows for flexibility in production web hosts (IIS or running on Linux via Mono)

http://tv.ssw.com/5366/asp-net-vnext-everything-you-need-to-know-in-4-minutes

More details and access to the latest previews can be found at these links:

Get some developer superpowers!

Earlier this year I started touring Australia giving free 1 day training on how to get started with Windows Azure Websites, ASP.Net MVC5, etc.  http://davidburela.wordpress.com/2014/06/14/community-report-windows-azure-web-camps/

I had a lot of attendees say that the content was great, and is there any way that their workmates could access the information? As I already had a lot of content prepared and I wanted to extend the reach of my training, I repurposed the content and helped create the Developer Superpowers series http://www.devsuperpowers.com/

Each month we will do a webinar teach developers about one specific topic.

In May I kicked it off with a webinar introducing Microsoft Azure Websites, ASP.Net MVC5, SQL Azure, etc. http://www.ssw.com.au/ssw/Events/Webinars/DevSuperpowers-ASP-NET-MVC.aspx

In June I did a webinar on how to unleash your application’s data with Web API http://www.ssw.com.au/ssw/Events/Webinars/DevSuperpowers-web-API.aspx 

In July I will do a presentation on enabling real time communications between the client & server. http://www.ssw.com.au/ssw/Events/Webinars/DevSuperpowers-signalr.aspx

 

We have a whole bunch of great technologies queued up for the upcoming months. Go take a look and sign up today! http://www.ssw.com.au/ssw/Events/Webinars/DevSuperpowers.aspx

3 things to know about Xamarin 3

With the release of Xamarin 3, I wanted to create a quick video to tell everyone about the hot new features in this version.

  1. Shared projects
  2. Xamarion.IOS designer for Visual studio
  3. Xamarin.Forms

Check out the video for more details http://tv.ssw.com/5359/top-3-features-xamarin-3

More information on this new release can be found at:
http://blog.xamarin.com/announcing-xamarin-3/
http://arstechnica.com/information-technology/2014/05/xamarin-3-review-making-cross-platform-mobile-development-painless

Community report: Windows Azure web camps

Recently I teamed up with the local Microsoft Australia DPE team to run 1 day training events around Australia. It taught the attendees how to get started with Windows Azure website and deploy their own ASP.Net MVC app that takes advantage of SQL Azure and a suite of other technologies.

I initially did 3 training events around Australia:

  • Brisbane – 15th March 2014
  • Melbourne – 22nd March 2014
  • Sydney – 3rd May 2014

http://blogs.msdn.com/b/bizspark_au/archive/2014/03/08/free-windows-azure-web-camps-brisbane-melbourne-and-sydney.aspx

The events all completely booked out and were a great success, which prompted Microsoft to schedule another tour immediately after:

  • Melbourne – 24th May 2014
  • Sydney – 31st May 2014
  • Brisbane – 14th June 2014

http://blogs.msdn.com/b/bizspark_au/archive/2014/04/23/new-dates-announced-microsoft-azure-web-camp-in-melbourne-sydney-and-brisbane.aspx

 

I decided to run these events differently to how they are usually done. Traditionally these events are run as “Hands on Labs” days. But I think this format is of limited value. A presenter stands up front and briefly talks about a topic for 20 minutes, and then attendees do the exercise themselves independently. But I always see some attendees breeze through the labs and sit there bored. Meanwhile other people struggle to make any progress, and feel frustrated as they are always rushed along.

Instead I thought there was more value in seeing how another developer works. As a consultant I an constantly exposed to the work habits of other developers, and pick up many new techniques just watching other people work. Many of the attendees are either very new to the Microsoft stack, or they have been working with the same people for an extended period.
For these reasons I instead ran the day as an 8 hour non-stop deep dive in how to create your own website and have it published to Windows Azure.

  • How to sign up for Windows Azure
  • How to create a new website with ASP.Net MVC5
  • Using EF6 and SQL Azure to store data
  • Scaling with Azure Websites
  • Adding Web API to your site to unlock your data to other apps
  • Bootstrap
  • jQuery basics
  • Signalr

After showing everyone how easy it is to get a complete custom built deployed out to Azure Websites for free, I talked about the power the gives every developer. Next week they could go home on a Friday afternoon, start creating a site, and by Sunday night they can deploy and show it to a few people.

Community report: Melbourne Microsoft //publish event

There was a Microsoft Windows //publish event hosted in Melbourne on the 17th May. So naturally I put my hand up to help out at the event.

The Windows //Publish event https://publishwindows.com/ was a chance for people that are building apps to get together, and work on polishing their apps and getting them deployed. The event saw a lot of enthusiastic people attend.

The best part for me, was walking around and having people ask me for advice about their app. Being able to provide assistance to make their apps just that little bit better is a great feeling. But it was also great to look around and see everyone help each other out with advice.

IMG_2422 (1280x853)IMG_2426 (1280x853)IMG_2427 (1280x853)IMG_2429 (1280x853)

The catering at the event was lovely. Sushi and fresh fruit!

IMG_2431 (1280x853)

After lunch, people gave short presentations to showcase their apps.

IMG_2434 (1280x853)

Connecting Team City to Visual Studio Online using Git source control

I was on a client project that was using Team City for their builds. I migrated their source control from SVN to using Visual Studio Online (as they had less than 5 users it was free). But I had issues trying to find any documentation on how to successfully connect Team City to Visual Studio when you are using Git for the source control. Hopefully these steps will help someone else in the future.

Where I was going wrong was trying to treat it like it was a TFS project, instead I should have been treating it like a standard Git repository.

For this blog post I am using the TFS team project I created during a live demo I gave for the Windows Azure web camp.

Step 1: Enable alternate authentication credentials

You will need to tell Visual Studio Online to enable other tools (such as command line Git tools & Team City) to be able to log in using a username & password.

  • Load your team portal, then in the top right click “My Profile”.
  • Go to the credentials tab and click “Enable alternate credentials”

image

image

Step 2: Obtain the URL for your Git repository

The easiest way I’ve found to get the URL for your git repository is to open a Git command prompt and list the remote origin

  • In Visual Studio go to the changes section in the Team Explorer tab.
  • Click “Actions” and select “Open Command Prompt”
  • In the command prompt type
    git remote show origin

image

image

 

Step 3: Enter details into Team City

This is the part that confused me, as I kept trying to connect with the TFS plugin. The secret is to just treat it as a Git repository.

  • In your team city project, click to add a “New VCS Root”
  • Type of VCS: Leave as <guess from repository URL>
  • Repository URL: Enter the Git repository URL obtained from the command prompt (in this example it would have been https://ausazurewebcamp.visualstudio.com/defaultcollection/_git/MelbourneSoftdrink
  • Username: Enter your Visual Studio Online username
  • Password: Enter the password you created when enabling Alternate Credentials.

 

Once it has connected you should be able to just click “Auto-Detect build steps” and have Team City download your source code, and automatically find your .sln file.

image

Follow

Get every new post delivered to your Inbox.