2012-04-03, 01:13 PM
Hello developer whom I greatly respect,
I hope you'll excuse me for perhaps making a post that has been posted before. I do so because I think I can help.
I'll start with a short introduction, since this is my first post: My name is norbert, I'm a 28 year old front-end webdeveloper. I've been a developer in this branch for 6 years now. I've done a fair share of PHP and MySQL too.
I'm using MyBB for a community site I'm hosting and I see a lot of room for improvement on the front-end of MyBB.
I've seen some jokingly talk about HTML5 on this board, and I think there's some misconceptions about the subject. I'd like to tell you my experience about it:
HTML5 is here, it's here now, it works well and it's a great platform to develop for/on/with. HTML5 consists of a lot of seperate modules. They do not ALL have to be supported in order for webdevelopers to start using the others/some. Some modules like CSS3 are even groups of sub-modules some of which are well supported, some only on cutting edge-browsers. This does not mean you cannot use them at all. You can use them, to improve the experience of users.
I'd like to advocate Graceful Degration or Progressive Enchancement.
In short: It's OK for a website to look or behave differently in older browsers or edge-case situations. It's perfectly normal for a website to be a bit basic in IE6, no animations, no modal windows etc. And be very sleek in Chrome 11 with fancy roll-over animations, ajax, custom fonts etc..
As long as the core features of the website are available: navigation and content.
Anyone who thinks if fine to expect the same performance/experience from a 10 year old browser compared to one release today, just doesn't 'get it'. Old browser just don't have the capabilities as the newer ones do. Seen this chart?: <chart> IE7 didn't fit on it. Browsers are changing at incredible rate. By making layouts/software like we're still partying in 1999 all that potential is untapped.
Also perhaps it's worth taking a look at your current userbase. How many of your users need IE6, IE7 support? For how many of those people would a basic experience be just fine?
Waiting for the HTML5 spec to be fully supported in every browser is a mistake. You might also want to start using HTML5 now for the reason that mobile is about to explode and mobiles with their lower specs and low bandwith, require optimized front-end programming. Also it's a different 'platform', with different requirements and completely different use-cases.
Don't make the mistake of making 2 separate template with separate functionality for desktop and mobile. First problem with that: there's not 1 type of mobile. Mobile devices come with a variety of features, screen-sizes, touch/no-touch etc. The term mobile is not a group of devices, it's a group use-cases "on the go". Second problem is: you simply do not know what devices might come out in the future, with what resolution, what capabilities. You should not build templates specifically for iPhone of iPad, simply because they are considered 'the mobile device' right now. You should think about the the possible use-cases per resolution and design templates for that..
The only real answer to the mobile trend is responsive design:
http://www.alistapart.com/articles/respo...eb-design/
example: http://mattkersley.com/responsive/
I'm suggesting you use a modern forward looking HTML and CSS and JavaScript approach.
Some fantastic frameworks have already been build by amazing front-end developer such as:
HTML5 boilerplate
Bootstrap
Object Oriented CSS
Bootstrap and oocss both have a great grid layout system that you use to make reliable layout without tables. They work perfectly fine in older browser too.
Making modern websites isn't walhalla, and it does require a fair chunk of understanding front-end structures to setup. But when setup properly it's less error prone then table-layouts, it's faster and allows for amazing flexibility.
To conclude:
HTML5 is ready now
Templates should be flexible and responsive
I hope you'll excuse me for perhaps making a post that has been posted before. I do so because I think I can help.
I'll start with a short introduction, since this is my first post: My name is norbert, I'm a 28 year old front-end webdeveloper. I've been a developer in this branch for 6 years now. I've done a fair share of PHP and MySQL too.
I'm using MyBB for a community site I'm hosting and I see a lot of room for improvement on the front-end of MyBB.
I've seen some jokingly talk about HTML5 on this board, and I think there's some misconceptions about the subject. I'd like to tell you my experience about it:
HTML5 is here, it's here now, it works well and it's a great platform to develop for/on/with. HTML5 consists of a lot of seperate modules. They do not ALL have to be supported in order for webdevelopers to start using the others/some. Some modules like CSS3 are even groups of sub-modules some of which are well supported, some only on cutting edge-browsers. This does not mean you cannot use them at all. You can use them, to improve the experience of users.
I'd like to advocate Graceful Degration or Progressive Enchancement.
In short: It's OK for a website to look or behave differently in older browsers or edge-case situations. It's perfectly normal for a website to be a bit basic in IE6, no animations, no modal windows etc. And be very sleek in Chrome 11 with fancy roll-over animations, ajax, custom fonts etc..
As long as the core features of the website are available: navigation and content.
Anyone who thinks if fine to expect the same performance/experience from a 10 year old browser compared to one release today, just doesn't 'get it'. Old browser just don't have the capabilities as the newer ones do. Seen this chart?: <chart> IE7 didn't fit on it. Browsers are changing at incredible rate. By making layouts/software like we're still partying in 1999 all that potential is untapped.
Also perhaps it's worth taking a look at your current userbase. How many of your users need IE6, IE7 support? For how many of those people would a basic experience be just fine?
Waiting for the HTML5 spec to be fully supported in every browser is a mistake. You might also want to start using HTML5 now for the reason that mobile is about to explode and mobiles with their lower specs and low bandwith, require optimized front-end programming. Also it's a different 'platform', with different requirements and completely different use-cases.
Don't make the mistake of making 2 separate template with separate functionality for desktop and mobile. First problem with that: there's not 1 type of mobile. Mobile devices come with a variety of features, screen-sizes, touch/no-touch etc. The term mobile is not a group of devices, it's a group use-cases "on the go". Second problem is: you simply do not know what devices might come out in the future, with what resolution, what capabilities. You should not build templates specifically for iPhone of iPad, simply because they are considered 'the mobile device' right now. You should think about the the possible use-cases per resolution and design templates for that..
The only real answer to the mobile trend is responsive design:
http://www.alistapart.com/articles/respo...eb-design/
example: http://mattkersley.com/responsive/
I'm suggesting you use a modern forward looking HTML and CSS and JavaScript approach.
Some fantastic frameworks have already been build by amazing front-end developer such as:
HTML5 boilerplate
Bootstrap
Object Oriented CSS
Bootstrap and oocss both have a great grid layout system that you use to make reliable layout without tables. They work perfectly fine in older browser too.
Making modern websites isn't walhalla, and it does require a fair chunk of understanding front-end structures to setup. But when setup properly it's less error prone then table-layouts, it's faster and allows for amazing flexibility.
To conclude:
HTML5 is ready now
Templates should be flexible and responsive