Coffeehouse Thread

86 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Microsoft always lets this kind of stuff happen

Back to Forum: Coffeehouse
  • User profile image
    AndyC

    , Bass wrote

    @AndyC:

    If Microsoft never made WinCE, it would be a different story. In that case it would be perfect sense to extend WinNT to support phones. But they already invested decades of engineering to make a kernel optimized for embedded devices and phones, and throwing that away just seems... like a bad idea?

    The overall amount of investment in WinCE is nowhere near that which has gone into NT. Not to mention that they've now essentially got two kernels, targetting effectively similar spec hardware, one of which is significantly less full featured and optimised and it just doesn't make a huge amount of sense to keep duplicating effort like that.

    There was once a time when keeping NT and CE separate made sense, just as there was a time when it made sense to have parallel streams for 9x and NT. That day has past and unifying the codebase just makes far more sense.

  • User profile image
    DeathBy​VisualStudio

    , AndyC wrote

    *snip*

     Not to mention that they've now essentially got two kernels, targetting effectively similar spec hardware, one of which is significantly less full featured and optimised and it just doesn't make a huge amount of sense to keep duplicating effort like that.

    Targeting a CISC processor vs. a RISC processor even in today's modern times with quad core ARM processors are two vastly different things. Staying just on the CISC side of the house, W7 even stripped down performs like crap on atom processors (i.e., netbooks). Can you imagine that as your phone running on an even more meager ARM processor?

    No doubt WinDiv will do their best to toss out the "fat" in the W8 kernel but that's going to create effectively WinCE all over again because WP8 will be a far cry from the real W8 kernel if they have any chance in hell of getting enough performance out of it.

    WP8 will be Longhorn all over again; this time it will be WinDiv jumping the shark instead of DevDiv.

    And let's not forget that key ingredient of time-to-market; Microsoft could have launched a tablet long ago with the WP7 kernel.

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

    I think actually a lot of ways maintaining closed source (esp. Windows and IE) is holding Microsoft back. Their competitors like Apple and Google both use FOSS to jump start development. Android and iOS are written by pretty small teams IIRC. FOSS allows them to focus on the relevant parts of their platform.

    Linux is a far superior kernel versus both WinNT and WinCE both in features and platform support. This is a kernel that has a proven history of working well on phones, while supporting features that are only typically available in desktops (and maybe supercomputers). Why spend time and money trying to bring WinNT up to snuff?

    Another huge FOSS project, Webkit, has better standards support than Trident/IE and is built with mobile in mind. Everyone, I mean everyone (except Microsoft, haha) uses Webkit on mobile. It's the mobile rendering engine. So you have better chance of mobile-oriented websites working with it.

    Kernels and HTML rendering engines are huge projects. There is no reason to reproduce them if there is already free ones available.

    Microsoft spends very expensive engineering resources to try to effectively reinvent the wheel while their competitors build on the Commons and focus on building stuff not already available in the Commons. Jokes on Microsoft really. No wonder WP7 is/was chronically behind. Current example: they are adding dual-core support (not simple, as I understand it) when Android and iOS got it for free (and quad-core, and 4096 core, heh).

    If Microsoft is to be successful in the future, they should dump WinNT/WinCE and Trident entirely and built on top of Linux or *BSD/XNU and Webkit.

  • User profile image
    Escamillo

    , Bass wrote

    *snip*

    Linux is a far superior kernel versus both WinNT and WinCE both in features and platform support.

    *snip*

    If Microsoft is to be successful in the future, they should dump WinNT/WinCE and Trident entirely and built on top of Linux or *BSD/XNU and Webkit.

    I really don't want there to be just one kernel or just one HTML engine in existence forevermore.  Nor do I suscribe to the school of thought that says that Unix (and its variants) represent the be-all and end-all of OS design.  It's absurd.

    I also question your assertion at how superior Linux is.  There's a reason why Android NEEDS multiple cores to run half-decently.  There's a reason why my DVR takes forever to boot up.  Linux ain't all that.

    As for "spending money to get NT up to snuff", I assume you refer to the phone space.  Microsoft is already spending money on slimming down NT anyway for Windows 8.  I've heard that Windows 8CP boots very fast and runs on very small memory footprint compared to Windows 7.  Since they're doing that work anyway, may as well apply that same work to the phone space.

    Finally, check out this video and tell me how WebKit or Linux kernel is so superior, 'cause I don't see it:

    http://www.youtube.com/watch?v=tkifKnNmeVg

     

  • User profile image
    Escamillo

    , figuerres wrote

    *snip*

     

    Rory ?  he has nothing to do with the way things are....

    perhaps you fail to understand that some of the folks who are not happy (like me for example) are the same folks who have been here for a *very long time* and used to be part of the other discussions you refer to.  but things have changed; I have every right to say what i think as long as i am not attacking people and as long as i am "within bounds" so to speak.

    some of us have been very pro microsoft for a long time and we see things that we feel are going the wrong way.   by posting our thoughts here there is a small chance some folks at microsoft will see the post and act on it.

    No that's not for sure but it's a thing we can do before we go to the next step.

    in the end i and the companies i work with will vote with our money and that in the end will get microsoft to listen, if sales drop they will get the message for sure.

    and none of that will stop me for beeing a part of a good topic when i see one.  I still have code to maintain that uses .Net and WPF and WIndows Forms and so on....

    I didn't mean to suggest that Rory's departure caused the deterioration of this forum.  I just used his departure as a time reference.  There is no question that this forum is a wasteland relative to what it was in the past.

    As for "being part of a good topic" because you still have to maintain ".NET, WPF, and Windows Form" code, isn't the "Tech Off" forum more suitable for that?  If you ask a question on maintaining .NET/WPF/WinForms code on the Coffeehouse forum, you'll get "answers" that consist of how horrible those platforms are and how Microsoft should dump them for Objective C or some such.  hehe

  • User profile image
    Bass

    @Escamillo:


    That's interesting, but I don't think it has anything to do with the Linux kernel itself. Android's userspace is nearly entirely written in managed code running on a VM that for most of it's history was effectively an interpreter. You just can't get good performance from that. Google however continues to improve this (and also added a JIT'er) and I can tell you Android ICS runs a lot faster than Gingerbread. Same goes with Webkit. I'm not sure how that is implemented in Android, but if you want to see a really great Webkit implementation you should check out iOS.

     

    Anyway is this video by Microsoft just PR or something changing in their strategy?

     

     

  • User profile image
    Bass

    Fact is if Microsoft wants to reinvent the wheel that's their choice. But you can not say it is working for them. The fact that Coffeehouse is turning into a "wasteland" is a sign of the times. Microsoft is losing relevance and their competitors continue to beat them in the market. People who are .NET developers, who were pro-Microsoft their whole careers are starting to get frustrated by this. This is what you are seeing.

    Look at the history of all these people posting, including the OP. They are all very, very pro-Microsoft. They are just frustrated. I've always had a more anti-Microsoft outlook than most people here and even I get frustrated. Because I learned that I actually don't want Microsoft to fail. What I want is for Microsoft to evolve into something that could work better in this new software industry.

  • User profile image
    AndyC

    , figuerres wrote

    *snip*

    what i wonder about is how they got to where they are?

    Microsoft has been building smartphone software on the WinCE kernel for a very long time, it was the obvious choice for the Phone 7 project, especially because the MinWin project to seperate and modularise NT + the rest of Windows (which had become rather co-mingled) was still underway at the time the project would have started. 

    , DeathByVisualStudio wrote

    *snip*

    Targeting a CISC processor vs. a RISC processor even in today's modern times with quad core ARM processors are two vastly different things. Staying just on the CISC side of the house, W7 even stripped down performs like crap on atom processors (i.e., netbooks). Can you imagine that as your phone running on an even more meager ARM processor?

    That really makes no sense. If what you were saying was true there'd be no point porting Windows to ARM at all.

    , Bass wrote

    Linux is a far superior kernel versus both WinNT and WinCE both in features and platform support. This is a kernel that has a proven history of working well on phones, while supporting features that are only typically available in desktops (and maybe supercomputers). Why spend time and money trying to bring WinNT up to snuff?

    Nonsense. Linux is a reasonable implementation of a very, very dated kernel design. Even the Mach kernel in OS X is a significantly better design (which was no doubt why it formed the basis of the iPhone) and has a richer feature set. And NT is certainly more developed than either of those.

    Another huge FOSS project, Webkit, has better standards support than Trident/IE and is built with mobile in mind. Everyone, I mean everyone (except Microsoft, haha) uses Webkit on mobile. It's the mobile rendering engine. So you have better chance of mobile-oriented websites working with it.

    Even that isn't true anymore. It's a close call between Trident in IE9 and Webkit for who has better standards support (Webkit tends to appear to implement more, but has a far more buggy implementation of even the basics). And the IE10 engine is easily ahead. IE really only fell behind because Microsoft simply stopped doing any work on it, when they throw resources behind something it develops fast. If anything it actually shows better than anything that the open-source model, while sometimes cheap, tends to lead to a much slower pace of development (even WebKit only really improved because Apple threw money at it).

  • User profile image
    Blue Ink

    I don't understand what difference the WP kernel makes, especially since neither developers nor end users are directly exposed to that in any way. It's reasonable to assume that new hardware may require a newer kernel, but there's little or nothing to be gained on existing devices.

    If WP8 brings along a different development platform, that might make a difference, but not in the short run: since WP8 is said to be able to run all the existing WP7 apps, I bet most developers will just stick to that, at least until the existing WP7 user base becomes irrelevant, and that might take a while to happen.

  • User profile image
    Bass

    I don't want this to turn into a Linux vs Windows war (although it's been a long time since that has happened in Channel9).. but I was talking about hardware platform support.

    Linux is designed to be extremely modular at build time, if you ever build your own Linux kernel you literately go through a menu of options on what you want to include in it. Last time I played with this, I remember seeing weird stuff like "HAM Radio Support". Smiley

    So you can build a version of Linux that plays nicely on a router with a sub-100Mhz processor and 1 MB of Flash. You don't even have to built multi-user support or networking, that's a build option. You can also build versions of Linux that run very well on big iron POWER7 supercomputers, with kernel-level support for their unique architecture. But in the end of the day, it's the same unified codebase.

    Linux was just designed like this from early on. So it makes a good OS for unique applications. Obviously phone is not as unique, but Linux has been on phones for a very long time as well, definitely predating Android. So the work to get Linux to work on phones has already been done. Google got to use that engineering without having to produce their own kernel. In fact, Google engineers mostly got to play with the fairly simple Java programming language to build most of Android. The architecture of Android is the closest thing to a "managed" OS that exists in production, the holy grail of some ideas. There is a small userspace that is unmanaged but almost all the apps, the shell, etc. are all written in Java.

    So they were able to put out an OS much faster than Microsoft did. And ultimately I think this is why Android is winning (or already won).

    Linux implements the POSIX API to a great degree. So does Windows, at least the networking side of things which is a HUGE part of the POSIX API. I often stumble on MSDN pages when I do low level programming on Linux. These pages have helped me (ironically?).

    But Linux is not an UNIX operating system, it just happens to have good compatibility with traditional UNIX (generally speaking, better than Windows).

    This is a common misunderstanding about Linux. Apple Mac OS X however, is a true UNIX. I'm not sure about iOS, but I doubt it.

    Also the kernel design is not what makes UNIX. UNIX is an interface at this point, that is, an API. What makes something UNIX is official conformance to this API. All Mac OS X would need to do to "not be UNIX" is move some of their files around and maybe rename a function or two. Nothing in the design makes UNIX.

    The so called monolithic design used by Linux is pretty standard in many operating systems.. even Mac OS X which uses Mach actually modified it considerably and their new kernel is called XNU. I do not think XNU qualifies as a microkernel. WinNT certainly does not qualify as a microkernel. The microkernel vs monolithic design is an old debate and I don't think it's really accepted that microkernels are simply better, they have their own problems related to performance and maintainability.

  • User profile image
    magicalclick

    @figuerres:

    I don't believe WP7 is practice run, thus, I value WP7 and its kernel a lot more than others. If it is really just a practice run, I fear I need to switch to a company that is more serious about their offerings. If MS is not serious about their product, why should I? Of course, I support WP7 right now because I refuse to believe such practice run crap. If i am indeed wrong, yeah i need to wake up and start looking for serious companies.

    What i dislike about the whole thing is, W8 is not out yet. WP7 is also very very young. It would be like switching to nt at win 98 release. Not my thing.

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

    , Bass wrote

    The so called monolithic design used by Linux is pretty standard in many operating systems.. even Mac OS X which uses Mach actually modified it considerably and their new kernel is called XNU. I do not think XNU qualifies as a microkernel. WinNT certainly does not qualify as a microkernel. The microkernel vs monolithic design is an old debate and I don't think it's really accepted that microkernels are simply better, they have their own problems related to performance and maintainability.

    The whole microkernel versus monolithic is a completely false debate though - because the terms microkernel and monolithic are not standardized, and whether something is modular fundamentally doesn't make any difference to speed, security, quality, or even extensibility (Linux and Windows both allow you to write drivers, but both are called monolithic) or anything else.

    It seems to me that the only people who even use such terms are usually trying to justify why they like one thing rather than another without using real arguments, for instance "your OS isn't as good as my OS because mine is a microkernel but yours is monolithic".

    It's like trying to argue the quality of the OS based on how good you think the desktop wallpaper is.

  • User profile image
    JoshRoss

    I do not care if the cat is black or white, what matters is it catches mice. Mango has four things going for it that ICS does not; serious battery life, consistently responsive UI, a predicable mobile browser, and a terrifically organized API. None of those properties have a strong dependency on the underling kernel design.

    When I had my Windows7 phone, it never crashed. My Android phone, on the other hand, crashed all the time. Although I enjoy using my iPhone, the kernel really sucks at memory management. If there is anything that a kernel should be responsible for, it would be that-- And when I say sucks, I'm talking from my perspective as a developer, not as a consumer.

    -Josh

  • User profile image
    evildictait​or

    , JoshRoss wrote

    Although I enjoy using my iPhone, the kernel really sucks at memory management. If there is anything that a kernel should be responsible for, it would be that-- And when I say sucks, I'm talking from my perspective as a developer, not as a consumer.

    How so?

  • User profile image
    DeathBy​VisualStudio

    , AndyC wrote

    *snip*

    That really makes no sense. If what you were saying was true there'd be no point porting Windows to ARM at all.

    See you're not so dumb after all. Good job Andy.

  • User profile image
    evildictait​or

    , DeathByVisualStudio wrote

    *snip*

    See you're not so dumb after all. Good job Andy.

    Well that exact same argument could be used to say Linux should never have been ported to ARM, because it started on the i386. Since that is an obviously stupid thing to suggest, and since Microsoft have proved that you can run Windows on low powered ARM tablets, I'm a bit surprised that you think it's such a bad idea.

  • User profile image
    fanbaby

    , Bass wrote

    Fact is if Microsoft wants to reinvent the wheel that's their choice. But you can not say it is working for them. [...]

    Microsoft has mostly been in "reinvent the wheel" business for years. And I would say that it has worked for them for the most part, at least until I was using their tech about 12 years ago (been strictly OSS since 2000). I'll give one example. COM. Yes, the same COM that got a bad rap. If you look at the original, CORBA, you must hand it to Microsoft. They took this monstrosity, and made it accessible for mere mortals. KUDOS. Now if they only just shared...

    PS, another example is Win32 vs XWindows. Better, leaner, faster. Having said that, Win32 will be forgotten long before xlib.

  • User profile image
    fanbaby

    , AndyC wrote

    Nonsense. Linux is a reasonable implementation of a very, very dated kernel design. Even the Mach kernel in OS X is a significantly better design (which was no doubt why it formed the basis of the iPhone) and has a richer feature set. And NT is certainly more developed than either of those.

    Let's assume this is true. Then you must feel that Linux unjustly took over the world. At least both sides of the scalability range: embedded space - routers, tivo, ... - and the supercomputer space.

    The fact is that Linux, with all its shortcoming you mentioned, is just good enough.

    Your argument reminds me some benchmarks i read thet IPX is faster and better designed then TCP/IP...

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.