Saturday, August 25, 2012

Making Sense of the Whole Delphi WinRT Thing

I'm not one of the "Low-Level" "Deep-Inside" Delphi smart guys. I'm just an average software developer who uses Delphi to create simple applications I sell to other average people. Oh, I learn a lot hanging around the smart guys but I seem to get lost when the discussions and comments take a deep dive.

It's no doubt that Allen Bauer's post created quite a stir around the community and the new release of XE3. I've tried to make sense of all the buzz going back and forth but at one point it just got way over my head.

Since I am just a Micro-ISV, I am looking for a simplistic answer to what this whole Delphi - WinRT crap is all about and I think I have figured it out.

I posted this on the Delphi Developer group on Facebook:
I've been trying to follow all the talk about what is going on with Delphi and WinRT ever since Allen Bauer's post went viral. I'm not as smart as most of you Delphi guys. Can someone please explain in very simplistic terms what it means when Delphi either can't or is excluded from creating WinRT apps? How does this effect a Micro-ISV like myself in terms of distribution and sales?
I received this response...
For example, you will probably not be able to sell your app through the MS Application Store, which could really hurt your exposure to prospective new customers.
Okay. So I started googling Microsoft App Store and discovered a couple interesting tidbits.

I started off reading a post by George Ou called ARM Battery Life Advantage Myth Lives On

This lead me to a post by Steven Sinofsky called Collaborating to deliver Windows RT PCs

Which lead me to another post by Steven Sinofsky called Building Windows for the ARM processor architecture

Here is what I think is going on and how it effects me and you who sell software to the average consumer.

Microsoft is leading a push to compete directly with the iPad. So, Microsoft invented a new operating system called WOA or Windows on ARM which in my opinion is a Reduced Instruction Set Computer. This new operating system is a subset of Windows 8 and will be available on the new WinRT PC's soon to be released.

It sounds like WinRT PC's (I'd prefer they were called tablets) are a separate line of personal computers designed to compete directly with the iPad market. No disk drive, no expansion slots, one or two USB ports and completely mobile. Which requires a long life battery, hence the first post I sited above. These devices will be RISC (Reduced Instruction Set Computers) running the WOA which includes WinRT. This limits the applications to only those applications that conform to the WinRT subset of instructions.

All other Non-WinRT PC's will come with a full blown Windows 8 OS in addition to the scaled down WOA running WinRT. This lets you run all the currently developed Windows Applications (those created using Delphi) and any of the new applications that conform to the WinRT subset of instructions.

What does all this mean to you and I...

Given that the WinRT PC's (I'd prefer they were called tablets) have a subset of the real Windows 8 OS, the only way to install software on these machines will be through the use of the Microsoft App Store. Since Microsoft controls this store they will make sure that any app in the store will run without problems on the new WinRT machines.

The bottom line, we (Delphi developers) will still have a huge user base availabe to us. Not everyone will flock to these new WinRT PC's (I'd prefer they were called tablets). When EMBT finally does get the details worked out and makes it available to us... we can retool, recompile and look forward to a windfall of new WinRT customers.

Enjoy - Semper Fi
Gunny Mike


  1. The most likely scenario is that WinRT will live a short and useless life, just like Aero (remember how big a deal that was made to be and how tiny and crappy it turned out, the vision was grand, and it turned into glass borders on forms, and a stupid alt-tab animation feature, and now in Win8 it's totally gone), WPF (dead), Silverlight (dead), Avalon, Windows CE, and on and on and on.

    In other words, Borland nearly killed its Delphi product trying to move to .Net, only to kill off, and I only hope that the effort expended on WinRT is not enough to harm regular Delphi.

    The app store will fail. WinRT will be a niche market, and people will hate the new Metro environment, and it's Windows 1.0 era graphical full screen stupidity.

    The app store works for apple as well as it does on iPad and iPod Touch and iPhone because those are not PCs. Windows users are PC users and they won't put up with the crap limitations that winRT imposes.

    In the end you don't need to understand the technology. You just need to understand that Microsoft knows crap about marketing.

    I want Microsoft to prove me wrong. I want Win8 to be a success. I want the new devices like the Surface tablet-laptop-thing to be a huge success. Heck, i want to buy one, if they don't suck. I've just been hopeful, and gotten burned about 100 times by Microsoft. So I expect More of the Same.

    Basically: Win8 is going to make Vista look like a success. People will stick harder to Win7 than they did to WinXP. Maybe by Win9, people will be ready to move on, and maybe by 2020, Microsoft will be making a credible tablet device.

    Apple will destroy samsung with this billion dollar patent infringement suit. Android will fail, and Google will give up on it. Apple will own everything and everybody. and perhaps will start resenting them as much as we resented Microsoft at one time.


    1. I am not that sure WinRT will fail so soon... its apps will make sense on many devices that are not PCs, and there are a lot of them out there now. Moreover even on Intel Win 8 tablets WinRT application could be easier to use then their desktop counterparts which run on a subsytem not designed for touch. Let's see, but Delphi can't become a tool designed to build a single type of Windows applications, there's already a lot it can't do.

    2. Waren I admire your passion for Delphi. I'm truly a die hard Delphi guy and I hope that EMBT and Microsoft get this worked out. I would love to offer software to customers with PC's, Macs, iPads and the new WinRT tablet thing-a-majigs.

    3. lol, that last paragraph literally had me rofl'ing.

    4. Warren: please give me the address of your pusher, please!
      I'm in the IT business since 1983, but I've never seen a drug effect like your assertion "Android will fail, and Google will give up on it."
      Go to your nearest drugstore, grab a bottle full of Aspirine, take one or two pill, go to sleep. You will wake up with a clearer view of the whole Android thing.
      Fabio Vitale

    5. Warren, how is WPF dead?

  2. Android will fail?! Ha ha ha. iOS is the one that will die. Android will crush it. They are both rubbish though.

    1. ---Apple will destroy samsung with this billion dollar patent infringement suit. Android will fail, and Google will give up on it. Apple will own everything and everybody. and perhaps will start resenting them as much as we resented Microsoft at one time.---

      Warren, what are you smoking?

    2. Remember that your begging to sell your software on Apple's platform... the more they control them the faster they will kick you out whenever they want. I wouldn't be that happy of Apple tricking people into thinking gestures can be patented... Roger Federer should patent a couple of his "gestures" and once retired sue everyone who attempts one...

  3. Nice summary, I'm no Win8 expert as yet but I don't see anything in your article that looks incorrect to me.

    Your statement about when Embarcadero does provide completely native WinRT support "we can retool, recompile and look forward to a windfall of new WinRT customers", isn't an unreasonable one either in my opinion.

    Particularly if you write your Delphi Metropolis application as a Delphi FireMonkey Metropolis application rather than an Delphi VCL Metropolis application.

    With FireMonkey being specifically designed for cross platform a Delphi FireMonkey Metropolis app will always have less Win32 baggage to take with it than a Delphi VCL Metropolis app.

    1. Hmmm using my wordpress account to login to your comment system didn't work so well. Hopefully using my Google account I'll end up with a name slightly less anonymous.

      Lachlan Gemmell

    2. Thank you Lachlan. I'm just trying to call it like I see it. I've still got the Delphi 2010 toolchain around my neck but I will keep your idea about Delphi Firemonkey Metropolis in mind. It's time like these where I really miss Frank Borland :-)

  4. IMHO the whole "occupy WinRT" thingy comes from people that are frustrated with XE, XE2 and monkey on fire, was their choice to adapt it as quick as possible, it turned out that it wasn't the best choice for many of them.
    Now, with XE3 at the front door, people were expecting WinRT support, but surprise! no support yet, hence the frustration(s).

    Personally I believe that WinRT will be very successful, they "moved the giant" with the whole tablet hype and now, Microsoft will show them how it's done(at least I hope they will).

    You've wrote that you're still at D2010, very good, stay there until you can see what XE3 is all about and if it makes sense, upgrade/buy it, but don't rush too much, wait to see what others have to say about it.

    „Apple will destroy samsung with this billion dollar patent infringement suit. Android will fail, and Google will give up on it. Apple will own everything and everybody. and perhaps will start resenting them as much as we resented Microsoft at one time.¯

    This is not a final decision, Samsung still has chance of saving their backs, however, I do hope that they'll both lose one way or the other, IMHO the quality of Samsung products is very poor compared to the prices and Apple is pushing it too much and scaring innovation.

    1. I jumped form D5 Enterprise to D2010Pro when EMBT scared me into not being able to upgrade after day X. So, I upgraded. Then day X came and went and the upgrade deadline was extended. :-}

      I probably should have moved to XE because I heard some nice enhancement were added and a bunch of bugs were fixed. But I'm not going anywhere right now.

    2. @Michael Riley
      I'm staying with D2010(and persuade companies with which I work to do so, some didn't listen and upgraded to XE2, it turned out to be quite a bad investment because of third party component cost).
      My eyes are on Freepascal and Lazarus, it seems that with each 6 or so months, they really put in a lot of effort, there's much to be done, but they are getting there, and, you can fix bugs that you hate if you are willing to get your hands dirty.

      @Mike(Bunny) if I were to build apps for WinRT, I'd go with C#, yes, there's a learning curve, but the amount of information out there and the maturity of the tools surrounding .NET is really a better bet than anything in the short term at least.

  5. EMBT have caused a great deal of confusion over the release of XE3, and don't seem to have done a great deal about sorting out fact from fiction. I know they have the roadshows going on but we can't all attend those, or they haven't reached us all yet, and there are some pretty big questions being asked that don't appear to be getting fully answered.

    I usually just go with whatever EMBT decide and I usually agree with this blog as well, as I do this time. The FM2 and Mobile Studio mix-up seems like a bit of a mess, especially as Firemonkey was sold to us in XE2 as the next big thing and now it is about to be superceded by another product all together.

    I also think we need more details about HMTL5 Builder, because this in theory will be better to create WinRT apps than the Delphi VCL, which appears to produce some form of middle ground. Which is, in all honesty, nasty.