9 ms·
What I would do if I was in charge of Windows 8 - Miguel de Icaza
- KevBurnsJr 16y agoI truly disagree with just about every assertion in those slides. I use Windows because I feel in control. I really don't like it when Microsoft decides to add a feature on the assumption that I'm an idiot.
- pbz 16y agoThat's why it would need to be something new. Right now we have the "big pool" where you can have as much fun as you want, but you can also drown and there aren't lifeguards to help you out. What we also need is a "kiddie pool" where the water is shallow and safe. I don't think he's advocating for replacing the big pool with the kiddie pool. He just wants this AppStore that would allow regular folks to install / uninstall apps without the fear of messing up their system. A rewrite of the OS to prevent apps from doing what they want would break a ton of existing app -- that just won't fly. But, a "new type" of app, something that's safe and you install from the AppStore...
- code_duck 16y agoYou use Windows because you feel in control? That's odd. I describe using Windows as feeling like I'm locked in a padded room with a start button.
- deleted 16y ago[deleted]
- wvenable 16y agoWindows is currently all things to all people. But that assumes that all users have the same needs and they don't. Most users struggle daily with stuff that we take completely for granted. I too hate it when Microsoft adds a feature that assumes I'm an idiot. Every time I install Windows I have to go through the configuration dance to get it to "power user" settings. By default, it's not setup for you or me. It's not really setup for the average user either -- it's somewhere in the middle.
- loewenskind 16y agoExactly. Every new windows system takes me about 2 days to set up. Every default seems to be wrong, so I spend so much time rediscovering how to change it again. On Mac I'm set up in an hour or two. Either the default is right, quick to change, or too much trouble to change to be worth the bother.
- rbanffy 16y agoNot to be the Linux fanboy, but with Ubuntu, I am usually set up in 20 minutes and up-to-date in 30, if the bandwidth is nice. I am considering building a metapackage just for me, rbanffy-desktop, to set up eveything on my box automagically upon invoking "aptitude install rbanffy-desktop" (or selecting it from the GUI installer). That way I would be up and running before I am back from lunch. Maybe I will need two, rbanffy-repos to set up 3rd party repos (VirtualBox, Skype, Google, PPAs) and one to do the heavy-lifting. Sounds like a good fun project.
- loewenskind 16y agoReally? For me Linux takes days. Longer than Windows. Given that it's much more customizable than the other two I spend a lot of time setting up everything how I want.
- rbanffy 16y agoYou can tweak it for years if you want, but that doesn't mean you can't start working after a couple minutes. The point is a Windows box takes a full day to set up. You can somehow reduce that by slipstreaming SPs and fixes into the install disk, but keeping track of them and merging them into an install disk is a career in itself (one I would chose crime over)
- ElbertF 16y agoWait, are you being sarcastic? Whenever I use Windows I feel like it's trying to hold my hand the whole time (you have unused icons on your desktop!) and won't let me do basic things like setting up a custom backup script or picking a different window manager.
- thewileyone 16y agoBingo! I wanted comment this exact same thing. I use Windows because I want to control what I do, not let someone else control things, like I have with my iPad and iPhone. If the future of Windows in a controlled environment like iOS4.0, then my future leads to making Ubuntu my primary boot segment.
- potatolicious 16y agoSelf-contained installations are an absolute critical must in the evolution of Windows. It's downright embarrassing how installing even a simple app will spray files all over your filesystem diarrhea-style, making it impossible to remove (sometimes even by using the uninstaller!) So far Apple hasn't really enforced the app-container design pattern very strictly, though I think they ought. Adobe is the most egregious violator of this - they spew files all over the MacOS filesystem and require their proprietary installer to do anything to the app. On top of this idea is the necessity to remove the registry altogether.
- ben_straub 16y agoFor good or bad, Microsoft has committed to backwards compatibility. That means that all the techniques that work for installing apps now will work until Windows 7 is no longer supported. My team has put a lot of effort into making our install more contained, but certain things still need to go in system locations. Registering a handler for a file extension means writing to the registry, as does (ironically) registering for visibility in the Add/Remove Programs UI. I'm certainly jealous of the bundle system on OS X, but it doesn't solve everything. Device drivers still need to associate hardware devices with a handler, which we have to run code for on OS X.
- RyanMcGreal 16y ago>For good or bad, Microsoft has committed to backwards compatibility. I wonder if they couldn't get around this by breaking compatibility on a new OS version and then running something akin to Wine to run apps for older OS versions.
- gvb 16y agoThey do. Sorta. It is called "Windows XP Mode" (XPM), but it has some fairly significant limitations: it is only available to Windows 7 Professional, Enterprise, and Ultimate editions. It also suffers from the overhead limitations of VMs - for instance, the video "card" is emulated so video-intensive programs suffer. http://en.wikipedia.org/wiki/Windows_Virtual_PC#Windows_XP_Mode http://en.wikipedia.org/wiki/Windows_Virtual_PC#Windows_XP_M...
- ben_straub 16y agoGranted this isn't an issue for most mainstream users, but this would put my company (Wacom) out of business. Not all input devices are keyboards or mice; not all applications can get by with only network and limited disk access. Not all computers are iPhones and iPads.
- calcnerd256 16y agoWell, if the device were a file and the driver were allowed to request (once) unlimited access to that "file" ...
- rbanffy 16y agoSo, the solution would be to turn Windows (the heir of VMS) into Unix... Not sure if the architecture impedance mismatch would allow it.
- rbanffy 16y agoWhat would I do? I would: - change terms for OEM licensees so that they wouldn't be penalized for selling machines with other OSs or without OSs - remove limitations on hardware on licensing for netbooks, thus removing performance and specification limits that kept those machines less powerful than they could be - bundle IE 9 and pressure it into standard compliance - remove any IE-specific HTML rendering code in the user interfaces so that the user could replace the HTML rendering engine with any other engine that implemented the same, clearly defined, public interfaces - publish all interfaces for HTML rendering and JavaScript execution so that third parties would be able to provide plug-ins to replace or use those services interchangeably - publish a list of all patents Linux and other notable free software projects may infringe and work with the community on solving the issues, perhaps entering a cross-licensing agreement with the Open Invention Network and donating patents to their pool - adopt a modern file system, perhaps licencing ZFS from Sun and replacing NTFS I guess being in charge of Windows 8 would not be enough, but it could be a start.
- pavel_lishin 16y ago> - remove any IE-specific HTML rendering code in the user interfaces so that the user could replace the HTML rendering engine with any other engine that implemented the same, clearly defined, public interfaces How many Windows users do you think would do this, or even know what it means, as a percentage of the total?
- rbanffy 16y agoThe system should be completely modular. HTML rendering should be a service and any provider should be able to plug into the service infrastructure to provide it. I imagine faster engines could be easily developed by the market, provided there is the opportunity for competition. Companies could also roll-out in-house developed, specific components that would plug into the system and provide added/reduced functionality in accordance to their needs. Of course, that would sabotage the whole standard lock-in Microsoft employs to retain market share. I don't care. That's what I would do. And that's probably why Microsoft would never hire me ;-)
- dman 16y agoSandboxed installation would encourage app usage a lot, so I second the idea. Here are some others a) Microsoft seems to be the only one selling dev tools at this point. Releasing free versions of visual studio for developers would be great. b) Have something like synaptic/ports which allows developers / users to easily install apps / libraries with dependency resolution. c) Rethink their backward compatibility model. There is a business line of business that requires backward compatibility back to 1990, and theres a consumer line that doesnt care much about it. Right now the business line and the consumer line both hold each other back. eg business user - why do i need a graphics card to fully use new windows versions. d) Leverage integration between the OS and their online services. I think they can do this safely now without fear of antitrust issues now given google and apples sizes
- jra101 16y agoMicrosoft already has free versions of Visual Studio, there are Express versions for C#, C++, VB.NET, etc...
- pmjordan 16y agoMoreover, even the grown-up VS is free for many students (and cheap for the rest), and with BizSpark they have a discount for startups too. I don't think dev tools are Microsoft's problem right now.
- dman 16y agoI did know about the express versions, but in 2010 I do not want to track feature matrices for dev tools (http://www.microsoft.com/visualstudio/en-us/products http://www.microsoft.com/visualstudio/en-us/products). Some things like test driven development and source version control are not enterprise features anymore imo, theyre required. My earlier post was not clear about this, sorry about that. Developing software today typically requires downloading a framework or two, checkout out code from github, code.google.com etc. Often to start developing using a particular framework foo on ubuntu requires just "apt-get install foo", on windows it still involves 1990s style chasing of dependencies. In retrospect all the features that I ask for matter mostly to developers so there is definitely a bias in what I am saying.
- losethos 16y agoIt's called VMWare and I don't agree.
- bosch 16y agoThere's one thing that made it a hit for Apple that I'd like to see Microsoft emulate - Simplicity. If they can make it simple for the end user as well as the developer this will take off and be very useful.
- zyb09 16y agoSandboxes have some nice advantages, but I think they would need to be really careful with the implementation. Too little sandbox and they are mostly useless, too much and you end up in the Disneyland-computing that is the iPad. Besides that, one of the defining things of Windows, for better or worse, is that applications can do anything they want if they dig hard enough and there are lots of legitimate cases for that type of application.
- megablast 16y agoWould most windows users be better served if the system was more like the iPad? IT support seems to think so, and except for developers, this maybe true.
- michael_dorfman 16y agoThe relevant question is, "How much more like the iPad?" If you look at the evolution of the sandboxing on the iPhone/iPad, you'll remember that the first version didn't even offer cut-and-paste between applications, and that multi-tasking is just coming now.
- pjscott 16y agoThey can have an app store with sandboxed apps, without requiring that all apps go through the app store, with its sandboxing.
- wvenable 16y agoThe problem with Windows is that there isn't a lot of API for very important system tasks. Instead, everything is held together by convention -- a DLL copied to the system directory, a registry key, shortcut files, etc. This has made it much harder for Microsoft to adjust Windows to better handle a much more user-hostile world. It has also made the software more brittle because they simply aren't forced to follow the convention. For example, installing and uninstalling software is broken in Windows because there's no accounting by the operating system as to what was changed -- if an uninstaller is broken the user is pretty much stuck. If applications were forced to install themselves completely using a system API, then Windows could track the changes and simply undo them itself. This could be pretty low-level (it doesn't have to be MSI, for example) but if you want to write a file into the /Programs/ folder, you need to use an API that does just that. And if Microsoft decides to rename that folder again you are guaranteed that every application will continue to work. This can be equally true of setting file associations, adding desktop/startmenu icons, the notification area, and auto updators. Applications have been allowed to basically spam your computer with icons and background tasks. This doesn't necessarily need to be sandboxed out of existence but instead held behind an API that empowers the user. Mobile operating systems already do much of this by asking you at install/runtime what access an application should have and then providing a system control panel for adjusting this access after the fact. Wouldn't it be great if there was a control panel that listed every background task started by Windows with the program it belongs to, a description, and the option to turn it off?
- djacobs 16y agoThat is certainly one problem Windows has. It's also not really orthogonal (I'm looking at you, registry) and doesn't strive for simplicity or elegance like Unix/Linux tend to do. (Why the user folder is so ambiguous and mysterious before Windows 7 is beyond me.) If Eric Raymond is to be believed, another problem is that it has no unifying concept, a la Unix's "everything is a file" or Apple's "make the GUI simple and focused".
- wvenable 16y agoIf they had provided APIs for every function that is part of the registry, they could changed the implementation at will. Instead, the registry is just another file system with all the same problems. Unix also suffers from the same problem of convention over API. They do have a better convention and "everything is a file" is sort of an API onto itself but the concept is pretty much gone once you reach the level of Windowing System.
- calcnerd256 16y agoSo many of the comments are "You're describing [something that already exists", and most of them are wrong.
- WorkerBee 16y agoSilverlight out-of-browser applications. Do I win?
- csomar 16y agoThis should work well, but need lot of work from the Microsoft and other parties part: - Microsoft create a development environment as powerful as Visual Studio. You create "native" Windows applications that has full but controlled access to disk files, system resources, Internet connection... - Application are native in a way they integrate nicely in the sidebar, menu, have nice graphics and animations... - Type of these apps can be for example "Drop Box" - Microsoft build an online app store and a desktop app store app. where users can download, purchase, rate and review apps. As a user, I browse apps and select the one that fits the need. The app should blend with my Windows theme, be user friendly and fast. Considering the huge number of Windows users this can turn into a multi-billion dollar market. This will especially make decent profit for single developers.
- RyanMcGreal 16y ago>Microsoft create a development environment as powerful as Visual Studio. You create "native" Windows applications that has full but controlled access to disk files, system resources, Internet connection... Perhaps this could become a raison d'etre for Silverlight.
- cageface 16y agoThe system he describes sounds a lot like what I think web apps are going to look like in a few years. Why reinvent all this machinery for "native" apps that aren't any better for most tasks than a web app that also automatically solves the problems of backups, sharing, security, collaboration etc at the same time? Sun was absolutely right then they said the network is the computer. They just jumped the gun by about 20 years.
- gaius 16y agoI assure you that a web app doesn't automatically solve the problem of backups etc. It merely moves it to someone/somewhere else. But then, so did IBM 3270 back in the 1970s!
- extension 16y agoNative apps are dramatically better for many tasks than web apps are or will be in the foreseeable future. This is why we have the app store(s). And the problems you mention really aren't "automatically" solved by web architecture, they are just easier to solve. However, there's nothing about native apps that make those problems particularly difficult, if you're willing to use a modern platform and ditch the legacy stuff. Meanwhile, the web has already built its own substantial mountain of legacy junk.
- Splines 16y agoMicrosoft purchased SoftGrid some time ago, and you can get a SKU of Office running in this sandboxed environment: http://www.softgridblog.com/?p=130 http://www.softgridblog.com/?p=130
- 10ren 16y agoOne VMware per app would be the easiest way to fix this. Just put the whole mess in a box and forget about it. If MS is worried about people using this for servers, it's easy to add limitations at a higher level.
- jkahn 16y agoI'm really surprised that nobody has mentioned App-V yet. I guess it's because of HN's bias towards developers rather than computing infrastructure types. App-V encapsulates pretty much any Windows application. It prevents it from screwing up the system. It would be a good foundation for this app store - and it doesn't require that every app ever written is redone. It dummies out the registry and file system paths. The basics of this technology were used in Vista (and now Win7) to allow them to make major changes to filesystem structure without breaking compatibility with older apps. Microsoft bought this technology from Softricity years ago - http://www.microsoft.com/systemcenter/appv/default.mspx http://www.microsoft.com/systemcenter/appv/default.mspx. If you want to see what this could be like - look at http://spoon.net/browsers/ http://spoon.net/browsers/ if you have a Windows PC. Stream apps from the Internet to run locally in an isolated execution environment. (BTW: Spoon doesn't run on App-V, it is an alternative).
- Splines 16y agoI mentioned it elsewhere in this thread. There's a "Click-to-run" SKU of Office 2010 available running under App-V. It's (seriously) magical technology. Your application streams to you while you run it, application updates are completely transparent, and registry modifications are entirely within the App-V sandbox. There's some work that MS had to do to add hooks to allow Office 2010 to interact with the local system when necessary.
- jkahn 16y agoYeah, I'm familiar with that click to run Office 2010. I think that is the start of App-V becoming more prevalent by default in Microsoft's own applications.
- Tichy 16y agoIsn't there already sandboxing for registry stuff in Windows 7? I really haven't followed it closely but I seem to remember reading that they give fake directories and registries to applications. So they think they mess with the real thing, but they really don't.
- WorkerBee 16y agoSandboxed Execution System ... Self Contained Applications ... Limited APIs This sounds like a good description of Silverlight out-of-browser applications. I wonder why he didn't mention them.