Android, Azure, Cloud, iOS, Open Source, USCloud, Windows, Windows 8, Windows Azure Mobile Services, WP8

WNS Badge, Toast and Tile Reference

Using WNS as part of your Windows 8 Store app? Digging into Windows Azure Mobile Services?  The Windows Notification Service is a key part of the Windows 8 platform and really great apps know how to use Push Notifications to make their great apps awesome.

Here’s a reference I got from my teammate Nick Harris showing off all the variations of Push Notification messages you can send to a Windows 8 machine, either manually from your own code, or from node.js scripts in your Windows Azure Mobile Services.

Toast variants: http://aka.ms/wnstoast

Tile variants: http://aka.ms/wnstile

Badge variants: http://aka.ms/wnsbadge

For the Mobile Services developer, these manifest themselves in the node javascript code something like this:

var parms = {
    image1src: 'http://link.to/myimage.jpg',
    image1alt: 'Alt tag for my image',
    text1: 'Text to put into the notification'
};
push.wns.sendToastImageAndText01(channel, parms);

Check out these links to learn what badge, tile or toast message options are available, and choose the one that makes the most sense for you and your app.

Azure, Cloud, Development, ITPro, Open Source, Startup, USCloud

Activating your BizSpark MSDN Azure Benefits

Every BizSpark member has a set of Azure benefits that come with their MSDN subscriptions. These benefits are outlined in the graphic below:

azure msdn benefits

Activating your Azure Benefits is a simple process requiring just 3 steps:

  1. Activate Windows Azure Subscription
  2. Download the Developer Tools: Windows Azure is an open and scalable platform for building amazing applications in the cloud. To that end, we have multiple Open Source SDKs for various platforms and technologies. Here are some convenience links to getting all the tools you’ll need:
  3. Get the Training: The Windows Azure Training Kit includes a comprehensive set of technical content to help you learn how to use Windows Azure and SQL Azure. The training kit has updated content for folks using either Visual Studio 2012 or Visual Studio 2010 tool sets. It also contains plenty of content to help you learn features currently in preview such as Windows Azure Virtual Machine, Windows Azure Virtual Networks and Windows Azure Media Services.

Simple, right? BizSpark members – follow these steps and get your benefits activated today. Once activated, download your favorite SDK and get busy building amazing applications in the cloud!

Azure, Cloud, Development, Open Source, Startup, USCloud, Videos

Microsoft DevRadio: Community Corner – Why I Switched to Windows Azure

I recently had the opportunity to chat with Principal Architect for Excolo Group, Casey Watson on how Casey recently made the switch from Amazon EC2 Cloud Services to Windows Azure. Tune in to hear us chat about the reasons why he moved over to Azure as they discuss IaaS (Infrastructure as a Service) and PaaS (Platform as a Service) key differences and benefits.

Next Steps:

Subscribe to the podcast via iTunes, Zune, or RSS

Register for our Windows Azure Hands-on Lab Online (HOLO) events today!

Virtual Labs:

Download

Azure, Cloud, Development, Featured, ITPro, Open Source, Silverlight, Students, USCloud, Web, Windows, Windows 8, WP7, WP8

BizSpark for Startups

My good friend and colleague Taylor Cowan has begun working on a blog post series entitled “25 Ways Software Startups can use BizSpark”.  Even if you haven’t already formed a company around your latest great idea, Taylor’s series will help you understand how startups can take the best advantage of all the amazing features that BizSpark has to offer. Today was Day 6 (I know, I’m a little behind) but there are still 19 more days to come!

Tune into 25 Ways Software Startups can use BizSpark at http://taylorcowanonline.com

BizSpark, for those that don’t know, Microsoft® BizSpark® is a global program that helps software startups succeed by giving them access to software development tools, connecting them with key industry players, and providing marketing visibility.  The program also includes access to Windows Azure, a flexible, comprehensive, and powerful cloud platform for the creation of web applications and services.  In addition, BizSpark offers technical support, business training and a network of over 2,000 partners to connect members with incubators, investors, advisors, government agencies and hosters.  Since it was established in 2008, more than 45,000 companies in over 100 countries have joined BizSpark.

Here is the BizSpark membership critera:

  1. Privately-held company
  2. Less than 5 years old
  3. Earns less than $1M US per year
  4. In the business of developing software (on any platform, with any language, for any type of device)

That means, if you are building a Windows 8 or Windows Phone 8 application that you intend to sell on in their respective marketplaces, you qualify for BizSpark and can get access to ALL of those amazing benefits!  Contact Taylor today via his blog at http://taylorcowanonline.com to find out more about joining the BizSpark family today!

Azure, Cloud, Development, USCloud

Solving Real-world Problems with Windows Azure Web Sites

One of my peers, Brady Gaster, has released a blog post series on solving real-world problems with Windows Azure Web Sites. Windows Azure Web Sites, as I’m sure by now you already know, is our hosting platform for web applications in Windows Azure. With three levels of service, WAWS offers a number of ways to quickly and easily deploy web sites to the Azure cloud. You can start small and scale as your application needs change and traffic increases.

You can see a list of the posts on Brady’s web site at the following URL, but I’ve copied down some abstracts for each post to make it easy for you (and me) to find them later.

http://www.bradygaster.com/solving-real-world-problems-with-windows-azure-web-sites

And here’s that list of articles:

Multiple Environments with Windows Azure Web Sites
In this post I demonstrate how to have production and staging sites set up for your web site so that you can test your changes in a sandbox site before pushing your production site and potentially causing damage to it (and your reputation). If you’ve wondered how to gate your deployments using Windows Azure Web Sites, this is a good place to start. You’ll learn how to use Windows Azure Web Sites with a GitHub.com repository and some creative branching strategies to maintain multiple environments for a site.

Managing Multiple Windows Azure Web Site Environments using Visual Studio Publishing Profiles
This post takes the same sort of scenario as presented in the first article. Rather than use GitHub.com as a means to executing a series of gated environment deployments it focuses on the awesome features within Visual Studio for web publishing. Specifically, you’ll see how to use publishing profiles to deploy to multiple Windows Azure Web Sites, so that a team of peers responsible for releasing a site can do so without ever needing to leave Visual Studio.

This post also takes a look at the idea of release management and how this solution answers the question of doing proper release management with a cloud-hosted web site. If you’ve wondered how your SDLC could fit in the idea of continuously maintaining a series of environments for gating your releases using Visual Studio’s super-simple publishing features, this is a great place to start.

Connecting Windows Azure Web Sites to On-Premises Databases Using Windows Azure Storage Bus
This post introduces the idea creating a hybrid cloud setup using a Windows Azure Web Site and the Windows Azure Service Bus, to demonstrate how a web site hosted in Windows Azure can connect to your on-premises enterprise database. If you’ve been wondering how to save data from your Windows Azure Web Site into your local database but didn’t know how to do it, or if you’re thinking of taking baby steps in your move toward cloud computing, this post could provide some good guidance on how to get started.

Development, General, Windows, Windows 8

Windows 8 Certification Tips

My teammate in Ann Arbor, Jennifer Marsman, recently published a blog series on tips for getting your Windows 8 application through the certification process. In the series, she the common problems developers run into when submitting their applications to the Windows 8 Store for certification, and gives some great tips on how to avoid them all together.

Common certification errors when submitting to the Windows Store

1.2 App must be fully functional

3.8 App must meet the basic performance criteria

4.1 App must comply with privacy requirements

6.5 App must be localized

If you read these, and follow her suggestions, you’ll have a much easier time getting your app through the certification process and out onto the Windows Store!

Azure, Cloud, Dallas, Development, Events, ITPro, Students, Texas, Training, USCloud

IaaS Bootcamp in Dallas

Whether you build apps or support the infrastructure that runs the apps, the cloud can be a really big place. For some, it’s a natural evolution for their application and infrastructure to embrace the power and scale of the cloud. For others, it’s a journey that has to begin with a single step.

Windows Azure provides that first step with a scalable, flexible platform for deploying your applications your way. With our Infrastructure as a Service platform (IaaS) called Windows Azure Virtual Machines, you get the flexibility to choose between Windows and Linux with full control over the operating system configuration and installed software, matched with the portability of Hyper-V disk images. Windows Azure Virtual Machines provide the perfect environment for meeting all of your Infrastructure-as-a-Service needs.

To learn more about our Infrastructure as a Service platform, we invite all developers and IT Professionals to join local Microsoft cloud experts as they introduce you to the Microsoft Cloud Platform, dive deep into Windows Azure Virtual Machines, and help walk you through a hands on demonstration of the power of IaaS on the Windows Azure platform.

WHEN: December 17th, 2012

WHERE: Microsoft Office in Dallas

REGISTRATION: http://aka.ms/iaasdallasreg

All participants registering for the event will get a FREE 90-day trial of the Windows Azure platform and services, including access to the Virtual Machines preview. Simply visit http://aka.ms/TheCloud to take advantage of this FREE offer!

All participants to successfully complete the lab and demonstrate their running application to the instructor will be put into a drawing for a $500 gift card to the Microsoft Store, among other prizes!

Development, Windows, Windows 8

WebView vs. SettingsFlyout

I was working on a Windows 8 application tonight, as part of some Azure content that I’m creating, and ran into a weird error.  I wanted to share it here in case other people ran into the same issue.

I have a very simple application – it’s essentially a simplified News Reader app that collects a set of RSS or ATOM feeds, displays their items, and allows a user to view the feed item – all within the confines of a Windows Store application.  The UI elements are arranged from left to right – feed list (ListBox), item list (ListBox) and item preview (WebView) looking something like this:

Simple, right?  This is a common pattern for displaying HTML content, and I’m sure one of the reasons a WebView control was included in the SDK.

OK – now that mock data is displaying like it’s supposed to, we move on to adding the “real” data.  Like all good Windows Store applications, the data for the list of feeds should be something users enter through the Windows 8 Settings panel.  To make it easy for us to implement custom content for the Settings panel, Tim Heuer created a really useful control in his Windows 8 Callisto library (also available via NuGet) called SettingsFlyout. I added some code based on his sample application to implement the SettingsFlyout, and tested it out.

I was expecting this, but it didn’t turn out that way:

What I saw, was no flyout.  Well… not a visible flyout anyway.

What to do?

The obvious answer was fire up Lync and ping Tim on IM 🙂  Talking to Tim, I learned that our friend the WebView control is a bit of a z-order piggie.  As it turns out, the SettingsFlyout was actually flying out as expected, but the WebView was obscuring it from view. The problem, in other words had NOTHING TO DO with the SettingsFlyout, or my implementation of it – rather the problem was related to the WebView (which I suspect has it’s problems rooted somewhere in COM, as COM is usually the source of chaos in managed applications…)

So – the fix?  A bit klunky, but it seems to work – there is a nifty control included in the WinRT SDK called WebViewBrush. The purpose of this brush, as described by the official MSDN documentation, says it best:

WebView has the characteristic that other UI regions such as controls cannot be rendered on top of the WebView. This is because of how window regions are handled internally, particularly how input events are processed and how the screen draws. If you want to render HTML content and also place other UI elements on top of that HTML content, you should use WebViewBrush as the render area. The WebView still provides the HTML source information, and you reference that WebView through element name binding and the SourceName property.WebViewBrush does not have this overlay limitation.

The clunky part, of course, is that you can’t just use a WebViewBrush to display your content.  The MSDN documentation again guides us through how we should implement this: when the Settings panel is opened, “capture” the current content of the WebView control into the WebViewBrush and display that via a Rectangle control, while also hiding the WebView.  When the Settings panel is closed, switch back to the real WebView.  Here’s my code that shows what I did:

private void RegisterForCommands(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
{
    var feedsCommand = new SettingsCommand("manageFeedsCommand", "Manage Feeds", (feedCommand) =>
    {
        // create the settings flyout
        SettingsFlyout settings = new SettingsFlyout();
        settings.Closed += (s, e) =>
        {
            FeedItemWebView.Visibility = Windows.UI.Xaml.Visibility.Visible;
            FeedItemWebViewRect.Fill = new SolidColorBrush(Windows.UI.Colors.Transparent);
        };
        settings.FlyoutWidth = SettingsFlyout.SettingsFlyoutWidth.Wide;
        settings.HeaderBrush = new SolidColorBrush(App.VisualElements.BackgroundColor);
        settings.HeaderText = "Manage Feeds";
        BitmapImage bmp = new BitmapImage(App.VisualElements.SmallLogoUri);
        settings.SmallLogoImageSource = bmp;
        settings.Content = new SettingsContent();

        // hide the webview due to z-order chaos
        WebViewBrush b = new WebViewBrush();
        b.SourceName = "FeedItemWebView";
        b.Redraw();
        FeedItemWebViewRect.Fill = b;
        FeedItemWebView.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

        // show the settings panel
        settings.IsOpen = true;

    });
    args.Request.ApplicationCommands.Add(feedsCommand);
}

So – not the most elegant solution, but enough to be getting on with for now. Viva la cutting edge!

PS – Mad props to Tim Heuer for the AWESOME Callisto library, and helping to set me straight on the WebView control.

Azure, Cloud, Development, Events, Featured, ITPro, Online, Training, USCloud

AzureConf

On November 14, 2012, Microsoft will be hosting Windows AzureConf, a free event for the Windows Azure community. This event will feature a keynote presentation by Scott Guthrie, along with numerous sessions executed by Windows Azure MVPs and community members. Streamed live for an online audience on Channel 9, the event will allow you to see how developers just like you are using Windows Azure to develop applications on the best cloud platform in the industry. Community members from all over the world will join Scott in the Channel 9 studios to present their own ideas, innovations inventions and experiences. These presentations will provide you the opportunity to see how your peers in the community are doing great things using Windows Azure offerings like Mobile Services, Web Sites, Service Bus, virtual machines, and more. Whether you’re just learning Windows Azure or you’ve already achieved success on the platform, you won’t want to miss this special event. For more information on Windows AzureConf or to register for the event, please visit http://windowsazureconf.net.

While you’re waiting for the conference to kick off, here are some helpful links to prepare your mind, body and soul for the Windows Azure experience:

SO – Get out to http://windowsazureconf.net and sign up today!

 

Development, MVVM, Open Source, Videos, Windows, Windows 8

Microsoft DevRadio: Community Corner – Update Controls for Windows 8 app Development

I recently had the  pleasure  to interview wicked smart Microsoft Client App Dev MVP Michael Perry as part of the Microsoft DevRadio show to hear about the amazing work he’s done on an open source databinding framework called  Update Controlswhich can help Windows 8 app developers simplify their code by automatically discovering dependencies so that you won’t have to manage them in your view model.

Next Steps:

Subscribe to the podcast via iTunes, Zune, or RSS

If you’re interested in learning more about the products or solutions discussed in this episode, click on any of the below links for free, in-depth information:

Websites:

Videos:

Virtual Labs:

Download