Posts Tagged ‘IE’

Internet Explorer 9 just might bring on a golden age of browsers

Thursday, August 19th, 2010

Yeah, I know. That might be some hyperbole. But, then again, if IE9 can do everything Microsoft is claiming, then all that time we spend making sure things work in IE, might be put to use doing interesting things.

I remember years ago, back during the browser wars, which were explained to me by my more nerdier friends, I was told Netscape was better and that’s what I used. Until, of course, a few years later when I was using IE6 because that’s what came on my computer and I was like a vast majority of people at the time and didn’t know there was other browsers or that there was any difference between them. And then, somehow, I discovered Firefox 1.5 and everything changed.

When I started web design in school, the IE7 beta was out and my teachers were excited for it because it was going to be so much better than IE6 but, of course, it wasn’t really that much better. And IE8 came out and was a little bit better, but now we just have to spend more time making sure that a website works in more than one version of IE (I stopped caring about IE6 over 6 months ago with the full support of my boss).

But, if Windows 7 is going to take over for XP next year in the corporate world, we might just be entering a world where Internet Explorer actually displays a website the same as the other major browsers. Think about that. I’m not talking about CSS3 transitions or animations, but just basic positioning. I don’t think I’ve ever made a site that didn’t require me to at least fix some minor issues with IE7.

IE9 won’t be the best browser out there, but it will, guaranteed, be the most used because the most people use Windows and most of them use IE. But at least it’s not going to suck and be a generation behind. We don’t need IE to innovate, we just need it to work, that’s what Webkit and Firefox are for.

Speaking of Firefox, Firefox 4 beta 3 has won me back. For a while now, I’d started using Chrome more and more but with this latest beta, I’ve gone back to FF. It’s just as faster and it’s just as powerful under the hood. Plus, I’m sure every browser will have something like Tab Candy, which is coming with the fourth beta I think.

When Internet Explorer supports RGBa, life’s going to be a lot easier

Monday, April 19th, 2010

One of the great things about CSS is it makes things easy. I’ve had to make sites where the design has called for elements to have backgrounds with an alpha transparency of less than 100%. There’s two ways you can go about it, you can use a PNG and set it as the image background and use a png support hack for browsers like IE6 that don’t support PNG transparency or you can tell the designer, “no that’s not going to work in all browsers” and if you’ve ever worked with a designer, that one usually doesn’t work. Everyday, I try to move farther and farther away from using images for backgrounds and other styling as much as I can, but of course IE is making that harder than it should be.

And something like RGBa makes building sites 100% easier. Need a bit of transparency on that div in the top corner? One little bit of CSS and it’s done. So how do we do it? Well, for the most part, if someone wants to use CSS to give a div a background color or set the color of some text, you would use the hex color, ie. #FF0000, for red. But CSS also allows you to set the color using rgb, which gives you more control over your color, rgb(255,0,0) would give you red. And CSS3 adds one little thing to that and let’s us control the alpha of an element: rgba(0,255,0,0.5) would show something with half transparency. That’s it, just adding that one number on the end will let us control that. But what about opacity:0.5;? Well, let’s say you just want the background set to half transparency and the text to display normally. If you set the whole div to opacity:0.5; then everything in the div will be half transparent. But if you set the background:rgba(0,255,00,0.5); then you get a half transparent green background with normal text.

Here’s an example of what you can do. The HTML:

1
2
3
4
5
<div id="redblock">
</div>
<div id="blueblock">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ut.</p>
</div>

Now the CSS. I’ve added a webkit transition to show what you can do to highlight elements during the :hover state. Here’s the CSS:

1
2
3
#redblock {width:200px; height:200px; background:rgb(255,0,0); background:rgba(255, 0, 0, 1);}
#blueblock {width:200px; height:200px; background:rgb(0, 0, 255); background:rgba(0, 0, 255, 0.5);  position:absolute; left:100px; top:100px; transition-property:background;}
#blueblock:hover {background:rgba(0, 0, 255, 1); -webkit-transition-duration: 1s;}

I’ve added in the regular RGB color setting so that Internet Explorer has something to display. This is just another one of those things that are great to use but you have to be careful because no version of IE supports it. Hopefully IE9 will and then we can start developing sites for all browsers that don’t require as much hacking as they do now. One thing I’d like to see added in a future version of CSS is something like URLa(background.jpg, 0.5) where we could control the transparency of the background image and use smaller images for patterns.

Setting up a CSS3 radial gradient for your site’s background

Saturday, March 20th, 2010

In my last post, I showed how to use CSS3 linear gradients to create your web sites background. This time I’ll show you how to do it with radial gradients. It’s simple for Firefox, but it’s a bit more complicated with Webkit browsers such as Safari and Chrome.

First, the Firefox way:

1
html {height:100%; background:-moz-radial-gradient(center, #f4fafe, #a2d2ed) no-repeat #a2d2ed;}

Simple, type of gradient, the start position, the start color, end color. Then I put in no-repeat and set the background color for longer pages. The Webkit syntax took a bit of figuring out but the same effect can be created:

1
html {height:100%; background:-webkit-gradient(radial, 50% 50%, 0, 50% 50%, 500, from(#f4fafe), to(#a2d2ed)) no-repeat #a2d2ed;}

Whoa, a lot more is going on here, but once you know what’s happening it’s not that complicated. First we set the gradient type, then the start position where I’ve set it to 50% of the width and 50% of the height of the page. Next the start radius, which I’ve set to 0. Then the end point, which is also 50% 50%. This causes the gradient to travel towards every side of the page. Next, the end radius, which you set to how big you want your gradient to be. And finally, your start and end colors.

Pretty simple once you know what to do, but I think I’m partial to the Firefox syntax and, hopefully soon, there will be a standard way to write this and it will work in Internet Explorer.

Use CSS3 gradients to replace your site’s background

Friday, March 19th, 2010

If you’re a web developer like me, you’ve made plenty of sites where the design includes a large gradient for the background coloring. Up until now the only way to do was to either, have a huge image that was the width of the site and would take forever to load or to use a however tall and 5px wide image file that you repeat on the x axis. Not that big of a deal, but stuff like the image file no loading or loading slowly can ruin the look of a site. Which is way I think that CSS3 gradients are going to be something that people will use on close to every site they build.

Here’s the great thing about it, you can just add a gradient to the background of any element on your site without having to worry about image sizes. The code for gradients it this:

1
2
3
4
5
/* For Firefox */
-moz-linear-gradient(start point, start color, end color);

/* For Safari and Chrome */
-webkit-gradient(type, start point, end point, from(start color), to(end color));

I was messing around with gradients and I wanted to add one to the background of the body of a test page I was build. So I put:

1
2
3
4
5
body {
    height:100%;
    background:-moz-linear-gradient(top, #666, #CCC);
    background:-webkit-gradient(linear, left top, left bottom, from(#666), to(#ccc));
}

You’d think this would add a gradient to the body background and you could move on to the next thing. I was surprised to find that it did this:

The gradient is only the size of the content! Add more content and it stretches out. This isn’t something that I can see being useful for a website and, amazingly, I couldn’t find anything on the web about people using CSS3 gradients for the body background. Every example I found just showed little squares of blue to red gradients. I messed around for a while and finally had an idea. What if I applied the background to the html tag? Here’s what you get:

Now the gradient stretches to the height of the whole page. Now, if you’re going to do this, you have to add a couple of things on to the end of your CSS3 mark up:

1
2
3
4
5
body {
    height:100%;
    background:-moz-linear-gradient(top, #666, #CCC) no-repeat #ccc;
    background:-webkit-gradient(linear, left top, left bottom, from(#666), to(#ccc)) no-repeat #ccc;
}

If you don’t add the no-repeat, the gradient will repeat on long pages and if you don’t set the background color, I set it to the bottom color on the gradient, the background color will be white on long pages after the gradient ends.

As usual, this won’t work in any version Internet Explorer that’s out right now and it doesn’t seem to be working in the IE9 preview, so if you’re going to use this, you’ll still have to do it the old way if you want IE users to have the same experience on your website. But that won’t be that big of a deal, if like me, you usually have seperate CSS stylesheets for IE7 and IE8.

The Internet will be a better place when everyone catches up to Chrome

Tuesday, March 16th, 2010

Since Mozilla Firefox was first release back in 2004, I’ve been a die hard user. Honestly, at that time I didn’t know anything about HTML, rendering engines or web standards, I think it was just the fact that for the first time since Netscape, if felt like someone was making a browser that was designed to give the user the best experience possible. And for the last 5 years, I’ve been forcing people, most who didn’t even know that there was more than one browser, much less hundreds, to download it. Anyone who still used IE6 was just plain weird! And then, when I went to school to learn all things web, they told us straight out, Firefox is better. Next, I discovered Web Developer and Firebug. They are two essential tools to building websites, if you aren’t using them, then you’re just making your job harder. Nothing could compare to the plug-ins Firefox had.

Every once in a while, I’d give something else a chance, Opera or Safari. Neither, for different reasons, ever really caught on with me. I would last maybe a week uses them but would always go back to Firefox. Then in 2008, Google released Chrome. At first, my reaction was “Great, another browser.” I really wondered what Google could offer that the other’s weren’t already. I gave it a shot and at first, I wasn’t impressed. It didn’t seem any faster than Firefox and it was bare bones, seriously bare bones. Then I discovered Chrome Experiments. I was impressed but while it was pretty cool what Chrome’s V8 JavaScript engine could do, it wasn’t enough for me to change. But something was happening to Firefox, it took up to 5 minutes to start up sometimes, it would crash and it would take forever to load some web pages. So I gave Chrome another try. And I kept using Chrome until Firefox 3.5 came out, which was supposed to fix most of the bugs that annoyed me.

Now I still use Firefox for when I’m building and testing a web site but I kept using Chrome for just surfing the web. In the long run, it is faster and with sites like Facebook and, of course, Google Docs, it loads faster and crashes a lot less. But that’s not the reason I want the other browsers to be like Chrome, it’s the JavaScript engine. Lately, I’ve started looking to jQuery in order to make some of the sites I build more dynamic. First of all, I know this stuff isn’t going to work that great in Internet Explorer and you just have to accept that. But a navigation I was working on today worked amazingly in Chrome but was jumpy and awkward in Firefox. Yesterday, I read an article at Webdesigner Depot on some annoying CSS3 bugs in Firefox.

So why will everything be better when the other browsers catch up to Chrome? With the web slowly moving towards HTML5 and CSS3 and the use of JavaScript to create dynamic sites, right now, to get the best experience, you have to use Chrome. Firefox just can’t render the JavaScript fast enough in a lot of cases and most of it just doesn’t work in IE7 or IE8. At first, Chrome’s bare bones design wasn’t a positive to me, but now I see that it’s the other browsers that have become bloated and that’s causing them to slow down. I get excited to think what I can make using CSS3 but then I have to slow myself done and ask, “If I make that, will it been seen by enough people to make it worth it?” I know that Firefox will catch up but will Microsoft advance Internet Explorer enough for web designers and developers to really use the tools out there? Or will Chrome just be always ahead, showing us the future?

Why I’m more excited about CSS3 than HTML5

Sunday, February 28th, 2010

HTML5 is in reality a long why from being finalized. Sure Safari, Chrome and Firefox support it and there’s a work around using Javascript to get Internet Explorer to work with it, but really it’s going to be a while before we get to use HTML5′s features and even then, I don’t think it’s going to change that much, at least in the being. The video tag is not close to being the Flash killer it’s been advertised as so far. The canvas tag will lead to some cool stuff being made but I’m not thrilled with the heavy use of Javascript to make things work. Plus, Javascript can be as big as, if not more of, a CPU hog than Flash. But with CSS3 I can see how web sites get made and displayed changing immensely.

Why am I so excited? It’s probably the little things, like being able to rotate elements or add gradients with out using images. Anytime you can use code to build an element and not use an image, the file size is going to be smaller and the page is going to load faster. I love building sites with CSS and rarely do I go back to the designer I’m working with and say “I can’t do that.” I enjoy the challenge, but most of the time, when there something that I can’t build, it’s something that I’ll be able to do with CSS3. I’m excited because this is going to open up new design possibilities that we haven’t be able to do yet. HTML5 will change the functionality of the web, but CCS3 will change the face of it.

Today I came across a link to 50 Awesome Animations made with CSS3 and although most of them only work in Safari and Chrome, it’s pretty exciting to see what can be done with CSS3. Some of them need Javascript, which is something I’m not too thrilled about. Why? Because one of the main complaints against Flash is it being a CPU hog and the cause of this a majority of the time is bad coding. And the amount of bad Javascript code out there dwarfs bad ActionScript code, so if CSS3 increases the amount of JS out there, I’m really hoping Microsoft steals V8, Chrome’s JS rendering engine! It’s open-source, but it would be more fun for everyone if MS stole it.

But once again, like my post about HTML5, we are going to have to wait for Microsoft to support CSS3 before we can really use it. Everything I read about CSS3 now tells you to make it look one way for supporting browsers and then another, less attractive way for IE. I don’t mind designs appearing a little different from browser to browser, but I have no interest in a site appearing completely different in one compared to the rest. Hopefully, with IE9 being released at the end of this year, Microsoft will add full CSS3 support and we can take the Internet to the next level, in terms of design.

The bottom line it this, CSS3 is going let us do things the either we weren’t able to do before or we needed something like Flash to create. It’s going to take some time, but over the next couple of years, what we are going to be able to do with a “static” web page is going to be amazing. The future is here, the rest of the Internet just needs to catch up!

HTML5 and CSS3 Will Have to Wait for IE9

Monday, February 22nd, 2010

I am excited about the future of web development, the stuff that we’re going to be able to do with HTML5 and CSS3 is going to be amazing, even some of the stuff that people are doing now it pretty intense and I’m beyond happy that most of them are showing how they did it. But, as usual, it seems that Microsoft is holding back the web with Internet Explorer. I’ll be the first to admit that IE8 isn’t that bad of a browser and even IE7 was a massive improvement over IE6. I don’t know why, but it just seems that Microsoft is always a generation behind the other browsers. Where would the web be if Firefox and the Webkit browsers hadn’t come along?

Because a vast majority, around 90% (including me), of computer users run Windows as their OS and I can only guess at the amount of those that only have IE installed, it’s going to be up to Microsoft to bring in widespread support for HTML5 and CSS3 features. And there’s the problem and something that I just can’t understand about Microsoft and their development of Internet Explorer. What is stopping them from adding the support for these features that all the other browsers seem to be able to add? You might think you can ignore this, believing most people are smart enough to use Firefox or Chrome, but they aren’t. My parents still don’t understand the concept of a web browser, much less that there’s more than one out there.

Perhaps Microsoft’s IE development is just part of the overall corporate direction of the company. Something that has become a giant pain in the butt of web people everywhere was the shift in Outlook 2007 to use Word’s HTML rendering instead of IE’s. This has sent the whole HTML email design world back to 1998. I know it’s not a glamorous side of web development, but a lot of clients want that service and I can’t tell you how much time I’ve spent building something that, by today’s standards, is simple and only a couple of lines of CSS, only to have to rebuild it in tables and inline styles.

HTML5 isn’t officially done yet, but there is enough support that you could build a site using it, but for the most part you have to include a Javascript file in order for IE to recognize the HTML5 tags, not really a big thing, but it is a pain, especially if someone has Javascript turned off in their browser. And, sadly, there’s no Javascript file you can use that makes IE recognize the unsupported CSS3 attributes, at least that I’m aware of.

So what does this all mean? In the end, either we wait for Microsoft and IE to catch up or we return to the days of building different versions of sites for different browsers. I managed to miss that the first time around and I really don’t want it to happen again, especially now that we have 5 widely used browsers, not 2. And it’s not just IE that’s behind on this. Most of the CSS3 examples I’ve seen out there only work in Safari and Chrome, Firefox can run some but not the ones that rely heavily on Javascript. And I don’t want anything to rely on Javascript, but that’s an entire other post.

The death of IE6 and the future of the web browser

Monday, February 8th, 2010

I can’t tell you how excited I was to hear that Google will stop supporting IE6 on March 1. This might just be the thing that, with companies actually wanting to upgrade to Windows 7, will end IE6′s reign of terror. When I first started at the company I work for, Bounce Design, just under 2 years ago, they built everything in tables and used JavaScript for rollovers. I came in with the attitude of always being on the cutting edge and over that time we’ve gone from spending hours and hours getting sites to work in IE6, including hacks to get transparent .pngs to display to telling clients to upgrade their browser when they tell us it doesn’t look right in IE6.

Considering the hours lost to making things work, I don’t think anyone will mourn IE6. But, as usual with Microsoft and the web, I find I still have to spend extra time getting things to look the same in IE7 and IE8. I’m actually pretty surprised at how different the two versions of IE can render CSS positioning, sometimes by as much as 400 to 500 pixels! So, while IE6 and it’s issues might be on the way out, we’re still going to have to deal with the two versions of IE that don’t come close to supporting Web Standards. I don’t mind making minor changes to sites I build but I do long for the day when I don’t need separate style sheets for different browsers.

But without IE6, I don’t know if we would have the rise of Firefox, Chrome or even Safari. As a web developer, I force everyone I know to use anything other than IE and they usually give in because I can be very annoying. Even my wife, who still uses IE8, at least has the Google Chrome Frame. At first I was going to write about how all these browsers are different and display everything differently and we won’t really be able to take some like HTML5 to the max until this changes. But then I thought, the web isn’t like the radio or TV, everyone does different things on the it. We all surf the web our own way, some people are Facebook the entire time they are on line, others are using JavaScript heavy sites, like Google Docs. I think that browsers will evolve even more to suit individual users. I use Firefox when I’m working on projects and for the most part it’s my main browser, but I find that I will switch to Chrome when I just want to surf and I want sites to load fast.

With mobile browsers on the rise and HTML5 and CSS3 on the way, the web is going to get more and more dynamic and I think, more personalized. But really, it’s not going to change that much anytime soon considering the overreactions to Facebook making changes to their homepage every 6 months.