Why you should not develop apps for Windows 10
irrlicht3d.org
irrlicht3d.org
What are they thinking? They can do better than this. Much, much better.
MS has some very talented programmers. They're not very common, but they exist. The problem is that the entire company is completely and totally focused on developing an absurd number of new features and products, giving them completely unrealistic deadlines, and then shipping software on those deadlines no matter how half-assed or buggy it is.
The idea is that everything is serviceable over the internet now, so they can just "fix it later", except they never do. This perpetuates a duct-tape culture that refuses to actually fix problems and instead rewards teams that find ways to work around them. The talented programmers are stuck working on code that, at best, has to deal with multiple badly designed frameworks from other teams, or at worst work on code that is simply scrapped. New features are prioritized over all but the most system-critical bugs, and teams are never given any time to actually focus on improving their code. The only improvements that can happen must be snuck in while implementing new features.
As far as M$ is concerned, all code is shit, and the only thing that matters is if it works well enough to be shown at a demo and shipped. Needless to say, I don't work there anymore.
I personally think near-daily updating to fix bugs that should've been discovered and fixed before actually shipping product is absurd. It's been argued that this is because systems are more complex now, but maybe we don't actually need all that complexity...
I keep using the product/service if it's stable. I have no use for a service with loads of nice features that don't work.
With 10.10 and 10.11 I had the same issue, caused by the kext from virtualbox. Removing it and installing version 5 solved everything and haven't had a kernel panic since then.
If not virtualbox, I'd look at other kext you might have there.
I really wish Microsoft had stayed the course and maintained separate desktop and mobile operating systems. Windows CE had problems, but they could have fixed that without messing with Windows.
I have a cheap Win8 tablet. It's weird. Quite slick in a lot of ways, but you can go back to the old UI and see where all the bodges are.
Mac is a much more viable choice today than in the past, and I think the Mac's slowly but steadily increasing market share has something to do with the perceived reliability and stability of the platform.
I'm only basing this off of personal experience. I have Windows at work and Mac at home.
Thankfully, OS X is cheap/free. I use OS X, Windows, and Arch literally every day of my life, both at work and home.
To be quite honest, I blame consumers for all this non-sense. No one wants to actually pay for software. I can go into this in a more nuanced fashion, but I seriously think software across the board is a good bit cheaper than it needs to be. From OS's to games and everything in between.
This is not some pedantic arm-chair econ101 argument; they are able to charge a higher price due to having OS X as part of the product, and they do.
Arch is actually for free.
That's a suspect claim. I am not saying the cost isn't accounted for, but claiming that they charge a premium simply because they have OS X is dubious at best. I don't consider OS X a selling point in any regard and I'm not sure even Apple could. Of course this is largely my opinion. I would find it kind of funny if they really considered it a selling point.
But for people who value specific software that is OSX-only or some of the features only found in OSX (like CoreAudio for music stuff) or the general interface polish and perceived stability, it doesn't matter if the Apple option costs $2000 and the other brand/build with similar core components costs $1000. If it doesn't run the platform you want/need then it doesn't matter that it's more bang for the buck.
Basically I default to Windows because for the things I do on a computer, it's got the most flexibility and options for hardware and software. Linux is missing too many applications I need/want and OSX only runs on machines that cost a good deal more while offering nothing I really need enough to justify the cost. But when I've needed or wanted to run an OSX application in the past (Final Cut Pro in my case several years ago) it just wasn't a question. The stuff I wanted to run and the hardware I needed to hook up required OSX so that's the only reason I shelled out for an Apple computer. If I could have done it without OSX I'd have saved the dough and put it into something else.
Admittedly, a good selling point for OS X is how well it handles the hardware -- the battery life is consistent and lasts long enough for my needs. I definitely use OS X more often when I'm traveling, and will relegate my development to that environment just to make sure the battery lasts.
The software ecosystem is definitely a selling point for some. I am not involved in multimedia production but I certainly can appreciate paying a premium amount to get the tools you want/need. Although whether this aspect can be fundamentally attributed to the OS or just a product of other things (audience, marketing, corporate deals, etc) is another conversation.
Good point, but I'm trying to stay completely agnostic of what Apple thinks: it's not Apple's cost that determines the price of a macbook (aside from setting a lower bound), it's what people are willing to pay.
I assume that people are willing to pay significantly more for macbooks in this universe, than in the parallel one where they have no OS. At least as much more as it costs Apple to develop it in the first place.
You are right, though, that I can hardly "claim" it :)
It's either OSX, or it's that shiny Apple logo
The problem is that Windows isn't a purely enterprise product. Although it gets little money from the end user market, it needs dominance on that market for strategic reasons. So, MS will ensure it dominates end user market, whatever it takes.
From a customer perpective, it looks like an evil spiral more and more companies tend to fall into.
Edit: wording
So much focus on "getting there quickly." A few keystrokes and a marketing page, and everyone's using "Foo.js" v0.0.1.
And then you're spending time as a developer dealing with deprecations because APis changed.
But as painful as that is, I believe we need external feedback to deliver better software. Trying a thing, seeing how it's used, and improving it is a good way to go.
It is just going to result in bad times in the short term.
Apple can't fix this until the next update, yet it's a problem in Safari. Now we have to wait till the next update to fix a pretty bad problem.
You can see this, incidentally, if you browse to Libreoffice's opengrok.
That optimism did not last long. I only stayed there as long as I did because of how much they were paying me. Referring to them as "M$" is disturbingly appropriate given that all they do is to throw huge amounts of money at problems until they go away.
After seeing what goes on inside that company, I immediately tried to move to Linux, but it just isn't practical (http://itvision.altervista.org/why.linux.is.not.ready.for.th...). At the very least, I won't be upgrading to Windows 10 until 2020.
As far as the 64/32 bit argument, it's pretty absurd. What are the benefits of going 64 bit? More memory consumption? (http://blogs.msdn.com/b/ricom/archive/2015/12/29/revisiting-...)
What types of apps are you developing in Visual Studio? It's my daily driver and crashes very rarely for me.
It always amazes me how someone can say "x sucks" and never question their own insane workflow.
why couldn't you break it out into separate solutions and reference versioned dll's?
I thought most serious users of VS had to install ReSharper on top of it?
Honestly back in VS 2010 I'd call ReSharper a core tool. In VS 2015, eww.
Just about everyone I've worked with that had daily complaints about how slow and laggy they felt Visual Studio was didn't seem to understand that ReSharper was 99% of the slow-down, excessive memory use, and UX lag...
[1] http://blogs.msdn.com/b/ricom/archive/2009/06/10/visual-stud...
My big problem with the first article was that in my experience, the extra registers available in 64-bit make all the difference in the world. In the comments for the article you posted, he says that isn't true with VS. Surprising, but I'll take his word for it.
Still, it bothers me that he keeps talking about 4 GB of code and data should be enough. VS becomes pretty unusable for me around 1.5 - 2 GB. If it worked reliably up to the 4 GB limit, I'd be happier.
- "First, from a performance perspective the pointers get larger, so data structures get larger, and the processor cache stays the same size. That basically results in a raw speed hit..."
- "The cost of a full port [due to the amount of code involved, not the quality of the code] of that much native code is going to be quite high and of course all known extensions would break and we’d basically have to create a 64 bit ecosystem pretty much like you do for drivers. Ouch."
- "A 64 bit address space for the process isn’t going to help you with page faults except in maybe indirect ways, and it will definitely hurt you in direct ways because your data is bigger...32 bit processes accrue all these benefits just as surely as 64 bit ones."
I know IntelliJ is great, and JetBrains in general rocks, but it's no contest.
Wait, what? Why is it okay if a program crashes at all?
Development environments in particular may have to crash sometimes in order to prevent the user from wrecking everything else on the system.
Less said about the old-fashioned WebForms GUI, the better...
VS2015 hasn't locked up on me in a couple of days. ;-)
Even with locking up once or twice a week, it's pretty awesome.
When we shared the RC design preview with you, we expected the uppercase menu would generate mixed feedback and emotions. We had seen similar reactions from early adopters and from our own internal users prior to posting about it. [1]
So then they said they had been "thinking about it" (why a lot of thinking was necessary is beyond me), and that "using uppercase for the menus was not an arbitrary decision" because they needed "to keep Visual Studio consistent with the direction of other Microsoft user experiences".
Then they tried to say that "some of you" won't like the change and that these people have "been very direct in expressing your opinions on this subject".
In other words: they got told it was an absolutely awful decision from the very start by beta testers and their own test team, but ignored it because, well, "consistency". Then they released it and they got almost total user revolt, but they can't back out now because, well, "consistency". But they now allow you to change to letter case with a registry tweak, after all - Microsoft know better than their end users, even when those end users are screaming for them to change a fairly fundamental UX error.
http://blogs.msdn.com/b/visualstudio/archive/2012/06/05/a-de...
Deadlines appear to have been a problem back then, as well.
I have wondered, how much of that has changed since. From your description, not much... :(
Progress/bugs were reviewed weekly at ship room. Live site issues were reviewed the next morning (involving the relevant on-call engineers).
So as with any large company which isn't a monoculture, things vary from team to team.
Also, calling them "M$" in 2016?
I suspect the culture still exist today.
Thing was, I'd never installed Skype on the system or even signed into it for several years, and here it was out of the blue asking me to accept friend invites from a bunch of spammers. It's now part of the "desktop experience" built in I guess (it may have to do with using a Microsoft account vs. purely local account, in my discussions with others).
The feeling is I don't really have control over the OS anymore, so I think it's time to move on soon to alternatives.
This is a really good way to describe modern non-free OSes (Windows, OSX, Android, iOS, the gamut). They're all asking me to sign into their services and always be connected and let them monitor everything I do and make suggestions and store everything I own on their servers. And when you try to turn all that off, everything falls apart. This is OK on my phone, which is really just an Internet portal, but on my desktop I expect my stuff to be my stuff. I guess many consumers like this (?), but I sure don't.
These days, I use Arch Linux and laugh haughtily at the crap proprietary OS users have to put up with.
EDIT: about this:
> The feeling is I don't really have control over the OS anymore, so I think it's time to move on soon to alternatives.
I had the same feeling since Windows 8, then I moved to Linux-based distributions. Never regretted it. I still have to deal with Windows when someone at work screws something up with their computer, but that's about it.
http://www.skype.com/en/download-skype/skype-for-computer/
Though I agree that skype and windows have some serious user experience issues.
wish I was kidding
Super fun when you're trying to do a Skype call with a remote coworker and debug a web server at the same time.
The desktop app does not pick up your Windows login - you actually have to log in and ask Skype to remember your credentials. This works on local user accounts as well as accounts authenticated with a Microsoft account.
Try downloading Skype Portable. My Skype account is still just a username (not tied to either a Microsoft or Facebook account) and works great without any integration into the OS.
Not sure what to make of this.
Microsoft is now selling Lumia phones with Windows 10 Mobile, but even Windows Central thinks it's not ready:
"I'm relatively savvy with this stuff. But I was ready to throw it out of a window before someone pointed out the non-obvious thing that I needed to do. This wasn't the only piece of out-of-box jank, either, to which I was told a new firmware update should 'fix' most of. It then took 48 hours for the firmware update to show up, download and install to the phone."
http://www.windowscentral.com/microsoft-lumia-550-review
It's a real shame. Windows Phone 7/8 was so great because it was like an Apple product done better than Apple: it didn't have "kitchen sink" features, but instead everything just worked and was holistically designed. In the original WP7 design, the borders between apps and the OS were faded to a degree that's unique. (This design was eventually lost as Windows Phone tried to catch up with app-oriented mobile rivals.)
In Windows 10 Mobile, everything has been rewritten as Universal Windows 10 apps that sort of look like the WP8 equivalents but work much worse (because they're really desktop apps squeezed onto a phone).
That kind of endless strategy-driven software rewrites are the plague of Microsoft today. The OP who is disillusioned with Windows Store mentions that the Store Dashboard got much worse when Windows 10 came around. Why? Who knows -- probably somebody at MS just decided that the Dashboard needs to be implemented using hot tech X rather than stale old tech Y.
This endless churn sucks and drives customers away. I quit using Windows Phone for good last year, mostly due to the customer-hostile Windows 10 plan and lack of new hardware. Can't say I've regretted it so far.
The even sadder thing is that when I tried using Windows 10 as my main OS for a while all the Windows 10 apps felt like phone apps stretched out to work on a desktop.
8 and 8.1 were stable and snappy. 10 has been a nightmare for me. The UI is nearly unusable and clunky. Just to do simple things, I have two, sometimes three additional clicks to get where I want to go. Even with successive builds my Lumia still freezes, crashes and restarts A LOT.
A typical example was this week. Went to my nieces hockey game with a full battery. Went to take a video, it started recording, then froze, then restarted (crashed). I thought, "Well, that sucks." It reboots, I try again, same thing. Then when my phone restarts, and I get the warning, "Your battery is critically low, please plug in."
I decided this week I'm going back to Android, Windows Mobile 10 at this point is almost unusable for me.
I guess part of the problem is that Windows 7 had reached the same plateau as Word had - it does everything most people need and there's no real reason to upgrade, and that MS wants to grab a part of the app/user data market so has tried to shoehorn all that into the mess left by the "windows will be the new IOS" debacle that was Windows 8.
This might mean they would not want to dedicate their efforts to working on Windows. Same would hold for things like iOS as well. To me, architecturally, they seem dead ends that have to be completely binned at some point, leaving little useful legacy. Would you like to really put your life work into something like that, if there are alternatives?
I think this must affect the culture, and the people they can hire.
I have no idea how "open" Windows is nowadays, I haven't really used it in 8 years.
1: not necessarily building software directly, it can be algorithms, books, philosophies, languages etc.
"Interested in" and "can get paid for" are two very different things. Microsoft have a big reliable revenue stream.
The weird thing is that there are clearly some people inside Microsoft that "get it". There's a big open push from the C#/Roslyn team. F# is pretty sophisticated. Microsoft Research are the Xerox Parc of our time: lots of great ideas few of which make it into production.
But the Win8/8.1/10 cycle has so clearly been driven by panic over tablets and phones that it's produced strange chimerical half-solutions.
It's rough.
I really like some of the new apps designed for touch, but where are the rest? There is no file browser for example?
OMG the default explorer window is a mess of icons.
This is how the start up world functions. Ship early, ship fast and fix things later. Microsoft is changing how they operate and are more in tuned with the rest of the world. Why the outrage when this same concerns applies to most the software we see here on HN?
They're certainly not doing this with Windows 10.
Unfortunately, somewhere over the years I came to realize that the entire industry is really being hurt my Windows consumers dragging their feet about upgrading browsers and operating systems. Microsoft might be rushing too fast but you're probably still better off moving forward with them.
75% of iOS users are on Apple's latest major release. That's worth a lot. If 75% of Windows users were on 10, the Windows community would be much better off. I'd say ignore the perceived warts and get behind upgrading.
That's because wealthier people tend to keep up with the latest technology. And Apple has always made a conscious decision to target the wealthier customers.
Walk into any Best Buy and compare prices for Apple machines against the likes of Dell, Asus, Acer, and such.
Poor people buy cheap because of need and upgrade only when things stop working. Rich people are more likely to buy to optimize the and share the latest and greatest experience.
People who are picky about their tech (like those of us here on HN) are going to complain about the lack of control and forced updates. However, the population you're describing can only really stand to benefit from it all, since they do a poor job of updating on their own.
I help support an app with just a few thousand users (US and Canada). It's about 9 years old but still actively updated. Coincidentally, it's user base is decidedly poorer people. In the years I've been involved there have only been a handful of people running macs and about the same number running Linux. Easily 99 percent run Windows. XP was most common until last year when Windows 7 finally took over. The first Win 10 users are just starting to show up.
My (admittedly limited) experience is just the opposite of yours.
The forced updates, meaning MS has the power to (and likely will) change your environment completely without your explicit consent? I completely agree. They've even stated a few times that Win10 is a "service" and not a "product".
My Surface Pro 4 was having stability issues when it slept, and updates seemed to be the issue. Switched over to metered connections and I haven't lost any work in weeks.
Doesn't work for desktops or the like with wired connections.
Wow! I guess that's a win... but wow....
In comparison, Windows 10 makes my top-specced late 2013 Thinkpad feel like an overheating budget machine. All together I must have spent a few workdays trying to fix the machine, and despite being quite knowledgeable about Windows administration I'm still having performance issues and still have the feeling that the system really answers only to MS HQ, and has no intention of ceding control to its owner (me).
I also love playing some older games (right now I am in a SimCity 4 binge).
I am seriously considering the next time I buy a computer, to ditch windows entirely, and use only Wine, I am having in Windows 8.1 to put Wine DLLs in more and more game folders, also if you enter many serious gaming forums, people recommend you stick with Windows 7.
The reason is that Microsoft in their DirectX pushing tactics (that started when they said that WinXP would not be able to run DX10 features at all... despite hackers proving that it ca, also the Xinput vs DirectInput bullshit) they started to resort to stuff that sometimes I am not sure if is just bad coding or intentionally evil.
For example for SimCity 4: The game uses DirectX7 (yes, it is that old :( ), and relies heavily on DirectDraw (that I still think is one of the most awesome pieces of tech MS ever made), on Windows 8.1, DirectDraw is completely emulated, partially with software, partially with D3D (or OGL depending on some dll combinations you have), and in a crappily coded manner.
Wine ddraw.dll instead translate all DDraw calls to OpenGL equivalent in 2D, still is not perfect, but the different is obvious, DDraw games run like crap in Windows 8.1 native, and frequently run even better than when they were designed in first place when using Wine (be it in Linux, Mac or in Windows using Wine DLLs).
Another game that works in Windows 7, but not in 8.1 or 10 without Wine, is the RPG "Arcanum" from Troika Games, also for the same reason: it relies on DDraw, and Windows 8.1 onwards DDraw emulation is so bad that this game renders most of the screen black, or in a wonky manner.
So if I am using Wine, on Windows, more and more, why nose use Wine on a NIX anyway? Also many of the newer games have NIX support by default too (source engine games for example).
EDIT: a link to someone complaining of this issue on Microsoft forums: http://answers.microsoft.com/en-us/windows/forum/windows_8-g...
Other than that, Windows 10 has been rock solid for the past 8 months or so that I've been using it on my main workstation and my main tablet.
MS has more of less conceded that Win10 isn't business ready, so they have a special distribution called LTSB (Long Term Servicing Branch) of its Enterprise version. It doesn't auto-update, no feature updates, no cortana or edge, no support for app/modern apps, etc. Can you imagine windows 7 shipping with a lot of things stripped from it to make it more like XP? That would be crazy, but that's exactly what's going on here.
I think by 2017-2018 it'll be fine, but two or three years from release date to get something as stable as the previous versions seems really rough.
Also, it's empirically verifiable, not an anecdote - that Windows 10 runs all the same apps that I've been able to run for decades on previous versions of Windows without issue. That's what I call rock solid.
> /r/sysadmin is where people go to complain and ask questions.
That's /r/techsupport. This sub is supposed to be only IT pros. A lot of the issues I see are outside of the "I just need a facebook machine" use cases, so a home user like you may not ever have these issues, but trust me, your IT department sure as hell is having issues.
And as a steady reader of that sub and of the Microsoft multi-sub, I heartily disagree with your observation. Both Win7 and Win8 had loads of "horror stories", just like WinXP before it. People are pretty much going to complain about any new Windows version.
That's ignoring the metro apps/store nonsense, which I imagine I would just disable outright when we launch with it.
I guess one could argue that 7 wasn't a "real OS" and just Vista SP3. Still, I think 10 took a lot of gambles and wasn't the refined and less tablety Win8 everyone thought it would be. It clearly was rushed to save MS's image.
No they can't. It's just your selective memory from the time they were a big-ass monopolist that sucked the life from any competing platform to the point where you had to use theirs.
Now, when you are used to high quality design injected by Apple and then refined by competition in the mobile space, your standards have went up so high that you simply can't go back to the half baked buggy interfaces that Microsoft has always produced. The older systems don't /seem that way/ because you are familiar with them.
Hmm, people do like to glorify Apple. Just remember that Apple is the same company that told us we were holding the phone wrong and that included copy and paste after three iterations of the iPhone.
This is a problem if you are writing an app for a client who doesn't want to publish on the app store. The only option is the very expensive and opaque volume-licensing program which is useless if your app won't have many activations anyway.
Ultimately Windows 8/10 is a closed platform similar to iOS. Are we as developers willing to pay 30% of our revenues to Microsoft when the day comes that UWP will replace .net/win32?
Windows, and DOS before it, used to be very open. Anyone could just download a compiler and create a binary, then use it themselves or share with everyone else. In fact you could even use the built-in debugger (DEBUG) to write tiny assembly-language utilities, and computer magazines --- not even developer ones, but regular ones like PC Mag --- would publish source code listings. Advanced users were also programmers, but there was no real distinction.
Now it seems even getting started writing some sort of program for your own system requires going through a huge amount of bureaucracy and could involve payment. The customary way of installing software has been termed "sideloading" and recommended against. There is a rising wall between "users" and "developers", making it harder for the former to become the latter.
I suppose Linux is more open, but there is still the very noticeable centralisation of app-store-like repositories, the discouragement of installing software via other means, and the bureaucratic process of getting software into those repositories.
Ostensibly, the whole reason for this is security, but it's easy to see other motivations. The idea that almost all users are completely stupid idiots who can't decide for themselves, and effectively locking them up so they can't do anything, is horrible for the continued advancement of computer literacy.
Certainly before and outside of these closed platforms there is malware and other threats, but there is also something closed platforms don't have, and which I think is also very important --- freedom.
Relevant story: http://www.gnu.org/philosophy/right-to-read.en.html
Regarding Linux, the centralisation is at least justified (convinience, security). Furthermore Linux provides full freedom to ignore/bypass it. Not true with iOS/Android/ Windows 10 UWP.
Not quite. What is recommended against, if at all, is installing directly from source. You're encouraged to build packages instead and use those. (And mainstream distributions have wrappers that let you build packages from arbitrary sources, if the developer doesn't provide packages for your distribution.)
It's like recommending Windows users to use .msi packages over copying files directly to %PROGRAMFILES%, which isn't the worst advice.
Nonsense. There is a recommendation to leave /usr/{bin,include,lib,share} to the package manager, but the /usr/local prefix is specifically for locally managed installs.
./configure --prefix=/usr/local
Support for arbitrary prefix (such as $HOME) installs has always been possible, so you don't even need root to install from source: ./configure --prefix="${HOME}"
Also, the recommendation to keep /usr managed by the package manager is just that - a recommendation. It's probably a very good idea to use the package manager for those files, but it isn't a requirement. As you, the owner of the computer, still have ultimate control[1], you can install whatever you want wherever you want. It may not be a great idea unless you really know what you're doing, but freedom necessarily includes the freedom to shoot yourself in the foot.[1] as opposed to MS asserting control by limiting how software can be installed, and the forced updates that change anything, uninstalling without your permission, and reset configuration options
Now I've probably only got a handful of programs (from github) that are self compiled; instead I use Ubuntu and PPAs.
Later on, some people felt that all the configuration files in the home directory ($HOME/.rc and similar) was a mess, so the $HOME/.config was proposed as the "proper" location for configuration files. Of course, this just resulted in programs using both* directories, depending on when they were written.
Years later, in their usual over-engineered style, the freedesktop.org people later extended this idea into the XDG Base Directory Specification[1], which is where $HOME/.local enters the story. Of course, they don't actually specify it as a prefix suitable for use in "./configure --prefix=" (which would have made a lot more sense). The only define the share directory for use with XDG_DATA_HOME:
$XDG_DATA_HOME defines the base directory relative to which user specific
data files should be stored. If $XDG_DATA_HOME is either not set or empty,
a default equal to $HOME/.local/share should be used.
Of course, now you have to lookup the relevant environment variable and specify all the detailed directory options to autoconf if you want to actually support their spec, which probably looks something like # pick one
PREFIX=$HOME
#PREFIX=$HOME/.local
./configure --prefix="${PREFIX}" \
--sysconfdir="${XDG_CONFIG_HOME:${HOME}/.config}" \
--localstatedir="${XDG_CACHE_HOME}:${HOME}/.cache}" \
--datarootdir="${XDG_DATA_HOME}:${HOME}/.local/share}"
XDG isn't a bad idea, but it's poorly specified and as that example shows, it can conflict with convention at times.None of that makes $HOME/.local (or any other prefix) wrong - it's your homedir, you can organize it as you like. That's one of the nice features I really like about autoconf - it makes it very easy to install software anywhere you want, even unusual/non-standard locations.
[1] http://standards.freedesktop.org/basedir-spec/basedir-spec-l...
So did all the open-source people. ;)
https://technet.microsoft.com/en-us/library/hh852635.aspx
Or is that the volume licensing program option you mention? I'm not sure (never tried it).
Edit: sideloading seems much simpler in Windows 10: https://msdn.microsoft.com/en-us/library/hh454036.aspx#Insta...
Windows 10 does seem much simpler. Will have to try it out to be sure it works though. If they have removed the volume-licensing nonsense that would be a godsend.
update regarding windows 8 sideloading: Yep. After a cursory investigation, it seems that obtaining a sideloading key is the hard part- Its needs volume licensing involving purchasing a minimum of 100 keys for around 3000$ if i am not mistaken (https://stackoverflow.com/questions/12008252/sideloading-app...). I want to be sure so will look at it in more detail though.
I've been away from Windows for awhile so I just want to clarify this - when you say "apps", are you talking about all end-user applications? Or only some sort of desktop widget type system?
Basically everything I used on Win7 works / can be installed just the same on Win10. .msi packages, Chocolatey packages, oddball Win32 apps I've found over the years, even portable programs that haven't been updated since XP. Only had one program mysteriously uninstalled itself when I made the move: IronRuby. I'm not sure if Windows Store apps can be sideloaded, but the only ones I have installed came installed by default. Easy to avoid.
(I'm largely expanding on what Santosh83 said in a sibling post.)
That would explain the move to `offer' Windows 10. But I can't see .net/win32 being replaced before 10 years.
For example, UWP is the only serious contender for apps with a rich touch/gesture-based UI. Eventually microsoft will stop adding new features/APIs to other platforms in favour of UWP. For example they might decide not to port the latest DirectX version to .net/win32. That is usually how things play out.
Regarding windows 8, its seems you need to purchase sideloading keys in bulk in order to do so, unless you are installing on windows 10 enterprise. If you can provide a method otherwise, that would be big help.
Windows 10 seems to be different (no sideloading key required?), but i haven't tried it out or investigated in detail.
Maybe if I had a Windows tablet, apps might be reasonable, but alas, I only have the now-discontinued and never-really-supported Surface RT.
His "Website constructor" app is in 3rd position when I search for "Website". Not that bad for such a generic keyword.
Also, I guess one thing with these apps is that the price range (between $12 and $20) is a quite high compared to the majority of the other apps on the store and (unfortunately?) a lot of people are not ready to buy apps >$2.
I guess that the store search algorithm depends on the conversion rate (people buying the app VS people trying it) and that conversion rate is probably pretty low, so maybe lowering the app price could lead to more sales and higher ranking.
I've come back to full-time Windows development after over a decade of PHP and Rails, and you could lift my experience with trying Entity Framework and lay it on top of these complaints, and not notice a difference.
I've always said this about Microsoft products: they make it really easy to get to 70% of what you want, and then make it nearly impossible to finish. There's a massive bend in the effort/results curve. With open source, it's more difficult in the early stages, but it's a steady progression to 90%, and then you have the tools to work out how to get exactly what you want, if you want to make the effort.
My partner has a laptop with an Core i3 processor and above-average RAM, and is on the whole a beast compared to my Dell Chromebook 11. My partner upgraded to Windows 10 and I have since used it occasionally to check something here or whatever.
From a couple of admittedly brief sessions using it, I have noticed that Windows 10 seems extremely "laggy", for want of a better word, as though there is a 100ms delay between clicking something and that click registering. It's nimble enough at starting up, it's just interacting with the thing that seems to be slow.
Anybody else experience this, or am I just used to instant feedback from UI?
Recently I contacted Microsoft technical support over a product that has some serious issues. Basically they tell me that they have no intention of paying for the repair even though the product is under warranty, in blatant violation of European law.
Under the EU Consumer Protection Act, which I believe is what you are referring to, it is the responsibility of the retailer to deal with faulty products, and not the manufacturer.
In this case MS is the manufacturer and not the retailer so they are not obliged to help you.
I suggest you take the product back to the retailer, as they are responsible for any claims under the consumer protection laws.
Or, more likely, Microsoft provided the OEM with one of the many components used in the product.
Microsoft, of course, has no control over what the OEM does with it, and doesn't know unless it goes out and buys the product.
Where things get interesting is when Microsoft ships an update directly to the user. This is something the OEM has no control over.....
> Within six months from receipt of the goods, you just need to show the trader that they are faulty or not as advertised. But, after six months in most EU countries you also need to prove yourself that the defect already existed on receipt of the goods, for example, by showing that the defect is due to the poor quality of materials used.
I have successfully used the EU consumer protection laws to have Apple replace a faulty battery on a laptop that was around 20 months old.
Go to the Apple website today and you'll notice clear disclaimers that their warranty doesn't override a consumer's rights.
After moving abroad I was unable to access my Microsoft account(locked), for more than a month, just because I couldn't provide them with the last IP address I had used to access my account, along with last 5 received email subjects, 5 contacts in my contact list among many other unreasonable questions the common user doesn't even know how to answer. All this because I didn't own my recovery email address any longer.
Funny thing about it is that their support is so badly designed (to cut costs I suppose) that over the phone line there's not an option to talk with an operator regarding a Microsoft account. All you get is a "check microsoft online support for help on your account being locked"... which, guess what... requires authentication[1]!
[1]https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=12&ct=1...
You can just request a reset mail to another address, wait 30 days, and it will arrive.
Actually, after getting my account unlocked, I was forced to change password and my new password became temporary for 30 days (couldn't change it again).
Hopefully they avoided the couple of years where Google forgot to have that form submit to a working email address:
https://www.google.com/search?q=higgins-prod-lost-hard-landi...
While we're on the topic, now is a great time to print some backup codes and lock them in your safe. Sometimes it is easier to wait until you return home to recover from a lost / wiped smartphone.
Sounds like side loading is a better choice on both OSes.
I can't tell you how many times I saw an article about an app and tried to find it in the store, only to come up empty handed. This has happened so many times on my Windows Mobile 10 phone, I lost count. Just this week I was looking for a better Twitter client app. I would type in "twitter" "tweet" "twitter client" "twitter app" and all I would get would be the main Twitter app and nothing else. Then I had to start doing Google searches for "best twitter client for windows mobile 10" which then gave me articles from 2013 and 2014 and for WP 8.1 - not exactly an up to date list of current Twitter clients.
Compare that to the Google Play store. You simply enter "Twitter" and get a dozen other apps, none of which have Twitter in their name. Plume, Echofone, Fenix, Talon, Persiscope are just a few of the examples.
It was such a massive headache, I actually decided yesterday I'ms scrapping Windows Mobile 10 and going back to Android. I've been a huge supporter since WP 7, and held out hope things would improve, and they haven't. Their app store is a massive failure, you can't find anything in the store you want, developers have no reason to build for the platform, and I'm not going to start with the myriad of UI problems I see already in the latest build (build 10586.63) that still have not been solved. Just basic shit like battery life is still a major problem. Not to mention they took away some very basic features from 8.1 that everybody loved like the ability to show Bing weather on the lock screen.
I've finally reached my breaking point with their platform.
However, all I am using it for is games that are not ported to linux yet, the rest is done on linux both at home and at work. That might influence my feelings.
Well an example are the improvements to the various authentication implementations, the fact that I can now finally configure my personal workstation to be impervious to certain types of pass-the-hash attacks. A nice matrix that illustrates the improvements can be found here:
https://pbs.twimg.com/media/BfZw8iiCQAApq0T.png
Where 'green' is secure, as you can see a 'domain protected user' in windows 10 protects against almost every type of attack. These I have personal experience with from the attackers perspective, and windows 2012 domains are quite impervious to attacks that used to own the entire domain in as little as 2 hours. Not to mention that in addition to the matrix shown here, traditional psexec has finally been restricted to a special group of users, so that local administrators can no longer remotely take possession of a system unless explicitly configured to be able to.
Most of those improvements are really only applicable to enterprise, and some of them came about by switching to a more secure default (instead of new technolly).
New in windows 10 is also control flow guard (CFG), which most applications that I run at home and work already support. With the new addition of CFG use after free exploits should be harder to achieve on windows 10 than windows 7, although I don't have any personal experience with developing exploits for windows 10 yet.
In addition to the general improvements to credential protection and CFG, windows 10 is further isolating critical system components from each other in the kernel. I haven't experimented/looked at it in any detail yet, but I get the impression it's conceptually similar to qubes OS. In windows 7 the kernel patch protector (KPP) ran in ring 0, just like al l the other kernel code, if you got code execution you could simply patch KPP too, and then your rootkit had free roam over the kernel. Now Microsoft claims that in windows 10 KPP has been isolated so that normal 'ring 0' (if that still means anything in the traditional sense) can no longer patch it.
[1] https://blogs.msdn.microsoft.com/b8/2011/09/15/protecting-yo...
Windows is dangerous and 10 just made it more so. It's not easy, but break free of the proprietary os chains now before they lock your brain in with iBrain and update it without your permission.
It's sort of like the hacker vs. cracker distinction, it's all just considered 'hacking' now in common vernacular because of how the media portrayed it for the last decade as all just being called hacking. Maybe not the greatest example, but it comes to mind.
Unless someone was playing an extremely long game, that is just a nice coincidence.
Allow me to exaggerate for a bit: "application" implies desktop: you would run the installer, it would be a powerful (and complex) tool, capable of interacting with other local tools.
OTOH, "app" implies the everything-is-mobile paradigm: you ask the WhateverStore to install it for you, and if you've been nice and the phase of the moon is right, your plea is granted. Complexity is discouraged, drool-proof colorful interface is encouraged, the only allowed interaction is with the Big Walled Garden In The Cloud.
So, yes: Win10 has apps, and it's trying its damnedest not to have applications.
Give me something else, please. I now hate windows, can't afford osx, and don't want to deal with linux.
To make your window resizable (!) and responsive, use the following XAML
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="wideState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="641" />
</VisualState.StateTriggers>
</VisualState>
<VisualState x:Name="narrowState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="inputPanel.Orientation" Value="Vertical"/>
<Setter Target="inputButton.Margin" Value="0,4,0,0"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
i lolled.theres also this gem:
bmp Windows::WinForms::XAML::Imaging::Bitmap = ^new Windows::WinForms::XAML::Imaging::Bitmap(filestream)
Which can be avoided by putting `namespace Windows::WinForms::XAML::Imaging` in every CPP file.I feel like C++ is getting ridiculously cumbersome to code on par with Java, and I also feel like this "XAML" crap by Microsoft would drive away all but the more patient programmers.
for example from the same page: to print "Hello's" you actually have to type "Hello"s", (I assumed you cant use \' anymore)
You can also create your own triggers so that you can be "responsive" to any arbitrary event.
> bmp Windows::WinForms::XAML::Imaging::Bitmap = ^new Windows::WinForms::XAML::Imaging::Bitmap(filestream)
That must be an outdated example. That namespace doesn't even exist. You can add images like this:
<Image Source="hello.jpg"/>
Basically this XAML does 3 things:
- declare 2 states: narrowState for windows smaller than 640px widestate for windows wider >= 641px
- set the layout stacking strategy of a container to Vertical when in narrowState
- set a top margin of a button to 4px when in narrowState (not sure this is relevant for this sample)
Sure, it could be improved by having
1) the "auto" keyword and
b) one project include which exactly defines which namespaces/aliases to use.
>its now in 4 spots (header, function definition, and two spots on the same line in case the compiler cant find those?)
also they added a ^ operator so thats cool.
but I guess my gripe is every time I want a different taxonomy function I have to page up to the top of my CPP and type 42 keystrokes. (also I think I might have been missing an extra taxonomy there and its really 5 namespaces deep.)
Declarative UIs in XML are more verbose and less flexible than just putting the appropriate expressions in a simple resize-recalc table, which is what the Win32 equivalent would be.
All I wanted was SetWindowMinMaxSize(hwnd, min_size, max_size) and an event to tell me the window has resized. That's it.
This complexity allows apps to misbehave in various ways, either unintentionally, on purpose or maliciously. Windows programming is so darn complicated that it doesn't make any sense.
So you're suggesting I should handroll my own layout manager? That sounds several orders of magnitude more complicated.
Not that you couldn't go the hard way and write the responsive UI with code only. A XAML file is essentially just a recipe for creating the hierarchy of objects in your UI, that the framework then goes on to draw. Everything that is done in XAML can just as well be done with code.