Building on my Principles for First-Use Tools, I'm thinking about Principles for Express. Express is a tougher job because its customer base spans so many people -- from professionals coding after hours to students to people who aren't developers using it to learn or to accomplish some task at work to people who just want to have fun.
In thinking about this customer base and what makes Express attractive to them, I'm narrowing down on some principles that I'd like to apply to the decisions about which of the VS Standard-and-above features we consider for putting into Express. Here are two:
There are others I've looked at: limiting download size, price, etc. But in the end those seemd to be more like tactics to achieving these two items.
The challenge, however, is making these concrete. LINQ designers: in or out? Would LINQ lower concept count? Yes, if we were able to simplify our overall data access strategy. Would it attract new developers? Yes, if it weren't positioned as a data access system for brainiacs. So LINQ becomes less interesting as a specific, and having a coherent data access strategy becomes more interesting. And harder.