click tracking
Katrien's MSDN Blog - Site Home - MSDN Blogs
Posts
  • Katrien's MSDN Blog

    Using the Azure API Management REST API as workaround to RBAC functionality

    • 0 Comments

    If you are using Azure API Management today, you might have noticed the service is only available in the previous Azure management portal. While support in the newly GA’s portal is coming, this does mean that one of the features that the new portal exposes, namely Role Based Access Control (RBAC) is not yet available.
    While working on a recent API Management implementation at a customer, they were looking to activate RBAC so that their admin users for the API Management service would not require any admin rights on the Azure portal itself. API Management contains a concept of Publisher Portal, which is where the admins do their work of customizing the exposed APIs.
    First reaction was to explain to the customer that they would have to wait for this feature to become available. But after a discussion with my colleagues in the product team, they explained a workaround that would enable me to help the customer right away. It just requires leveraging the REST API and a little coding to get the job done.
    Azure API Management has a REST API to do administrative tasks. This API exposes things like the Tenant, Users and Groups, Products, Reports and more. It is there to help you automate parts of your API Management tenant configuration and working. One of the entities that are exposed through the REST API is a User. Within this entity, there is one very interesting method to help us with our problem, namely generateSsoUrl.

    Let’s review that. According to the documentation:

    This operation retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.

    The above actually also applies to the Publisher portal, which can use the same access token, however the user for which you need the token needs to be an admin user. This is done by leveraging the User ID 1. The API Management setup this concept of user 1 being the admin, because they wanted something simple to bridge between now and the moment RABC will be baked in. So, exactly what we need!

    Setting up our RBAC workaround

    Here’s the tasks we will execute to get this working:
    1. Configure Azure API management account to enable the REST API and setup the access token.
    2. Setup a development environment with Visual Studio 2015 and Azure SDK 2.8.
    3. You need Admin access to your Azure subscription, and make sure you have service administrator level to the Azure AD domain you want to use.
    4. Create a web app (ASP.NET) that validates whether the current user is member of a pre-defined Azure AD group. If yes: generate a Login link with an access token to the Azure API Management account.
    5. Deploy the application to Azure, to an App Service Web App.
    6. Leverage or create a custom Azure AD group to hold the members with Admin rights to the Azure API management account.
    7. Setup Authorization/Authentication feature in the Azure Web App to validate the user.

    Configure Azure API Management account

    In this portion, we assume you already have an account created. Go to the publisher portal of your account, browse to Security and activate Enable API Management REST API checkbox. Wait for a confirmation the action is successful.

    Now configure and make a note of the access token. Scroll to the bottom of the page and configure an expiry date for your token. For testing, choose at least a date later than today. This token can later be changed, just make sure it is then copied to the App settings if that happens.

     Write down the SharedAccessSignature as we’ll need it later. You won’t be able to see it once you leave this page.

    Azure AD: Retrieving the right Group ID

    This step can also be done at the end, but if you want to have more settings automated through the ARM resource deployment, then get the ID for your group before creating the first deployment.
    Navigate to your Azure AD using the Azure Management Portal, click Groups. Go to the Configure tab and copy the Object ID. You will need this ID in the deployment step. If you skipped this step in Visual Studio, you can still edit its value through the Web App’s Application Settings pane.

     

    For this setup to function, you need to make sure your test users are actually members of the Group above.

    Creating the ASP.NET Web app

    We’ll use ASP.NET app with just one page that shows a login box for entitled users, and a default message for those that are not. You can review the sample code in this GitHub repo.

    Nothing of a sophisticated web app, just something to get the point across in this post.

    A few elements relevant to review:

    [Authorize] 

    public class HomeController : Controller

    We leverage the Authorize attribute to make sure the page does not process without the user being authenticated.

    Next, a utility class is used to interact with the API Management REST API, and use the generateSsoUrl action.

    string

    requestUrl = string.Format("{0}/users/{1}/generateSsoUrl?api-version={2}", baseUrl, "1", API_VERSION);

    using (HttpClient httpClient = newHttpClient())

                {

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

                    request.Headers.Authorization = new AuthenticationHeaderValue("SharedAccessSignature", sharedAccessSignature);

            HttpResponseMessage response = await httpClient.SendAsync(request);

                    response.EnsureSuccessStatusCode();

                   string responseBody = await response.Content.ReadAsStringAsync();

    return responseBody;

                 }

    We leverage the Authorize attribute to make sure the page does not process without the user being authenticated.

    Next, a utility class is used to interact with the API Management REST API, and use the generateSsoUrl action.

    publicActionResult Index()

            {

         var claimsPrincipal = Thread.CurrentPrincipal asClaimsPrincipal;

                ViewBag.HasAccess = false;

               if (claimsPrincipal != null)

                {

                   Claim groupApimAdmin = claimsPrincipal.Claims.FirstOrDefault(

                    c => c.Type == "groups" &&  c.Value.Equals(groupToValidate, StringComparison.CurrentCultureIgnoreCase));

                   if (null != groupApimAdmin)

                    {

                        ViewBag.HasAccess = true;

                    }

                }

               return View();

            }

    Deploying the app to Azure

    We’ve also created a Cloud Deployment project in Visual Studio to help us with the deployment of the application to Azure. The Cloud Deployment project uses Azure Resource Management JSON template to create the web app, an App Service Plan and set the Application Settings we require for our app to function.

    Note: Before deploying though, make sure you have a Storage account created through the portal, as the Cloud Deployment Project requires this to temporarily copy the deployment contents.
    This needs to be a Storage account using the Resource Manager deployment type – see more here https://azure.microsoft.com/en-us/documentation/articles/resource-manager-deployment-model/

    In the Visual Studio project, the Cloud Deployment project already has a reference to the web application, this will build and generate a webdeploy package.

    The JSON parameters can be entered through the Visual Studio interface, then click Save and Deploy to initialize the deployment to Azure.

    - webSiteName – the name of the website that will host the webapp  - needs to be unique on Azure (so not just for your subscription)
    - hostingPlanName – new app service plan name, unique only for your Azure account.
    - apimTenantName – the name of the APIM account
    - apimAdGroupId – GUID corresponding to the group to which the internal Admin users must belong to in order to get access to the Azure API Management publisher portal. See above for details on retrieving the right Group ID.
    - apimSas – this is a secure string that needs to contain the ShareAccessSignature you created above. Only copy the part after ShareAccessSignature and remove the space. It should start with uid=…
    - ApimDeployPackageFolder: The name of the app in Visual Studio
    - ApimDeployPackageFileName: package.zip (use this name)

    Review the Output window to validate the progress and successful completion of the ARM deployment.

    Securing the Web App

    The Azure web application uses Authorization/Authentication feature in Azure App Service to secure the application itself. Once the user is allowed in through Azure AD authentication, it then validates the user is part of the predefined Group (claim). If valid, the Azure API Management REST API is used to generate a valid Admin User token. With this valid token the redirection to the Publisher portal is then initiated.

    To set this up, go to your newly deployed Web App in the new Azure Portal. When browsing to the web app, you should see something like this.

    This is because we have used the [Authorize] attribute in the Controller, so that the web app is not accessible at all without the proper Authorization setup in Azure.

    In the Azure portal, browse to the newly created web app, then click Authentication/Authorization.

    Choose On to activate the feature. Next choose “Login with Azure Active Directory” in the Action to take when request is not authenticated. Then continue by configuring Azure AD, click Not Configured to open the details pane.

    Choose Express settings, provide a unique name to the app. This will create and configure the unique App in Azure AD.

    Note if you prefer to setup another Azure AD domain or app settings, you can manually configure the right app in Azure AD and choose the Advanced pane to just enter the app’s ID and secret.

    For this test we just choose the simple Express version. Click OK, then back in the main Authorization pane, click the Save button. You can now close the Authentication/Authorization pane.

    Configure Azure AD app settings


    With the above configuration, a new Azure AD application has been added. We still need to configure a few things. Browse to the (old) Azure Management portal and open up your Azure AD domain details.
    Choose Applications tab, then select Applications my company owns, and click the search button (v). The newly created app should be in the list. Click on it to open it. Go to the app’s Configure tab and click Delegated Permissions, activate Read directory data, and then click SAVE.

    Next, after successfully saving, the bottom bar should now display a button “Manage Manifest”. In that action, choose Download manifest. Save it locally and open it up in a code editor. For more information about the Azure AD manifest, see here https://azure.microsoft.com/en-gb/documentation/articles/active-directory-application-manifest/.
    Edit your manifest and change “groupMembershipClaims” value to “SecurityGroup” instead of the value null.

     

    Save the manifest.

    Back in the Azure portal, in your Azure AD application were editing previously, click the Manage Manifest button again, this time choose Upload Manifest.
    See the following article for a detailed overview of authorization with AD group claims:  http://www.dushyantgill.com/blog/2014/12/10/authorization-cloud-applications-using-ad-groups/

    Validating the solution

    Before testing if the solution works, make sure the App Settings have been updated with the different values:

     

    With all the settings configured, browse to the Web App again. Instead of receiving the error message, you should see a redirection to Azure AD authentication. If you are using the same browsing window as your Azure user, you will be redirected automatically as you are already authenticated. Now click the LOGIN button and you should have access to the Publisher portal for API Management.

    To test correctly, I advise creating a new test user in Azure AD, assigning the user to the above group, and activating the user. Testing the application with the newly created user should work end to end.

    Possible issues

    - Token is not valid – to see the actual error message you can activate Stream logs
    - Token has expired: generate a new one and update the Web App’s app setting.
    - Group claims does not return the required Group – you might see a detail in getting the newly assigned group of an AD user, this might seem like an error but I assume there is a cache that needs to expire so that new group memberships get returned with in the claims.

    Security concerns: the access token is stored in the App Settings pane, which is accessible by Azure admins. Knowing the same admins also have access to the portal to generate a new token we don’t think this is a big risk. You can evaluate storing the token in Key Vault and retrieving it from there.

     

     

     


     

     

     

     

  • Katrien's MSDN Blog

    Azure API Management - Using PowerShell for backup and restore

    • 0 Comments

    Automation is the new Black, as "said" by Mark Russinovich during AzureCon.

    One of the ways to automate in Azure is by using PowerShell tools for Azure, next to other options. I've been working with Azure API Management for some customers lately, and one interesting short post caught my attention: Full set of Windows PowerShell cmdlets for Azure API Management API. This means that now a number of functions to manage API Management have been made available as PowerShell cmdlets, making it easy to use in automation tasks.
    Backup and restore is one of the features I’ve been using. While its primary use is for having a backup of your current API Management account, for example making sure this is done very regularly as a way to recover in the event of failure. Another use for the backup/restore feature is when going from development to a staging environment.
    Official documentation for doing backup/restore shows us how to do this using the Azure Resource Manager based API Management REST API. But it also requires creating an Azure AD application, setting the right permissions and getting a token for authenticating requests to Azure Resource Manager. Stuart Leeks has an interesting blog post with an alternative non-supported way to use PowerShell, and now with the official cmdlets this is exactly what we can do.

    So why not give that a try?

    Creating a backup requires the following information: your API Management account, the resource group name and a storage account to which to save the backup to as well as the container in which it will go.

    Prepare for the backup

    1. Make sure you have configured PowerShell and connected to your subscription.

    2. Connect to the storage account and make sure to create the container to which you will store your backup to. Note the name. You can do this through the Azure Management Portal, or using a Storage explorer tool. Also take note of the type of Storage that you are using. There are currently two types, one used in the current Management Portal, and the new mode using Azure Resource Manager.

    3. Identify the name of the Resource Group in which your API Management account is created: use https://resources.azure.com/ to navigate to the subscription. The resource group name has automatically been created, and is in the form of 'Api-Default-{service-region}'.
    Run backup

    Create a Storage Context.

     if ($ARMStorage)
     {
      Switch-AzureMode AzureResourceManager
         $StorageAccountKey = (Get-AzureStorageAccountKey -ResourceGroupName $StorageAccountResourceGroupName -Name $StorageAccountName).Key1
        }
        else
     {
      Switch-AzureMode AzureServiceManagement
         $StorageAccountKey = (Get-AzureStorageKey -StorageAccountName $StorageAccountName).Primary
        }
       

    $StorageAccountContext = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey

    Run backup

    Switch-AzureMode AzureResourceManager

    Backup-AzureApiManagement -Name "myAPIMaccount" -ResourceGroupName "Api-Default-West-Europe" -StorageContext $StorageAccountContext `
                           -TargetContainerName "mycontainer" `
                           -TargetBlobName "myapimbackupddmmyy"

    Typically you’d create variables for the above values, but for testing we can hard-code them.
    For automating the backup you can use something like Azure Automation, currently you’ll need some manual work to support Azure Resource Manager though.

    Run restore

    To run a restore, simply run the following command.

    Restore-AzureApiManagement -Name "myAPIMaccount" -ResourceGroupName "Api-Default-West-Europe" `
                            -StorageContext $StorageAccountContext `
                            -SourceContainerName "mycontainer" `
                            -SourceBlobName "myapimbackupddmmyy" -Verbose

    Do read through the notes on the official documentation to understand some of the constraints, including the fact that a restore is only guaranteed maximum 7 days after backup.

     

     


     

     

     

     

  • Katrien's MSDN Blog

    How do you build a Windows Store Line-of-Business app?

    • 0 Comments

    imageWhen building a line-of-business (LOB) app there are numerous things to consider.  Of course you need a great user experience, but what about validating user input, user authentication, how do you deal with application state across suspend-resume, do you roam app state across devices, and there is much more to think about.

    Now you can accelerate your development time to build a Windows Store LOB app. A couple of days ago the Pattern & Practices team have released Prism for Windows Runtime and the associated AdventureWorks Shopper reference implementation to the Windows Dev Center.

    What is Prism for Windows Runtime?

    The Prism for Windows Runtime release provides you guidance to help you more easily design and build flexible and easy-to-maintain Windows Store apps using C# and XAML and the Windows Runtime.

    Prism comes with the AdventureWorks Shopper reference implementation which uses the Prism library to demonstrate modern development practices such as Model-View-ViewModel (MVVM) pattern with navigation and app lifecycle management. Additionally the reference implementation demonstrates validation, application data management, accessibility, localizability, touch, search, tiles, tile notification, and multiple view states.

     

    Where do you get started?

    The Prism library source code is available with the AdventureWorks Shopper reference implementation on the MSDN Code Gallery at http://aka.ms/prism-winrt-code. The Prism binaries will also be available on NuGet starting Monday May 20. Search for Prism.  You can view the documentation at http://aka.ms/prism-winrt-doc or download a PDF version at http://aka.ms/prism-winrt-pdf.

    Check also our local Apps on Windows portal for more resources on how to develop apps for Windows 8, Windows Azure and Windows Phone – you can find local trainings and events, contests and links to online training resources.

  • Katrien's MSDN Blog

    Joining the Windows 8 App Race? Win Visual Studio headphones and Asus tablets

    • 1 Comments

    Join the App Race and win!


    We want to give you a push in the back to develop great applications – join the Windows 8 App Race and win:

    Windows 8 App Race

    How to win

    Your app(s) need to be published between April 1 and June 15, 2013. Complete the contest form(s) on http://aka.ms/race.

    There is no limit to the number of entries you can submit but each entry must be substantially unique and different. The date and time of the first and fifth application as part of the entry submitted in a particular timeframe will determine the winners of the tablets. Note: this contest is only open for residents from Belgium and Luxembourg. Please read the full terms & conditions of this contest before entering. Questions? Contact us msdnbewm@microsoft.com.

    We’re looking forward to see your apps shine in the Store … and who knows soon on your brand new Asus tablet!

  • Katrien's MSDN Blog

    Windows Azure Infrastructure as a Service General Availability

    • 0 Comments

    image

    Microsoft just announced the general availability of our Windows Azure Infrastructure as a Service (IaaS) support! With this release Azure Virtual Machines and Virtual Network move out of Preview and are now ready to use for your production apps.

    With Azure Virtual Machines you can deploy and run durable VMs in the cloud, provisioned from prebuilt templates or alternatively upload your own custom-built VMs.  All this in a matter of seconds!  Azure Virtual Network allows you to securely bridge between your on-premises infrastructure and your infrastructure in the cloud. This gives you the flexibility to run your workloads where you want, but manage them all in the same way.

    Whether you want to securely extend your on-premises network to Windows Azure or you want to create a virtual private network with persistent private IPs..

    Let’s look in more detail into what we have announced today:

    • For memory intensive scenarios, we are now introducing two high-memory compute instances: 4 core x 28GB RAM and 8 core x 56GB RAM. With these VM sizes you can run even larger workloads on Windows Azure, for example SharePoint Server or SQL Server workloads.
    • We have added several new VM image templates to the Image Gallery, such as SQL Server 2012, BizTalk Server 2013 and SharePoint Server 2013 images. These images also come with hourly billing, so you don’t have to pay for an upfront license.
    • We have updated the SLA for Virtual Machines and Virtual Network.  For VMs that have 2 or more instances deployed in the same availability set, we have a 99.95% SLA for external connectivity.  For Virtual Network, we guarantee a 99.9% Virtual Network Gateway availability.
    • As of this announcement, Virtual Machines and Virtual Network are now supported by Microsoft Support staff, so you can confidently run your production apps on Azure.

     

    On top of all these great features, we’re also announcing significant pricing reductions to our Windows Azure PaaS and IaaS VM pricing. You can expect to see from 20% (Virtual Machines) to 33% (Cloud Services) price reductions! These new prices are effective as of June 1.  And as of today, we’re also adding 50 hours of free memory-intensive-instance hours to our member offers and 90-day trials.

    For a more detailed description of the announcement, you can check out Scott Guthrie’s blog post.

    If you don’t already have a Windows Azure account, you can sign-up for a free trial and start using all of the above features today.  Did you know that you already have a lot of free Azure resources as part of your MSDN, MPN or BizSpark membership? 

    If you want to learn more about our Windows Azure IaaS capabilities, don’t forget to listen in on our dedicated IaaS webcast on April 30. If you want to experience this great technology hands-on, join us for our Azure IT Camp on May 6.

    Also don’t forget there is a virtual conference runnning next Tuesday April 23rd: http://www.windowsazureconf.net/

  • Katrien's MSDN Blog

    TechDays Belgium 2013 online: videos and slides now available!

    • 0 Comments

    TechDays

      
    We organized Microsoft TechDays 2013 in Antwerp two weeks ago, where we welcomed close to 2900 IT Professionals, Developers and Students all enjoying 90+ sessions with top content led by a broad selection of international and local top speakers. A special THANK YOU goes to our partners, our MVP’s and MEET (Microsoft Extended Experts Team) members and of none the least, all our enthusiastic attendees!  Check out the pictures to get an idea!

    What’s next?

    The session videos and slides are now available on www.techdays.be! (Re)live the sessions and take the next steps to truly master the technologies.

    Here’s a selection of my favorite picks out of the difficult to choose from list!

    Watch the keynote to learn how Microsoft sees the Platform for modern apps – with devices & services taking a central role. Keynote by Tim O’Brien with demos by Nick Harris, Ben Riga, Brian Keller. We also finish off with a case presentaion of the TechDays apps by Kristof Rennen and Gitter Vermeiren.
    Note: you can learn much more of the behind the scènes of building these apps. Don’t miss our webcast next week 26 March at 2PM CET.

    Become a Windows 8 and Windows Phone App Developer at TechDays with Ben Riga

    Bigger, Faster, Stronger: Optimizing ASP.NET 4 and 4.5 Applications with Mads Kristensen

    Behind the scenes of (as many) C# language features with Bart De Smet

     

    The Hands-on Labs
    Many of you also took the opportunity to run through one or more hands-on labs. Good news, if you did not have the time and would like to give a first try on the Windows Store, Windows Phone, or Windows Azure step by step tutorial: you can! The labs can now be downloaded and followed on your own computer. Go here for the latest version: http://bit.ly/applabbe

    Enjoy!

    The TechDays Team   


    Questions? Connect with us on Twitter, Facebook or simply via e-mail.

  • Katrien's MSDN Blog

    Start building apps on Windows 8 – Video training content (French)

    • 0 Comments

    As announced by our friends at the Microsoft Innovation Center, Renaud Dumont, their evangelist has put together a set of videos in the form of a training to get started on Windows 8 development.

    If you speak French, check out the great work they have prepared and jumpstart your Windows 8 app development! 

    This MOOC (in French) is an introduction to that new Windows 8 development environment. It’s meant for people who want to get started quickly.

    Objectives:

    With the videos, you’ll learn :

        • The new Windows 8 
        • WinRT, the framework for Modern apps  
        • 8 design principles for Windows 8 
        • What’s new for Web developers 
        • What’s new for .NET developers 
        • A few new controls…

    Course :

    1. Introduction :
    2. Windows 8 design principles :
    3. Development’s basics :

    Resources :

    Now that you’re ready to start developing your own Windows Store app, you probably want to dive into code… Here are some must-have resources:

    Microsoft Belgium & Luxembourg:

    The reference for every Windows developer in Belgium. Have a look at the agenda to know about all the Windows 8 events planned by Microsoft and the community.
    http://www.microsoft.com/belux/msdn/apps/windows/default.aspx

    Windows 8 Dev Camp In a Box :

    A Hands-On kit containing all the labs you need to learn how to build Windows Store apps. It is available in JS/HTML and in C#/XAML.
    http://aka.ms/windows8campinabox

  • Katrien's MSDN Blog

    Belgian Windows 8 Superhackathon on 27 March 2013 – join us!

    • 0 Comments

    Join us in Brussels, Genk, Kortrijk or Mons on March 27th for the 4-locations Belgian Windows 8 first Superhackathon. Code, build, eat, drink & win.
    Experts will be on site to help you with the last phase of building your first Windows 8 or Windows Phone 8 application. superhackathon_logo_final

    We come to your cities (4!), we bring the experts (many!), feed you with breakfast, pizza, coffee (lots!) and Red Bull, honor you with prizes and rewards (countless!). End goal: Get to Windows Store, have fun doing it, go home with prizes (to be announced soon, we promise you: you’ll really like them!). Hint hint: for the best quality app we’ll have a conference ticket…

    Go ahead and reserve your spot. Join us for the Day event or the Night event or both. See the agenda setup at the bottom of this post.

     

    Superhackathon theme
    Yes, winter is cosy with the snow and all – but after months of darkness we all need light. So the theme for the superhackathon is around spring, well-being, health and happiness. To be interpreted very broadly Smile
    Feel the ideas coming?

    First time app? Build your first one – see how to get started here.

    Design reference templates
    You can use a template fully created for the Windows 8 style & experience. Just by binding the relevant data, you should have a good looking app that runs in the paradigm of Windows 8. And the good news: the templates are available as Visual Studio 2012 project in both C#/XAML and HTML/JavaScript options. So pick your template and platform and build your app in a breeze.

    The template addresses App Views (Landscape, Fill, Snap and Portrait), Live Tiles, Search & Share Contract, Settings, Navigation across pages, Bottom & Top App Bar (If applicable). So get started today and finish off the app together with us!

     

    Agenda

    Day

    8:30: Welcome and registration

    9:00 – 9:30: Introduction and getting started

    9:30 – 12:30: Coding (alone or with your group)Guidance, hands-on labs and expert advice on site

    12:30 – 13:30: Lunch

    13:30 – 16:00: Coding (alone or with your group)Guidance, hands-on labs and expert advice on site

    16:00 – 17:00: Demo time and best app showdown for Day attendees
    Publish your first finished app: prize

    17:00: Break and end of the Day part


    Night

    17:30: Welcome and registration (or continue working for those going for the full day)

    18:00 – 18:30: Introduction and getting started

    18:30 – 19:30: Coding (alone or with your group)Guidance, hands-on labs and expert advice on site

    19:30 – 20:30: Dinner

    20:30 – 23:00: Coding (alone or with your group)Guidance, hands-on labs and expert advice on site

    23:00 – 24:00: Demo time and best app showdown
    Publish your first finished app: prize

    24:00: End

  • Katrien's MSDN Blog

    Modern.IE: new tool for web developers for browser testing and compatibility

    • 0 Comments

    Earlier this week, Microsoft launched Modern.IE: a new web base tool that helps you test, identify, and correct browser compatibility. Whether you are on Windows or not, Modern.IE will help you optimize your site for cross-browser compatibility and provide lots of guidance and tools to help you implement it.

    To discover what Modern.IE is all about, check out the video below and then dive into the site to start benefiting from the tools.

     

    The main features:

    1. Scanning a web page

    The page scan tool detects common coding practices that may cause compatibility problems, giving you clear indication of where the issues are occurring and providing you with guidance on how to solve the issues to deliver a better experience to your users.

    image

     

    2. Virtual testing tools

    Testing on multiple versions of Internet Explorer is hard. With the virtual test tools, Modern.IE delivers two solutions to help you:

    • A free 3-month subscription to BrowserStack that allows you to test your sites through a web based application, without the need to setup a virtual environment.
    • Virtualized environments for you to download on Windows, Mac and Linux

     

    3. Code with standards guidance

    A great overview written by Rey Bango and Dave Methvin on coding practices and patterns for building modern standards-based sites while still supporting older versions of Internet Explorer.

    Highly recommended: Modern.IE.

  • Katrien's MSDN Blog

    Mobile app idea? Get funding and support with AppCampus

    • 2 Comments

    image

    Do you have a first-to-market idea with a fresh approach on design elegance, and superior quality and performance? Are you a developers and/or entrepreneur with the ambition to launch the next big thing in mobile?

    The Aalto University (Finland), Nokia and Microsoft have started a joint venture to accelerate mobile application development. With a working budget of 18 million euros they foster mobile application development on Windows Phone and any other Nokia platform. All Belgian – Luxembourg entrepreneurs, start-ups and companies can apply for the AppCampus Award.

     

    clip_image002

     

    Successful AppCampus-applicants will receive awards varying from 20.000, 50.000, to 70.000 euros, depending on the complexity of the app. In addition, from within the AppCampus initiative, you will get access to world-class training, coaching and marketing support. Windows Phone Store and Nokia Store offer global monetization opportunities to program participants via distribution to consumers around the world.

    AppCampus is 100% free of charge. It does not obtain intellectual property rights, nor is it interested in any commission from the investment.

    Conditions?

    AppCampus is a global initiative. Anyone from anywhere in the world can apply as long as you have a corporate identity. (For students we have the Imagine Cup and Imagine Cup grants program)

    The only requirement is that successful applications are expected to be available exclusively on Windows Marketplace, or Nokia Store for a limited time. More information here.

    No time to lose – apply now on www.appcampus.fi

  • Katrien's MSDN Blog

    Windows App Day – slides and video from the event

    • 0 Comments

    A small month ago on November 23rd we welcomed over 200 attendees to our first Windows App Day in Antwerp, focusing on developer and User Experience/web content for building apps. What types of apps you ask? A lot of it was centered around Windows 8 Store apps but also Windows Azure and mobile services as well as Windows Phone 8 Platform.

    We kicked off by an opening session with Luc Van de Velde, director of our Developer Platform team; followed by the presentation of several cases. I would like to thank our partners for being on stage with us:

    1. Alain from Nascom with the Bumba Windows 8 app. App was built in HTML5 using CreateJS, you can read about the migration from iOS game experience here.
    2. Persgroep with the apps for De Morgen, Het Laatste Nieuws and others;
    3. Brecht Kets from Howest University on the student games created using MonoGame
    4. Johan Peeters on his experiences with Windows Phone development and the Belgian Apps app. Note: Johan is currently working on the “Belgian Apps” for Windows 8 too. If you are interested in beta testing contact him through Twitter.
    5. Twipe Mobile on their digital newspaper platform partly based on Windows Azure, and presenting the case for the Windows 8 app for “De Standaard’.

    A big thanks to my colleagues too for joining me on delivering a team keynote. We all had lots of fun presenting it.

    WP_000631  WP_000633

     

    The content, videos and speakers

    Looking at the session evaluations and by talking to many of the attendees, we know folks especially appreciated some of the less typical sessions, that is: the UX guidance for Windows Store apps. For example, Bart Claeys’ session on migrating an iOS app to Windows Store was hugely popular.

    The good news: you’ll find the sessions slides below, and available at the MSDN Belux SlideShare.

    Video

    Even more: most video recordings of the sessions are now also online on Channel9. Do note that some of the coding sessions’ recording quality is not what we would consider optimal. We still chose to publish them as it might be interesting for folks that want to review something they missed in a session.

     

    Session slides

     

    UX/Web track

    Developer track

     

    Build your apps and win a tablet.
    At the same event we also launched a new contest in which you could win a device for the development of some cool apps. Check out the details here: http://aka.ms/5apps.

  • Katrien's MSDN Blog

    Microsoft TechDays 2013 Belgium: first sessions & speakers announced

    • 0 Comments

    TechDays 2013  TechDays 2013

    Every year, TechDays Belgium is THE go-to event for Belgian developers and IT-Professionals, and we are happy to announce the first set of confirmed speakers and sessions. The agenda is forming and you can have a first glimpse as of today.
    In 2013, the event takes place on 5, 6 and 7 March. On the first day we are organizing two pre-conferences to dive into Modern application lifecycle management with Visual Studio 2012; and a track on the development of SharePoint 2013 apps.

    Join top international and local speakers who can't wait to share their excitement with you about Windows 8, Visual Studio 2012, Windows Azure, Windows Phone 8, HTML5 ... and much more!

    We're very happy to announce the following top speakers for developer sessions:

    Bart De Smet
    Bart De Smet

    Clemens Vasters
    Clemens Vasters

    Jeff Prosise
    Jeff Prosise

    Other confirmed speakers for developer sessions: Brian Keller, Andrew Peters, Brad Sullivan, Dan Holme, Jim Wang, Kevin DeRudder, Lieven Iliano, Maarten Balliauw, Pieter Gheysens and Yves Goeleven. 

    The preliminary agenda is available online.

    Sessions

    TechDays 2013 is a 3 day event, taking place at Kinepolis Antwerp. On the first day (March 5) we'll be hosting a pre-conference with 4 different tracks (2 for developers and 2 for IT professionals). The main conference will be on March 6 and 7.

    Don’t miss the opportunity to join thousands of technology professionals to network with peers and experts, while diving deep into Microsoft technologies at one of biggest IT events in Belgium & Luxembourg. Register now to get a 15% discount on your ticket (valid until January 1, 2013).

    Early Bird

  • Katrien's MSDN Blog

    Register free and join us for Windows App Day November 23, 2012

    • 0 Comments

    banner_windowsdeveloperday

     

    Are you ready to talk Apps? Are you ready to design Apps? Are you ready to develop Apps?
    Then Windows App Day, on November 23 in Antwerp is something you cannot miss. When we say Apps we mean Windows 8 Apps, Windows Phone Apps and Windows Azure Apps and last but not least, Web Apps, from design to development.
    During our first
    Windows App Day we’re packing the agenda with national and international speakers to talk about App Development, User Experience and Design.

           

    The speakers?  All actively working on apps, design & the web and ready to share learnings and best practices.
    We’re bringing over folks like Dave Crawford and Tom Eddings from the Windows 8 and Windows Phone Centre of Excellence team, Microsoft (UK); Nathan Gonzalez from Clarity and Maksym Hryniv, the maker of Contre Jour; Leslie Cottenjé from PurePlexity, one of our Belgian Windows 8 UX experts and, Belgian turned international speaker Bart Claeys now working at Ratio Interactive in Seattle.
    On the developer side we’re going deep into the new Windows Phone 8 SDK with Maarten Struys, the power of Windows Azure Mobile Services with Kristof Rennen, custom controls with Diederik Krols. To finish off developer track we go into a real-world case with Kevin Dockx. As you can see, more than enough content to provide a day worth outside of the office.

    Join us and get inspired!

    • All About Apps: Windows 8, Windows Azure, Windows Phone and Web Apps
    • The opening keynote is 100% focused on Belgian cases, welcoming attendees from both the developer and UX tracks.
    • After the app keynote we split into two tracks: one focused on UX, designers and web experts; a second one for developers.
    • Feel free to switch tracks during the day to compose the schedule of your taste. Find detailed info on the sessions and our speakers on our Windows App Day page.      

        

    Don’t miss this first Windows App Day on November 23rd!    

    When: Friday 23 November 2012, 9AM to 6PM
    Where: ALM Meeting Point
    Filip Williotstraat 9
    2600 Antwerp (Berchem)
    Entrance fee: free, but registration is required

    Find out more here.

     

    Sign up

    Hint: we’ll be announcing an interesting Windows App contest so you might want to get working on some apps before and after this event! More to come very soon, or join us for the full announcement on the 23rd.

  • Katrien's MSDN Blog

    Are you ready to WOWZAPP? Belgium part of Worldwide Hackathon for Windows November 10th

    • 0 Comments

     

    wowzapp worldwide hackathon for Windows - in Belgium on November 10

    Free up your Saturday, be part of a worldwide coding event to build your (first) Windows 8 app! On November 10 2012, we are joining the worldwide hackathon with a local event at HUBrussel. Registration is free, open to all. Just bring your laptop loaded with Windows 8, bring ideas or questions and join us for a day.

    Eat. Drink. Code. Join us at HUBrussel on November 10th.

    Belgium is part of the app revolution! By registering, you’ll be joining thousands of developers worldwide as we build apps for the next generation of Windows. Microsoft app experts, MEET-members, developers and trainers will be available on-site to assist your learning and coding. Learn about building Windows Store apps today – download the info, tools and resources you need now.

    No Sleeping. Live to Code.

    SATURDAY NOVEMBER 10th 2012

    08:08 – 00:00
    HUBrussel

    Warmoesberg 26
    1000 Brussels
    Belgium

    image

    SIGN UP

    WIN an ASUS Vivo Tab!

    ASUS Vivo Tab

    At WOWZAPP, we will launch a Windows 8 apps contest, where you can WIN a brand new ASUS Vivo Tab! The contest rules will be explained during the hackathon.

    Be smart. Be fast. Love coding. Win a tablet!

    What to expect

    Expect

    What to bring?

    Are you a developer?

     

    Are you a (UX) Designer?

    Photoshop or your familiar wireframing tool / Check out the Windows 8 UX Guidelines
    You might want to download Windows Store Apps Design Assets

    See you on November 10th!

  • Katrien's MSDN Blog

    Cloudify your Windows 8 and iOS apps with Windows Azure Mobile Services

    • 0 Comments

    Leveraging my colleague Nick’s post on Windows Azure Mobile Services here. WAMS has received an upgrade, now supporting iOS next to Windows 8, and including new authentication support, sending e-mails, SMS en more.
    If you are from Belgium or Luxembourg, and are thinking about leveraging WAMS for your Windows 8 or iOS apps please let us know. We’d like to hear about your experiences.

    ---

    With the introduction of apps and application stores, the process of building, selling and distributing software has been truly democratized.  But what if your application becomes a top hit and is being downloaded and used by millions of users?  How do you make sure that your backend services scales dynamically with this unpredictable demand?

    Windows Azure Mobile Services makes it incredibly easy to connect a scalable cloud backend to your client and mobile applications.  It allows you to easily store structured data in the cloud that can span both devices and users, integrate it with user authentication, as well as send out updates to clients via push notifications.

     

    Windows Azure Mobile ServicesA couple of weeks ago we announced Windows Azure Mobile Services with support for Windows 8 apps. This week we delivered initial support for connecting iOS based devices (including iPhones and iPads) to Windows Azure Mobile Services.  We’ll also be adding support to enable these same scenarios for Windows Phone, and Android devices soon.

     

    In addition, we have also released the following great improvements to Windows Azure Mobile Services:

    • Facebook, Twitter and Google authentication support
    • Sending emails from your Mobile Service, in partnership with SendGrid
    • Sending SMS messages from your Mobile Service, in partnership with Twilio
    • Support for connecting to Azure Storage and Azure Service Bus

     

    Read this getting started tutorial to walkthrough how you can build (in less than 5 minutes) a simple iOS “Todo List” app that stores data in Windows Azure.  Then follow the below tutorials to explore how to use the iOS client libraries to store data and authenticate users.

     

    image If you don’t already have a Windows Azure account, you can sign-up for a free trial and start using Mobile Services today. Visit the Windows Azure Mobile Developer Center to learn more about how to build apps with Mobile Services.

     

      

    For more information about building applications on Windows and an overview of our local activities, visit the Apps on Windows landing page.

Page 1 of 27 (401 items) 12345»