1. All Metro / Windows Store apps have to be distributed through the Windows Store for mass distribution - that much is true. There are good reasons for this - namely it saves you the trouble of having to write installers for three separate hardware architectures (ARM, X86, X64) and makes it comparatively low-friction to distribute your app compared to traditional desktop applications.
2. It's pretty easy to side-load applications on a one-to-one basis for developers who are running non-ARM devices; you can package an app automatically from Visual Studio with a self-install PowerShell script and installing an app is as easy as emailing someone a zip file with the app package + install script. This was how we tested apps among distributed teams internally at Microsoft and how all of the early third-party developers did it. I only did this on X64 devices so I'm not sure if there's support for X86 and I'm pretty sure ARM doesn't support this.
3. Enterprises have the ability to create their own bolt-on to the app store using Active Directory to ensure that all of their employees can get access to private, line-of-business Metro apps that they don't want exposed in the public app store.
4. Traditional desktop applications, non-Metro ones, can still be distributed the old fashioned way. My previous employer before Microsoft has no plans to put its desktop software in the Windows Store and frankly I don't think it will affect them much.
For the desktop, look at Metro as a way to have some content-focused apps and games that come to life directly on your desktop through live tiles. Don't look at them as replacements for heavy-weight, traditional desktop applications. That's not their point.
Windows isn't going to be a closed platform - if anything Metro makes Windows more accessible to a larger number of developers. Shipping a traditional desktop application is an epic pain in the ass compared to shipping a Metro-style app. Metro makes it a lot easier for most developers to sell native apps on Windows.
As long as Microsoft approves your app.
I want my politically incorrect apps, full of boobs, farts, surveillance evading tools and bomb-making instructions.
But I'd like to know, was the downvote (or votes) related to:
- Pointing out that Microsoft has gateway approval authority is old and tired.
- Using the term politically incorrect is old and tired.
- Boobs (including porn, fine art, vacation pictures etc.) should be hidden.
- Fart apps are too low brow.
- No legitimate user needs surveillance evasion tools.
- Microsoft has a social or corporate responsibility to prevent the spread of surveillance evasion tools.
- Only unsavory users need to know how to make bombs, or learn about how people make bombs to understand those people.
- Microsoft has a social or corporate responsibility to prevent the spread of information on bomb making.
- Microsoft would never disapprove an app based on anything like the above.
> For the desktop, look at Metro as a way to have some content-focused apps and games that come to life directly on your desktop through live tiles. Don't look at them as replacements for heavy-weight, traditional desktop applications. That's not their point.
I don't think Microsoft has communicated this at all. I don't think there is any definitive statement that the desktop is not being deprecated, and will continue to exist and be developed for.
Why would Microsoft set a 250+ billion dollar ecosystem on fire (third party Windows desktop software) when it's responsible for locking in all of Microsoft's enterprise customers?
Metro is for consumers.
Maybe one day they'll nuke it, but they have a long way to go.
That is a convenience of using the app store. That is not a good reason to lock out other channels. Nothing intrinsic to either option necessitates making them mutually exclusive.
No, it's not. Desktop software installation and update packaging is a solved problem. On top of it... Multitude hosting and payment processing providers to choose from, nobody puts any restrictions on whether your app aligns with store owner's overall strategy, how/whether you can process payments outside the store, better margins, etc. "Ease of discovery" is overrated: maybe store makes it easier for big partners to be more prominent, but the more it grows the more it becomes just another silo, and you still must do your own legwork to market your app, making 25-30% cut look even worse. So, yeah, Windows does take a route to become more closed platform.
1. Installers that have to cover three versions of Windows, two hardware architectures (x86, x64), and thousands of different localization permutations.
2. Deal with piracy, cracking, and malware-ified version of your own company's desktop applications.
3. UI design in C/C++ that didn't look like absolute shit. Oh, and let's go ahead and throw foreign language localization into the mix too (German words are looooooong)
4. Company-defined security policies / UAC / third party virus scanning technology that can interfere with the install process in ways you couldn't even imagine.
5. Bad images and weird registry issues caused by things that are largely out of your control, but you have to account for anyway.
The only item on that list Metro forces me to deal with (if I want to) is localization, which is 10000x easier to do in HTML5/JS or C#/XAML than it ever was in C.
If all of those things seem simple to you, I'm calling bullshit.
If I roll my own protection, I can make changes quickly. If I rely on store owner I need to deal with their priorities when they're approaching solution of their cracked scheme (backwards compatibility and minimal effect on store).
I started with ASProtect, but eventually decided that people who download my software off of warez websites are not my customers anyway and replaced it with a brain-dead serial number verification, which I could bin-patch even myself.
3: Desktop application != C++ application. C#/WinForms, C#/WPF are desktop applications as well. But yeah, developing decent UI in MFC is quite a bit of pain. Although, you could take some shortcuts with implementing UI with HTML/js, loading them from resources. I did that once, it is possible. Localization is a solved problem for both native and .NET.
4: So? Company policies and UAC doesn't go anywhere with Store. Antiviruses - yeah, those are more painful for regular software.
5: Applies to Store too. If something is wrong with customer's PC, it will be wrong regardless of your path of distribution.
Look, software is never simple (unless we're talking about fart apps), but the Store is not some kind of unicorn that alleviates all problems. Yes, certain things will be simpler, but usually the bigger problem is marketing and promotion and for its costs and risks of rejections/removals Store just not worth it.
Working with Apple and therefore being forced to go through the public store for everything creates more problems than it solves.
If I have to go through Microsoft to get a Metro app onto Windows, then at the very least...the platform is partially closed.
Besides that, I think that many, many people already consider Windows a closed platform (I certainly do), so I guess it depends on your definition of "closed".
Having said that, let me do my best to try to address some concerns you might have.
1. The Windows Store is really transparent about why your app failed certification - first time our app failed it was because we forgot to attach some art assets (icons) to our app. This is the way it was with the Windows Phone marketplace too - when some of the startups I worked with had apps fail for more content-related reasons, it was always followed with an explanation as to what (1) region-specific content restriction was the source of the issue [don't submit apps with maps of disputed territories to China or fashion apps to countries with Sharia law] and (2) were reponsive when asked follow-up questions. This isn't the Apple store - Microsoft has a much higher investment in its relationships with developers.
2. The Windows Store terms of service are reasonable / understandable by human beings, and they give you the automated tool they use for checking for bugs / permissions issues (i.e. if you make calls to the location service, you have to make that explicit in your app manifest so the end-user is aware of it) so you can run it yourself before submitting.
3. Turnaround time is pretty fast now - our app got approved after we re-submitted within about 8 hours. It'll slow down more once the volume of submissions goes up.
Overall, I think it's a lot easier and cheaper to both develop and distribute a Metro app that looks good, works well, and is easily accessible to a large market. You don't have to invent your own distribution channel, and the development experience is much easier and gives you better-looking results right out of the box.
I simply stated that if you must go through a third party to get your apps to the consumer, then that platform (or at least that part of it) is "closed". You responded with the value proposition, but I'll be glad to address that below.
I understand the value of Microsoft's offering and I'm simply not interested on principle...and I'm speaking as a hard-core Windows user. I love Windows, I think it's far better than the alternatives, but the reason I like it is because I get the right mix of quality and flexibility (read: freedom).
I'll be damned if Microsoft is going to force me into using only their store to buy and sell Metro apps. The only way I'll ever use Metro or develop for it is if Microsoft opens up the channel for alternative stores and side-loading. Barring that, I may use it begrudgingly if someone jail-breaks it and develops a store like Cydia.
Honestly, I'm sure the Windows Store is going to be great and all, but that's not my concern. I will not participate in a captive market.
But of course it's only speculation at this point.
Sure people will still jailbreak stuff in the future, but making jailbreaking illegal is just one bill away. If you remember, that almost happened about 2 years ago, but fortunately a lot of people protested against it that time.
I didn't realize iOS was open source! Where can I get the source?
Oh really? http://source.android.com/source/downloading.html
I don't see any difference between Google code-dumping (because that's all they do) "releases" of Android and iD Software open-sourcing old versions of idTech. iD is just more honest about it.
Calling Google dishonest for making the latest released version of Android available seems disingenuous, at best.
If you'll look at a few recent commits in the Android code-review system, you'll see quite a few non-Google email addresses: https://android-review.googlesource.com/
Platform openness is really important, too. It means that people can write and share applications that the platform developer may not approve of - benchmarks, secure network code, games with controversial content - the list goes on.
That isn't to claim that an open source platform isn't a good thing. But open closed-source platforms have been a huge boon to the world since the dawn of computing, while closed closed-source platforms are problematic.
What do you think about the prospect of Gecko?
Sounds like a lot of negatives for Apple and few positives. Makes more sense to make it difficult for common users to do the things they don't want them to do.
Let me make my point clearer: I was talking about the ability of downloading and installing apps freely from the internet. What I meant was a closed ecosystem where you can only use approved apps from the app store without the ability to install apps from third partys.
That does not mean that you can't use the terminal or XCode (if those are approved apps), or get a "developer license" to "unlock" your Mac.
Note, I say this as a MBP + iPhone owner. It's just hard to think Apple wouldn't do to OSX what they have on iOS if they think they can get away with it.
That's why you test - so you know whether or not something works. Additionally, there are significantly more important factors to consider than whether or a particular OS runs your application.
Testing is fine and dandy, and breaks are acceptable in some circles, but in mission critical situations you can't be as frivolous.
Your last sentence doesn't really make any sense. If you're testing thoroughly you shouldn't run into any issues that are completely breaking.
Where did you get this idea from?
The Desktop is here to stay, because it's the only way to run real applications that need a bit more than touch gestures.
Let me help you out...
Metro -> For Consumers (silly games, twitter, browsing internet, and buying shit)
Desktop -> For Producers (VS.NET, Office, dev and server stuff, real applications, etc)
Windows 8 basically is one OS for both Tablets and PCs. That's all there is to it.
- They foist the Metro UI on you by starting your "desktop" OS directly to that new UI as if to say "not only is this new UI not going away, but we're going to force you to look at it."
- It's all they can talk about, within the realm of UI tech.
- When Microsoft finds a new thing to talk about, they stop talking about the old things and the old things simply die off or at the very least, receive very little new development.
So, the idea that Windows 8 only contains the desktop to give developers time to convert their apps to work on metro may not be very far from the truth.
Same thing will happen with the desktop. Today on the Metro start screen the desktop has a first-row tile but I imagine eventually it will have no tile and you'll have to search for it. Effectively making it not exist for the common user.
But Microsoft is still investing a lot of money in desktop software. Not user-facing software. But much of their code assumes more capabilities than what WinRT allows. All of the developer tools, for example. Think about a memory diagnostic tools, that is of course impossible in WinRT. Powershell is impossible in WinRT.
DOS isn't a command prompt its an operating system. DOS wasn't 'hidden away' its gone. Windows 3.1 was really just a GUI running on top of MS-DOS. 95, 98, and ME used MS-DOS as a bootloader to get windows running, basically flipping the CPU into protected mode then handing it over to windows. The WinNT family wasn't built on top of DOS at all but rather has a standalone kernal. DOS programs were only supported by a virtual machine (and aren't supported at all in 64bit windows, DOS is completely gone there).
I don't see much connection at all between DOS and Metro, Metro is just a UI.
They took all of it away. (thankfully, it was a complete mess).
> Even the default Visual Studio project is a command line program (last time I checked).
'DOS' and 'command line' are not the same thing, at all, not even remotely.
Your literally comparing trading one UI for another to trading one UI for an OS. That makes no sense at all.
Open up cmd.exe. Now run "edit". That's a 16-bit DOS program. You won't be able to find it in the Windows task manager - it's 'inside' ntvdm.exe.
More: run COMMAND.COM (not cmd.exe). You're now running the DOS command line, instead of cmd.exe's Win32 command line. It patches over some features, but not others, using the DOS Long File Name API. So "DIR" will list long file names, but you can't "cd \windows\serviceprofiles". You can "cd \windows\servic~1".
What you seem to continue to not understand is that this functionality is not provided by DOS. Its provided by a command line interpreter. In windows this is cmd.exe which _is not_ DOS. It shares some syntax with the MS-DOS command line interpreter which is command.com but there are also differences in the same way there are differences between zsh and bash. For comparison I wouldn't call 'bash' 'linux' as that makes no sense. Bash after all, can run on a number of operating systems. To make an analogy to what your saying, when I open iTerm+bash on a Mac I guess I should say 'opening linux' which is obviously wrong. Before you say cmd.exe is only a DOS thing, its not it was also used in OS/2 as the default command line interpreter.
As for the functionality (I assume to mean at this point: a command line interface) being deprecated. In fact MS has been pushing PowerShell strongly as its new command line interface. You don't generally create new and improved versions of deprecated functionality.
If you want to make an argument for the reduced usage of the command line, fine. But, there is no mention of DOS needed to make that argument.
My point is, was always, that the functionality of the dos command prompt, the very API, was not abandoned, and exists even to this day. Here are a list of Windows commands: http://ss64.com/nt/ Most of these were taken from, and have the exact same API as the old dos commands.
What I was saying -- and I don't understand how this isn't clear -- is that the functionality the desktop provides, like the functionality the dos prompt provided, will not be abandoned going forward (as some others believe it will).
You seem to be the one confused here, as you stated that Metro for Desktop is an exchange of UIs, but that is not the case, the runtime is entirely different. There is a whole set of functionality not possible on WinRT. For example, one cannot write a memory profiler like this in Metro: http://memprofiler.com/. If it were merely a UI swap that would be possible and your comments would be correct.
My point is that things like memory profilers will continue to be useful on Windows and that... just as they did with the transition away from dos, Microsoft will continue to provide a way for those things to happen. It might not be binary compatible with all existing Win32 programs, but it will exist, and it will not be Metro.
The majority of that list are applications provided by the standard installation. Those commands are not features of the command line interpreter. A comparison to other OSs would be BusyBox, GNU coreutils, OSX command line developer tools, etc. As for the API remaining stable, not really, here is a comparison: http://www.robvanderwoude.com/batchcommands.php
> There is a whole set of functionality not possible on WinRT. For example, one cannot write a memory profiler like this in Metro: http://memprofiler.com/.
You can actually, it just wouldn't pass MS's review process and make it into the app store. That isn't a software change its a policy change.
> It might not be binary compatible with all existing Win32 programs, but it will exist, and it will not be Metro.
It would be binary compatible (assuming compilation for the same architecture). The executable format hasn't changed, they are just in-acting policies regarding what API's can be used via their app store review procedure just like apple does in its app store. Note that this is not the case between DOS programs and win32 programs, there is a complete binary compatibility break there.
Or to put it another way, don't expect Microsoft to change the dogfood's dog food's to something they cannot eat. As a corollary, Windows 8 applications and RT devices will be suitable for the sorts of corporate tasks non-programmers at Microsoft perform in the course of their work.
The golden age of Windows shareware and ISVs is coming to the end.
Or we will use Windows 7 for 20 years as we did with XP for 10 years from its release date.
With Steam coming out on Linux and shockingly even Apple having a more coherent idea about system security, I don't see a lot of reason to deal with Windows' legacy bullcrap anymore.
It's actually kind of the other way around, desktop apps can mess around with much more on the system than Metro apps can, except for some new APIs.
> shockingly even Apple having a more coherent idea about system security
How so? What has system security to do with this? If anything, malware authors will have trouble running their malware on Windows RT tablets and in Metro.
This may be true but the majority of Windows 8 users are probably going to want to use the new Metro interface. I've only being using the OS for a month and it already annoys me to have to switch to the old desktop interface. Preventing apps not distributed through the store access the new interface isn't right. Customers will want it and developers will have little choice. Either piss off customers or give Microsoft a cut of your sales and distribute through them.
If you reading this post on an IPad or your iphone or your mac book pro, you have already voted on the closed platform and how much you love it with your wallet. So get over it.
I'm not saying that Apple won't go down this route for Mac at some point. But they have gone there yet.
The appropriate response would be to point out that the time for change is here, and you pretty much have to start voting the other way if you're opposed to this direction.
MBP are not closed exactly but they have the same model that everyone is bitching about for windows.
Honestly, I can't see Windows 8 being anything but a colossal failure on the desktop, ala Vista. Everyone on the planet seems to be telling Microsoft to have two OS versions, one for mobile and one for desktop, but they are not listening. I would be seriously worried if I was a Microsoft investor, and I say that as a guy who's built primarily C# apps for the last five years.
Also, it seems pretty clear to me that Win 7 is going to stick around for a long time, perhaps even longer than XP. That'll likely be the go-to OS for techies and people building desktops down the line.
The real test of Windows 8 will be on devices like the Surface Pro and other x86 tablets about to enter the market. Instead of being designed and used mostly as a consumption device like the iPad and Android tablets, you can run the full Visual Studio or Eclipse on them anywhere you go.
Microsoft hopes to leverage the sales of those and other touchscreen ultrabooks, laptops into apps and support for Windows RT.
If they made Metro run only on Windows RT tablets, it risks suffering the same fate as Windows Phone, a very nice platform with little uptake because of user and developer mindshare consumed by the iPad and Android tablets. From that perspective, Windows 8 make a lot of sense.
I'm genuinely surprised at some of the things people haven't quite grasped about Windows 8. To put it simply:
Windows 8 is the same as Windows 7 but it has a new interface layer (Metro) which replaces the start menu and adds an app store for Metro and normal apps. Everything you did in Windows 7 is just the same bar the start button.
Now all the vendors gave the opportunity to Microsoft to be more close. Now all behave like monopolies.
Didn't we have long discussions on Hacker News about this very same topic from a year?
Article from a year ago:
As to why they're doing it, it's simple. They want Metro to avoid headlines like these:
Windows Store is a bit more open on things like in-app purchases(third party payment systems allowed) and developer cut(only 25% above 25K).
Are we reading the same article here? That article explicitly states that Windows 8 Metro apps will be Store only. I hate to quote half the article but here it is:
>However, the company is creating a separate sets of rules for its “Metro-style” apps — apps that are optimized for touch screen devices but able to run on any Windows 8 machine.
>Microsoft is restricting the general distribution of Metro tablet apps — meaning all Metro apps must be downloaded through the new Windows Store. The only ones who get a pass on this restriction are developers and enterprise customers.
>The distribution of traditional desktop applications will remain the same, according to Microsoft.
>The move to force distribution of Metro apps through the Windows store is similar to Apple’s treatment of iPhone and iPad apps
Where is Windows RT or ARM even mentioned here?
>Microsoft is not doing this out of concern for the safety of their customers but rather to increase their own profits and control. But for PR and anti-trust-avoidance purposes, they will sell the loss of freedom as an increase in safety. It's the same bogus argument that overreaching governments use.
Citation needed. Anyway, this argument has gone moot in the discussions over the iOS app store. The bird has already flown and Apple can't keep its iOS devices in stock. That argument is a day late and a dollar short.
It's easy to read "tablet" and "mobile" in this context as "Windows RT" especially given the up-front comparison to iOS.
Sorry, I don't have any smoking gun emails from Ballmer, just years of observation and common sense. If you want to attribute Microsoft's motives to pure altruism you're free to do so.
No, I was just wondering if a store or OS can be kept free of malware etc. without needing all those certification rules and fees.