Entries
Filters: Sorted by date
Alt all the way
Mark says that today is the most important day of his whole accessibility series, and who are we to argue? The topic is the alt attribute for images, and the message is simple: Every image should have one, even if the image is there purely as layout decoration (in which case an empty attribute should be used). Surprisingly Mark does not give advice on chosing text for the attribute but he does provide an excellent further reading list, which includes Hixie’s superb Mini FAQ About The Alternate Text Of Images.
Rounded corners in CSS
Courtesy of css-discuss: Two examples of expanding boxes in CSS with images in the corners, ideal for that trendy rounded corner effect: One and Two. Mozilla has experimental support for rounded corners that may or may not end up in CSS3, but if it aint in the standards it aint coming in.
Accessible lists
Today’s tip from Mark informs us that “real” lists are good for accessibility. They are also fantastic for writing maintainable code. Thanks to CSS, a humble unordered list can be transformed with custom bullet points, funky backgrounds, rollover effects and borders—all hidden away in the stylesheet leaving just basic list markup in the HTML. Adding a new item is as easy as <li>item</li>. W3Schools have a good CSS list reference complete with examples, and this earlier post on my blog lists some resources for dealing with unpredictable list margins.
Logoed
Logoed: logo inspiration for graphic designers
. A large collection of real word logos to help kickstart the creative process.
PHP XML Classes
PHP XML Classes—A collection of classes and resources to process XML using PHP
. Includes PHP implementations of Xquery lite and RDQL along with parsers for RDF, RSS and RDDL.
CherryPy
CherryPy is an interesting open source Python application server. Dynamic sites are constructed in a special templating language which is then compiled by CherryPy to create a stand alone executable Python script complete with a built in web server. This can then be deployed anywhere with a Python interpreter. CherryPy comes with an excellent tutorial and a small but useful set of HOWTOs.
Mozilla oddity
Mozilla oddity—if you rename a bookmark to the the same name as it’s shortcut keyword the shortcut keyword will stop functioning. I couldn’t see it in Bugzilla so I’ve submitted it as bug 156418.
Webdocs.org
Webdocs.org is an online library of various freely available software documentation.
The site uses frames with a tree style navigation menu on the left and loads (externally hosted) documentation on the right. At the moment they only cover Python but more will be added soon—in the meantime the Python collection is quite impressive.
Using SCP
I’m slowly migrating this blog to another server (and rewriting it to use mySQL instead of serialized objects at the same time). After about half an hour of trying to figure out the best way of transferring the whole blog/ directory from this server to the new one without using FTP I figured out a way of doing it with scp (thanks to this tutorial):
XML-RPC debugging
Via techno weenie: A Python XML-RPC debugging proxy script. This solves the problem of XML-RPC errors from PHP being sent out with the XML-RPC response packet and breaking any XML parser trying to recieve the packet. Instead you can test your script by aiming at the proxy script which will dump any problems to the console for you.
Sites bow to IE
CNET: Even though all the major browsers are considered to be up to snuff on standards compliance, some Web authors still find it easier to code directly to IE--and test only with IE--rather than to open standards.
Tell us something we didn’t know. Steve Champeon replies over at the Web Standards project and highlights some inaccuracies in the article but the basic message remains unfortunately true.
New bookmarklet
webgraphics have a new bookmarklet which measures the “weight” of a page (the combined size of the page and its graphics) and displays it along with an estimate of download times over different connections. Unfortunately it does not measure external JS or CSS files, and does not work in Mozilla. If you’re in to bookmarklets (explained here) take a look at webgraphics’ excellent favelets collection at the bottom of the right hand column of their front page.
Why workflow?
I’m having trouble understanding the importance of workflow in a CMS. As I see it, managing content assets and controlling which assets are ready for publication can be thought of as two very seperate processes. After all, content can and should be deployed in a whole variety of ways. A piece of content that is not yet ready for publication in a brochure may well be ready for publication on a web site (or may be fit a site aimed at one audience but not yet ready for a site targetted elsewhere). Why tie the publication readiness of an item of content directly to the content, when it would make more sense to attach it to the place where the content will be published—so a site editor can decide when content is ready for publication without permanently altering the status of the content. Or have I completely missed the point?
Language independant storage
Today’s (obvious) XML realisation: Using XML for storage gives you a platform and language independant storage layer. If you later want to rewrite an application in a different language the data is there and ready to be processed, with no conversion necessary. OK so it’s something that is shouted from the rooftops by XML advocates at every available opportunity but today I realised it for myself :)
Zeldman on accessibility
Jeffry Zeldman: Many web practitioners still believe that accessiblity is an ugly, no-frills affair. Not true.
An excellent piece on accessibility issues.
Ooh Muse.net
I’ve been reading up on Muse.Net, and I like what I see. Muse.Net is a loosely-coupled, XML Web service derived Internet digital media supply chain
. What that means in English is a system to let you listen to your private MP3 collection from any internet connected PC in the world, viasome very funky web service based technology. Your MP3s stay hosted on your own PC (so you need an always on internet connection) while the Muse.Net central service keeps track of what you’ve got and lets you log in from anywhere to listen remotely. Best of all the web service interface lets you do all kinds of fun things—for example techno weenie’s OPML directory of his collection. For more detailed info check out the excellent Muse.Net FAQ.
Using web widgets wisely
Jodi Bollaert: Using Web widgets wisely. This is first in a two part series explaining the best practise for designing user interfaces using the form elements available in HTML.
Google OR
Another gem from the Google Weblog—Google not only accepts OR as a search modifier but allows you to use | instead and still get the same results.
Paper Scissors Stone
Paper Scissors Stone is more complicated than I thought (via BoingBoing). This article from 1999 describes the second international RoShamBo programming contest, in which entrants had to provide a program that could play other programs at the classic childhood game:
[... 143 words]The Two Way Web
Dave Winer: The Two Way Web. The Two-Way-Web is a vision for the Web as an easy writing and publishing environment
. This is an old essay from March 2001 (I only found it today) which describes a vision of a web where content can be quickly and easily edited through a variety of tools, which communicate with content management systems using XML-RPC and SOAP. This is all stuff I’ve been thinking about recently, so it looks like I’m only a year and a half behind Dave ;)
Mozilla sidebar added
Thanks to another excellent suggestion from Micah, this site now has an experimental Mozilla sidebar. Click here to try it out (only Mozilla or NS6 owners need apply).
[... 67 words]Interesting suggestion
Micah Sittig made an interesting suggestion in a comment attached to an earlier entry. Micah suggested adding an inert ?lastUpdated=time attribute to links in my blog roll, causing browsers to display links to blogs that have been updated since the last visit in a different colour. I’ve implemented this temporarily, but I’m slightly worried about whether or not this constitutes abuse of the XHTML standard. The additional query string doesn’t break any of the blogs on my blogroll but it is still resulting in fundamentally different page request being sent, which could lead to problems. I’ll leave it for the moment, but I think this may need reconsidering in the future.
More blogroll fun
Stuart has added an extra innovation to his blogroll. Clicking on a link there now sets a cookie (via javascript) recording your visit—these are then used to display a ’new’ icon if a blog has been updated since your last visit. The only downside is that the system can only track visits made through links on Stuart’s site. Stuart says that easily automated stuff like this is why he recommends using a system like Moveable Type rather than rolling your own blog software. He’s right, but I treat writing my own as an entertaining learning excercise—I get to play with RSS, web services, XML parsing, the fun never stops ;)
More on blo.gs
More info on blo.gs syndication. Phil Ringnalda has published a PHP script which can be used to syndicate a blogroll from blo.gs. For people without the capability to run server side scripts, blo.gs also syndicate blogrolls in a javascript file which uses document.write commands to display a blogroll on a page.
Better blogrolling
Stuart at kryogenix.org saw my post about blo.gs and re-implemented his blogroll to update from his blo.gs subscriptions, complete with last updated times. It’s such a brilliant idea that I’ve implemented it here as well. blo.gs allow you to syndicate your subscriptons in various formats, but by far the most useful is favorites.xml, which orders them by last time updated and includes information on the time they last notified blo.gs of an update. It took less than 10 minutes to write a short PHP script to parse the XML and a few minutes more to set up a cron job to grab the XML file every hour. This is impressive stuff—thanks to blo.gs, XML and idea-sharing-via-blog myself and Stuart both have an automatically updated list of blogs right there on our sites.
Janis Ian
Janis Ian: The Internet Debacle—An Alternative View (via Scripting News). This is an excellent, well researched piece on the problems facing the American music industry by an artist with over 20 albums under her belt.
[... 154 words]More on deep linking
It seems there’s more to the Danish deep linking story than first meets the eye. This comment on Slashdot clarifies some important details:
[... 163 words]