Connect:    



Event Calendar

Some useful links

Online Courses

Articles


A software architect, Azure expert, and former Microsoft evangelist, Mike Benkovich dedicates huge amounts of his time to helping his fellow developers and burgeoning programmers learn about new technologies and platforms. Mike’s website equips developers with tips and resources to help them get to grips with technologies including cloud, data and devices, and he produces online courses covering areas like Azure enterprise development and serverless computing. Mike is also a chronic sharer of puns, so head over to his Twitter feed if you’re after a laugh (or a groan).

BenkoBLOG by Tags


Blog Roll...
Conferences
Regional User Groups

Blog

Visual Studio 2019 Launch Event - MSP

@MikeBenkovich 04/01/2019

Since Visual Studio launched 22 years ago it has evolved to become a favorite IDE of the casual to professional developer. With the launch of Visual Studio 2019 Microsoft again steps up their game with improvements to make it easier to work and debug Cloud, Mobile and Web, as well as bring the developer a number of productivity improvements.

Join us for a chance to participate in the launch with a live viewing party at the Microsoft Office in Edina. It's a chance to be a part of the next generation of developer tools and you get to see all the compelling new features and capabilities of Visual Studio! Join us in Edina on April 2 - http://bit.ly/vs19msp - to join the live streamed event and share the fun!


rebuild17 Resources

@MikeBenkovich 05/29/2017

As promised last week I updated the slides with the session that the content was drawn from. Here is the consolidated list of sessions with deeper dives into the topics from Build:

  • B8020 - Cognitive Services & Computer Vision Made Easy
  • B8049 - Enable intelligence with Azure IoT Edge
  • B8096 - Windows Template Studio
  • B8100 - What's New and Coming in Windows UI Platform
  • B8001 - Three Runtimes One Standard .NET Standard
  • B8048 - Introducing .NET Core 2.0
  • B8027 - Azure Debugging & Snappoints
  • B8039 - Design for Serverless Success
  • B8061 - How to build serverless business applications
  • B8099 - Xamarin Tools
  • B8103 - The Future of Xamarin Development
  • B8072 - Overview of Mobile Center

My GitHub repo for the event - http://github.com/mbenko/rebuild17. Other links from the event include:


Re-BUILD 2017, bringing the best of BUILD conference to cities near you

@MikeBenkovich 05/14/2017

Re-BUILD 2017 Roadshow

The “re-BUILD 2017 Roadshow” brings the best of the Build conference to cities across the US. A half day developer focused event in partnership with User Groups and Microsoft Partners will deliver a half day msdn-event style experience. There will be 3  sessions on Build Highlights, Going Serverless with Azure Functions, and Mobile Center, the next generation of HockeyApp. A HackFest over lunch will cover ad-hoc topics by community leaders and MVP’s to share their favorite thing from Build.

The schedule typically includes:

  • Build 2017 Productivity Features you never knew you had
  • Going Serverless with Azure Functions
  • Exploring Mobile Center
  • Pizza and Hackfest

The scheduled cities are listed below with more coming soon!

We'll see you on the road with re-BUILD 2017 Roadshow!


Announcing Visual Studio 2017 Best of Launch Events

@MikeBenkovich 03/23/2017

Starting Friday March 24 I’m working with Microsoft and the community of MVP’s to resurrect a type of event format we used to run for MSDN, the half day – Explore the Possible – see it in action – event. I’d love to invite you to join me on the tour, stop by and say hi. We will explore the move towards productivity and effectiveness of development and deployment tools and technologies.

Since Visual Studio launched 20 years ago it has evolved to become a favorite IDE of the casual to professional developer. With the launch of Visual Studio 2017 Microsoft has stepped up their game with improvements to make it easier to work with Cloud, Mobile and Web, as well as a number of productivity improvements. Join us as we explore the possible with the latest tools and technologies with Visual Studio, Xamarin and the Mobile Center, and DevOps with Team Services. The day starts at 8:30 and ends with a hackfest/install pizza party.

  • 8:30 – Hello Visual Studio
  • 9:45 – Exploring Mobile Stack
  • 11:00 – DevOps, .NET Core, Docker and more
  • 12:00 – Pizza & Hackfest

The list of cities and dates include:

Hope to see you there!

-mike


VS 2017 Launch Live Notes

@MikeBenkovich 03/07/2017

Watching the live stream of the Visual Studio 2017 launch and 20 year anniversary party…thought I’d capture some of the notes of what’s going on and share the fun.

Visual Studio 2017 release

Developer Productivity - Kasey Uhlenhuth

  • Live Unit Tests
  • Exception helper
  • Find all references
  • New intellitrace tray of options
  • Ctrl+T for goto All
  • Code suggestions
  • Code Config file - map code styles and suggestions for environment
  • Support for tuples on methods
  • Improved refactoring
  • Indent guide visibility to method code is in even if not visible

.NET Core - Beth Massi

  • .net Tools for Core 1.0 in production
  • Migrate/Upgrade to new tools easy
  • Simplified csproj format which is human readable
  • References grouped by type…i.e. nuget refs, project refs, etc.
  • Application Insights
    • New add-in experience
    • Search and graph analytics in VS

Containers Docker - Scott Hanselman

  • Add docker support in VS right click on project
  • Run in docker if selected startup project
  • Debug, edit and volume mapping realtime from vs to docker
  • Publish to Linux docker or windows
  • Automatically references other docker containers dependent on
  • Debug across containers
  • Check out Ref application http://aka.ms/MicroservicesArchitecture

Xamarin : James & Miguel

  • Tizen new OS from Samsung for IoT devices…built on Xamarin Forms
  • Visual Studio for Mac Preview 4
  • New App templates
    • Mobile App added with best practices if checkbox Azure
    • Code for clients
  • Forms Previewer
    • Works if you have JDK 1.8+ on x64 installed (settings?)
  • Improved intellisense
  • Native animations in XAML
  • Forms inspector, when connected tp android emulator
    • Layers
    • Live edit of XAML

VS Mobile Center - Keith

  • http://mobile.azure.com
  • Xamarin Test Cloud
  • Add app…pick type
  • Add nuget & register app
  • Distribute sets up a team of testers/user community for builds
  • Build service
    • Pick sln
    • Provisioning profile
    • Certificate for signed builds
    • Trigger
  • Test service …
    • run automated UI tests
    • See devices tested on
  • Crash reporting
    • Usage & crash info
    • Stack dumps grouped by count
  • Analytics
    • Custom events

DevOps - Brian Harry & Donovan Brown

  • Continuous delivery
  • "Shift Right" = delivery improvements, production is part of the plan
  • TFS 2017.1 for on Premise installs
  • http://aka.ms/tfsimportdata
  • Donovan demo - any project, any platform
    • Create project
    • Import Git repo
    • View code
    • Setup build from templates or by scratch
      • Sources - where is repo? In TS or external?
      • Test settings
      • Code Coverage
      • Build agents - windows or linux
      • Search for build task
      • Marketplace for build tasks
      • Create your own extension
      • Variables
      • Create work items on failure
      • Track history/changes to build definitions
    • Release definitions
      • Infrastructure as code
      • Approvers
    • Dashboards
  • Data Migration - Partner with Red Gate
    • In VS RedGate ReadyRoll has tools by default
    • SQL Obj explorer, make changes and save
    • Tell ReadyRoll to refresh with changes, generate migration scripts
      • Add update statements for populating default values on existing data after modification
    • Add database scripts and changes that will happen on the database
    • Add the ReadyRoll task to deploy the database task
  • RedGate included in VS 2017 Enterprise
  • Pluralsight 1yr
  • DevOps Enterprise Accelerator offer

Adding HockeyApp feedback for Android to a Xamarin Forms app

@MikeBenkovich 08/20/2016

I’ve been working on a project that integrates Xamarin with Azure Mobile Apps and uses HockeyApp to distribute the code to test devices. I wanted to add the feature in HockeyApp to allow users to be able to send feedback (including a screenshot) from within the app. On searching for an answer I found a number of good leads but nothing that connected them all so this post is intended to go thru what you need to do to add this feature to your app.

We start with an app that is created from the standard Xamarin Forms template in Visual Studio for cross-platform apps (this assumes you have Visual Studio 2015.3 with the Xamarin tools installed otherwise it will prompt you to add them).

image

The solution will look like this. Note I had to do a little work to use the Shared version of Xamarin forms with XAML in that I replaced the default App.cs file it includes with XAML versions of that and the MainPage.xaml. You can see the completed demo sample on GitHub here

image

To add HockeyApp’s feedback feature to our solution go to https://www.hockeyapp.net/ and sign up to create a new app. After an app has been created you can get the HockeyApp ID and use it in the MainActivity.cs code for the OnCreate() method when the application registers with HockeyApp. The process is fairly straight forward:

  1. Create a new app on HockeyApp (https://support.hockeyapp.net/kb/app-management-2/how-to-create-a-new-app)
  2. Add the HockeyApp component from Xamarin (https://components.xamarin.com/view/hockeyappandroid)
    SNAGHTML4b9e527[4]
  3. In the MainActivity.cs file of the Android project add a function to register HockeyApp with the AppID you created. We will call it from the OnCreate(). 
  4. private void InitializeHockeyApp()
    {
        CrashManager.Register(this, HOCKEYAPP_APPID, new MyCrashManagerListener());
       
        UpdateManager.Register(this, HOCKEYAPP_APPID);
        FeedbackManager.Register(this, HOCKEYAPP_APPID);
        Tracking.StartUsage(this);
       
    }

  5. Add a method to handle the feedback calls in the MainActivity class. In this implementation I’m also capturing a screenshot that can be added to the feedback process if the user chooses.
  6. public void HandleFeedback()
    {
        FeedbackManager.SetActivityForScreenshot(MainActivity.current);
        FeedbackManager.TakeScreenshot(MainActivity.current);

        FeedbackManager.ShowFeedbackActivity(MainActivity.current);
    }

  7. Implement an ISensorEventListener class to handle shake activity. Note that you need to implement both the Java.Lang.Object interface as well as the ISensorEventListener. I added an overloaded constructor to allow me to pass a reference to the MainActivity instance (parent) that uses this to handle sensor activity. We will also handle the 

  8. // --- Implement ISensorEventListener
    public class MyShakeHandler : Java.Lang.Object, ISensorEventListener
    {
        // --- Reference to parent activity
        private MainActivity parent;

        // Handle Shake from - http://stackoverflow.com/questions/23120186/can-xamarin-handle-shake-accelerometer-on-android
        bool hasUpdated = false;

        DateTime lastUpdate;
        float last_x = 0.0f;
        float last_y = 0.0f;
        float last_z = 0.0f;

        const int ShakeDetectionTimeLapse = 250;
        const double ShakeThreshold = 800;

        // --- In constructor set parent
        public MyShakeHandler(Activity context) : base()
        {
            parent = (MainActivity)context;
        }

        public void OnAccuracyChanged(Android.Hardware.Sensor sensor, Android.Hardware.SensorStatus accuracy)
        {
        }

        public void OnSensorChanged(Android.Hardware.SensorEvent e)
        {
            if (e.Sensor.Type == Android.Hardware.SensorType.Accelerometer)
            {
                float x = e.Values[0];
                float y = e.Values[1];
                float z = e.Values[2];

                DateTime curTime = System.DateTime.Now;
                if (hasUpdated == false)
                {
                    hasUpdated = true;
                    lastUpdate = curTime;
                    last_x = x;
                    last_y = y;
                    last_z = z;
                }
                else
                {
                    if ((curTime - lastUpdate).TotalMilliseconds > ShakeDetectionTimeLapse)
                    {
                        float diffTime = (float)(curTime - lastUpdate).TotalMilliseconds;
                        lastUpdate = curTime;
                        float total = x + y + z - last_x - last_y - last_z;
                        float speed = Math.Abs(total) / diffTime * 10000;

                        if (speed > ShakeThreshold)
                        {
                            // --- Call parent's Feedback handler
                            parent.HandleFeedback();
                        }

                        last_x = x;
                        last_y = y;
                        last_z = z;
                    }
                }
            }
        }
    }

  9. In the MainActivity.cs OnCreate() function add code to add an accelerometer sensor recognition. Note that you also have to add usings for Android.Hardware and for HockeyApp.Android. The code for OnCreate() will look like this:
  10.         // --- Add Globals
            public static string HOCKEYAPP_APPID = "<HOCKEYAPP ID>";
            public static Android.App.Activity current;

            protected override void OnCreate (Bundle bundle)
            {
                base.OnCreate (bundle);

                // --- Register this as a listener with the underlying service.
                var sensorManager = GetSystemService(SensorService) as Android.Hardware.SensorManager;
                var sensor = sensorManager.GetDefaultSensor(Android.Hardware.SensorType.Accelerometer);

                current = this;
                sensorManager.RegisterListener(new MyShakeHandler(current), sensor, Android.Hardware.SensorDelay.Normal);
                InitializeHockeyApp();

     

                global::Xamarin.Forms.Forms.Init (this, bundle);
                LoadApplication(new App());
            }

  11. In the AndroidManifest.xml add permissions to the sensors
  12. <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android">
      <uses-sdk android:minSdkVersion="15" />
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
      <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />
      <application android:label="xForms-FeedbackDemo"></application>
    </manifest>

  13. In my scenario I also wanted a button on an about page that can be used to trigger the feedback logic from XAML. To make it work with a Shared code project in Xamarin Forms, I defined a DROID compilation definition so I can conditionally work with Android specific code
    image
  14. In the XAML page you want to add a feedback button connect to the MainActivity’s logic. 
  15. using System;
    using Xamarin.Forms;

    #if DROID
    using HockeyApp.Android;
    using XamFormsFeedbackDemo.Droid;
    #endif

    namespace XamFormsFeedbackDemo
    {
        public partial class MainPage : ContentPage
        {
            public MainPage ()
            {
                InitializeComponent ();
            }
            public void btnFeedback(object sender, EventArgs e)
            {
    #if DROID
                FeedbackManager.SetActivityForScreenshot(MainActivity.current);
                FeedbackManager.TakeScreenshot(MainActivity.current);

                FeedbackManager.ShowFeedbackActivity(MainActivity.current);
    #endif
            }
        }
    }

You can download the code from GitHub here.

Happy Coding!


Playing with MSFT Mobile DevOps story end to end

@MikeBenkovich 07/21/2016

Building code is always fun, especially when you get to work with new technologies and cool tools that make our lives as developers easier. One of those concepts that is driving a lot of organizations is that of DevOps, which we will define here as an approach for automating and  connecting work done with released software. In this article I’d like to show how to connect some of the tools available from Microsoft to work with mobile applications. This will include Xamarin, Team Services, HockeyApp and Azure Mobile Apps.

The process flow

  1. Create a Team Project – myXamarinDemo
  2. In Visual Studio create a Xamarin Forms with XAML and PCL project
  3. Add the solution to source control (use GIt and navigate to select the team project you created)
  4. Commit & Sync
  5. In Team Services add a build definition (Xamarin.Android template)
  6. Remove the steps that activate and deactivate the license, then queue a build
  7. In VS droid project add HockeyApp.droid component and code to register app

 

 

DevOps is


Open Source North 2016

@MikeBenkovich 06/09/2016

Wow, what a great turnout this last week at Open Source North in Minneapolis. Kudos to Jeff Urban and team for putting on another great show! Here are some links to more information from the talk...

As promised here’s the slide deck from last week. I’m working with Speaker Deck to make them available and still figuring out how to get make it work. Enjoy!


Setting a schema for the database in Azure Mobile Services

@MikeBenkovich 01/12/2015

I’ve been working on a project using Xamarin.Forms and Azure Mobile Services for a while, and one issue I came across that wasn’t entirely clear is how do you work with an existing database, yet support updates to the tables and be able to deploy to different environments (like Test, QA and Prod)? Hopefully I can shed some light with this post.

Azure Mobile Services is a feature rich cloud service that promises to take care of some of the complexities of building connected mobile apps. It supports things like 3rd party federated identity, push notifications, logging and more. With the original node.js release it supported JavaScript configuration for the CRUD operations against a table along with a dynamic schema that adapts to the request received via REST. In the .NET release they replace node.js with the ability to roll your own logic in C# and handle the data interaction with WebAPI type controllers. It requires a bit more work, and handling the database changes can be confusing.

Fortunately I’ve found a couple articles that help illustrate how this is done (on MSDN), but it doesn’t specify how to handle ongoing updates. To make it work for my scenario I either needed a way to support data model changes to a .NET backend mobile service, but have a consistent schema name when I move between environments. In the second article they show how to enable code-migrations, and to replace the default database initializers, by using the NuGet package manager and modifying code in the WebApiConfig.cs file. The steps were:

  1. Use NuGet Package Manager to Enable-Migrations
  2. Add a starting migration
  3. Update the WebApiConfig.cs file to use a DbMigrator to update the context instead of calling the default initializer

    public
    static class WebApiConfig
    {
    public static void Register()
    {
    // Use this class to set configuration options for your mobile service
    ConfigOptions options = new ConfigOptions();

    // Use this class to set WebAPI configuration options
    HttpConfiguration config = ServiceConfig.Initialize(new ConfigBuilder(options));

    // *** BENKO: Enable database migrations for the service
    //Database.SetInitializer(new MobileServiceInitializer());
    var migrator = new DbMigrator(new Configuration());
    migrator.Update();
    }
    }
  4. Test local and confirm it’s working

I added a couple additional changes to set the schema name for my app in the MobileServiceContext.cs file (in the Models folder).


protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// *** BENKO: This is what sets the schema name to the service name...
string schema = ServiceSettingsDictionary.GetSchemaName();
schema = "mySchema";
if (!string.IsNullOrEmpty(schema))
{
modelBuilder.HasDefaultSchema(schema);
}

modelBuilder.Conventions.Add(
new AttributeToColumnAnnotationConvention<TableColumnAttribute, string>(
"ServiceTableColumn", (property, attributes) => attributes.Single().ColumnType.ToString()));
}

I also need to make sure to create the schema on my database instance in SQL Azure and grant rights to the service user account. You can get the user account using SQL Server Mgmt tool (expand the users of the database node, or by running a SQL Script to select name from the SysLogins table of the master db. Once you have it you will need to create the schema an grant rights to it. Assuming the service user is ABC123Login_myServiceUser, the script looks like this:



create schema mySchema

-- Grant specific access rights to use based on Schema
GRANT
SELECT, INSERT, UPDATE, DELETE,
ALTER, CONTROL, EXECUTE,
REFERENCES, TAKE OWNERSHIP, VIEW DEFINITION
ON SCHEMA::[mySchema]
TO [abcdefghijLogin_democityUser]

When you publish the mobile service it will attempt to update the database using the schema provided. If there are error you can use the service’s logs to figure out what’s missing. By specifying the schema name instead of using the service’s name I’m able to deploy to multiple environments but integrate this data with my other applications.

Happy Coding! (originally posted on www.benkotips.com)

Technorati Tags: ,,,


CloudTip 15-Avoid a gotcha in naming projects with Mobile Services

@MikeBenkovich 12/15/2014

Short Answer – Don’t use special characters in a Mobile Service’s project name when you create it, the local SQL won’t be able to open the database and you may spend a lot of time figuring out why chasing down false leads…

The Long Answer…

In my last role at Microsoft as an Azure Evangelist I posted a series of cloud tips, which were intended to be quick tips for using the latest tools & services. This one is the next in that series, and focuses around some esoteric gotcha’s that come up when you’re following a convention for organizing your solution in Visual Studio. As you probably are aware you can have multiple projects in a solution, and one approach for keeping them organized is to follow a naming standard that uses a dot-syntax to keep related related things in their right spot.

For example if my project is a solution to a to-do list, I might create the solution called “TestData”, and within that solution have a project for the web called “TestData.web” and a shared project called “TestData.shared”. Following this convention it makes sense if I want to add a data service project I might call it “TestData.svc”, right? When I try this out and build it, I was finding an error that took longer to expose than I had planned, and that’s the focus of this post.

image

I started with this solution and added some custom classes to the data tables to work with my TestData and found that I was getting  errors. The Mobile Services project type includes a testing page that allows me to try out the service and test the calls to my data, which is great. But I found that I was getting an error when I was running the project without adding or changing anything…Isn’t the stuff supposed to work “out of the box”? Instead I get the error - “The database name 'TR_TestData_svc]_TodoItems_InsertUpdateDelete' is invalid. Database names must be of the form [<schema_name>.]<object_name>”. What does this mean???

image

Don’t do this…

It looks like something’s not right with EF, so I tried updating my NuGet’s to make sure I have the latest packages…Right click the project explorer and go to the NuGet page and try update packages…this is the wrong thing to do because the template was created using specific versions of specific packages, and while some can be updated others shouldn’t.

This time I get an error that the JWTSecurityTokenHandler is broken. After some digging I found a StackOverflow post that answers this.  In particular I find that EF is unhappy with the latest MobileServices entity versions so in the NuGet Package Manager I need to uninstall the WindowsAzure.MobileServices.Backend packages and install the specific version 1.0.342.

Do this…Don’t name your Mobile Service project with special characters in the name

The problem isn’t with EF or out of date packages, it has to do with the local database name not being recognizable with the dot-syntax naming convention (another StackOverflow post). In the web config you can fix it by removing the period in the names, or you can do what I did which is just recreate the project without the dot name and test to confirm it’s working, and then rename the services project in the solution.

image

And it works! Time to go and write some code.


How to detect an iOS device when working with Xamarin and Visual Studio

@MikeBenkovich 12/02/2014

Originally posted on: http://geekswithblogs.net/benko/archive/2014/12/03/how-to-detect-an-ios-device-when-working-with-xamarin.aspx

Xamarin + WAMS = Happiness (well, most of the time)

imageFirst some background…I spent the last couple months trying to figure out the best approach for cross-platform development stuff. After some research and working thru some POC’s with Apache Cordova, Native and Xamarin we decided to go down the path of Xamarin as the tool of choice. We did this for a few reasons, including that we can use C# for the code, that with Xamarin Forms it supports XAML as our markup which has a native backend for handling responsive design, and because we would like to have one set of code running across the different device platforms, and we can go deep on a platform to light up features as needed. For learning it there’s a nice set of xamples you can start from in GitHub that show working demo apps.

Secondly we’re using Azure Mobile Services (WAMS) with the .NET implementation so we can customize the authentication process to suit our needs (more on that in another post). The Node.js implementation is fast, but it has its limitations when we have multiple environments, need to work with specific 3rd party libraries, and we wanted to be able to debug completely offline. The new generation of WAMS with .NET does this by providing a WebAPI style implementation that lets me run the service locally and have complete control. All is good.

To build for iOS the configuration requires not just Xamarin but also a mac build machine. I went to Best Buy and found a reasonably inexpensive mini device, and with some cable magic I can connect it to a spare monitor and set it up. It takes a bit of configuration and creation of accounts with Apple to get it working as a dev machine, including registering with the developer program and getting a certificate to build with. The documentation on Xamarin’s site is pretty good on this.

All is good, and I’m able to build out the examples and deploy to my Windows Phone and Android devices, but when I try to detect an iPad (attached to my mac-mini build machine) it says no devices are attached.  When I click the drop down list of debug devices it shows the iOS simulator options. I don’t see the iOS device I have attached to my build machine! What to do?

image

Searching the issue finds some ideas, but after an hour or so of restarting Visual Studio, the mac, and reconnecting the build host and then restarting Visual Studio I find that sometimes it sees my device but then quickly switches to the simulator as the only options to test on. I prefer to run on real devices (a result of attempting to use the Android simulators and waiting in vain for them to start), and also I don’t have the monitor hooked up to the mac except when I turn it on to log in. I found this Stack Overflow post which further down had a nugget of info that solved my problem.

In a multi-project solution in Visual Studio the place to look is the configuration manager. Right click on the solution and open it up. Change the iOS project from iPhoneSimulator to iPhone and Bang! your issue is solved.

image 

Now when I look at my targets for the iOS project it shows my device.

image

All is good. Happy Coding!


Upgrading to Developer Preview of Windows Phone 8.1

@MikeBenkovich 04/13/2014

Preview for DevelopersWoot! I’ve got it, the new preview release of Windows Phone 8.1. Since the announcements at Build where they introduced the next generation of apps for Windows and Windows Phone I’ve been working to get the tools and start the learning process to be ready to build for the new devices. If you’re looking to do the same there are a few steps to follow, but it’s not that difficult, although it takes some time and a couple steps to complete.

Here’s what you need to do…

  1. Get a Windows 8 phone. This can be any wp8 device, I’ve been using Nokia devices lately. The 820 is nice and I like the size and format.
  2. Register as a developer on http://create.msdn.com – this is the developer portal where you can get started building for Windows. There is a registration cost of $19 if you’re not in the program. Another option is to register with App Studio – where you can literally create an app in minutes and have it running on your device.
  3. Download the phone registration tool to unlock your device for development. This is included with the tools for Windows Phone download.
  4. Unlock the phone
    Developer_Registration_Tool
  5. Install the preview app on your phone
  6. Check for updates and install them on your phone…it will walk you thru the process

The preview app allows your phone to download the bits and install them. You may need to check for updates (in the phone settings) a couple times, but when you do it will do the necessary work. I found that it took me more than an hour to complete (make sure your phone is charged before you start) and I had to run the check for updates 3 times to get all the prerequisites to get to the 8.1 install, but persistence paid off.  Now it’s time to start building some universal apps.

Ok, Cortana, what next?

Mike


CloudTip #16-Meet the new HTML based Windows Azure Management Portal

@MikeBenkovich 06/07/2012

Windows Azure has seen a number of upgrades. The latest announced today, along with a series of events to showcase and explore the features and capabilities of the Microsoft cloud platform (http://aka.ms/MeetAzMB), clearly shows the move towards simplicity, ease of use, and the speed to which you can get started with Azure. While I can’t cover it all in a single post, this is meant as an introduction to the new portal and in future posts I will explore various aspects and features that you can use for building scalable, durable and performant information solutions. A number of things were announced on the Azure blog (blog url) including some key ones around IaaS, Virtual Machines, Web Sites, and the Application Galleries.

HTML and AJAX Based Interface

The new portal runs on HTML and JavaScript, which means it can render on any browser that supports the core HTML functionality. This is great if you need to access it from a mobile device or tablet that doesn’t support plugins like Silverlight. The next thing you notice is that you get an at-a-glance view of all your running services, storage and networks.

image

Easily Create New Services

Adding a new service is as easy as clicking “NEW” on the bottom left corner of the screen and then making a selection of what you want to create. In addition to Cloud Services (formerly called Hosted Services) and storage, you can also create Virtual Machines, Web Sites, and Networks. These generally include a quick creation option which provisions the service with minimal configuraiton, but both Web Sit4es and Virtual machines include a “From Gallery” option which allows you to select a starting point to build from. 

image

This includes content management applications like Umbraco, DotNetNuke, Joomla, Das Blog, mojoPortal, and WordPress, or a Virtual Machines that already have SQL 2012 Eval, Windows Server 8 Beta, SUSE Linux, or Ubuntu installed and ready for your deployments. You can also save your own machines as starting points or upload your own VHD.

Yes, I did just say Linux. Running on Azure. In the Microsoft Cloud. Notice that the list of available images includes these as well as images I created!

image

The new dialogs walk you thru all the steps collecting the needed information in an easy to follow logical order to get the selected services up and running. Quick and easy, but where can you see the status and updates on these configuration tasks? That’s where the notification area at the bottom of the screen comes to bat. It provides a comprehensive spot for seeing summary and optionally more detailed information about your changes as they happen.

image 

Monitoring and Diagnostics

Beyond the provisioning of new services and configuration tasks you also can get great monitoring information about resources used by your cloud instances. By selecting a provisioned instance, clicking the name takes you to a details page where you can get deployment and configuration settings including database connection strings and more. You can quickly see how much usage you’ve used out of the available allocation that is part of the subscription.

image

You can easily get started today, just go out to http://windowsazure.com and try out the 90 Free Trial, or if you have an MSDN Subscription you can get compute time, storage and a lot more as part of your subscription benefits.

Enjoy!

-mike

Digg This