Archive for September, 2011

MediaWiki: The Definitive Wiki Engine


  

By now most everyone online has heard of Wikipedia; the online encyclopedia that boasts millions of articles in dozens of languages. It revolutionised the way content was delivered online and popularised the word ‘Wiki‘. According to Google, it is the 6th most popular website in the world.

What you may not know is that Wikipedia is powered by wiki software called MediaWiki. In fact, all projects of the Wikimedia Foundation use MediaWiki such as Wiktionary, Wikiquote and Wikibooks.

MediaWilki

What is MediaWiki?

MediaWiki is a free open source script that was released on January 25 2002 under the GNU General Public License. When Wikipedia was released in January 2001 it was originally based on UseModWiki software. However in the Summer of 2001 a German Wikipedia editor called Magnus Manske began working on a replacement as UseModWiki was proving to be too limiting.

Written in PHP with all the information being stored in a MySQL database, the improved Wiki software would eventually power Wikipedia from July 2002 onwards and would become known as MediaWiki.

The download file is only 14mb in size yet the platform can support websites with terabytes of content and huge amounts of traffic. It’s easy to use, easy to edit, allows reverting to previous revisions in case of spamming and is multimedia friendly. Caching is supported too.

The software has over 700 configuration settings and over 1,800 extensions as well making it a very flexible platform for publishing content online.

12 Popular Websites That Use MediaWiki

You may have visited a website that was powered by MediaWiki already without knowing it.

Below is a list of 11 popular websites that publish content using the MediaWiki software. As you will see, the majority of websites that use MediaWiki don’t modify the design of the script beyond uploading their own logo.

1. Wikipedia

The first website to use MediaWiki and by far the most popular website using the script. As previously mentioned, Wikipedia redefined how information was published online.

Wikipedia

2. Wikiquote

A project of the Wikimedia Foundation, WikiQuote is where you find famous quotations from famous people, films and literature.

WikiQuote

3. Conservapedia

An encyclopedia that does not allow bias or distortion of the truth in it’s articles.

Conservapedia

4. Metapedia

Focuses on culture, art, science, philosophy and politics.

Metapedia

5. WikiTravel

One of the most popular travel websites on the web.

WikiTravel

6. WikiCars

One of the largest guides to cars on the internet.

WikiCars

7. Wikihow

The largest collection of ‘How To’ articles on the web.

WikiHow

8. WikiSummaries

Over 3,000 free summaries of books.

WikiSummaries

10. Wikia

A for-profit website that was built using MediaWiki. It’s the home of some of the most popular wikis on the web such as the Star Trek information site Memory Alpha, the Lost encyclopedia Lostpedia,
Unclopedia, Lyric Wiki and World of Warcraft Wiki.

Wikia

11. Game Programming Wiki

A resource for game developers that provides tutorials and code for programming video games.

Game Programming Wiki

12. The TV IV

The site is a virtual compendium of television knowledge that anyone can edit.

The TV IV

30 Free MediaWiki Templates

As we have seen, most MediaWiki users don’t customise their design beyond the aforementioned logo change. The default skin for versions after 1.6 of MediaWiki is called Vector. It’s a plain design but very functional.

If you are looking to set your wiki out from the crowd, you may want to customise your site by uploading one of the many skins available for the script.

1. Fratman

Fratman

Info & Download

2. BlueWiki

BlueWiki

Info & Download

3. KindofBlue

KindofBlue

Info & Download

4. Rounded Blue

Rounded Blue

Download

5. Rounded Sassy

Rounded Sassy

Download

6. Misty Look

Misty Look

Info & Download

7. Andy’s MediaWiki Skin

Andy's MediaWiki Skin

Info & Download

8. SnaggleTooth

SnaggleTooth

Info & Download |

9. ItrMenuPlus

ItrMenuPlus

Info & Download

10. Cavendish

Cavendish

Download

11. Wolfbane

Wolfbane

Info & Download

12. WPtouch

WPtouch

Info & Download

13. Pixeled

Pixeled

Info & Download

14. WoW Wikia

WOW Wiki

Info

15. WordPress TwentyTen

WordPress TwentyTen

Info & Download

16. The Erudite MW

The Erudite MW

Info & Download

17. GuMax

Gumax

Info & Download

18. ycgu_max

ycgu_max

Info & Download

19. Clean

Clean

Info & Download

20. Clean and Blue

Clean and Blue

Info & Download

21. SnapHouston

SnapHouston

Info & Download

22. Cosmo Chips

Cosmo Chips

Info & Download

23. BookJive

BookJive

Info & Download

24. Drupal

Drupal

Info & Download

25. Enhanced Relief

Enhanced Relief

Info & Download

26. FlaternalRefief

FlaternalRefief

Info & Download

27. Cheops

Cheops

Info & Download

28. Dusk

Dusk

Info & Download

29. VbGore

VbGore

Info & Download

30. Tech

Tech

Info & Download

Useful MediaWiki Links & Resources

Some links you may find useful if you decide to use MediaWiki.

Overview

There is a lot of wiki software available for free online, however MediaWiki stands head and shoulders above the rest for it’s ease of use, functionality and flexibility.

Don’t take our word for it. Give It A Try and if it doesn’t do what you need it to do you can always try another wiki script.

(rb)


Twitter Advertising: How to Get Promoted on Twitter

After years with no clear path to monetization, Twitter now offers three different methods for advertising or “promoting” your business: Promoted Accounts, Promoted Trends, and Promoted Tweets. Which service is right for you will vary depending on the type of campaign you’re planning. Do you want to acquire followers? Build buzz around a new product? Or, just spread your message as far as possible through the Twittersphere?

The first step is understanding how Twitter’s Promoted advertising works and the benefits of each service. Once you know how Twitter can promote your business, you will be able to choose the best strategy for your social media campaign. So, let’s begin with an overview of each type of Twitter Promotion. 

continue reading Twitter Advertising: How to Get Promoted on Twitter


© Barbara Holbrook for Tutorial Blog | No comment | Add to del.icio.us

Twitter Advertising: How to Get Promoted on Twitter is a post from: Tutorial Blog


Searchable Dynamic Content With AJAX Crawling





 



 


Google Search likes simple, easy-to-crawl websites. You like dynamic websites that show off your work and that really pop. But search engines can’t run your JavaScript. That cool AJAX routine that loads your content is hurting your SEO.

Google’s robots parse HTML with ease; they can pull apart Word documents, PDFs and even images from the far corners of your website. But as far as they’re concerned, AJAX content is invisible.

The Problem With AJAX

AJAX has revolutionized the Web, but it has also hidden its content. If you have a Twitter account, try viewing the source of your profile page. There are no tweets there — just code! Almost everything on a Twitter page is built dynamically through JavaScript, and the crawlers can’t see any of it. That’s why Google developed AJAX crawling.

Because Google can’t get dynamic content from HTML, you will need to provide it another way. But there are two big problems: Google won’t run your JavaScript, and it doesn’t trust you.

Google indexes the entire Web, but it doesn’t run JavaScript. Modern websites are little applications that run in the browser, but running those applications as they index is just too slow for Google and everyone else.

The trust problem is trickier. Every website wants to come out first in search results; your website competes with everyone else’s for the top position. Google can’t just give you an API to return your content because some websites use dirty tricks like cloaking to try to rank higher. Search engines can’t trust that you’ll do the right thing.

Google needs a way to let you serve AJAX content to browsers while serving simple HTML to crawlers. In other words, you need the same content in multiple formats.

Two URLs For The Same Content

Let’s start with a simple example. I’m part of an open-source project called Spiffy UI. It’s a Google Web Toolkit (GWT) framework for REST and rapid development. We wanted to show off our framework, so we made SpiffyUI.org using GWT.

GWT is a dynamic framework that puts all of our content in JavaScript. Our index.html file looks like this:

<body>
   <script type="text/javascript" language="javascript"
   src="org.spiffyui.spsample.index.nocache.js"></script>
</body>

Everything is added to the page with JavaScript, and we control our content with hash tags (I’ll explain why a little later). Every time you move to another page in our application, you get a new hash tag. Click on the “CSS� link and you’ll end up here:

http://www.spiffyui.org#css

The URL in the address bar will look like this in most browsers:

http://www.spiffyui.org/?css

We’ve fixed it up with HTML5. I’ll show you how later in this article.

This simple hash works well for our application and makes it bookmarkable, but it isn’t crawlable. Google doesn’t know what a hash tag means or how to get the content from it, but it does provide an alternate method for a website to return content. So, we let Google know that our hash is really JavaScript code instead of just an anchor on the page by adding an exclamation point (a “bang�), like this:

http://www.spiffyui.org#!css

This hash bang is the secret sauce in the whole AJAX crawling scheme. When Google sees these two characters together, it knows that more content is hidden by JavaScript. It gives us a chance to return the full content by making a second request to a special URL:

http://www.spiffyui.org?_escaped_fragment_=css

The new URL has replaced the #! with ?_escaped_fragment_=. Using a URL parameter instead of a hash tag is important, because parameters are sent to the server, whereas hash tags are available only to the browser.

That new URL lets us return the same content in HTML format when Google’s crawler requests it. Confused? Let’s look at how it works, step by step.

Snippets Of HTML

The whole page is rendered in JavaScript. We needed to get that content into HTML so that it is accessible to Google. The first step was to separate SpiffyUI.org into snippets of HTML.

Google still thinks of a website as a set of pages, so we needed to serve our content that way. This was pretty easy with our application, because we have a set of pages, and each one is a separate logical section. The first step was to make the pages bookmarkable.

Bookmarking

Most of the time, JavaScript just changes something within the page: when you click that button or pop up that panel, the URL of the page does not change. That’s fine for simple pages, but when you’re serving content through JavaScript, you want give users unique URLs so that they can bookmark certain areas of your application.

JavaScript applications can change the URL of the current page, so they usually support bookmarking via the addition of hash tags. Hash tags work better than any other URL mechanism because they’re not sent to the server; they’re the only part of the URL that can be changed without having to refresh the page.

The hash tag is essentially a value that makes sense in the context of your application. Choose a tag that is logical for the area of your application that it represents, and add it to the hash like this:

http://www.spiffyui.org#css

When a user accesses this URL again, we use JavaScript to read the hash tag and send the user to the page that contains the CSS.

You can choose anything you want for your hash tag, but try to keep it readable, because users will be looking at it. We give our hashes tags like css, rest and security.

Because you can name the hash tag anything you want, adding the extra bang for Google is easy. Just slide it between the hash and the tag, like this:

http://www.spiffyui.org#!css

You can manage all of your hash tags manually, but most JavaScript history frameworks will do it for you. All of the plug-ins that support HTML4 use hash tags, and many of them have options for making URLs bookmarkable. We use History.js by Ben Lupton. It’s easy to use, it’s open source, and it has excellent support for HTML5 history integration. We’ll talk more about that shortly.

Serving Up Snippets

The hash tag makes an application bookmarkable, and the bang makes it crawlable. Now Google can ask for special escaped-fragment URLs like so:

screenshot

When the crawler accesses our ugly URL, we need to return simple HTML. We can’t handle that in JavaScript because the crawler doesn’t run JavaScript in the crawler. So, it all has to come from the server.

You can implement your server in PHP, Ruby or any other language, as long as it delivers HTML. SpiffyUI.org is a Java application, so we deliver our content with a Java servlet.

The escaped fragment tells us what to serve, and the servlet gives us a place to serve it from. Now we need the actual content.

Getting the content to serve is tricky. Most applications mix the content in with the code; but we don’t want to parse the readable text out of the JavaScript. Luckily, Spiffy UI has an HTML-templating mechanism. The templates are embedded in the JavaScript but also included on the server. When the escaped fragment looks for the ID css, we just have to serve CSSPanel.html.

The template without any styling looks very plain, but Google just needs the content. Users see our page with all of the styles and dynamic features:

screenshot

Google gets only the unstyled version:

screenshot

You can see all of the source code for our SiteMapServlet.java servlet. This servlet is mostly just a look-up table that takes an ID and serves the associated content from somewhere on our server. It’s called SiteMapServlet.java because this class also handles the generation of our site map.

Tying It All Together With A Site Map

Our site map tells the crawler what’s available in our application. Every website should have a site map; AJAX crawling doesn’t work without one.

Site maps are simple XML documents that list the URLs in an application. They can also include data about the priority and update frequency of the app’s pages. Normal entries for site maps look like this:

<url>
   <loc>http://www.spiffyui.org/</loc>
   <lastmod>2011-07-26</lastmod>
   <changefreq>daily</changefreq>
   <priority>1.0</priority>
</url>

Our AJAX-crawlable entries look like this:

<url>
   <loc>http://www.spiffyui.org/#!css</loc>
   <lastmod>2011-07-26</lastmod>
   <changefreq>daily</changefreq>
   <priority>0.8</priority>
</url>

The hash bang tells Google that this is an escaped fragment, and the rest works like any other page. You can mix and match AJAX URLs and regular URLs, and you can use only one site map for everything.

You could write your site map by hand, but there are tools that will save you a lot of time. The key is to format the site map well and submit it to Google Webmaster Tools.

Google Webmaster Tools

Google Webmaster Tools gives you the chance to tell Google about your website. Log in with your Google ID, or create a new account, and then verify your website.

screenshot

Once you’ve verified, you can submit your site map and then Google will start indexing your URLs.

And then you wait. This part is maddening. It took about two weeks for SpiffyUI.org to show up properly in Google Search. I posted to the help forums half a dozen times, thinking it was broken.

There’s no easy way to make sure everything is working, but there are a few tools to help you see what’s going on. The best one is Fetch as Googlebot, which shows you exactly what Google sees when it crawls your website. You can access it in your dashboard in Google Webmaster Tools under “Diagnostics.�

screenshot

Enter a hash bang URL from your website, and click “Fetch.� Google will tell you whether the fetch has succeeded and, if it has, will show you the content it sees.

screenshot

If Fetch as Googlebot works as expected, then you’re returning the escaped URLs correctly. But you should check a few more things:

  • Validate your site map.
  • Manually try the URLs in your site map. Make sure to try the hash-bang and escaped versions.
  • Check the Google result for your website by searching for site:www.yoursite.com.

Making Pretty URLs With HTML5

Twitter leaves the hash bang visible in its URLs, like this:

http://twitter.com/#!/ZackGrossbart

This works well for AJAX crawling, but again, it’s slightly ugly. You can make your URLs prettier by integrating HTML5 history.

Spiffy UI uses HTML5 history integration to turn a hash-bang URL like this…

http://www.spiffyui.org#!css

… into a pretty URL like this:

http://www.spiffyui.org?css

HTML5 history makes it possible to change this URL parameter, because the hash tag is the only part of the URL that you can change in HTML4. If you change anything else, the entire page reloads. HTML5 history changes the entire URL without refreshing the page, and we can make the URL look any way we want.

This nicer URL works in our application, but we still list the hash-bang version on our site map. And when browsers access the hash-bang URL, we change it to the nicer one with a little JavaScript.

Cloaking

Earlier, I mentioned cloaking. It is the practice of trying to boost a website’s ranking in search results by showing one set of pages to Google and another to regular browsers. Google doesn’t like cloaking and may remove offending websites from its search index.

AJAX-crawling applications always show different results to Google than to regular browsers, but it isn’t cloaking if the HTML snippets contain the same content that the user would see in the browser. The real mystery is how Google can tell whether a website is cloaking or not; crawlers can’t compare content programmatically because they don’t run JavaScript. It’s all part of Google’s Googley power.

Regardless of how it’s detected, cloaking is a bad idea. You might not get caught, but if you do, you’ll be removed from the search index.

Hash Bang Is A Little Ugly, But It Works

I’m an engineer, and my first response to this scheme is “Yuck!� It just feels wrong; we’re warping the purpose of URLs and relying on magic strings. But I understand where Google is coming from; the problem is extremely difficult. Search engines need to get useful information from inherently untrustworthy sources: us.

Hash bangs shouldn’t replace every URL on the Web. Some websites have had serious problems with hash-bang URLs because they rely on JavaScript to serve content. Simple pages don’t need hash bangs, but AJAX pages do. The URLs do look a bit ugly, but you can fix that with HTML5.

Further Reading

We’ve covered a lot in this article. Supporting AJAX crawling means that you need to change your client’s code and your server’s code. Here are some links to find out more:

Thanks to Kristen Riley for help with some of the images in this article.

(al)


© Zack Grossbart for Smashing Magazine, 2011.


A Showcase of Artistic Typography


  

With so many designer’s devotion to typography, we felt it was time to shine our spotlight on some of the more artistic typographical creations out there to inspire our readers. Typography is virtually everywhere these days, and the art scene is not lacking in these expressive designs.

In fact, it is teeming with finely crafted pieces that take this design element to an entirely new level. One where it plays a much more subtle communicative role, and is more in a decorative one. Just take a look at this showcase we have compiled of some extremely artistic typography to see what we mean.

The Art of Type

Type Treatments by Jack Crossing

Typo Graphic by Marta Podkowinska

BsAs by Jorge Lawerta

Ampersand Living Typography by Jason Perez

Graffiti Style by Andrei D. Robu

History Alphabet by Francisco Gigena

Some Fresh Stuff by Peter Tarka

Style Experiment by Dmitry Ske

Typographic Experiments by Kristian Kasi

Just Evolve X Nike SB Laced by Jonas Fleuraime

Posters by Evgeny Zhelvakov

Paper Typography by sabeena karnik

Soma Show by Andy Smith

You’re Not The Other by Bruno Santinho

Bright Type by Veaone

Computer Arts Magazine by Steven Bonner

Tangled Handmade Font by Katya Belkina

Typo Graphic Design by Andrei D. Robu

Peace by Piece Font by Scott Wheeler

El Súper Cartel by Alexander Wright

Alphabattle by T M Addison

Mascaradas Type by Monfa

I’m Not Partying by andrey smirny

Pleasure P by endemo

Timeless is not Forever Poster Series by carlos ”hayes” abreu

Joy by IGziz

Out Door 09 by Carlos Bermúdez

Happy Nu Year 2009 Everybody by pujanggadesaininc

FITC Edmonton 2010 by Jay Quercia

If We Don’t Care, Who Will? by Charles Williams

Ampersand Candy Oil n Flesh by verzerk

Eat My Dreams by imadawwas

Playful Tongue by EikoMoogles

The Sound Lab by Simanion

Human Butter by Lucas Iacono

Letter “G” by Gurez

Biodiveristy by dreamchaotic

2012 Forever and Ever… by blindn

Time to Love by relplus

Cosmos Series 2 by zensato

(rb)


Content Prototyping In Responsive Web Design





 



 


You might be interested in further articles and resources related to this article.

Michelangelo once said,

The best of artists has no conception that the marble alone does not contain within itself.

Translate this to the world of Web design and you might say,

No matter how great a designer you are, you’re only as good as your content.

While the reality of client work sometimes makes it challenging to gather and produce content prior to starting the design, this is now widely accepted as being necessary. You may have heard this referred to as “content-driven design.� I’m not the first to suggest that our current approach to responsive Web design could be improved by imparting a bigger role to content in determining how our websites respond. However, I haven’t seen many (if not any) practical explanations on how to do this. I’d like to start this conversation by introducing a theoretical concept called a “content prototype.�

What Is A Content Prototype?

A content prototype is an HTML-and-CSS-based fluid-grid prototype, consisting of layout and typography, that consists of the project’s actual content. Its greatest usefulness may be in determining where to apply media queries to make the Web design responsive.

For centuries, we have shaped our layouts and typefaces according to the meaning of the content. This has traditionally been done on fixed-width pages. We have inherited a fixed-width mentality in designing for the Web, when in fact the Web is not fixed-width. Users come to our websites for content. We should strive to present this content in the most appropriate and readable way possible.

Let’s Get Theoretical

The following is a theoretical walk-through of how one might use a content prototype in real life. Again, this is intended to begin a conversation on how we can marry the concepts underlying content-driven design and those of responsive Web design.

Imagine that you are about to begin designing a website. The website will consist of a single page, which contains a block of text and a few short excerpts of related text. You’ve done your homework, and the content is fully written. You have solid documents of the architecture and wireframe that establish the priorities for this page. You also know that the website will be responsive. You’ve opened up your design tool of choice, and you’re now looking at the “File → New� dialog. What to enter in those pesky little “width� and “height� fields?

Photoshop’s new file dialog box
Photoshop’s new file dialog box.

Perhaps it doesn’t matter.

Consider this. The goal of this process is to create a website that begs to be read at any resolution. So, start at whatever resolution you’d like, whatever you’re comfortable with. Every resolution is important, not just the resolutions that last month’s analytics say are the most popular.

Because we’re following the principles of content-driven design, start with the highest-priority content on the page (the real content). Don’t worry about anything other than the typeface, font size, column width and layout. Make it a pleasure to read. This is about as basic as you can get, because you haven’t yet created icons, textures or illustrations; those elements are important, but they should support the content, and you can work on them later.

Next, code the simple page that you’ve designed using a fluid grid. This is critical; when your browser’s window is about the same width as the canvas that you started with, the content prototype should look very much the same. This gives you the chance to play with the prototype in a browser and make informed decisions about where your media queries should fire. Using this method, the content will dictate where your fluid grid breaks down. These breakages are where you should apply media queries; they are opportunities for more dramatic changes. Make these changes, always focusing on the legibility of the content.

Following this pattern, you would add media queries at points where the fluid grid falls apart. Soon, you will have a full spectrum of resolutions, with beautiful and appropriate reading experiences. Once this is done, you will have a finished content prototype that demonstrates the readability of your content outside of the context of any device-specific resolutions.

Benefits Of A Content Prototype

Thinking this way about the process of responsive Web design makes the content a filter through which all other decisions are made. The goal is to add a degree of cohesion between the message and the design of the website that would be difficult to achieve without such an approach.

Another challenge with responsive Web design is in testing usability across all resolutions. A round of usability testing with a completed content prototype could quite possibly give an early glimpse of problems with changes to the layout. The sooner you can identify these problems, the lower the cost of fixing them.

Additionally, content prototypes give you an opportunity to show that layout changes are possible before spending days designing every detail. The iterative nature of content prototyping invites collaboration between designer and coder — even if they happen to be the same person.

Design In The Browser

If you are one of those designers who also codes, then you’ve probably recognized that this can all happen right in the browser. If you have the skills to do both, then by all means, start in the browser. With the emergence of CSS3 features like border-radius, text-shadow and gradient, designing in the browser is more feasible today than ever before.

We’re all frustrated with our tools. Perhaps this is because they are all fixed-width tools! But regardless of whether we have the right tools for the job, we cannot continue to rely on common device-specific resolutions if we want to build websites that work well into the future. A content prototype gets our content into the browser as early as possible.

Problems With Content Prototypes

Obviously, this approach does have some limitations. Foremost, not every website is content-driven; many websites are workflow-driven. Without getting sidetracked by the whole question of what content is, we can recognize that this process wouldn’t necessarily work if you don’t have the content first.

Also, if you’re a designer who is not also a front-end developer, then a lot of back and forth will be required to complete the content prototype. This is not necessarily bad, but it will certainly take time.

Then there is the problem of what to do once you have a completed the content prototype. You could continue designing and adding to the code that you have. But if you do choose this route, then you will need to start with the smallest resolution first, because this is the best practice for coding a responsive website.

Alternatively, you could use this process merely to determine where your media queries should fall. In this case, this would be a lot of work just to find the proper breaks in the content’s readability.

Alternative Approaches

There are other ways to make these decisions. Using traffic data, some people might build a graph to determine the breaking points in their design.

Breaking point graph
Using traffic data to determine where to apply media queries.

Ethan Marcotte describes a similar process in his book Responsive Web Design, but he also suggests resolutions that are common among popular devices these days. Also, coding a responsive website that has already been fully designed could cause problems if you’re not sure whether the layout can be achieved with CSS alone. As mentioned, content prototyping lets you experiment with these layouts before fully committing to a change for a given resolution.

The point of all this is to make our content more readable, independent of what device it’s being viewed on. If content prototyping doesn’t work, maybe we could find some way — other than relying on which devices are currently popular — to make content-driven decisions about the design and layout. The guys at Front have been experimenting with this as well, calling it “The Goldilocks Approach to Responsive Design.� Their technique is to use an em-based layout (instead of the typical fluid-grid approach of percentage widths) to create a great reading experience at all resolutions.

A Helpful Tool

One of the developers on our team recently created a media query bookmarklet, which displays in real time your browser’s width and height and any media queries that have been triggered. This tool can be very helpful when doing responsive Web design. Feel free to experiment with it; I hope it simplifies the process for you as it has for us.

Building For The Future

The aim is lofty, designing for the future. Just as we build websites to be accessible to the widest audience possible — because that is the right way to build them — we should build websites that embrace the fluidity of the Web. A challenge is before us to find ways to present our content appropriately without knowing which devices it will be viewed on. We must shift our focus back to the user. A content-out approach is a user-centered approach.

It won’t be long before we’re interacting with the Web in ways we never imagined. We may be near a time when fixed-width websites are considered outdated. Whether or not that happens, our websites should be flexible enough to present readable content to all of our users. Moreover, assuming what a user with a small screen wants from your website can be dangerous. Mobile-specific websites are certainly appropriate at times, but there are a few reasons why a website should not (at a minimum) be built responsively.

In order to get better at what we do, we must keep pushing the process forward. If you have other ideas on how to separate our decisions about a website’s design from popular device resolutions, or even knowledge of the benefits or problems of content prototyping, please share.

Further Resources

You might be interested in further articles and resources related to this article.

(al)


© Ben Callahan for Smashing Magazine, 2011.


  •   
  • Copyright © 1996-2010 BlogmyQuery - BMQ. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress