Coffeehouse Thread

41 posts

windows 8 sold 60 millions up today.

Back to Forum: Coffeehouse
  • BitFlipper

    , Dr Herbie wrote

    @evildictaitor: Got for my phone a year or so ago and I'm sad to say I'm all Ninja'd out! (Friction burns on finger tips means you've played too much Fruit Ninja).

    Herbie

    If you have a Lumia 920 you can always use a real knife and prevent those friction burns. Don't try on an iPhone 5 though.

  • DeathBy​VisualStudio

    , wkempf wrote

    *snip*

    No one claimed 60 million licenses mean 60 million users. But when this figure is comparable to the Win7 figures you DO have a very good indication of how well it's selling, because the Win7 figures had all the same variables.

    I think Bas (below) makes an excellent point. There is one variable that differentiates W8 variables from W7; lots and lots of advertising. Either the advertising isn't working and thus a non-sequitur OR the advertising is working as a crutch to keep W8 even with W7 sales the latter which sold more on the reputations and merits of the product.

    , Bas wrote

    *snip*

    I have seen Microsoft advertising the hell out of all kinds of W8 device brands.

  • SteveRichter

    , JoshRoss wrote

    *snip*

    Like Windows 7? Nothing competes with Windows better than Windows.

    well, I am thinking about an OS based on managed code. Really strong siloing of apps so no such thing as a virus.  Much better problem determination features, where I can freeze the system and examine in depth what a process is doing.  My superior OS would be well documented with a lot of sample code for every interface.  I am sure W8 is better, but W7 is very slow to start. You have to do better at that.  The windows shell, at least from a programmer's perspective could be a lot better. Copy/paste between apps is so useful, you have to be able to do a lot more with that. IE could be much better - save everything I browse to, enable me to skip advertisements in videos. Favorites are nice, but do you really need superior hierarchical organizational skills to know how to store a favorite so you can find it at a later time?

  • evildictait​or

    , SteveRichter wrote

    well, I am thinking about an OS based on managed code.

     

    Look up Singularity or Cosmos. But be aware that managed code != no security vulnerabilities (look at the huge raft of security issues Java or Android apps has had for instance)

    Really strong siloing of apps so no such thing as a virus.

    PHP is entirely managed and is "isolated", and yet PHP websites get hacked all the time, leading to the customer data being stolen.

    Much better problem determination features, where I can freeze the system and examine in depth what a process is doing. 

     

    WinDbg does this already for Windows

    My superior OS would be well documented with a lot of sample code for every interface.

    Better documented than MSDN? Really!?

    [quote[

    I am sure W8 is better, but W7 is very slow to start. You have to do better at that.

    [/quote]

    They did. Win8.

    The windows shell, at least from a programmer's perspective could be a lot better.

    ??

    Copy/paste between apps is so useful, you have to be able to do a lot more with that.

     

    Copy paste between apps is already pretty powerful via the OLE clipboard. What would you like it to do that you can't get it to do currently?

    IE could be much better - save everything I browse to, enable me to skip advertisements in videos. Favorites are nice, but do you really need superior hierarchical organizational skills to know how to store a favorite so you can find it at a later time?

    That's not programming language specific. That's a design/UX issue.

  • elmer

    , wkempf wrote

    *snip*

    No one claimed 60 million licenses mean 60 million users. But when this figure is comparable to the Win7 figures you DO have a very good indication of how well it's selling, because the Win7 figures had all the same variables.

    What I am saying is that the figures claimed by MS don't tell you much that's useful.

    MS shipping stuff doesn't tell you if the product is selling or if it's sitting in OEM warehouses listening to crickets.

    60M licenses sold and minimal stock at OEMs would be a good result.

    60M licenses sold and most still in stock at OEMs... not so good.

    You need to know the second half of the equation to get the full picture, and OEMs are claiming it's not happening.

  • SteveRichter

    , evildictait​or wrote

    *snip*

    Look up Singularity or Cosmos. But be aware that managed code != no security vulnerabilities (look at the huge raft of security issues Java or Android apps has had for instance)

     

    I should not say managed code since it does not imply what I am thinking. More just a higher order framework that includes garbage collection and goes a long way in enabling the programmer to get the end result to the user. Like in C# and .NET the programmer is multiple times more productive than with COM and C++.  The OS should have such a framework as its core.

     

  • SteveRichter

    PHP is entirely managed and is "isolated", and yet PHP websites get hacked all the time, leading to the customer data being stolen.

    well, then do a better job at it. I am not convinced you cannot have a virus free system.  for example, a system should always be talking to the OS producer, making sure that all of the binaries match what the producer installed on the system.

     

  • SteveRichter

    Copy paste between apps is already pretty powerful via the OLE clipboard. What would you like it to do that you can't get it to do currently?

    what about all of your WPF bindings being copy and pasteable between apps?  have a standard XML format for what is copied to the clipboard.

  • SteveRichter

    Better documented than MSDN? Really!?

    I have been working on and off with windows shell programming and it is a slog for me making heads or tails of the entire mess. Linking a contextmenu to a namespace extension requires using GetUIObjectOf and IQueryAssociations and passing the right contents to AssocCreateForClasses. And I still cannot figure out how copy/paste works in a NSE. Which got me looking down the trail of IContextMenuCB and the XP era CDefFolderMenu_Create2 and I have found absolutely nothing on that interface.

    In the wndows api space on MSDN it is very rare that you see sample code that illustrates the APIs.

    The windows desktop forums are not places where you can get good broad answers to a question.

  • evildictait​or

    , SteveRichter wrote

    *snip*

    I should not say managed code since it does not imply what I am thinking. More just a higher order framework that includes garbage collection and goes a long way in enabling the programmer to get the end result to the user. Like in C# and .NET the programmer is multiple times more productive than with COM and C++.  The OS should have such a framework as its core.

    To declare my hand a little bit, I used to run a research group that actually made an OS based entirely in C#. There are a whole myriad of problems that it entails.

    Firstly - the real stalling point for OSes (and the reason why writing new ones is hard) is mainly because of the hardware being awkward and needing to constantly do things that C# simply isn't very good at doing (like interrupt routines). This means that you do get to write your OS in C# for the most part, but you end up needing to write large numbers of support routines in x86/x64 anyway, and suddenly you've got lots of extra things that can go wrong - like the calling convention between your ASM routines and your C# routines, or if you screw up the compilation or misalign the stack because your C# compiler isn't quite up to scratch.

    Secondly, the OS has nothing beneath it. That means that on entry to your OS, you cannot do anything that might indirectly require a subsystem you haven't initialized yet (like the heap). In fact - the biggest problem time and time again is how to create a subsystem that is dependent on itself (the filesystem has an MFT that contains all of the files, that is itself a file. The virtual memory manager needs memory. The root object type is itself a object type. The heap needs to allocate memory to store heap data etc). Programming it in a managed language tends to make these problems harder, not easier.

    The third big problem is that when a new OS goes wrong it is a FPITA to debug. You screw up the VM tables and the processor will just reset. You accidentally allocate two physical pages out to different people because of a race condition? The OS will crash and burn. You screw up your scheduler and you'll be unable to do anything at all.

    And the final big problem is that the OS is utterly speed critical in a way that nothing else in the system really is. A 5% drop in speed in your heap allocator is a 5% drop in speed of your whole OS. Allocating an extra object during a timer tick adds up fast into an unusable system.

    In my experience (as someone who's written several experimental OS kernels in C# and in C) it's that after a while you realize that you're not programming C# like how you'd program C# in normal programs, because you're constantly writing your C# how you'd write C. You have to return status codes everywhere instead of using exceptions (because exceptions require the heap to be initialized , you have to be cautious about where you allocate memory - so you tend to avoid the new keyword. You spend your whole time in and out of assembler listings to see if your C# program might be emitting instructions that it shouldn't be or if there are optimisations it should be taking that it isn't (like is your function straddling a page boundary?).

    Even when you have a heap you end up having to explicitly new and delete everything because no garbage collector exists for free - and shuffling memory around that is referenced by machine registers is a quick way to crash the system.

    And when you get further into the OS, you start realizing that the choice of C# is starting to impact on other areas of the system; for example, you can't page out parts of the kernel if it's written in C# in the same way that you can if it's written in C, because C# doesn't have sections (and enumerating attributes and putting them into manual sections is just more work that you don't need right now).

    What I'm really trying to get to is that if you are facing the problem of how to write an Operating System and someone says "hey - let's build it in language X" (where X is not raw ANSI C or hand-written assembler) then congratulations, now you have two problems.

    It's easier to write an OS in C that feels like C# than to write it in C# that feels like C. And it's impossible to write it in C# that looks like C#.

  • evildictait​or

    , SteveRichter wrote

    *snip*

    well, then do a better job at it. I am not convinced you cannot have a virus free system.  for example, a system should always be talking to the OS producer, making sure that all of the binaries match what the producer installed on the system.

    Viruses don't require a binary to run. They just require control of execution. The iPhone since iOS 2, for example, does exactly what you say, but even more so. Every page of executable code in memory must be digitally signed back to Apple (and dynamic code and JITs are verboten). And yet iPhone jailbreaks are not hard to come by, allowing people to run code that Apple didn't sign. (If you think that code != data, then I suggest you read up on ROP/ret-to-lib-c attacks, and if you think that your OS will verify all data, then you will have a very limited OS).

    Also, writing security-bug free code is hard. The following, for example is a critical (i.e. an RCE) security bug if an attacker can control the data in either buffer:

    HRESULT mergeBuffers(
      __in const void* buf1,
      __in DWORD cbBuf1,
      __in const void* buf2,
      __in DWORD cbBuf2,
      __out void** result,
      __out DWORD* cbResult)
    {
      DWORD cbTotalSize;
      void* tmp;

      *cbResult = 0;
      *result = NULL;

      cbTotalSize = cbBuf1 + cbBuf2;
      tmp = malloc(cbTotalSize);
      if(tmp == NULL)
        return E_OUTOFMEMORY;
      memcpy(tmp, buf1, cbBuf1):
      memcpy( ((char*)tmp) + cbBuf1, buf2, cbBuf2);

      *result = tmp;
      *cbResult = cbTotalSize;
      return S_OK;
    }

    Even in non-native languages, writing secure code is hard. That's why it's possible to persuade so many websites to give you their inner-most secrets by just providing them with malformed data. A SQL injection, for example is a case-in-point where a managed language runs attacker controlled code without ever first requiring a "virus" to be installed on the website.

  • evildictait​or

    , SteveRichter wrote

    what about all of your WPF bindings being copy and pasteable between apps?  have a standard XML format for what is copied to the clipboard.

    You can already do this with the OLE clipboard. That's why you're able to copy a graph from Excel into Word and for it to automatically still be a fully working graph when it reaches the Word document.

  • Bas

    , DeathBy​VisualStudio wrote

    *snip*

    I think Bas (below) makes an excellent point. There is one variable that differentiates W8 variables from W7; lots and lots of advertising. *snip*

    Nonsense, as usual. There was a crapton of W7 advertising as well. Hell, they even gave it away over here in a town with a name that had "Seven" in it.

  • Lizard​Rumsfeld

    , Bas wrote

    *snip*

    Nonsense, as usual. There was a crapton of W7 advertising as well. Hell, they even gave it away over here in a town with a name that had "Seven" in it.

    Perhaps he's referring to advertising inside the OS? Smiley

     

  • MasterPi

    Windows 7 also had mostly positive reviews because it was easy to compare it to Vista and only say good things about it.

  • Lizard​Rumsfeld

    Ahem...

    http://arstechnica.com/business/2013/01/pc-sales-drop-in-fourth-quarter-of-2012-for-the-first-time-in-five-years/

    Call it a point for the people who argue we're moving into a "post-PC world:" new data from analysis firm IDC shows the fourth quarter of 2012 "marked the first time in more than five years that the PC market has seen a year-on-year decline during the holiday season."

    IDC reported Thursday that despite the launch of Windows 8, worldwide PC shipments hit nearly 90 million units. That's 6.4 percent lower than what they were at the same time in 2011.

    "Although the third quarter was focused on the clearing of Windows 7 inventory, preliminary research indicates the clearance did not significantly boost the uptake of Windows 8 systems in Q4," said Jay Chou, senior research analyst with IDC's Worldwide Quarterly PC Tracker, in a statement.

    "Lost in the shuffle to promote a touch-centric PC, vendors have not forcefully stressed other features that promote a more secure, reliable, and efficient user experience. As Windows 8 matures, and other corresponding variables such as Ultrabook pricing continue to drop, hopefully the PC market can see a reset in both messaging and demand in 2013."

    Regardless of whether MS is shipping relative to Win7 the same amount of licenses, it doesn't appear that those shipments are actually translating into consumers hands at this point.

     

  • cbae

    , NitzWalsh wrote

    Ahem...

    http://arstechnica.com/business/2013/01/pc-sales-drop-in-fourth-quarter-of-2012-for-the-first-time-in-five-years/

    *snip*

    Regardless of whether MS is shipping relative to Win7 the same amount of licenses, it doesn't appear that those shipments are actually translating into consumers hands at this point.

    Yeah, because 90 million units sold means that zero got into consumer hands. *rolls eyes*

  • ScottWelker

    Anecdotally, two of my sons have W8 and no complaints. I haven't even been asked for help Smiley

    One bought it bundled with a laptop. The other upgraded his notebook based on his brother's experience. They like it and they've had nothing but a positive experience - for what anecdotes are worth.

    I'm inching closer to giving it a try but it hasn't infiltrated my work world. However, I'm beginning to get that "Oh no! I better get up-to-speed" feeling Big Smile

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.