I was just looking over a pretty typical Terms of Service page, when I came across this more-or-less standard clause:
13. Modifications
We reserve the right at any time or times to modify or discontinue, temporarily or permanently,
all or any portion of our Platform with or without notice. You agree that we shall not be liable to
you or to any third party for any modification, suspension or termination of our Platform.
I thought to myself, “This is a perfect candidate for a web feed!” I don’t know how many of these I have agreed to, and I almost never revisit the T&C pages once I’ve subscribed to a service. But it would be incredibly simple to set up a “T&C’s” folder in a feedreader and subscribe to a service’s T&C feed (assuming that one was available). Even if you were subscribed to a hundred (or 1,000!) services, presumably the terms and conditions don’t change very frequently, so it would be pretty easy to stay up-to-date with these feeds. As an added benefit, you would have a record of all the services (and their T&C’s) to which you have agreed, collected in one place.
If you think this is a good idea, drop a comment here. Even better, tell your service providers about this. If this picks up any traction in the blogosphere, I think it’ll become second nature to service providers–it’s an almost trivial solution to a problem that perhaps hasn’t been brought to their attention, yet.
Leave it to Joseph to find (and link to) all the cool stuff… One of his recent “del.icio.us links” is a 3.5 minute video, RSS in Plain English. It’s a gentle introduction to RSS and feedreaders, specifically tailored to non-technical web users. The video assumes some basic familiarity with the web and web browsers–you know what “right-clicking” means, and you read more than one blog and/or news site with some regularity.
I didn’t see links to feedreader sites mentioned in the video, so here they are:
I just stumbled across a way-cool widget over on BoardGameGeek.
It’s a javascript widget that (in this case) displays the last five games I played:
The “games played” list is from the BGG database, which I often forget to update.
But this widget is just the sort of thing that will help remind me to log all the games I play.
(Oops! I forgot to link to the widget generator.)
If you’re a BGG user, check out the GeekWidget generator. (And if you’re a boardgamer but not a BGG user, go ahead and register!)
I installed the Web Developer extension in my web browser this evening. If you do any web development work, or even just browse the web, you really need to check out this tool’s features. It works with Firefox, Flock, and Mozilla web browsers.
Some of the features/uses that I’m stoked about:
- Viewing the exact CSS styles being applied to a particular element (CSS/View Style Information, then select an element with the pointer). If you’ve ever had trouble with the “cascade” in CSS, you’ll know how valuable this could be!
- Being able to see the anchors in a page without having to read the page source (Information/Display Anchors).
- Hilighting links without title attributes (Outline/Outline Links Without Title Attributes) to identify the links without “balloon help”.
- Resizing the browser window to 800×600 (Resize/800×600) to verify viewability of a page on older displays.
I could go on and on. It seems like there are about 100 menu items in this package, and almost every one of them looks immediately useful to me!
I’m using Firefox 1.5 on Mac OSX 10.4, and I ran into a little trouble installing the software. When I first tried to download/install the tool I got the following error:
Software installation is currently disabled. Click Edit Options… to enable it and try again.
across the top of the page. The “Edit Options…” button probably opens the correct dialog/tab under Windows, but the OSX version of Firefox doesn’t seem to have an “Enable software installation” button. After reading Firefox help and searching the web, I finally read the Troubleshooting section of the installation instructions where it tells you how to enable software installation. (Duh!)
I stumbled across the ArdenParkTrees website while searching for something else, and since it was using PHP I decided to dig into the code to see if they were using WordPress or something similar. Unfortunately, the first thing I discovered was some browser-detection jiggery written by Milonic. Now, I don’t have anything against Milonic, but browser-detection in general is anathema to web publishing — The web should be viewable by any browser!
I may have to whip up a WP demonstration site with their content and see if I can talk the webmasters into switching platforms.
The last time I was validating my blog’s XHTML, the “tip of the day” from W3C had some great suggestions (as usual). It inspired me to write this post.
Minimum SOP’s for web authors/bloggers should include:
- Validate your pages. Use the markup validation as well as the CSS validation services, both offered by W3C.
- Run the link checker against your site’s pages. Find and fix any broken links.
- If you are providing syndicated feeds, validate it/them.
The W3C tips are recommended reading for all web authors. [Re-]read one of these every day and apply what you learn! Your visitors will thank you.
I stopped by Joseph’s blog a few days ago and read the article about Vint Cerf moving to Google. This got me thinking about an earlier Google-related post about sitemaps on Joseph’s blog, where he wondered about a WordPress plugin to generate Google sitemaps. I figured that the WordPress community had probably finished with this by now, and it seems that they have. This article discusses the development of several such plugins and their features. If you check this link, you can peruse a menu of sitemap plugins.
I chose Arne Brachhold’s sitemap generator plugin. As usual with WordPress, installation was simple. I had two minor problems (see below), both covered by the FAQ section on the sitemap plugin page.
I downloaded the plugin to my WordPress’ wp-content/plugins directory, then activated it from the Plugins admin page, http://your.blog/url/wp-admin/plugins.php. Next I went to Options/Sitemap and adjusted the options to suit my blog, then clicked “Rebuild Sitemap” and ran into problem #1–I had forgotten to make sitemap.xml and sitemap.xml.gz writable. Easy to fix, see the FAQ section on the sitemap plugin page. Once I took care of this, I successfully built my first sitemap file, but got a “Could not ping to Google” error, also addressed in the FAQ section (although not in the plugin sourcefile). I clicked on the URL after the “Could not ping to Google” error, which basically told me that I needed a Google account. (Yet another password to keep track of, sigh…) So, create Google account, wait for email address verification, then manually cut-and-paste the sitemap URL into the Google account manager. Am I finished yet? No! Google now wants me to prove that I have access to the sitemap’s directory by creating a particular Google-supplied filename. I’m starting to wonder if Google sitemaps are worth the hassle, but I’ve come this far and hopefully this is the final step. touch GOOGLE0123456789abcdef.html, click “Verify” on the Google’s “My Sitemaps” page, and a nice green VERIFIED message comes up. Then I went back to my WordPress Options/Sitemap page and tried “Rebuild Sitemap”:
Successfully pinged Google at http://www.google.com/webmasters/sitemaps/ping?sitemap=http://my.blog/url/sitemap.xml.gz
Woo hoo, success! I’d better alert my web hosting company so that they aren’t blindsided by the sudden bandwidth spike.
I stumbled across this post from almost exactly one year ago. Joseph, I salute your effort, and the fact that you made this work is very cool, but I think this approach (relatively low-level network programming) may be the wrong track to pursue. I think a more appropriate method would be network API’s for new or existing applications, or at least higher-level libraries.
Network overhead is obviously vastly more “expensive” than local function calls, so you should probably reserve network functions for heavyweight applications. You mentioned databases–I think this is actually a good use of network programming! I have in mind something like the USPS’s ZIP code lookup. There is obviously a database backend on this web app. Granted, one cannot make arbitrary database queries (nor inserts, updates, deletes), but it does serve up the data quickly and competently. The database sits on the same machine (or topologically “close”) to the API server. Google is another example, and smarter people than I will come up with many more already-existing web services with DB backends. I think this is where Internet programming can really shine!