See the fantastic business opportunity!

In this post I just want to convey a simple, yet powerful, idea: Last week Microsoft announces that the Windows UI is about to get re-invented with WinRT. Instead of bashing MS about its policy concerning WPF and SL, be smart and see here a fantastic entrepreneurship opportunity. The future top WinRT applications\tooling\trainers\consultants will be the ones that get developed today.

You are not happy being employed? I wasn’t too back in 2001. I wanted action, enthusiasm, innovation, technical expertise and reward. At that time I was flagged C++ expert and I discovered .NET. I wrote the reference book in French concerning C#/.NET  with O’Reilly France, released mid 2003. It allowed me to capitalize on skills and clients trust. I then developed a successful consultancy expertise/training activity. In parallel I wrote the second version of the book for C#2 late 2005.  Meantime I released a small OSS static analyzer in mid 2004, that became NDepend pro, at early 2007 and that made me and my team living for almost 5 years now, and hopefully for many years to come.
All this was possible because I capitalized on the .NET platform at early stage. I didn’t revolutionized the world but today, I absolutely love my job + awesome perspective for future versions + well enough money + no (stupid) boss + very few time and location constraints.

Today the exact same situation occurs again. Microsoft bets all on WinRT as it used to bet much on .NET. It is a risky strategy but, like it or not, Microsoft generally wins. Do you remember C++ and Java guys making fun of .NET? Do Java have LINQ today? It doesn’t even have clean generics! Start a business based on WinRT and Windows 8 now and it will be mechanically pushed by the bulldozer marketing machine Microsoft is currently cranking up. On a pure technical side it can be tooling/training/book/consulting. But if you feel well acquainted with a particular business, it can be a B2B or B2C product that will be first delivered and first ranked on the upcoming MS store.

Exciting isn’t it? Good luck my friend!

This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Patrick Smacchia

    This Button class design smells bad indeed!

  • Jim Cooper

    “the interest of MS is to create platforms that attract the maximum # of developers to compete other platforms like Apple ones, so they have zero incentive to make technology overly complicated.”

    Then explain Windows API, MFC, COM, WPF (I could go on) :-) 

    BTW, I’ve finally had a chance to look over the WinRT docs, and I am concerned about the level of OO design skill involved. Well, the lack of it, really. For example, this is the doc page for the Button class :

    http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.button(v=VS.85).aspx

    Button is 7 layers down an inheritance hierarchy, and implements 12 interfaces. If anyone I was supervising wrote code like that I’d be having very serious words with them.

    It seems we’re stuck with XAML too, sadly.

  • Patrick Smacchia

    >There will doubtless be opportunities for some people. For trainers,
    tech writers  etc, in a way, the more difficult MS make things the more
    money they can make :-)

    Don’t think so, the interest of MS is to create platforms that attract the maximum # of developers to compete other platforms like Apple ones, so they have zero incentive to make technology overly complicated.

    >don’t believe most people actually have the “power of becoming an entrepreneur” when you take into account life situations

    Many developers are young without kids and loan, this is the perfect situation to try out doing  their own biz

  • Jim Cooper

    “But have you any entrepreneur skill? ”
    No, in common with approximately 100% of the population of the planet :-)
    “Did you developed and sale any software by yourself? ”
    Yes, for a small niche market. It was only beer money :-)
    “Or have you been employee all your professional life? ”
    No. I was at the start of my career, and I have been for the last 3 months, but in between I was an independent contractor (and may well be again in the future).

    “I ask because this is what this blog post is all about: opportunities for software businesses thanks to the promises of the upcoming Wnd8.”

    There will doubtless be opportunities for some people. For trainers, tech writers  etc, in a way, the more difficult MS make things the more money they can make :-) But the concern for most Windows developers is more likely to be how much pain they will have to go through. Or how much pain their bosses are going to put them through :-)

    I don’t believe most people actually have the “power of becoming an entrepreneur” when you take into account life situations, personality, finances etc. In principle they do, but in practice it doesn’t seem to work that way. Which is probably good news for the entrepreneurs that need to employ people :-)

  • Alwin

    I bet someone with WPF experience has (had?) an edge starting with Silverlight, compared to someone who never did any XAML or WPF.
    I bet someone with Silverlight (or WPF) experience has an edge starting with WinRT, than someone who never did any Silverlight or XAML.

    Why restart your career when you can use all of your SL knowledge to build WinRT apps?The only new thing are some small changes between the frameworks. But there’s _tons_ of SL knowledge you can use with WinRT. You have a head start.

  • http://profiles.google.com/judahgabriel Judah Himango

    Thanks for this encouragement, Patrick. You’ve motivated me to try porting my SL app to WinRT, maybe with a CodeProject article to boot.

    I love evolving tech. As devs, we must embrace the change, embrace the evolution. And to be certain, we have evolved, and to be certain, WinRT is an evolution for Windows apps. It’s Microsoft’s last great chance at making Windows apps relevant again. They just might succeed. Business opportunity for developers, then, to take advantage of that new platform.

  • Patrick Smacchia

    >”good code is not a necessary, neither a sufficient condition to develop a successful ISV business”

    >*** Sure ****, but as developers we don’t always have control over the other stuff.

    Glad you agree on this! And yes, as a developer you have the huge power of becoming entrepreneur, make your own ISV, your way, with the technologies you want.

    >I’m 15 years older than you, so I may have an edge there :-)

    But have you any entrepreneur skill?
    Did you developed and sale any software by yourself?
    Or have you been employee all your professional life?
    I ask because this is what this blog post is all about: opportunities for software businesses thanks to the promises of the upcoming Wnd8.

  • Jim Cooper

    I have issues with this remark:

    “there are plenty of crap Fx around, based on which thousands of successful products (in terms of sale) are developed on.”

    There are several problems with this:
    1. Even if true, it doesn’t mean MOST products based on crap Fxs are successful. Most software projects fail. That doesn’t seem to have ever changed, sadly. I’m not suggesting the Fxs are the only problem, but they surely contribute.
    2. Until relatively recently (and it is probably still true, although I haven’t seen a survey for a while), most software is NOT for sale. “Success” is usually harder to measure in such cases. Often software is seen as a cost centre (even if it isn’t really). Greater efficiency would be seen as a win.
    3. I would argue that the successful products would be more successful if they didn’t use crap Fxs

    As for crap design in general, then yes, deep inheritance trees (e.g. in WPF) are an example of poor design.

    “Imagine if WinRT meets the same success in terms of adoption, than win32 did”

    Imagine if it’s WF version 1, or WebOS :-) 

    “good code is not a necessary, neither a sufficient condition to develop a successful ISV business”

    Sure, but as developers we don’t always have control over the other stuff. But we can at least behave in a professionally responsible manner.

    “I began coding in 1985 when my 10 years old brain was fresh”

    No offence, but I was only talking about professional development. There is a difference between hobbyist work and writing large applications. There is an old expression : “just because you can build a dog kennel doesn’t mean you can build a house or a skyscraper”. The skills just don’t scale. I’m 15 years older than you, so I may have an edge there :-)

    “There is a huge alternative world to ‘real-world’, made of ‘blabla’ developers”

    Everybody lives in the real world, was my point. With ANY advice, you have to consider who is giving it, and what area the advice covers. For example, Joel Spolsky knows a lot about the software business, but knows bugger all about actually writing large applications. If you look at his background, it’s clear why – he doesn’t have enough experience doing that. His company sounds really good to work for though, as that side of things he does know about.

    So I would agree that you have to chose your gurus carefully :-)

  • Patrick Smacchia

    >If “everyone” has to struggle with a crap framework, that just increases
    the amount of angst in the world. It doesn’t provide much in the way of
    business opportunity.

    I really don’t get your point:
    1) your axiom seems to be that WinRT is crap designed (why? because it uses inheritance for controls?)
    2) there are plenty of crap Fx around, based on which thousands of successful products (in terms of sale) are developed on.

    Imagine if WinRT meets the same success in terms of adoption, than win32 did, imagine the width of the range of business opportunities to start *** today ***. This is all I am saying in this post.

    >I’ve long believed the best way to go fast is to write good code.

    So do I, and I always followed this tenet, but I still think that good code is not a necessary, neither a sufficient condition to develop a successful ISV business. It just helps getting in the right direction.

    >I’ve been doing this stuff for a long time now (longer than you, I suspect),

    I began coding in 1985 when my 10 years old brain was fresh, and never stopped since :)

    >so I do know something about the “real world” a phrase that annoys me
    quite a lot, actually. What other sort of world do we live in?

    There is a huge alternative world to ‘real-world’, made of ‘blabla’ developers, that never wrote production code, only small prototypes, but that are paid (well) to talk to grunt developers about how to write software all day long. I am surprised you’ve never met this alternative world!

  • Jim Cooper

    You don’t have to struggle with superb frameworks very often, as that’s surely part of the definition of suburb :-)

    If “everyone” has to struggle with a crap framework, that just increases the amount of angst in the world. It doesn’t provide much in the way of business opportunity. Well, maybe for beer producers :-)

    It’s a pretty well known fact that in our industry most projects fail. There are a variety of reasons for that, some of which are technical, like using crap frameworks.

    Saying that not all projects fail is to miss that point.

    Also, just because a projects sells, doesn’t mean its making money :-) And it certainly doesn’t mean that it couldn’t sell better, or cost less to produce/maintain, or both, if better frameworks had been used.

    I’ve long believed the best way to go fast is to write good code. Crap code slows you down pretty quickly, and that includes crap frameworks (maybe especially crap frameworks, as they’re often harder to get rid of).

    You and I may have different ideas on what a top-notch programmer is (I wouldn’t necessarily use pay is the discriminating factor, as my current job proves!) :-) And again, talking about specific contrary examples doesn’t disprove my point. IME, the best programmers move away from the type of work you describe, as a general rule. Some may not, but I believe the trend is there.

    I’ve been doing this stuff for a long time now (longer than you, I suspect), so I do know something about the “real world” (a phrase that annoys me quite a lot, actually. What other sort of world do we live in?) All the stuff about answering a need etc is a given for a successful product. That’s almost orthogonal to my main point, although clearly writing the code well (and therefore quickly) will naturally make you more competitive.

  • http://twitter.com/jholyhead James

    I believe the expression is ‘Don’t hate the playa, hate the game’

  • Patrick Smacchia

    A few remarks:

    >And how many firms tried and failed?

    That’s the whole point I want to make about WinRT *** today ***. Tons of app need to be done and redone with WinRT, and being one of the first one targeting this fx limit to a large extend the chances of failure.

    >the business opportunities often ARE related to the quality of the framework you use, as that affects time to marke

    If WinRT is technically crap (is it?) everyone will have to struggle with the same crap (you can also replace ‘crap’ with ‘average” or ‘superb’ here).

    >Some of those will have written apps but not been able to maintain them,
    or struggle to maintain them, because of the crapness of the frameworks
    they used.

    This is something I used to believe, but after having visited plenty of firms with ugly code but successful product that generated many M$, I am not so sure of it. It seems a lot of money can sustain crap development and crap legacy.

    >better programmers tend not to work on those codebases, so the average code quality is lower.

    Better programmers maybe, but the top notch programmers I’ve met were in financial industry, paid extremely well to maintain VB6/VBA/C++ monster but strategic legacy app.

    Don’t take me wrong, everything I’ve done in my career advocate my enthusiast for code quality and clean Fx. But the real-world is more complicated than many code quality consultants would like it to be. Having high quality code is one of many parameters that will make a product sales well. One needs to cope as well with facts like the product must answer a need, it must be well marketed, it must be delivered publicly early while the competition is still small …etc…

  • Jim Cooper

    Some firms may well be writing decent apps with MFC or COM. But they aren’t working efficiently by doing so. And how many firms tried and failed? Lots, IME. Some of those will have written apps but not been able to maintain them, or struggle to maintain them, because of the crapness of the frameworks they used. Both because the frameworks are hard to use, and they tend to limit how well you can write your own code. I also think there is a more subtle effect, in that better programmers tend not to work on those codebases, so the average code quality is lower.

    IMO the business opportunities often ARE related to the quality of the framework you use, as that affects time to market, responsiveness to change, and so on. Ditto for some other tools we use, of course.

    If someone had a business helping people overcome the crapness, I suppose they’d want frameworks to be as crappy as possible :-) But that’s a limited market segment. 

    I hope!

  • Patrick Smacchia

    >We may be forced to use it, but whether that’s a good thing or not…

    I didn’t dig enough into WinRT Fx to give any technical judgment on it (did you? your feedback is welcomed). MS is giving a strong enough signal concerning its commitment on WinRT (side-by-mide with win32) that led me to write this post.

    IMHO having great business opportunities is not related to the quality of the Fx. MFC and COM were  terrible to program with, but still, many businesses succeeded (and still succeed) developing cool app based on MFC and COM.

  • Jim Cooper

    I guess your take on this depends one whether you think WinRT is a reasonably well written framework like .NET was originally, or whether it’s a piece of crap like MFC, COM or indeed, WPF (anything with inheritance hierarchies that deep, and that uses XML as a programming language shows its designers really haven’t learnt much over the past few decades).

    We may be forced to use it, but whether that’s a good thing or not…

  • Patrick Smacchia

    >Leave it to the guy who creates tools for developers to be excited

    Dear Bill, tooling for developers is and will remain an epsilon fraction of
    softwares running on Wnd. I guess ‘we’ are far from being the only ones
    excited!

    The decision of MS to build WinRT and somehow discard WPF/SL is something you and I cannot change (unless Bill Gates is your real name). You see the glass half empty: you won’ be the guy behind the future Angry Birds success like running on WinNT. Entrepreneurs see the glass half full and see opportunities and challenges.

    Actually I even see the glass 3/4 full since WinRT capitalizes on our existing .NET/C# skills. As a side noe, with the WinRT fast&fluid motto, now I understand why async was so central in C#5.

  • Bill

    Leave it to the guy who creates tools for developers to be excited that the framework is being forked again, a whole new opportunity for building tools that do the same thing against new of the same old stuff.

  • Patrick Smacchia

    >replace WinRT with Silverlight in your post above, and see how dreadful it sounds.

    Betting on the future is necessarily a risky activity. But to me, it sounds that betting on WinRT won’t be that risky, the same way I was convinced in 2001 that .NET was about to be groundbreaking, I could have bet on COM+ :)

    I see at 2 major reasons why WinRT is not comparable to WPF/SL:
    1) WinRT is located at lower level than WPF, it is meant to sit side-by-side with win32! Hence MS takes a much bigger risk and investment with WindRT than with WPF.
    2) Windows is in danger! WinRT might be the MS only chance to keep up with Apple competition in terms of UI + tablet usability.

    I prefer not to  include the HTMLv5 trend, which, IMHO, is not a solid enough reason, HTMLv5 might remain just a trend.

  • MU

     This is very exciting, but replace WinRT with Silverlight in your post above, and see how dreadful it sounds.  Everyone who restarted their careers with WPF then restarted their careers with Silverlight now gets to restart their careers with WinRT?  Betting the farm on the next hot MS framework is exciting, kind of like standing near a fault line in an earthquake: it’s hard to tell if you are standing on the precipice of change, or in it.