MarkedUp Analytics is now Available for Universal Apps and Windows Phone 8.1

It’s that time of year again, when //BUILD comes, goes, and invents a totally new way of writing native apps for the Windows Store yet again.

This time around the big announcements were the general availability of Windows Phone 8.1 (AT&T, could you please hurry up and make the bits available please?) and the introduction of “Universal Apps” for Windows and Windows Phone devices.

We’re pleased to announce that the latest version of the MarkedUp Analytics SDK for .NET, MarkedUp 1.3, supports both as of this morning.

You can install the latest version of MarkedUp via NuGet inside Visual Studio – just use this command inside the Package Manager Console:

PM> Install-Package MarkedUp

Now for some details.

Windows Phone 8.1 (Silverlight) vs. Windows Phone 8.1 (Windows Store)

Microsoft introduced some important but unfortunately, confusing changes in the release of Windows Phone 8.1.

There are now two different distinct platforms that you can use for building a Windows Phone application:

  • Windows Phone 8.1 for Silverlight and
  • Windows Phone 8.1 for Windows Store.

Given that you can actually already call many of the WinRT APIs inside Windows Phone 8.0 applications, what exactly makes these two platforms different?

The biggest difference between these platforms isn’t the code used to write the applications (although that’s different too,) it’s the that the Windows Phone 8.1 (Windows Store) gives you the ability to sell your app in any marketplace where WinRT is supported – which are the Windows Phone and Windows Store marketplaces today, and includes the Xbox and other platforms tomorrow.

The Windows Phone 8.1 (Silverlight) platform is just an upgrade for existing Windows Phone-only applications, and doesn’t do much beyond give you access to the new APIs introduced in Windows Phone 8.1. We wouldn’t be surprised if Microsoft deprecated Silverlight-based applications in their entirety within the next couple of releases.

Here’s a comparison chart that we put together which makes it easy to figure out which project type (Silverlight or Windows Store) you need for your specific use case:

Windows Phone Silverlight vs Windows Phone Windows Store

MarkedUp Analytics has 100% feature parity on both platforms as of this release, so no matter which flavor of Windows Phone application you pick, you can enjoy full support from MarkedUp Analytics.

Universal Apps

Universal Apps are a new addition to the Windows Store family, although the concept itself is not new – iOS and Android have both had support for universal phone/tablet applications for some time.

If you install the latest release candidate for Visual Studio 2013 (Update 2), you will get access to Windows Phone 8.1 projects and the Universal App project type. Here’s what a basic C# / XAML universal app project looks like in Solution Explorer in Visual Studio:

universal app in visual studio

You can create universal applications in any of the supported WinRT languages: C#, JavaScript, and C++.

Installing MarkedUp into a Universal App is identical to installing it into a stand-alone WinRT or Windows Phone application – the only difference is that you have to install MarkedUp into both the Windows 8.1 and the Windows Phone 8.1 project.

Once that’s done, you can call MarkedUp inside the Shared/App.xaml.cs file.

shared app xaml

Then we initialize the SDK using an API key – this will use the same API key across both Windows Phone and Windows Store versions of your app.

initialize markedup universal app

If you want to be able to track the installs and downloads of your Windows Phone and Windows versions of the same app separately, you can accomplish this easily using the WINDOWS_APP and WINDOWS_PHONE_APP built-in pre-compilation directives that Universal Apps make available to you:

initialize markedup separate api keys for universal apps

Please remember that the MarkedUp SDK also supports multiple reporting streams, so if you wanted to be able to have a separate bucket of data for each platform in addition to a consolidated view, our SDK makes it easy to accomplish that.

All of the MarkedUp APIs are identical to what’s in our SDK reference for Windows Store applications – we’ve updated some of the code under the hood to reflect some of the changes introduced in Windows 8.1, but these are all invisible to developers like you.

So install the latest version of MarkedUp Analytics off of NuGet and sign up for a free analytics account.

MarkedUp SDK v1.2 for Windows Store and Windows Phone Apps: Lets You Help Your Users Manage Their Privacy

People of MarkedUp,

Today we released MarkedUp Analytics SDK for .NET v1.2, and it’s the first of many planned updates to our SDK and reporting dashboard coming over the next couple of months.

This update is for Windows Phone 8 and Windows Store developers, and it has a number of important fixes and updates – I’ll start with the minor ones:

  1. Full support for logging nested inner exceptions and stack traces in C#;
  2. Fixed a bug with capturing the app version # from the wrong place in Windows Phone;
  3. Fixed some performance issues on Windows Phone, related to reinitializing tombstoned apps;
  4. And various other minor bug fixes and improvements.

Allow Your Users to Take Control of Their Privacy with Analytics Opt-Out

Within a day or two of our initial launch a year ago, the first feature request submitted to MarkedUp’s UserVoice page was a feature to enable MarkedUp customers to allow their users to opt-out of analytics.

Well today, we’re marking that issue as resolved. With MarkedUp v1.2, you can now use the built-in AnalyticClient.OptOut method to allow users to opt-out of tracking. Users can also opt-back-in at a later date using the same method if you wish.

tracking-opt-outs

We’ve also added a new chart that allows you to see how many users opt-out of MarkedUp Analytics, which you can find under Users –> Tracking Opt-Outs.

opt-out-chart

With this tool, you can now give your users control over whether or not you collect any information on them.

How to Use Opt-Out

If you’ve installed MarkedUp into your Windows Store or Windows Phone application, you just need to call one method to opt-out a user.

Users are tracked by default, so if you want to enable them to opt out you should add an “Opt Out of Tracking” option to your settings page.

Here’s the code you need to call to opt a user out of MarkedUp Analytics tracking:

WinRT and Windows Phone (C# / XAML)
MarkedUp.AnalyticClient.OptOut(true);

WinJS (HTML5/JavaScript)
MK.optOut(true);

That’s it! Click here for more detailed instructions.

Privacy is a growing concern among native app developers and app consumers, and we heard your requests and feedback and provided you with a dead simple tool for allowing your app’s users to control their privacy.

If you have questions, reach out to us at support@markedup.com or reach out to us on Twitter (@MarkedUpMobi.) We’re happy to help!

-Aaron

MetroAppSite: Free, Open Source Metro-Style Website Templates for Your Windows Store Apps

Getting customers to notice and discover your Windows Store apps is hard, but you can reach users who aren’t inside the Windows Store using simple websites designed to promote your apps.

In addition, if your Windows Store app requires access to the Internet you are required by Windows Store policy to publish and link to a privacy policy hosted online (section 4.1.1.)

We decided to make life a little easier for Windows Store developers and built MetroAppSite – a fully responsive Metro-style website that uses Twitter Bootstrap and other standard frameworks to help developers promote their Windows Store apps.

And like most of our customers, we’re a .NET shop, so we built an ASP.NET MVC4 version of MetroAppSite too!

Features

Here are some of the great features that you get with MetroAppSite:

Metro theming and branding

Give your promotional website the same Metro look-and-feel that your users experience when they download your app from the Windows Store.

We even include a Microsoft Surface screenshot carousel for you to use to show off your Windows Store app’s look-and-feel.

metro-branding-metroappsite

MetroAppSite uses BootMetro and Twitter Bootstrap to give Windows Store developers an easy-to-modify, brandable template they can use to their own ends.

Fully responsive and touch/mobile-friendly

MetroAppSite’s CSS and design is fully responsive and touch-optimized out of the box. It looks great in full-sized web browsers and on mobile devices too!

metroappsite-mobile
Integrates seamlessly with third party services like Google Analytics and UserVoice

Unfortunately there isn’t a MarkedUp Analytics for websites yet, but in the meantime we made it dead-simple to integrate MetroAppSite with Google Analytics so you can measure your pageviews and visitors.

uservoice-logo

Additionally, we added hooks to integrate UserVoice directly into your app’s site so you can collect feedback and support tickets from users easily and seamlessly. UserVoice is what we used for our customer support at MarkedUp and we’ve had a great experience with it!

Templated privacy policy in order to make it easy for you to satisfy Windows Store certification requirements

Writing privacy policies can be a pain, so we made it easy for you to generate a privacy policy for your app using PrivacyChoice.org. You can paste these right into MetroAppSite and meet Windows Store certification requirements easily and thoroughly.

Demo Sites

We created some simple MetroAppSite deployments for you so can see what they look like in production:

Download

MetroAppSite is licensed under the Apache 2.0 license and is free for you to use in commercial or non-commercial projects.

Contribution

We happily accept pull requests via Github.

Win8 Developers: Don’t Make the Terrible Mistake of Treating the Windows Store like the iOS App Store

Hi there, average Windows 8 developer – take a seat right over there. Can I offer you some water or coffee perhaps? No, ok well let’s get down to business then.

Windows Store Logo The reason I asked you to step into my office today is because we need to have an honest conversation about the way you’ve been working with the Windows Store.

No, your apps are ok – plenty of live tiles, colorful squares, et al. We’re not here to talk about your apps. We’re here to talk about the fact that you’ve confused the Windows Store for a mobile marketplace and you have made a massive mistake in the process.

The iOS App Store is a Race to the Bottom

The first thing we should talk about is the current thought leader behind curated native application marketplaces – the iOS App Store. For all intents and purposes, this market sets the tone for all of the others.

However, as you may have noticed, there are some not-so-nice things about this App Store for the overwhelming majority of independent app developers:

  1. The iOS app store is effectively a hit-driven market – if you’re not one of a small handful of winners, then you’re toast. That article was written in 2009 – it’s gotten only worse since.
  2. The App Store redesign introduced in iOS6 is a giant kick in the groin to developers – there’s not much visibility or discoverability for apps that are new and aren’t massively popular.
  3. It’s a race to the bottom when it comes to prices on the iOS app store – particularly for purchases made on iPhones.

There’s a tremendously negative pressure on prices since the novelty of the app store wore off years ago, self-inflicted by developers who wanted to make up for the loss in margin by achieving greater scale. It’s much harder to achieve that scale in an App Store with 500,000+ apps and tens of thousands of apps in each category.

In the process iOS developers birthed a consumer expectations monster, where users balk at paying $1.99 for an app but don’t think twice about paying $4.99 for a 12oz cup of gourmet coffee.

Some iOS developers are finding success with free-to-play but with in-app purchases – but is only really applicable to a relatively small number of apps (games, in particular.)

The short of it is: the iOS app store is not a model that should be emulated on a new platform like Windows 8 – developers completely screwed up the economics of iOS app store.

Now, shall we take a second look at how we price our apps and market them in the Windows Store?

The Windows Store Will Have Very Different Market Fundamentals from a Mobile Marketplace

First and foremost, we should call attention to the fundamental differences between how Windows 8 and iOS will be used in practice.

Windows 8 will be run primarily on the large form-factor, Intel devices initially

The number of users running Windows 8 on large form-factor devices like desktops and laptops will vastly outnumber the people using Windows 8 on ARM tablets and phones for the foreseeable future.

The reason for this is simple: Microsoft has a gargantuan 90% chunk of the traditional PC market; barely a toehold on mobile; and no established presence in tablet at all. Of the three markets, which one will move the most devices initially?

iOS, on the other hand, is used entirely on small form-factor devices like phones, mp3 players, and ARM tablets.

The larger the form factor, the higher the perceived utility of the software that runs on it, and the more people are willing to pay for access to said software. iPad prices are higher than iPhone app prices (I found an even better link but haven’t been able to relocate it), and desktop software prices blow iPad app prices completely out of the water.

The reason for this is simple: big form factor devices have more utility, and in the case of laptops / desktops people actually do work with them!

I use my iPad for watching Netflix and reading books on Kindle; I use my MacBook Air and ASUS G60X to get work done. Apps on small devices are closer to toys than tools.

Most consumers are willing to spend a lot more money on an application if it provides me with some utility that integrates into their value-producing workflows every day; in fact, let’s talk about that.

Windows Store (Metro) applications can be run side-by-side with Office, PhotoShop, and all of the tools people use to create value every day

You know what makes a Metro application inherently more valuable than any iOS app, in my eyes?

The fact that I can use them side-by-side with Word, Excel, PowerPoint, Visual Studio, Sublime Text, SmartDraw, or any of the other Win32 apps I use every day to get my job done.

Think I’d be willing to spend a lot more (compared to iOS) on a Python reference application in the Windows Store knowing that I could pull it up on a second monitor and copy-paste examples directly into the REPL or text editor I’m using? Or how about being able to syndicate out an image I was editing in PhotoShop on the same machine using MetroTwit? Hell yes.

Having your Windows Store apps sit alongside the traditional, business-critical desktop applications that people use to do their jobs every day inherently makes them more valuable.

Developers’ Windows Store apps sit on the same device that people depend on for work every day, and if those apps can help customers complete their work or their accounting or anything else that they traditionally use a PC for, then you can expect that your Windows Store apps will benefit from the same kind of price lift that traditional desktop applications have over mobile ones.

If developers like you don’t screw it up, that is.

Windows Store apps offer greater utility to end-users, by virtue of the WinRT runtime and the traditional Windows Ecosystem

The first app that I paid for in the Windows 8 store, and one of my absolute favorite apps so far, is Router .CoCPit – it’s a simple little app that monitors all the speed and performance of any UPnP router on my network. I use it at home and at work whenever something goes wrong with the network.

Now why is that cool? This is an app that was put to market before Windows 8 was ever sold to a consumer, at a time when documentation on WinRT’s capabilities was and still is really quite scarce. The developers didn’t have to write their own UPnP client or do anything crazy like our iOS friends.

In fact, I’m fairly certain the developers used WinRT’s built-in device API and its UPnP capabilities.

WinRT and Windows 8 give you a giant chunk of the Windows ecosystem to play with out of the box; capabilities normally reserved for big desktop apps. You can do more with Windows Store apps without having to implement drivers and codecs yourself!

This means you can build bigger apps that do more things (utility, for which people pay a premium), and still do it cheaper than you can on other platforms. People will pay more for that!

How Not to Screw Up the Windows 8 Economy: Do More, Charge More

So now, Mr. Windows 8 Developer, we get to the call to action. Your goal is to not do what your careless friends in iOS-land did and create a hopeless ghetto of a marketplace.

You are to take advantage of the rich, unique platform capabilities offered to you by WinRT and do more interesting things with it than you ever could on iOS, Android, or Windows Phone. Take advantage of the fact that your Windows Store Apps will ride shotgun with PhotoShop, Office, QuickBooks, and more – create apps that are designed to produce value and work alongside those big, sustainably profitable desktop apps.

And once you’ve done both of those: actually charge your users to use your software. Take advantage of the fact that users can try your premium apps for free on Windows 8, or the fact that in-app purchases can expire! You can even use your own payment engine if you don’t want to give Microsoft a 30%-20% cut!

I know what you’re thinking: but this is the way things are – ship free apps and hope people click on ads, or charge $0.99 and hope millions of people install them.

Look, you’re a developer – not a rodent in a maze. You should be able to recognize the pattern and the habit-forming behavior from a distance: if you bring iOS’s terrible economics to Windows 8, then Win8 will have similarly terrible economics.

Microsoft set the minimum price of an app in the Windows Store to $1.49 for a reason: to give developers a clean slate on app economics. You want a better opportunity than iOS? Then don’t ship iOS-utility (low-utility) apps with iOS prices on a platform that is purposefully engineered to do better!

You as a developer have a responsibility when it comes to the economics of the Windows Store – you are the supply.

Developers like us have an opportunity to get things right with the Windows Store – the last thing we should do is import our biggest mistakes and worst habits from other marketplaces!

Let your users pay you for what your app is actually worth – they’re on Windows, so believe me: they’re used to paying for software.

So, do you understand what to do now? Good. Glad we had this talk :)

Making the Connection: Lighting up Metro IE’s Ability Direct Link to an App in the Windows Store

How do I make users aware that my app exists? That’s most likely one of the most prominent questions a developer’s ask themselves when they release an app, and for good reason. No one likes to see their hard work go to waste. A little known feature in Metro IE is its ability to advertise the availability of Windows Store app (also known as a Metro style app) for the current website in the Windows Store though Metro IE’s appbar.

Metro IE allows a website to specify the following actions for an app:

  • Install an app if it’s not already installed
  • Switch to an app if it’s already installed

A website can choose to have just one of the options active or both depending on their needs. The way Metro IE recognizes a website has an associated Windows Store app is through the use custom meta tags in the header area of a website’s page.

The minimum required meta tags to light this up are:

  • msApplication-ID
  • msApplication-PackageFamilyName

Both of these can be found in the app manifest of the project once the app is associated with store though Visual Studio and are used to link the website and Windows Store app together.

When an app is launched though Metro IE in this manner a custom argument can be specified through another meta tag with the name “msApplication-Arguments”. The app can then read this argument from the OnLaunched method in App.xaml.cs.

As actions speak louder than words, if you want to see this behavior in action you just visit Relay’s website in Metro IE and give it a try. For context, Relay is our sample notification app, feel free to give that a try too while you’re at it :)

The Bing homepage also has this integration setup if you want to see another live example.

Until next time!

Windows 8 App Developer Registration is Now Open! Here’s What you Need to Know.

Today’s an exciting day if your an individual Windows 8 app developer. The store now open. Before you go off and open your shinny new developer account here are few last minute good to know.

If your a STUDENT, MSDN subscriber or BizSpark member you get your Windows 8 developer account for FREE! The links below will get you to the right place. You’ll be given a registration code to enter when you sign up for your Windows 8 developer account.

When registering you’ll enter the code your given in a registration code field as shown below:

If none of the above apply an individual Windows 8 will cost USD $49.00 to register.

Now without further adu the link below will take you directly to the Windows Store dashboard:

Good luck! Hopefully we’ll see you on the flip side as an official Windows 8 developer.

New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed

Just in case you weren’t reading your Hacker News last week, you might have missed the news that Microsoft has decided to abandon the name “Metro” for its distinctive user interface that’s been used to power everything from Windows Phone 7, the new Xbox UI, the Windows Azure portal, and of course: Windows 8.

Suffice it to say, there were a lot of developers who were disappointed with the decision.

I thought it was rather spineless on Microsoft’s part to let Metro UI fade into the night – if Apple can spend $60 million putting an iPad trademark dispute to rest, then why wouldn’t Microsoft spend what it needs to keep the brand that’s heralding the new area of desktop and mobile application development on their flagship platforms.

So imagine our amusement today here at MarkedUp HQ when Erik reviewed the Windows Store “Before Your Sell Your App” guidelines and discovered this gem in the section regarding how to name your Win8 applications* (emphasis ours:)

Note  Make sure your app name doesn’t include the word metro. Apps with a name that includes the word metro will fail certification and won’t be listed in the Windows Store.

Looks like our friends at MetroTwit and other popular ported WP7 applications (many of which include the word “Metro” in the title) are going to have to undergo a similar rebranding to “the New Windows UI” or whatever we’re calling Metro now.

The Metro brand is a unifying force for developers building on Windows Phone and WinRT – after years of being promoted heavily by Microsoft as the new design language for their consumer-facing developer platforms it’s become both popular and self-descriptive.

Stripping the name away has ramifications beyond muddying Microsoft’s message to developers – it cripples the developers themselves who wanted to identify themselves with and support the Metro brand. Imagine if Apple caved and banned every application that began with a lowercase “i” at the start of it – it’s as severe a blow as that for a nascent and upcoming platform.

Abandoning Metro was the wrong thing to do – it ultimately won’t impact the developer opportunity for Windows 8 or the consumer app experience itself, but it completely undermines both Microsoft’s and their developers’ abilities to succinctly differentiate their WinRT / Windows Phone properties apart from everything else.

*Look mid-way through the page.