Sean's Technology and Writing Blog

Opera Browser for Nintendo DS: Webpage design guidelines

12 April 2007

You might remember I launched a site dedicated to the Nintendo DS browser at last month, including a couple of Javascript games.

I've now written some guidelines for how to design websites for the Nintendo DS. The use of the touchscreen, the small screens and the different browsing modes present several website design challenges. I hope that this guide will help to clarify them. When I was designing my site, I couldn't find this information in one place, so I've compiled the specifications and written some tips on making sites that are easy to use, based on my own NDS browsing experience.

Many of the design issues are the same as for other mobile devices, and there's a big crossover with accessibility. Sites that are accessible tend to work well when the design is stripped out, which makes them work better on more limited platforms. That's one more way that the investment in creating accessible sites pays off.

Labels: ,

Permanent link for this post | Blog Home | Website Home


The Aquarium works like Twitter. Seems to work fine on my DS Browser.

The source code is also available for the aquarium.
So you would be the developer of The Aquarium, I take it, anonyous?

You've got a nice script running, but it's much more basic than Twitter. What makes Twitter work (if anything) is the user accounts and community aspect - the way that you can identify posters and trace their life over time. The Aquarium appears to be a place for anyone to pop in and anonymously post anything which is then shown on the screen.

It could form the basis of a DS community, though, given it's DS compatible and the source is available, so thanks for letting us all know about it.
I have done some AJAX experimentation on the Nintendo DS browser, and have found a programming technique that works.

Use a hidden iframe to load XML documents in the background. (Replaces XMLHttpRequest)

You need a callback hook in the XML to be able to continue the action when the page has loaded.
<body onload="javascript:if (parent.callback) parent.callback();">

Use the innerHTML DOM element attribute to insert the new content in the main page.
Thanks, Marcus.

Do you have a demo of this online somewhere?

It would be great to see some real AJAX action on the DS (eg a demo menu interface). But I guess the problem remains that AJAX features as coded for mainstream browsers won't work on the DS browser, so there will still be a compatibility issue.
I haven't put the application online yet, but I plan to do it soon. I will let you know. is an application with ajax functionality that works in the Nintendo DS Browser. It is a shopping list manager, and uses ajax to update parts of the page when you add and remove items on the list, and also for popups. Unfortunately, it is in Swedish only, but anyone should be able to test the ajax functions if interested.

First, register by typing your email address in the 'Epost:' field at the top of the page and click on 'Registrera mig'. A temporary password will be sent to the address. To log in, write the password in the 'Lösen:' field together with the email in 'Epost:' and click on 'Logga in'.

In the edit page, a click on an item to the left side will add it to the list on the right side. Click on an item to the right and it will be removed from the list again. Click on '»' links to open a popup and load the content.
Hi Marcus.

Thanks for that link. I gave it a go but couldn't see the AJAX effect working - I couldn't tell whether the server had hung or whether it was just incredibly slow, but after a couple of minutes the list hadn't changed. The overview mode isn't really ideal for this kind of thing - it would work better if something was designed so that you could edit the list on the bottom screen and view it on the top.

But it's encouraging to see that people are finding AJAX workarounds for mobile devices. The only drawback is that they still appear to require special coding for mobile devices, rather than making it possible to access normal AJAX sites on a mobile browser.

The smooth visual effects of AJAX should be relatively easy to fake, but the live updating from the server might work out too slow on the DS to be viable. It might be better for data (in a shopping list application, for example), to be stored locally and then be sent in a batch to the server in a 'save' function. The difficulty will be with true AJAX stuff which retrieves data from the server in real time - I suspect it will be limited to tiny or highly compressed data packets to sustain the illusion of immediate updating given the DS's sluggish connection speed.
Hi Guys,
I was given a NintendoDS Lite for Christmas 2007. I bought the browser and wrote a program in VB.NET to view two webcams. It works great on the NintendoDS. Check it out at
Regards to all
Thanks for your comment, Eric. Looks like a nice effect you've achieved there. The correct link for your post though is:
eR XeXu - thanks for your comment, which I've declined to publish because it had an email address in it, which I cannot validate is yours.

Regarding your claim that the browser supports Flash sites, please provide a specific example. The browser might support sites that include Flash, but it cannot render the Flash elements of such sites under any circumstances.

Is it possible to access Yahoo
e mail, webmail via the web browser.

Is it any good?

Are there any limitations?

I am just about to purchase a ds browser pack and wanted to check the above is possible and it works ok?

Thank You
I haven't tested Yahoo recently, so I can't remember how effective that is. Webmail tends to work quite well, particularly if accessed using a mobile version of the service (eg Gmail's mobile site). The device isn't ideal for email though, because there's no keyboard and it's a bit slow. If your preferred email provider worked well, it would be best used for checking if there's anything you need to address urgently on your PC, rather than for processing all your emails on the NDS itself.
could the browser use tabs if you went here? please test
No, that doesn't work. There's no support for Flash on the DS, and I can't even get the HTML part of the page to display on the DS, for some reason. There was an implementation of tabbed browsing on the DS previously which I believe is no longer online. Given that the device is a bit slow, you probably don't want to slow it down further with tabs anyway.
Thanks for this site - I have set it as my home page because as a new ds surfer I need a bit of a kick start as to where I can visit on the www...
I hope you still get rss from here!
Okay, first off, I am currently on a DSi, and working on a website I own.
Although I have some altercations to CSS, I want to create a CSS to detect whether the device is Pc or mobile and load pages in that format. If you could help, I would greatly apreciate it :)

My email is
And the Site URL is Http:// if you are interested.
{if that link does not work, remove .webs , I am currently processing with a webhost to get a .com domain}
Thanks for any help!
Hi Dylan. Thanks for your comment. The Nintendo DS browser recognises style sheets for handheld devices when in the SSR mode. That means you can get it to use a style sheet specially designed for it by adding media="handheld" to your CSS declaration:

For example:
[link rel="stylesheet" href="nds-style.css" type="text/css" media="handheld"]

But using proper HTML pointy brackets and not those square ones, above.

This style sheet will also be used by other devices that consider themselves to be handhelds. Apple devices don't, as a rule: they will usually use the same style sheet as the screen.

There's more about targeting style sheets in my book 'Web Design in Easy Steps', especially for creating a printer-friendly page using CSS.

Hope this pointer helps and good luck with building your site.
Post a Comment

Dip into the blog archive

June 2005 | September 2005 | January 2006 | March 2006 | April 2006 | May 2006 | June 2006 | July 2006 | August 2006 | September 2006 | October 2006 | November 2006 | December 2006 | February 2007 | March 2007 | April 2007 | May 2007 | June 2007 | July 2007 | August 2007 | September 2007 | October 2007 | November 2007 | December 2007 | January 2008 | February 2008 | March 2008 | April 2008 | May 2008 | June 2008 | July 2008 | August 2008 | September 2008 | October 2008 | November 2008 | December 2008 | January 2009 | February 2009 | March 2009 | April 2009 | May 2009 | June 2009 | July 2009 | August 2009 | September 2009 | October 2009 | November 2009 | December 2009 | January 2010 | February 2010 | March 2010 | April 2010 | May 2010 | June 2010 | August 2010 | September 2010 | October 2010 | November 2010 | December 2010 | March 2011 | April 2011 | May 2011 | June 2011 | July 2011 | August 2011 | September 2011 | October 2011 | November 2011 | December 2011 | January 2012 | February 2012 | March 2012 | June 2012 | July 2012 | August 2012 | September 2012 | October 2012 | December 2012 | January 2013 | February 2013 | March 2013 | April 2013 | June 2013 | July 2013 | August 2013 | September 2013 | October 2013 | November 2013 | December 2013 | January 2014 | February 2014 | March 2014 | April 2014 | May 2014 | June 2014 | July 2014 | August 2014 | September 2014 | October 2014 | November 2014 | December 2014 | January 2015 | February 2015 | March 2015 | April 2015 | May 2015 | June 2015 | September 2015 | October 2015 | December 2015 | January 2016 | February 2016 | March 2016 | May 2016 | July 2016 | August 2016 | September 2016 | October 2016 | November 2016 | December 2016 | January 2017 | July 2017 | August 2017 | October 2017 | November 2017 | January 2018 | February 2018 | August 2018 | October 2018 | November 2018 | December 2018 | January 2019 | March 2019 | June 2019 | August 2019 | September 2019 | October 2019 | January 2020 | February 2020 | March 2020 | April 2020 | May 2020 | June 2020 | September 2020 | October 2020 | December 2020 | January 2021 | February 2021 | May 2021 | June 2021 | October 2021 | November 2021 | December 2021 | January 2022 | February 2022 | March 2022 | May 2022 | July 2022 | August 2022 | September 2022 | December 2022 | March 2023 | April 2023 | May 2023 | June 2023 | October 2023 | November 2023 | Top of this page | RSS


© Sean McManus. All rights reserved.

Visit for free chapters from Sean's coding books (including Mission Python, Scratch Programming in Easy Steps and Coder Academy) and more!

Discover my latest books

100 Top Tips: Microsoft Excel

100 Top Tips: Microsoft Excel

Power up your Microsoft Excel skills with this powerful pocket-sized book of tips that will save you time and help you learn more from your spreadsheets.

Scratch Programming in Easy Steps

Scratch Programming IES

This book, now fully updated for Scratch 3, will take you from the basics of the Scratch language into the depths of its more advanced features. A great way to start programming.

Mission Python book

Mission Python

Code a space adventure game in this Python programming book published by No Starch Press.

Cool Scratch Projects in Easy Steps book

Cool Scratch Projects in Easy Steps

Discover how to make 3D games, create mazes, build a drum machine, make a game with cartoon animals and more!

Raspberry Pi For Dummies

Raspberry Pi For Dummies

Set up your Raspberry Pi, then learn how to use the Linux command line, Scratch, Python, Sonic Pi, Minecraft and electronics projects with it.



In this entertaining techno-thriller, Sean McManus takes a slice through the music industry: from the boardroom to the stage; from the studio to the record fair.

Walking astronaut from Mission Python book Top | Search | Help | Privacy | Access Keys | Contact me
Home | Newsletter | Blog | Copywriting Services | Books | Free book chapters | Articles | Music | Photos | Games | Shop | About