Get a Grip

My regular source of entrepreneurial catharsis is watching Deadliest Catch.

If you've never seen it, it's a Discovery Channel show that follows four-six actual fishing vessels during two different Alaskan Crab fishing seasons a year (King and Snow.) “Bering Sea fisherman” is considered to be the most dangerous occupation in North America, hence the name.

Many of the crab boat captains are entrepreneurs themselves, being part or full owners of the boats. If the boat stops fishing, they go broke. If the boat breaks down, the fuel / parts / labor / time cost comes out of the crew and captain’s cut.

Deadliest Catch - fishing vessel coming down a 30-40 foot wave The captains are constantly put into situations that...

Read More

5 Key Themes from Microsoft on the Future of Windows and WinRT from the //BUILD Keynote

I posted this originally on The MarkedUp Analytics Blog, going to put an excerpt here and then link you to the original post.

1. “Microsoft can only win by training consumers to expect consistent behavior, availability, and synchronized data across all of their different devices”

WinRT isn’t just about tablets – it’s also about fundamentally changing the way desktop software is consumed and unifying mobile / desktop / tablet and probably console apps all under one consolidated platform.

The unification of these platforms is the future of Microsoft; training consumers to expect consistent behavior and access to data across all of their devices is the only way Microsoft will be able to dethrone Apple and Google in mobile / tablet and protect themselves in desktop / console in the long-run.

Ultimately, Microsoft is really the only company that can execute well on native software, services, and...

Read More

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...

Read More

Thoughts on Recruiting Developers at Early Stage Startups: Determining Who’s Right for Your Company

I posted a little while ago about the job market for technical talent at early stage companies, and I promised a follow-up post on what you should look for in a developer when your company is at a critical, early stage. This is that follow-up ;)

Our company, MarkedUp, is still in the process of building out its early engineering team; however, we’ve had some success in finding the right type of people we want to work with – a process that wasn’t quick or easy, but will pay off massively in the long run.

When it comes to hiring developers for your early stage startup, here are the questions you need to think about:

1. What are you optimizing for?

At this stage in the evolution of MarkedUp, we optimize for changeability and reliability...

Read More

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:

Thoughts on Recruiting Developers at Early Stage Startups: Understanding the Job Market

Shortly after leaving Microsoft to work on MarkedUp full time, my founding team and I joined an early stage accelerator here in Santa Monica. We’ve gotten a tremendous amount of value from it so far, and the directors of the accelerator have done a great job helping me prioritize and do all of the things I need to do in order to launch MarkedUp properly.

One of the things they’ve had us do is gradually step up our recruiting efforts, and for the little we’ve invested into the recruiting process so far the results look pretty good.

Most startups at this early stage are founded by 1-2 people who have unique insights and connections into a market, have done some work to validate a new business concept in said market, and are now trying to form a team to help them execute and eventually scale it. Usually the first...

Read More

Software Engineering Priorities for Early Stage Companies: Put the Team First

Team first.

Earlier this week I made a pilgrimage up to the Bay Area to visit some mentors – I came seeking advice from entrepreneurs who’ve done work relevant to our interests at MarkedUp, mostly to learn how to address some “known unknowns” that have been keeping us up at night.

One of the people I had a chance to speak to is an experienced CTO and we started talking about development priorities in early stage companies like ours. Mid-way through our meeting we had the following exchange (paraphrased:)

Me: so I’m trying to figure out my priorities in terms of what I personally spend my time working on – I have to juggle recruiting, product, fund-raising, customer development, project management, and working on the actual codebase all myself until we start expanding our team.

CTO: what have you been working on...

Read More

ASP.NET MVC4 Gotcha: Embedded Views and Razor Pre-Compilation

In the course of some of our work on MarkedUp, we discovered an interesting gotcha with MVC4, embedded views, and ASP.NET pre-compilation.

A little back-story:

One of the things we did as part of a major refactoring recently was to pull all of our email templates out of the main MarkedUp MVC4 project and stick them into their own independent assembly – we did this because we anticipated that these templates would have to be shared across multiple web distinct web applications running behind our firewall.

We use ActionMailer to generate our text and HTML emails from Razor templates, and one of the things that broke with MVC4 is the RazorEngine project which was used by ActionMailer.StandAlone to parse Razor templates in non-MVC4 assemblies.

So, what we did in this instance was embed our Razor views directly into the child assembly and wrote our own VirtualPathProvider...

Read More

Seven Unproductive Habits of Startup Founders

Now that I’m running my own company and no longer speak on behalf of Microsoft or anyone else, I feel like I can speak a little bit more freely about some of the things I’ve observed about people at startup companies over the past couple of years.

I worked with close to a hundred companies in some capacity as a Startup Developer Evangelist – some much more closely than others, but nonetheless had a chance to live vicariously a lot of different companies in different markets run by different types of teams with different types of people on them.

Regardless of all of those differences, there’s one thing that a lot of these founders had in common: the less disciplined and experienced founders manage to waste a lot of their time and energy on things that are counter-productive and others that are actively self-destructive.

Here’s seven really unproductive habits that...

Read More

How to Setup a Proper Python Environment on Windows

python-logo.pngOne of the things we have to do at MarkedUp on a routine basis is test the live HTTP endpoints for our data collection APIs, and some of the data structures we upload are multipart-form POSTs that contain some complex objects (log messages with nested exceptions, etc…)

The tool we decided to use to test our API, particularly as our API changes during this early stage of our company, is the amazing Requests library in Python – which makes the process of cobbling together these complex form-encoded objects and testing them against a live HTTP endpoint bearable. I developed an in-house command line tool using Requests, argparse, and a few other built-in Python libraries to make the process of performing endpoint testing easy and repeatable for myself and the rest of the team.

However, given that we...

Read More

P.S. Get the latest from Aaronontheweb

Have my most recent essays and articles delivered directly to your mailbox.