a) Developing on windows is absolutely attrocious. If MS wants me to develop on windows, PUT SOME FUCKING EFFORT INTO IT.
b) Developing for Chrome, I support ALL operating systems.
c) Developing for FF, I support ALL operating systems.
d) Developing for Opera, I support ALL operating systems.
e) Developing for Safari, I support OSX, Windows XP, Vista, 7, 8.
f) Anything webkit related is supporting the iPad AND Android Tablets, and iPhone, and Android. Even without a special experience.
g) Developing for Mobile is an effort. Unfortunately. If you want a truly mobile experience.
Let's talk about IE now:
IE 9 is only supported IN WINDOWS 7. That's right, no XP, an OS which every other browser other than microsoft's support. So there.
If I allow IE users to use my site, I don't care if I make a giant "we don't fucking support IE" banner, people will expect it to work. And I will be the bad guy. If they visit my site and no IE support "please take 20 seconds to install chrome". The business will dictate if those people not willing to install chrome/chrome frame (no admin access required) are important enough to support.
Now... ITS 20-fucking-12 and windows still has the biggest piece of absolute shit terminal tool possible, with no alternative in sight. Furthermore terminal programs that work in linux, work in mac, so you get REAL developer tools. There is nothing decent like that on windows. Many things I need for my program to run DOES NOT WORK IN WINDOWS, so it's on MS' head to make them work. Apple saw that having a fully custom OS meant developer alienation. That is why they made OSX. People immediately praised it for it's ability to run dev tools, and developers were happy.
Now. Apple does evil. Apple is 2x as evil as MS ever was or will be. However Apple currently innovates (or did). However I can't argue with the fact that they have good fucking hardware. Developing on windows means piece of garbage hardware, shitty laptops till maybe a few months ago, who still cant fucking get touchpads right. YES TOUCHPADS SUCK ON WINDOWS STILL, 2012! On mac, touchpads are pleasant. There I said it, Windows is a terrible operating system from a user experience perspective, and that includes hardware.
So now why would I support IE? Look at my list up top. Please tell me what MS does to make me want to support IE? What benefits I gain? I pretty much only get users who don't know left from right mouse buttons, and unless I'm facebook I probably don't care about them anyways.
Edit: I am in no way saying IE 9 is bad. In fact IE 9 has multi-process, something I wish firefox implemented already. Performance is good enough for most websites. And the W3C support is up to par with normal browsers, though still a bit lagging.
Developing for Windows is in fact a pleasure. MS have more love for their development community than you realise, and this is reflected in the tools and technology they provide. .Net is incredible. Really.
> IE 9 is only supported IN WINDOWS 7
Supporting WebKit in iOS requires me to BUY AN IPAD just to test properly! Supporting WebKit on Android requires me to buy an Android phone just to test properly! Your argument is invalid.
> Now... ITS 20-fucking-12 and windows still has the biggest piece of absolute shit terminal tool possible
The actual console window annoys me, I'll grant you that, but only in terms of fixed width and columns. PowerShell, the current standard shell for modern Windows version is really powerful. Get with the times.
> Developing on windows means piece of garbage hardware, shitty laptops till maybe a few months ago, who still cant fucking get touchpads right
Ummm... blame the manufacturers? Microsoft doesn't own Asus, Acer, HP, or any of these other companies.
The topic is whether or not to support a particular major browser, not whether you prefer Windows as a development environment or working with budget hardware. I would suggest you step back from your frothing-at-the-mouth hatred of Microsoft and determine how up-to-date, relevant and accurate your information actually is.
Do you actually use PowerShell as an interactive console on a daily basis? When I tried to learn it, it seemed powerful for scripting, but nearly impossible to use interactively. I ended up using bash under cygwin, because it seemed to be the best option available.
The same applies for Apple, you just have to download their SDK and use their Simulator - though that requires Apple hardware.
This declaration needs a huge bold flashing caveat: developing on windows for windows is a pleasure, Microsoft provides excellent development tools, helps, documentation and contact points for its ecosystem and usually goes multiple extra miles to be helpful to their developer community. If you are a Windows developer, Microsoft is significantly much more helpful and approachable than Apple is to OSX devs.
The (huge) sticking point is cross-platform development and work on Windows.
It's still pretty good thanks to the work the Xamarin guys have done.
We have a large .NET code based developed on Windows for Windows and out of curiosity once we tried to compile under Mono. We were expecting hundreds of issues and we ended up with only a few errors and if I'm not mistaken I believe it had to do with some of the file based handling code we had. Granted we never fixed those and attempted to run it, but I think they've done some amazing work.
Even now, one of the only ways (maybe the only?) to build a re-usable library for iOS, Android, and Windows Phone 7 is to build .Net library that compiles under Mono.
Eh?
I guess you entirely missed out on the .NET Framework, Powershell, and recent Visual Studios. These are excellent dev tools, in ways the average Emacser will find hard to appreciate.
(much in the way the average Visual Studio nerd will find a decent terminal hard to appreciate)
From the rest of your message, I gather that the real reason you don't like to dev on Windows is because it's not Unixy. That's fine, and it's a matter of taste, but don't say that Windows is a bad platform to develop on just because you like typing in 70-character commands rather than clicking places. That's really mostly a matter of taste. Rants like these just make you sound ignorant.
It's not a matter of taste, at all. Once you learn the language you can do quickly do anything. Hell you can refactor your entire source tree faster than someone can find the refactor button in their IDE.
Because you're not developing for yourself. You're developing for users.
Also, just because you're developing on browsers that exist on both platforms doesn't mean you're supporting all operating systems. If you tested on any WinOS you'd understand that.
CLI is not a primary way of using Windows. Do you bitch as much when you can't use your terminal on your mobile devices as you do on your dev box? Microsoft has very good (very good) tools for developing things for their stack.
"Furthermore terminal programs that work in linux, work in mac, so you get REAL developer tools. There is nothing decent like that on windows."
Why do you need terminal programs? Jesus fucking Christ--as you pointed out, it's 2012.
"Many things I need for my program to run DOES NOT WORK IN WINDOWS, so it's on MS' head to make them work. Apple saw that having a fully custom OS meant developer alienation. That is why they made OSX. People immediately praised it for it's ability to run dev tools, and developers were happy."
No, those tools that don't work on Windows are due to lazy/busy/shitty developers who can't be bothered to support 90% of the market.
Sorry your tools suck, but don't act like that is in any way Microsoft's fault.
After two days of struggling with all the insanity of Windows licensing, installing and the crap support for running older / multiple versions of IE I've seen more than enough of Microsoft for the next five years.
Nothing has changed since 2000. Just setting up the tools for supporting IE is nightmare.
Note, Im not affiliated with crossbrowsertesting.com in any way.
Full Disclosure: I am friends with one of the founders and was in a promotional video for saucelabs.
You have to consider the total cost. If the Apple hardware lasts longer, requires less maintenance and makes the developers more productive, it may end up very well paying for itself. My wife uses a Mac and just the time I didn't spend fixing, cleaning and disinfecting a Windows install more than paid for the price difference between her MBP and a cheap Dell. Compare it against a similarly well built machine and things look even worse for the PC. Her current Mac (a 13" i7 MBP) survived a car crash in early March (the machined body is very slightly warped and it'll probably have to make a visit to an Apple dealer for that). Her previous one, a 2006 white MB, sits on my desk as my secondary computer and is our main source of ambient music. It had an aesthetic problem, which was fixed by Apple for free (because other parts had to be replaced due to a recall) last March. It replaced a (still working flawlessly) 1998 iMac in that function. You can say anything about those machines except that they aren't built to last and that their customer service isn't stellar.
If I had to use my Dell with Windows, I know I would be far less productive than I am under Linux. I know because I tried (from 2008 to 2010).
Unless you are developing for Windows (something that pretty much implies you are running Visual Studio), I wouldn't advise you to use Windows as your development platform. And, if you aren't, it's only natural that testing on Windows incurs an extra cost.
Having said that, it shouldn't be that complicated to set up Windows VMs to run automated Selenium-driven tests and plug those into Jenkins.
If you test manually, you are doing it wrong.
If MS could offer the same, no problem. Those two days of struggling and the repeat performances to come are way, way more expensive than buying a Mac. My time and the time of my devs is way more valuable than a Mac Mini.
My company has to do that and we spend countless hours on IE specific tasks.
It works on IE10? great! I don't know if it will on IE11. Or if microsoft will find another way to break open standarts.
If we had a choice of not supporting IE, we'd do it. Not because of Mac, not because of Linux. Because of IE and nothing else.
MS provides the virtual machines free of charge, and VirtualBox is free as well. That's everything you need to run and test in IE, from IE6 to IE9 right now.
Add to that the problem of VMs booting slow, running slow, and consuming tons of memory on my otherwise-fast dev machine.
No, you don't. You just run different images. Downloaded from MS. I have them installed. Right now. IE7, IE8, IE9. IE9 is currently running. Even still, for the most part, IE9 makes debugging easy, as you can run in IE7 and IE8 mode. That takes care of the rest of the problems I've faced.
Yes, testing in IE sucks. It's not an enjoyable experience, but it also doesn't take much effort.
> Then configure and install IE's debugger tools for each image.
This is not an issue. You make this sound like it takes a lot of work. It's not.
> Add to that the problem of VMs booting slow, running slow, and consuming tons of memory on my otherwise-fast dev machine.
I'm running this on a MacBook Air. Yes, they aren't lightning fast, but they are usable for debugging purposes.
> Then, when the VMs expire in a few months repeat that process.
That's not true, either. I've been using my IE7 one, for example, since October.
In modern times however, I think when we try to support IE it will be 9 and higher. It's not that it's too much work, rather that IE 8 and lower users are hurting the internet.
They test for IE only because lots of people use it or because their jobs require this, nobody likes IE, it always had bugs, was insecure and most important non standard.
IE9 is closer to normal, but microsoft lost is trust, they had the chance to change something much earlier and they did nothing, they are only acting now because IE market share drops fast.
Holding an emotional grudge against a transient, evolving collective is stupid. I don't think everything they put out is great, I would love to see Ballmer step down and give someone else a turn (someone with some actual passion perhaps), but IE6 was a product of the mindset at the time, and times have changed. Get over it.
It's not the bad software that lost Microsoft so much goodwill from the designers. Software can be fixed. It was the attitude from Microsoft towards the problem. It simply took them too much time to make things better. IE9 might be a good browser and most designers might acknowledge that. But ~10 years is way too long for a big corporation like Microsoft to make things right.
> Holding an emotional grudge against a transient, evolving collective is stupid.
It might be stupid, but it's also human and it's precisely what has happened.
> Get over it.
Amount of helpfulness: none, givan is explaining the issue regardless of whether it concerns him personally, and denial is pointless. Humans are emotional first and foremost, and when they've spent years in pain (extra stress, work and money lost) due to one specific entity (person, vendor or other) they will not easily forget and forgive. That's how people work. Microsoft made their bed, and they have to lie in it whether you find that logical or not.
Yeah, sure, the people who worked in the highest positions back in the day employed some shitty tactics way back when
Like not allowing other browser on some devices, requiring locked down BIOS, patent lawsuits against competitors. Oh, wait, that all happened this year.The reason IE 6 is such a problem is Microsoft didn't do anything with IE for years after that while the world evolved. But I'm really not convinced the Web would be anywhere near what we see today if Netscape just kept pumping out increasingly bad browsers.
No, because it had been preceded/preempted by IE5/Mac, which had feature IE6 never got (such as full support for PNGs including gamma correction).
IE 4.0 was an awesome browser for the time. In fact it was such an awesome browser, and had so little friction to use, that it largely killed the browser market.
IE 5.0 and 6.0 were minimal effort, piecemeal, close to zero improvement iterations.
Microsoft deserves every bit of disdain that they get. Even still if there are ever movements afoot to try to move the web forward, Microsoft will always resist. People can herald IE 10 for finally incorporating a lot of long overdue functionality, but Microsoft does it only because they have little choice beyond abandoning the market.
Windows Phone 7 demonstrates Microsoft's commitment to the web -- the browser is relative junk. It is quite literally years behind competitors.
Nope, IE5/Mac was better.
It was not painful at all. It had reasonable speed, and although lacking some CSS3 features that are nice, it is generally a decent browser. And it runs one of my Canvas demos much more smoothly than Chrome or Firefox, since it hardware accelerates canvas rendering.
And you can't run all of them on one machine safely.
And you usually use IE7 as the least common denominator, thus sacrificing functionality.
That's ridiculous. There are about the same number of people using Firefox 3.6 as there are using IE6 and 7. So how come you aren't bitching out Firefox? So don't test on IE 6-8 if you don't care, but does the existence of old browsers mean that you write off every product they've made since then?
Yes:
> "it'll take nuclear strike!";
No: > "it works XX% of the time..."The point is: when the vampire is exhibiting weakness you drive a stake through its heart. The vampire turned a bunch of your fellow townspeople into vampires; saying the bite is no longer so bad doesn't mean that the vampire is now to be respected.
It's also not about punishing Microsoft. [Sure, the warm glow of schadenfreude feels nice.] It is about demonstrating to the tech community the long term costs of SHITTING IN OUR SANDBOX. Those of us who were developing web sites during the IE6 days want to show Google, Facebook, Apple, Zynga, Adobe, etc what happens when you Embrace and Extend web standards.
You don't know frustration until you get your website all sorted in FF 2, then open up IE 6 only to see a completely jacked website, only to realize you basically have no web development tools for IE 6 and you'll be spending the next 2 days blibdly fiddling with margins, padding, how-to-force-zoom, etc.
It's arguable if that kind of policy is effective.
Also, it comes across like folks actually are still mad about it.
This.
Saying IE9 is up to snuff is like saying your scumbag uncle is cool now because instead of shooting heroin all day long he's just a raging alcoholic. I mean, yeah IE improved significantly but when you remember IE6 - 8 it's easy to look like you've improved. Are we praising IE because it just doesn't suck as much? Come on, every other browser on earth has been running circles around it for years and it's still playing catchup and it just refuses to ditch that whole "progId" thing. They go around saying "well, we do what the other guys do except we made it impossible to remember or comprehend how to do in our browser".
And I like how the guy who hasn't had to support IE for a few versions writes a post about how we're lazy. It would've meant a lot more coming from someone with experience. Recent experience, that is.
Even if it was complete crap, it has a 30-50% share, you can't justify killing off that much business unless you develop a Mac/Linux-centric or browser-specific app/site.
As others have mentioned, market share can be misleading and audiences count. But even so, you're still right that it's not practical to leave IE out. But since people are doing it I hope it encourages IE to take notice and improve instead of digging in their heels and insisting they're just as capable as the next browser.
The real problem however is fragmentation. I'm sure IE will improve or die in the future but Microsoft just shot themselves in the foot by restricting the amount of people who can upgrade. People often say that FF and Chrome will one day be fragmented and a drag on front end developers too but I disagree. Even older versions of those browsers support far more than than IE8 and below support and in some cases they even include features IE9 doesn't support. In the future there will be far less fragmentation of non-IE browsers because the vendors are way better at backwards compatibility. We'll easily still have to be concerned with IE7-10+ in the next five years because the number of people using them will fall at a snail's pace while market share for old versions of other browsers falls much faster. This is because many IE users simply cannot upgrade even if they wanted to while everyone else can. Nowadays Microsoft seems to be pushing updates more. Good for them. It's too little too late.
For now we can't deny IE still isn't good enough and I'm not about to congratulate them for being one step behind everyone else with each new version of IE. While its not practical to exclude Internet Explorer I hope the trend continues just so that it pushes Microsoft to continue improving the browser like it has recently. Maybe in a few years, when old versions of IE (the terrible 6-8 versions) have finally lost almost all their market share and the still shitty but far more manageable versions 9+ are all we have to contend with (and I'm sure by that time IE will finally be on a level with its competition) we can quit being "whiners" and "lazy" and "hipsters" and "elitists" and "ignorant" about supporting it.
Certainly plenty of folks out there using the aforementioned technologies are more worldly than my previous statement would suggest, but there are still an irritating number of developers living in the past who haven't really got a realistic view of the technology landscape as it exists today, in 2012.
I also notice this on various high profile podcasts that from time to time downplay anything from Microsoft as having any value these days, despite not really having had recent first hand experience of what's available.
I prefer Chrome myself, but supporting IE9 really isn't that hard, and suggesting otherwise is FUD.
The landscape has changed in the last five years. Hopefully over time, especially as the landscape continues to change, the antifanboys will realise this and update their views.