Hacking .NET and Startups

Real-time Marketing Automation with Distributed Actor Systems and Akka.NET

I published a lengthy post on MarkedUp’s blog yesterday about the new product we recently released, MarkedUp In-app Marketing Automation for Windows Desktop (with support for Windows Store, Windows Phone, iOS, and Android planned) and how it uses Akka.NET’s distributed actor system to execute real-time marketing automation campaigns for our customers.

If you’re interested in learning how to use actors inside your application or want to know how they can help you build types of applications that are virtually impossible to build over simple HTTP APIs, then you should read it (click here!)

If you enjoyed this post, make sure you subscribe to my RSS feed!

New Features We’ve Added to MarkedUp: Custom Event Reporting and Reliable Crash Logging for Windows 8 and Windows Phone 8 Developers

MarkedUp - Analytics and Insights for Windows 8 DevelopersI haven’t posted much about my startup, MarkedUp, over the past couple of weeks on this blog (although I’ve been quite busy on the MarkedUp blog) so I figured it was time for an update on the company and product itself.

To recap, MarkedUp is an analytics service designed to help Windows 8 and Windows Phone 8 developers manage and monetize their Metro applications in the Windows Store.

MarkedUp is the only analytics platform available for WinRT and Windows 8 developers that supports full compatability with both WinRT and WinJS.

So what have we been up to since we launched MarkedUp back in late September?

Other than bug fixing, collecting user feedback, and acquiring users – we went to some lengths to add a couple of important new features to MarkedUp, both of which we released this week.

New Feature: Tracking and Measuring Custom Session Events

By far the most frequently requested feature among our early beta testers, this is the one that we’re most excited about: MarkedUp’s ability to track custom events and actions unique to your application.

how to use MarkedUp to track custom session events for your Windows 8 applications 

Custom session events are something you’d want to use whenever you need to track a metric specific to your app.

Let’s suppose you’ve shipped a video game – don’t you want to know how many games or levels a user plays each time they start the application?

Or maybe you created a content-reading application like my Lolcats Professional Pro Plus application for Windows Phone 7 – don’t you want to know how many pieces of content a user consumes on average?

Custom events can be used to track both of these – simply call MarkedUp’s SessionEvent method wherever something you want to track in your Windows 8 application occurs!

New Feature: Capturing Crash Logs and Unhandled Exceptions

The Windows Store gives you the ability to look through crash dumps, all in one inconvenient, giant dump file that you have to parse yourself.

We are a little dissatisfied with that approach to crash logging and analysis, and so are many of MarkedUp’s beta users. Thus, MarkedUp now has the capability to log crashes and analyze them via our convenient reporting interface.

how to use MarkedUp to log and analyze crashes for WinJS and WinRT applications

Logging crashes using MarkedUp is really easy to set up, and we describe how to use MarkedUp to log crashes and unhanlded exceptions in WinRT and WinJS here.

How to Get MarkedUp Analytics for Windows 8 for Free

Right now MarkedUp is completely free while in beta, but we’re restricting access to the platform through the use of registration codes.

However, I think it’s about time I gave everyone who reads my blog some love.

If you want to register for MarkedUp Analytics for Windows 8 for free, click here and use the following registration code: AARONONTHEWEB

If you enjoyed this post, make sure you subscribe to my RSS feed!

What It Takes to Actually Ship a Piece of Commercial Software

Last week our startup, MarkedUp, hit the first important milestone for an early stage technology: we shipped the first version of our analytics product and put it into the hands of actual end-users.

For those of you who don’t read my blog regularly (pretty much everybody, I suspect,) MarkedUp provides in-app analytics for desktop application developers. We’re focusing our company’s initial efforts on supporting Windows 8 and WinRT developers specifically.

Now, we still haven’t completely opened the doors to everybody – we’re capping registration for MarkedUp through the use of invite codes while we gather important UX feedback and reports on bugs we may have missed.

Nonetheless, we hit that important milestone and have live users! Yay!

However, here are some interesting facts about the timeline leading up to our ship date:

  • We were feature complete, with high test coverage and few known issues, a full two weeks before we were able to ship;
  • We didn’t have a design for the marketing parts of our site, like the homepage, until 48 hours before our launch;
  • We actually cut features from the product the night before our launch;
  • We started the process of gathering user feedback when we were about 50% finished with the first version of the product – by then we had demoable charts and tables (features of our analytics product) we could show to target users.

We weren’t able to ship for two weeks, two weeks (!) after we were feature complete – and we cut features the night before we shipped? Are we a bunch of crazy incompetent bastards? No!

Shipping Software: More Than Just Code

This wasn’t my first time participating in the ship process for a piece of software, but this was my first time running it.

I suspect my opinion on this will change the more often I do it. In my estimation, the time it takes to design, plan, and code the core product and its features constitutes only 40% of the actual work required to deliver a software product to market.

So, what were the things we spent our time doing leading up to launch?

Great question, I’ll break it down by category:

  • Feature development and functional testing – 40% of time;
  • Pre-launch UX testing and refinement – 20% of time;
  • Creating a demo application – 5% of time;
  • “Marketing engineering” – time spent coding features responsible for driving users towards conversion goals – 10% of time;
  • Graphical design / branding (largely outsourced) – 5% of time;
  • Writing documentation, tutorials, and setting up support infrastructure – 10% of time;
  • Writing and proof-reading marketing copy – 5% of time;
  • Planning and executing roll-out marketing – 2.5% of time;
  • Planning and executing roll-out software release – 2.5% of time.

One thing to bear in mind about these numbers – this was for a soft beta launch, not a top-down, TechCrunch-style launch. The amount of time spent on things like roll-out marketing is astronomically higher for a massive top-down launch.

What’s the trend here? Most of the the time we spent working on the product was spent on usability issues.

Like Jeff Atwood says, your app is merely a collection of details. There’s really two classes of details that matter:

  • Details that affect how the user engages with your product and
  • Details that affect how the user understands your product.

Marketing engineering, demo apps, copy writing, and graphical design are all investments we made into helping make our product easier to understand.

Documentation, support, and UX are all investments we made into helping make our product easier to use.

The bottom line here is that the auxiliary stuff needed to support your product, like documentation and support infrastructure, take a lot of time to do well. They’re as much a part of your user’s experience as the software is itself.

Shipping the Right Features at the Right Time

So we cut features right before we shipped, literally 24 hours before I pushed to production – why?

The answer is simple: we have specific goals for what we want to learn about our users with this version of our product. Any feature that we considered to be too unpolished, too complex, or too distracting was cut – even if we had a reasonably good implementation of it ready to deploy.

Every software release should be purposeful and careful – if you overwhelm your users with too many features and options during the first release, your user feedback gets diluted across that feature set and you never get a chance to learn what you are fundamentally doing right or wrong!

If you ship a bunch of poorly implemented features, you might churn through all of your early users way faster than expected and have to subsequently work harder to acquire enough users for the next iteration. If you ship a bunch of “distracting” features, you detract from the feedback that really matters to your business.

Ship software with the intent to learn and test very specific things in that release. Don’t ship for shipping’s sake.

If you enjoyed this post, make sure you subscribe to my RSS feed!

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

August 14, 2012 14:35 by Aaronontheweb in MarkedUp, Microsoft, Windows 8 // Tags: , , // Comments (0)

I thought this was an interesting side-effect of Microsoft’s decision to surrender on the trademark dispute around “Metro,” so I figured I would reblog this from the official MarkedUp blog.

original link: The MarkedUp Blog - New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed.

And here’s an excerpt for you:

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.

This news makes me glad that I only stick to application names that mock the old-school way Microsoft named products!

If you enjoyed this post, make sure you subscribe to my RSS feed!

Today I am Leaving Microsoft and Starting my Own Company

August 10, 2012 04:36 by Aaronontheweb in MarkedUp, Microsoft, Startup // Tags: , , // Comments (10)

I’ve spent my last two weeks at Microsoft wondering how I was going to write this blog post.

Microsoft recruited me off of Hacker News two years ago. In the Summer of 2010 I was still brushing off the ashes of my first failed startup when I wrote a blog post about some of the challenges the .NET community faces with respect to adoption among startups, which subsequently got a ton of attention on Hacker News and inside of Microsoft.

Ultimately, this was the start of an amazing two year journey at Microsoft as a Startup Developer Evangelist. I relocated from San Diego to Los Angeles and built a new life, met scores of wonderful people, worked with some of the absolute best startups on the planet, and honed my skills as a technologist and software entrepreneur exponentially further than they were when I attempted my last startup.

I love my job; I love my team; I love the developers / startups / accelerators / investors I’ve worked with; and I learned reams of applicable real-world stuff from people far more experienced than I. However, it’s time for me to do something different.

Today, August 10th 2012 is my final day with Microsoft. It’s been a life-changing experience and I have few regrets about what I’ve been able to accomplish with my time here.

It’s not easy to leave something when you (1) kick ass at it and (2) love doing it, and few people ever make that leap. But I’m going to, because I don’t give a single iota of shit over the risk of failing at something new. I’m much more afraid of getting comfortable and never trying anything dangerous at all. You only live once.

What’s Next?


MarkedUp - Analytics and Insights for WinRT Developers

Starting on Monday I am assuming my new role as the Founder of MarkedUp, a new startup company which will provide Windows 8 and WinRT developers with analytics and insights on how they can make their applications better.


I couldn’t be more excited to pursue something new and to have a chance to do something I’ve wanted to do since I graduated: build a company that ships products made by developers for developers.

I love the .NET ecosystem and our team at MarkedUp is committed to delivering tools and services these developers will absolutely love. We have the right tools, the right people (more on that), and the right expertise to deliver a kick-ass experience which will help WinRT developers build better apps faster.

If you’re building a Windows 8 or Windows Phone 8 application then you should sign up for beta updates from MarkedUp and follow MarkedUp on Twitter.

We’re based in Santa Monica and we will be hiring additional developers soon. If you’re interested in hearing more about what we’re working on email us at team@markedup.com.

Parting Thoughts

The past two weeks have been humbling for me. I spoke individually to all of my co-workers and the startups I worked with closely about my future plans for MarkedUp, and the outpouring of support and genuine excitement for us has been beyond my wildest expectations. I couldn’t be more fortunate to have met and worked with such terrific people.

While I’m sad to no longer be on the same team as my amazing co-workers and manager, I am absolutely thrilled to be pursuing my own startup and betting on the success of Windows 8 independently.

I’m going to work my ass off to build a company developers love and stands the test of time.

Money, exits, and glory do not mean jack shit to me if they aren’t the byproduct of delivering exceptional value to customers and building a team that is absolutely in love with its own work. This is what I am now setting out to do – wish us luck!

If you enjoyed this post, make sure you subscribe to my RSS feed!



My name is Aaron, I'm an entrepreneur and a .NET developer who develops web, cloud, and mobile applications.

I left Microsoft recently to start my own company, MarkedUp - we provide analytics for desktop developers, focusing initially on Windows 8 developers.

You can find me on Twitter or on Github!

Recent Comments

Comment RSS

Sign in