Coffeehouse Thread

43 posts

What platforms should I invest my time in?

Back to Forum: Coffeehouse
  • User profile image
    LCARSNxG

    I apologize in advance for such a lengthy post.

    I think that Microsoft has been sending a LOT of confusing messages to its developers regarding their long term strategy for Windows and Web development lately. Is anyone else getting this impression also?

    First we are told that WPF is the future of application development on Windows, and Silverlight for the web. Microsoft made Windows Phone and chose to use Silverlight (and XNA) as its development platform. This is, I think, a great idea since it lets devs bring over their skills.

    However, it seems that Microsoft has recently been teetering on the edge of abandoning Silverlight in favor of HTML5+Javascript. The Mix '11 conference this year had barely a mention of Silverlight, with the exception of the Silverlight 5 beta announcement. It was all about HTML5. After talking to several Microsoft employees while I was there, they assured me that Silverlight still has a future, but always tacked on the note that HTML5 is good for cross platform applications.

    Today, Microsoft announced some of its plans regarding Windows 8 and its immersive tablet UI. See http://allthingsd.com/20110601/exclusive-making-sense-of-what-we-just-learned-about-windows-8/ and http://www.microsoft.com/presspass/features/2011/jun11/06-01corporatenews.aspx.

    I had expected to see a Silverlight based "app" platform, just like on the Windows Phone. I had also expected to see a clear path for Windows Phone developers to be able to port their apps over to the tablet experience, just like with the iPad. Instead, Microsoft has announced that the "app" development platform for Windows 8 will be based on HTML5+Javascript. When asked about Silverlight, Steven Sinofsky replied that the touch version of IE supports Silverlight, but it almost seemed like he was saying it's there for legacy support. There was no mention of using Silverlight to create apps like on Windows Phone.

    It seems like this will create a very fragmented development experience for Windows and raises several questions. Here are mine:

    1) How can devs write apps for both Windows Phone and Windows Tablets? Surely you can't expect them to write their app in Silverlight and then write it again in HTML5.

    2) Will the Windows Phone app platform also be based on HTML5 eventually?

    3) It seems that HTML5 is soon going to be an important development platform for "native" apps in addition to web apps. Is Microsoft abandoning Silverlight/WPF in favor of HTML5?

    4) There are currently no good Microsoft tools for making HTML5 based applications. I am talking about real LOB apps, not web pages. There is no GUI tool like Blend. Does Microsoft really expect Windows developers to embrace Javascript over C#? The current development experience around HTML5+Javascript is beyond inferior to .Net based platforms.

    As a developer, I am always looking towards the future to keep my skills polished. However, I am concerned over the lack of a clear direction from Microsoft.

    Am I overreacting, perhaps? Thoughts?

     

  • User profile image
    Bass

    From your rant, it seems the only reason you need a "clear direction" from Microsoft is because you want to blindly follow whatever they tell you to do. Sounds like a case of the blind leading the blind.

    You ought to be competent enough to make your own professional decisions.

  • User profile image
    LCARSNxG

    , Bass wrote

    From your rant, it seems the only reason you need a "clear direction" from Microsoft is because you want to blindly follow whatever they tell you to do. Sounds like a case of the blind leading the blind.

    You ought to be competent enough to make your own professional decisions.

    My apologies if my post came across as a rant. I am really just seeking input from other developers on their point of view regarding these platforms in light of the available information from Microsoft.

    I do not want to blindly follow what Microsoft tells me. I do, however, want to know if I should continue to invest in Silverlight. Not just from a developer skills point of view but also from the point of view of a decision maker. I can easily make my own decisions but I'd prefer to do so in an informed way. It's difficult to do this when the future of some of these platforms is uncertain.

  • User profile image
    JoshRoss

    @Bass: That's a little harsh. This whole html + script concept sucks. It sucks because Microsoft has a propensity to evangelize technology X, and just when the tooling is starting to come to fruition, they jump ship, and leave the developers to burn in a car wreck. 

    Maybe I'm wrong. But, I'm a little pissed after learning that windows 8 is based on this crap concept of html and javascript.

    -Josh

  • User profile image
    DeathBy​VisualStudio

    @LCARSNxG:

    Don't worry about Bass. He's the kind of "uber" programmer who doesn't believe in commenting his code -- he's really that good. So he kinda comes off as arrogant to the rest of us lesser programmers.

    I agree with you. Microsoft doesn't have a clear strategy. They just keep moving the mark and then excuse themselves with some empty comment like "technology is a fast moving sector -- you just have to keep up." I suspect the fact that because WPF (too big of jump from Winforms, too many holes) and Silverlight (too little too late with never a clear message of what it was for) never took off that instead of fixing these technologies they will just abandon them with a "hey what's that over there" strategy. When you've got Ballmer leading the heard what else can you expect.

    I'm hoping to make a full and complete jump over to Android or possibly iOS if busineses start adopting the iPad as clients. As for the desktop, that's last year's news... The desktop will slowly be replaced by other devices. Microsoft's answer: shoehorn Windows on a tablet running on a "super fast" ARM processor and have developers write HTML5 apps for an emersive touch experience. Genius! That's why web apps too of so strong on the iPhone when it first came out. Oh wait...

    If we all believed in unicorns and fairies the world would be a better place.
    Last modified
  • User profile image
    felix9

    HTML5/JS is just one side of the story, maybe the WinDiv side, what we developers need is the DevDiv side.

    the AppX packaging format supports far more types of applications, and I think Silverlight assembly is supported natively.

    and we are yet to see what DIRECTUI.dll, Windows.UI.Immersive.dll, SLR100.dll and friends can do.

    and, rumours said the next major Windows Phone will be Windows 8 based, and Microsoft is talking about 'unified ecosystems' and 'single platform'.

    and RAD frameworks and tooling support for HTML5/JS is coming to VS and Blend.

    but if those HTML5/JS apps can't access the 'Windows Runtime' / native apis, then they will be far inferior than Native/Managed apps.

  • User profile image
    W3bbo

    , LCARSNxG wrote

    *snip*

    I do not want to blindly follow what Microsoft tells me. I do, however, want to know if I should continue to invest in Silverlight. Not just from a developer skills point of view but also from the point of view of a decision maker. I can easily make my own decisions but I'd prefer to do so in an informed way. It's difficult to do this when the future of some of these platforms is uncertain.

    I would not personally invest in Silverlight, no. Here's why:

    • Silverlight as a platform for the web - Dead end. Flash is already the de-facto standard for in-browser RIA (and you shouldn't be using Flash or any other plugin in this manner anyway)
    • Silverlight for web video - Delivers a sub-par user experience compared to Flash and HTML5 <video>. 4 years after launch and still no sign of active-scrubber support.
    • Silverlight for Windows Phone 7 - I'm avoiding the platform: I don't believe it will attract sufficient critical mass, I believe it will remain the "Opera of phone platforms" ("Opera" referring to the web-browser which never seems able to take more than 5% of the market but never disappears either). Android already won the "different hardware, same OS" market which Windows Mobile previously had a stranglehold on, and from a features PoV it's going to always fall behind Apple with their annual hardware updates. If you're making a LoB application for devices then your best bet is to make it a web application with per-device stylesheets so you get a near-native look-and-feel on iOS, WP7, and Android. That's what I'm doing with one application I'm developing and it's going great so far.
    • Silverlight for Desktop Windows - Assuming you're running under WPF it's a touchy subject. For LoB applications I understand the databinding support is to die for, but the uncanny-valley UI libraries really put me off, not to mention the fact the vast majority of WPF applications are ugly as sin.

    I think we should stop embracing the "one platform, code reuse" belief system that Silverlight is based on and just accept that code-reuse between first-class programs on different platforms is going to be impossible (since Android is Java, iOS is Objective-C, and WP7 is .NET).

    Kinda silly really, 10 years ago you could use the same biz-logic compiled C/C++ code on PocketPC, Windows 98/2000, Mac OS 9, and Linux: all you needed was to create a platform-specific UI which wasn't too hard when using the right RAD tools. Now you can't even do that and you have to do everything from scratch.

    My advice to you is to avoid unproven platforms and be wary of any new "technology" touted as the next thing for Microsoft Windows. I'm sure we all remember Microsoft Active Desktop and how we would be more productive with web-enabled Explorer folder windows, or how ActiveX would allow us to put rich objects on every web-page and desktop application we built, or how MSI would revolutionise the way software is distributed, installed, and maintained on Windows?

    Yes, by holding back you're potentially missing the gold-rush, but you're also not risking anything.

  • User profile image
    beerinbelgi​um

    @LCARSNxG:

    What platforms should I invest my time in?

    Those you enjoy working with. If you have any common sense you will automatically fall in the majority.

    The fact that you paid an obscene amount of money to go to Mix or had your accounting department foot that has me worried though. It makes me think that you don't have a full deck of common sense.

  • User profile image
    W3bbo

    , beerinbelgi​um wrote

    @LCARSNxG:

    *snip*

    Those you enjoy working with. If you have any common sense you will automatically fall in the majority.

    The fact that you paid an obscene amount of money to go to Mix or had your accounting department foot that has me worried though. It makes me think that you don't have a full deck of common sense.

    Damn, you almost had me going then. You made a reasoned and agreeable point to begin with, but then you descended into idiocy again.

     

  • User profile image
    beerinbelgi​um

    I stand by my statement with this anonymous username.

  • User profile image
    magicalclick

    @LCARSNxG:

    Basically stay with C#, WPF, SL.

    Unless you want to do stuff like Vista Gadgets or the new Win8 Gadgets.

     

    Leaving WM on 5/2018 if no apps, no dedicated billboards where I drive, no Store name.
    Last modified
  • User profile image
    AndyC

    Well I'd certainly wait until more developer news surfaces before making any hasty decisions. Although it certainly seems that, undesirable as it may be, HTML5+CSS+Javascript may be where the chips have fallen.

    Is the emphasis on native C++ on C9 an indication that Microsoft have decided that the whole .NET vision just hasn't worked out? So back to C++ for raw speed and a more web-like approach to day to day apps?

  • User profile image
    Ian2

    It feels like there is a set of moving goalposts I guess largely because that is the nature of technology as it evolves. 

    It's just maybe that the goal posts are moving a bit quicker at the moment?

  • User profile image
    magicalclick

    One thing I hated about using HTML is it breaks when you upgrade IE. I remember the gadgets gone horribly wrong when I have my IE7 upgrade to IE8, or some kind of IE8 Beta, in addition to higher DPI settings.

    They can keep trying something like Vista Gadgets, but, pretty soon the novelty wears out.

    Leaving WM on 5/2018 if no apps, no dedicated billboards where I drive, no Store name.
    Last modified
  • User profile image
    evildictait​or

    @LCARSNxG:

    Unless you have a good reason to be on the bleeding edge of technology you should be wary of jumping on new bandwagons. Microsoft doesn't have a great track record for inventing new technologies that change how developers develop software (and are certainly no better at it than other vendors). They are very good at taking existing technologies that developers use and making it really good (think IE9, their C++ compiler, C# (which came from J# which came from Java) and the .NET libraries), but they are no better at inventing new technologies (e.g. CardSpace, Silverlight) than any of their big competitors (like Adobe Flash).

    If you want a bleeding edge technology, then by all means go for one of Microsoft's young new tools, but if you want a technology that all your clients will already have the runtime for and which won't be dropped like a hot potato by Microsoft when the next bandwagon comes along then go for one of the old established technologies like MFC, WinForms.NET and Adobe Flash.

    Unfortunately for some of the more marketing folk at Microsoft who seem to have their heart set on it, HTML5+Javascript+CSS won't revolutionise client-side apps any more than .NET revolutionized the Windows kernel, and natively compiled C++ will still be going strong in both ring0 and ring3 thirty years from now.

  • User profile image
    W3bbo

    , evildictait​or wrote

    HTML5+Javascript+CSS won't revolutionise client-side apps any more than .NET revolutionized the Windows kernel, and natively compiled C++ will still be going strong in both ring0 and ring3 thirty years from now.

    I wouldn't make that assumption.

    30 years ago you could say that COBOL and FORTRAN were good bets for programming code in. No-could could have forseen Java.

  • User profile image
    fanbaby

    And there were wailing and gnashing of the teeth among Silverlightist and developers who worship the Microsoft. [sic]

    BWAAHAHAHA

    And I'm totally happy. BWAAHAHAA

    But then,fanbaby,  where is the emphaty towards developers who invested so much in learning this technology, who are just trying to bring bread to their families. Developers which have their projects cancelled by the dozens.

    Well, my friends, some of these developers didn't give a damn and still don't give am damn about what the open and free web is. They were rejoicing when a web-site used Silverlight (a la Netflix), and when the Silverlight adoption would rise. For them a future with 100% windows or 100% Silverlight support, and a future where many web-sites has SL in them is great.

    The problem started in 2007 with the introduction of SL. Someone in Microsoft didn't understand that the web doesn't need another proprietary flash-competitor even if it's the most advanced technology since UNIX (hahaha -not). And the Microsoft-led congregation didn't say a thing, (someone could have raised their finger and ask: is it open?) except hail Silverlight, may it prosper in the web, damn those who have non-Microsoft clients.

    So, each event such as this makes me more happy. May SL go the way of VB, ActiveX, XPS, FrontPage, CHM files, which were all advanced for their time. 

    [Oh, and if you don't fit with my above portayal of a SL developer, just ignore my post, and go back to develop SL app for your clients' intranet needs}

  • User profile image
    W3bbo

    , fanbaby wrote

    So, each event such as this makes me more happy. May SL go the way of VB, ActiveX, XPS, FrontPage, CHM files, which were all advanced for their time. 

    [Oh, and if you don't fit with my above portayal of a SL developer, just ignore my post, and go back to develop SL app for your clients' intranet needs}

    VB lives on as VBA7 which is very much alive and well (although the VBA Editor in Office could do with a visual makeover). ActiveX is still around and still a good way to get UI components written in C/C++ to work in WinForms. FrontPage was renamed as the SharePoint designer and forked off into Expression Web, CHM files aren't dead either (although Microsoft doesn't make it easy for developers to create them).

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.