Rapid Browser Development Challenges Web Developers
Esther Schindler writes "Feeling a little overwhelmed by changing web standards and new browser choices? You aren't the only one. Mozilla is launching development tracks for the next two editions of its Firefox Web browser immediately, with hopes to push both into general release before the end of the year. This while Microsoft previews Internet Explorer 10 on the heels of its IE9 release, and Google projects Chrome 13 just one year after Chrome 7. Meanwhile, HTML5, the next version of the Web's primary language, appears to have entered a permanent gestation phase. Writes Scott Fulton: All the confusion has prompted Web developers to ask this question: What do we develop our sites against now?"
HTML 3.2. If you can't do it with HTML 3.2, you don't really need to do it.
Give me Classic Slashdot or give me death!
What do we develop our sites against now?"
Why, standards, of course. To develop a web site "against" or "for" browsers is having lost the battle before you've even started it.
Testing has become a bigger pain then it used to be. Before I could cover everything (except browsers on OS X) in just a handful of virtual machines. Now? The number of parallel installs required and the constant need to add new browser versions is becoming a pain.
I'm starting to wonder if maybe it's simpler just to test against an older version of the browser (ie chrome 6) and the latest (chrome 12) and run with the assumption that nothing is broken in between. Thoughts?
Stop making links open new tabs. Let me decide when to use a tab and when I want it to just be a back-button away!
( Sorry, I admit I didn't really have anything productive to add to this particular discussion. )
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
Just avoid the blink tag and you should be fine.
Side note: A blink tag for /. would come in handy...
Make it functional in IE6 and above. Make it pretty in IE8 and above. If your site generates gazillions of dollars, make it pretty in IE6 and above.
....IE 6!
As an end-user, I'm perfectly happy with Firefox 3.6. I tried FF 4 on another computer just for testing and didn't really see any difference aside from some minor UI changes.
See comment on "testing" - if we simply targeted standards, we'd never deliver product.
BTW, this happens in other industries too. Life is harder than college - get used to it.
Use HTML4 and Flash. That's good enough for everyone that matters. :-)
the growth in cynicism and rebellion has not been without cause
I'm not going to click on your link as it's a tinyurl. This isn't Twitter; you can link to proper URLs here, so that people can actually see where they're going before they click.
Goatse link.
IE8. IE6 is dead, IE8 is going to be the biggest common denominator at least until extended support for Windows XP ends.
Listen up, Mozilla: Microsoft still defines the web. If you want to change that, you need to become much more predictable and stop mixing production software and experimental features. Anyone who targets your software learns very quickly that a maintenance nightmare is unavoidable, unless one restricts everything to a stable feature-set, for example that which is also available in IE8.
with flash if you want to be fancy.
This is why I got out of any type of web design work, and if a friend asks me to make them a site, I just say no. This is just going to keep happening and happening. Just wait till IE20 & FF20 are out.
Divide a cake by zero. Is it still a cake?
Preview of TinyURL.com/5szfvml
This TinyURL redirects to:
data:text/html;base64,PHRpdGxlPllvdXIgdXJsIGF
udGktc2hvcnRlbmVyIHdvcmtzPzwvdGl0bGU+PGltZyBz
cmM9aHR0cDovL2JpdC5seS9lakdqdEsgaGVpZ2h0PTEwM
CUgLz4K
which is:
which is a link to goatse.
Then HTML5 will be finalized and XP will have its support dropped so no more IE6,7 and 8 to worry about. Until then design for IE7/Firefox 3.6 and if your business still needs IE6 then install another browser, the world isn't going cater to your old browser forever, no matter how persistent your incompetent managers are.
http://www.tusason.com/tus-sorulari.html
WYSIWYG html editors will always be used by the large majority of cheap developers, so whatever they spit out is the lowest common denominator.
Simple, just use HTML5. If your POS browser doesn't support it then delegate that browser or user to the ash heap of history.
This article is confused in so many ways, it's hard to know where to begin.
One big thing that it misses is that a lot of "HTML5" is actually writing a detailed spec for existing features that were never properly specified (e.g., HTML parsing). And a lot of the work of implementing HTML5 in a browser is to get those details right so they're the same across browsers. That helps Web authors who aren't even using any of the new features.
The list of HTML5 features has many errors. "contenteditable" is nothing to do with Web Forms and is not new in HTML5; it's been implemented in all browsers for a long time, and HTML5 just provides a (partial) spec for it. Falling back to SVG when canvas isn't available would be a mistake since every browser that supports SVG also supports canvas.
I don't know how Microsoft's "native" sloganeering got mixed up in there, because it's completely irrelevant, but let's point out that it's completely bogus. It's not even clear what they mean by "native"; the best guess is that it means "abstraction layers are bad so a browser that only runs on Windows 7 must be the best", which is complete nonsense.
John Foliot is wrong about the need for frozen spec snapshots. We often find errors in supposedly "stable" parts of the spec; if those parts are frozen in some official snapshot, that just means the snapshot is going to be more wrong than the the up-to-date version.
Web developers should always look at the latest versions of the specs for the features they use. They should decide what features to use by looking at the browser usage of their user community and making their own cost/benefit calculations.
The obvious answer would be to only implement known-good solutions that work across all major browsers-- something that would be easily implemented by making a list.
Unfortunately, the "web development industry," which ranges from people who couldn't get hired by McDonalds and who are charging less hourly than McDonalds pays, to people charging upwards of $350/hr, is not exactly known for either discipline or standards.
It's is the same it's always been: you develop against the worst browser that has significant penetration. From 2001-2008 this was IE6 and you were stuck with it, now that IE6 has finally dropped below 5% (my arbitrary cutoff) I can simply ignore it, and get mad at IE7 instead. Chrome 6 vs 12? Firefox 3.6 vs 4? Who gives a shit! As long as the IEs lag so far behind everyone else, they are the roadblocks and causes of confusion in web development. Not the minor differences between the actual modern browsers.
yup, thanks Chrome! :)
The creators and maintainers of HTML and XHTML have said over and over that the language is a description of content and absolutely not in any manner a design for presentation. Presentation was to be left to the browser and the user.
Well, that lasted all of about five minutes. The first thing that came along was the use of white-space spacing graphics and tables to push things around so they looked consistent across varying screen widths - so that the 800x600 screen looked like the 1024x768 screen. To make the presentation customized as designed by the web developer (and whoever is paying them) and to have a consistent user experience. Not at all what the design of HTML is for.
So today we have web sites developed with the specific intent of circumventing the design of HTML and XHTML. Amazingly, these design hacks are not something that anyone really tests for in browser development - they are interested in developing something that meets the criteria of the design of HTML, not the intent of the web developer. In a few cases there are actually things that have been adopted into the browser design to make the web developer's life easier. Since these things are clearly non-standard and unique to a particular browser they make the web developer's life hell.
So where there were maybe 4 or 5 specific platforms to test against before, now there are far more. 15? 20? More?
The real solution is to have a web presentation language that does define presentation, which is what just about everyone really wants. Except for the maintainers of the HTML standard. Not only is the problem not going to get any better, by definition we have two groups moving in different directions. It is going to get a lot worse and probably at an expotential rate.
Adobe Flash
http://www.youtube.com/watch?v=HNTxr2NJHa0
IE8 is dead. If you develop for IE8 you're throwing away 75% of the functionality.
Unless your target audience is noobs, then HAHA.
I see lots of people who are probably not employed as web dev's attempting to speak as such, I'm employed as one (I do more layout using CSS and heavy JS development [current codebase - all internal and can't be released - 1200 lines handwritten]).
Develop for IE7. That's your lowest. UNLESS you know that your crowd is going to be using better, such as Beta services usually attract users of Chrome and Firefox with iOS and Android coming in, then target those. If you include vendor prefixed, include all of them, even if it is a little bloated (Yes even -o and -ms). Polyfill what you can, and develop against standards and then change based on testing. So first make fully compliant, then test against IE7. Make sure it's what you want. Then check to see if you regressed anything. Regardless of what people say, DO NOT USE hacks, use Conditional statements for IE (stylesheets work best). Never write something that exploits bugs, that's asking for trouble. After IE7 is done, check IE 8 XP, IE8 Windows 7, IE9, Firefox stable, Chrome stable, and that's it. Opera is conformant (mainly) to Webkit, which Chrome stable will be a lower version, and is close enough to Safari that it's not worth the trouble.
That's how I write it, and I've NEVER had layout bugs. I keep 2 OS's (Windows XP and Windows 7) with 6+ browsers (Opera latest, Chrome Canary, Chrome Dev, Chrome Stable, Safari 5, IE7, IE9, Firefox Aurora, Firefox Stable, Lynx) so that I know I can recreate 90%+ of the problems.
Oh, and don't ignore accessibility. It's important to crawlers, screenreaders, and you in the future (if you need to munge the data).
Should be:
"Rapid web copy-pasta challenges browser developers."
And the fact that the "standards" are little more than committee wishlists doesn't help much.
... so that we'll never actually get rich.
So -- We took SGML document language, then slapped on a shitty scripting language that successfully rode Java's coat-tails, on no other merit than "it's what's available". Then we tried to formalize everything, HTML5 got delayed (is still being delayed) for EIGHT YEARS...
All for what? What did we do with a stateless distributed document display system and a scripting language? Why we built stateful applications out of them.
We all booed and hissed at ActiveX and Java -- native code is insecure, no one has the right Java version installed, it's a slow VM! -- But now we take JavaScript and compile it into insecure native machine code, run it in a slow hybrid VM, and no two browsers have the all the same features, and visitors don't have a common version installed.
Meanwhile someone discovered that if you give the general public access to a software repository, and give coders a stable platform and channel to access customers via -- You can do the exact same bullshit as a web-app with less resources, and make it graphically slick too. (Of course fracturing is starting to happen again -- The old beast of platform diversity rares its head -- Google needs to step up and say: "If you don't give your users the updates after a set period, you can't access the Marketplace with new devices" [with an exemption for older hardware] ).
I'm no iFan, but this is what I've been saying since I wrote my first web app: "This sucks, it will eat itself alive with complexity as it gets popular".
Hey the "web" is neat -- But bending your code to support non-standard browser extensions has bit us in the ass -- Abandon ship, It's not worth the hassle to keep bailing at this point -- look over there, a good ol' fashion Repository... and it doesn't leak development time/money like a sieve...
Believe what you want. Yes, the web is too big to fail, but as long as we haven't learned that basic lesson -- Standards or Bust -- the platform (be it web or app) is doomed to be huge clumsy insecure zombie with an insatiable lust for mindshare, and development time.
Let me decide when to use a tab and when I want it to just be a back-button away!
Navigating away from a page and then navigating back with the back button tends to lose data entered into a form if the form is created with DHTML (manipulation of the HTML DOM by script). So until user agents* figure out how to preserve data in a DHTML-generated form, we're stuck with opening a document in target="_blank".
* The phrase "until user agents" appears often in the WCAG where it describes workarounds for deployed browsers' failure to implement proposed elements and attributes that improve accessibility.
It's really simple. Pick a point in time in the past, and develop for that. With web browsers, I'd guess that aiming for standards (whether official or defacto) about 3 years ago should be usable for 99% of visitors. Trying to develop using features included in current browsers is nearly impossible.
I don't respond to AC's.
if you can't do it with a telegraph then you don't need to do it.
insensitive clod overlords obligatory xkcd car analogy russian reversals whoosh pedant fanbois ftfy in 3...2...1..PROFIT
I lost my faith in web development, the internet, standards and life...
I'll go to the country to grow and orchard and some chickens.
Screw you all.
The rate of change in IT is too rapid for anyone to keep up with. Esp. us old coots. You young folks still in the game, your skills are practically outmoded
before you've had a chance to use them. You have my sympathy.
That is one of the many reasons why we have HTML5 now, so we don't need to do that.
New things are always on the horizon
Yeah, we should be writing standards compliant code. Nobody disagrees with that. However, all of the browsers only implement a subset of the standard, and if you implement an important feature using part of the standard that isn't well supported yet, then you fucked up. Last minute tweaking won't fix that; you have to completely redo the code using a different approach.
You need to know what subset of the standard to use before you start coding. This is arguably getting more difficult these days as W3C takes ages to release a standard and WHATWG has decided to abandoned released standards, and instead continually adding to a moving "standard".
The difficulties in trying to determine this subset is the point of the article.
Develop against standards, not browsers. It's the way it always should have been. You may need to support a standard or two backwards in time, but write to one standard or another and if the browsers don't work with any modern standard correctly for some feature you require, you can blame the browser and get it fixed.
One way to avoid this is not to write content in HTML directly. Write in LaTeX or DocBook or a similar language that separates content from presentation, in order to insulate your content from changing HTML standards. Then have your script publish to the latest HTML standard. When the HTML standard changes, simply update the conversion tool.
Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
Google Web Toolkit (GWT) is pretty darn good at sorting out the browser dependencies for you. There are some pre-browser CSS tweaks you have to do for layout, but basically GWT is to the Web what the Java Virtual machine is to hardware - you just don't have to care about it. Plus, you write GWT in Java, which you already know and are using on your back-end Enterprise cluster. Take a look at GWT, if you are writing a significant part of your AJAX web application at the level of HTML5 and ECMAScript then you are doing the Web-equiavalent of writing assembly code (sometimes necessary, but can be avoided most of the time).
Here's the link to GWT if you haven't seen it before: http://code.google.com/webtoolkit/overview.html
HTML 4.01 Strict, it's the highest spec supported by the generic builds of k-meleon from browserchoice.eu (it uses the FF2 engine)
all the other browsers are either wrappers for IE (and so get upgraded with IE) or use the chrome engine and support HTML5
when k-meleon upgrades it's engine, then you can support html5
But consider Flex. 4.5 is compatible with all browsers, Desktop Installs with AIR, iOS, Android and Blackberry. This whole "code for every platform" rubbish, and an app for iOS, an app for Android, an app for blackberry et al is all just silliness.
At the end of the day, you have a finite amount of time/budget that can either be spread over 5 different market segments, or one single codebase. So yes, crap all over Flash/Flex if you want. At the end of the day, if you are a serious developer interested in developing useful and profitable applications, you simply can't rewrite and maintain your codebase over many different and often mutualy exclusive code domains, over several different languages.
Science advances one funeral at a time- Max Planck
if you can't do it with a telegraph then you don't need to do it.
You just can't do it period! It can't be done!
These posts express my own personal views, not those of my employer
Try http://browsershots.org/ It's not going to help with testing functionality, but it'll definitely help with layout.
Is that why a site like the Digg makes you click a link that opens a new window? (Example.) That's usually where I get annoyed by it. I have to right click and hit 'open' to get it to stay in the same tab. Lots of forums do that, too. I don't feel like this is due to a technical reason, it feels like they want their page to stay up longer.
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
A good reference is http://caniuse.com/
...at least for corporate online sites.
Too much time is wasted jerking off to the restrictions of the browser model. Code all over the fucking place...javascript here, server code there. Sessions variables that aren't available because...excuuuuse me, I'm in the wrong code block. Is it full Postback or a partial Postback? Do you really need a fucking library of books that constitute an entire zoo? Perl, Python, Ruby, PHP, Java, .NET, C#, C++, C++++, VB.net, F#, FU! Ajax, SOAP, Object not set to an instance of an object...which fucking object God Dammit!
AAAAHHHHHH!!!!!!
This wheel has been reinvented so many times the development world is like a huge used tire depot. More often that not, it's on fire.
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
I'm sure there are a number of reasons why generating a form completely on the client side is the best solution. However, I'm equally sure that there are many situations where that form generation could be done on the server side with no client-side scripting (or at most css display tweaks to hide precomputed dynamic fields). Given the history of the WWW, I'm willing to bet that most developers are erring on the side of too much "ooh shiny" and not enough "it just fscking works".
This story is overwrought. I'm a web developer who maintains about 40 apps on our Intranet, and I have always tried to make them work in IE, Firefox, Safari, Opera, and now Chrome. But really it boils down to making them work in both IE and non-IE browsers. First I try to make it work in Firefox, and I find that it then also works without modification in Opera, Safari, and Chrome. That was the easy part. Then I try to make it work in IE, which involves various patches, and hand-wringing.
I haven't yet developed against it, but I hear that IE 9 has finally become enough like the rest that maybe the angst will end. Indeed, the browsers are overall converging, not diverging. Really, this is the happiest time in 10 years of web development.
And as for HTML 5? Well, yeah, it's still in development, and different browsers support different parts of it. But it's not like the CSS or DOM nightmare of the past, where different browsers --- I mean, IE, implemented the standard differently. But yes, if you want to make a web site that uses all the latest features like Canvas, Audio, and offline storage, then yes you might have a hard time for a couple years.
The more browsers, the more problems.
On mobile devices the solution is now trivial : forget about it, develop a dedicated "app".
This is probably (and sadly) the direction things should go for applications that require to work. (I think about in-entreprises applications, not public websites).
Ever wondered why flash was so successfull ?
With browser versions rolling out like donkey-kong barrels, and a pretty good number of very stylized websites to look after, we spend a pretty good amount of time fielding calls about why x website looks different in y and z browser.. the general client doesnt realize that it looked fine in every available major browser 6 months ago, they **expect** it to be the same in all versions **forever**. This is my headache and it doesnt get better with standards..especially "living" ones..
The major issue of faster browser version cycle is for sysadmin.
And this is a good thing.
Sysadmins and organisation must understand that a web browser is not a software that you can keep at the same version for 5 years (IE6). This software is the door to the external world and must be updated regularly to adapt to the changes in the external world. Organizations and sysadmins must adapt their software deployment process to the product developement cyle. The fact that the media talk about it will hopefully help the executives to understand that.
Once organization will have adapted their software deployment process for desktop to reflect that change, we, as web developers, will have less problems with legacy browsers.
Develop against the standard, not any browser versions. Provide fallbacks or shims ("polyfills") for browsers that don't implement the full standard.
What is the standard? It's not hard to find out. There is a globally recognized standards body for HTML and related technologies. No, that would not be WHATWG.
What you linked to as HTML5 is not HTML5. It doesn't even call itself HTML5 any more. HTML5 has just entered Last Call, so most of it is stable now.
HTML was never intended to be an application language...
GWT is good but too slow...
If you are building web pages it won't matter - just use HTML 3.2 etc...
If your building a real world application use Silverlight, Flash (etc), i.e. a proper development tool...
However, I'm equally sure that there are many situations where that form generation could be done on the server side with no client-side scripting
A "Reply to This" link that navigates to a new document, like under Slashdot's old discussion system, would take the user away from the context of the discussion in order to post a new comment.
(or at most css display tweaks to hide precomputed dynamic fields).
On a Slashdot discussion, would you really want 50 different "Reply to This" forms to get loaded with each press of the "Get More Comments" button, all hidden with display:none until the user activates the "Reply to This" element above them?
Honestly! I work for mainland chinese clients, and all their desktops are XP + IE6, and Servers are 2003.
It is ironic to me that we have largely abandoned fast, compiled code in favor of slow, barely standardized multiple, largely incompatible browser technologies all in their infancy, running as script on the client machine when we have had the same technology just becoming available in browsers(although at a slow, buggy clip) available in fast, compiled code for 15 years. Case in point: HTML5 Canvas tag. Wow now we can code slow sprites in javascript! Welcome to 1990!