Recently in Web Category

I was preparing the annual family photo calendar when I bumped into a wall of stupidity that astonished me: The major photo and gift printing sites (Shutterfly, Snapfish, Kodak/Ofoto) have dumbed down their sites to such a low standard that you can't do simple things like put a square-cropped image on a photo calendar page without having their system mangle your image.

To the photo/gift printing sites: Not every photograph is 4:3 or 3:2 aspect ratio rectangle.

I gathered together my 13 images (12 months + cover), adjusted and cropped them in Bibble Pro (an awesome photo workflow and RAW conversion software that runs on Linux, Mac and Windows,) went to upload them to Shutterfly (who I used last year to make the calendar and with whom I successfully used square-cropped images last year) and quickly found that a couple of my square-cropped images (aspect ratio 1:1) were having the top and bottoms automatically chopped off by their system in an effort to force my square image into the rectangle it wanted. I had some wide shots cropped at 16:10 aspect ratio and it did the same thing, chopping off significant portions of the left and right part of my image. Frustrated, I went to Snapfish (despite previous problems with getting photos delivered in a timely fashion during the holiday season.) and found a slightly different interface with the same behavior mangling my photographs. OK, they can't all be the same,right? I went to Ofoto (now Kodak) and had the exact same problem. At this point I had a couple hours into what I thought was going to be a half hour project and was thoroughly frustrated.

I searched Google and came up with a photo and gift printing site I hadn't heard of before. Quite frustrated at this point, I visited Vista Print and was pleasantly surprised. They have standard cropping behavior, but they also provide a simple "Scale to Fit" option that lets you keep the aspect ratio and expand the image to either fit the height or width without cropping your picture. How hard is that? A simple option in the user interface that let's more advanced users creatively build their calendars the ways they want to.

Shutterfly, Snapfish, Kodak/Ofoto, please add some sensible options to your cropping step. Something simple like a hidden "advanced options" dialog, a "no cropping" option, or a "scale to fit" option. This would meet all your users needs without confusing the brain-feeble amongst us.

Next year I probably won't bother with the "big guys". Vista Print meets my needs and the calendars I received from them (very timely delivery) looked great. All the above mentioned sites work fine with Firefox on Ubuntu (Gutsy Gibbon) for the record. Some of the drag-to-web upload functionality (Shutterfly) appears to be Windows-only, but everything else functions fine.

So I've been having a problem with my "Send To Flickr" Bookmarklet functionality on Flickr, and been in a foul mood about it. I finally got to the right person at Flickr who set me in the right direction and give me permission to post the javascript contents for the bookmarklet here.

"Send To Flickr" Bookmarklet Code:

<20050906 Edit>How Do I Use This?

Highlight the text in this box and drag it onto your "Bookmarks Toolbar" (Netscape/Mozilla) or ":Personal Toolbar" (Opera.) Optionally, you can manually make a bookmark. For the 'Location' field (Mozilla) or 'Address' field (Opera) paste in the javascript from above. (It needs to be copy-and-pasted as one line.) Then go load the page with the picture you want to upload to Flickr. Click on the bookmark(let) and it will list all images on that page. Click the image you want to upload. Login to Flickr if it asks you to. Choose "Upload To Flickr" button. Voila! Your file should be uploaded into your account on Flickr.

To make this really useful, add the bookmark to your "Bookmarks Toolbar" (Mozilla) or "Personal Toolbar" (Opera) under View->Toolbars, so you can use your bookmarklet easily while browsing. If at this point, you can't figure it out, please wait for Flickr's new Bookmarklet coming to a browser near you soon.

</20050906 Edit>

I believe this is the exact JavaScript from Flickr (they wrote the code, not me), but I can't guarantee it. It works correctly and YOU can scan through the JavaScript, there doesn't appear to be anything untoward in the code. Flickr is reworking their bookmarklet upload function currently, so keep an eye on their Upload Tools page (you must be logged in to use that link) and be sure to use their new bookmarklet when they post it. (I'll modify this blog entry when they do...)

</20070323 Edit>

I've stopped using YahooFlickr, so I can't verify whether or not this still works. I'll leave it here for history's sake, and in case anyone finds it useful. As before, this code came from Flickr, I do not support it or provide any warranty to it working or working correctly for any of your needs. Your mileage may vary, use at your own risk/benefit.

My Digital Photo Workflow Notes

| | Comments (0)

I am currently using a Canon Rebel XTi DSLR camera that records onto Compact Flash media. I'm primarily interested in filing, categorizing and annotating my image files. Post-processing (raw conversion, adjustments, etc.) is usually minimal unless I really messed up my settings or am working commercially.

  1. Transfer the images, as taken, to fileserver in a working directory. This is done via USB-connected Compact Flash reader attached to my fileserver (I'm considering adding a built-in card reader if my motherboard provides USB connections internally, need to investigate.) The files are written to a dedicated RAID 1 share on my Fedora Core 6 (currently) Linux fileserver.
  2. Set the Compact Flash card aside, just in case...
  3. From Unix shell, check that the file ownership and permissions are set correctly on the copied files. File permissions are all changed to 0544 for my purposes, so the files are read-only, but my automated system can access the files.
  4. If necessary, renumber (rename) files. Canon stores 10,000 photos per folder, then automatically increments to the next folder. I prefer to append the folder number to the image number to form individual file names like so:
    DCIM/CANON101/IMG_2345.JPG becomes IMG_1012345.JPG. The little shell script I use to rename my files looks like this:
    for i in `ls -1`
          do
          j=`echo $i |sed `s/IMG_/IMG_101/g'`
          mv $i $j
          chmod 0544 $j
       done
    
    I currently keep all my photos in one directory (may rethink this later) so it is important for me to keep filenames unique.
  5. Record the filenames of the new files in the work directory, move them to the production directory.
  6. Process the photos through raw conversion using Bibble Pro
  7. Process the new files (recorded in the previous step) through the script that loads the image records, vital statistics and meta data (EXIF) into the database:
    • sample the image and record the average color in HEX
    • record default values (photographer, photographer e-mail, photographer URL, file directory, filename, url
    • extract EXIF data with jhead and load that data
    • create appropriate .html files which call scripts via SSI and verify new .html file permissions
    • categorize photos where I can by date/time and other extracted information
  8. Create test lightbox view of thumbnails
  9. Correct any images that need their orientation (rotation) adjusted. Usually this is a rotate operation -90 degrees to counteract the camera being used vertically instead of horizontally.Now done in Bibble Pro, so not an issue.
  10. Rebuild thumbnail files for new images. Other than thumbnails, all images are resized on-demand, real-time, and fed as a BLOB from my server to your browser. Neat tricks with Perl, Imagemagick, and Apache.
  11. Rebuild category files to account for new files assigned to categories.
  12. Verify that everything works correctly and looks sane/sober/kosher.
  13. Format Compact Flash media.
At this point, I've got all the information about the image into the database and appropriate web pages have been built to index and display the photos on my online photo galleries. Now I can sleep restfully. Additional notation, categorization, sorting, filing, etc. is an on-going task (with 20,500+ photos and growing, it may never be finished.) The photo files and databases are backed up on a RAID 1 partition locally (to protect against hardware failure) and are also mirrored remotely (using rsync) so I'll always have a copy off-site (in case of local catastrophe (weather, fire, etc.))

I'm in a constant development process with this project, right now. The to-do list is long. Here are some details of the current implementation.

All photos have appropriate copyright notation and all rights are reserved. All photos are available for licensing. All photos are available in their original, unmodified resolution and format. Please contact me for specific information about licensing.

I've had my own domain since 1994 and always ran my own personal web and e-mail services on a personal server. Running a public server on the Internet requires some technical expertise and a whole lot of patience. You will be bombarded with spam, you will face script kiddies scanning your services trying to 'hack' your passwords, you will see the underbelly of the Internet that most ISPs effectively hide from their users. I particularly enjoyed running my own e-mail server and quickly implemented RBLs, spamassassin, pyzor and razor to keep the good mail flowing and the spam headed to /dev/null.

All has gone well for several years until my ISP decided suddenly to block incoming traffic on port 25 (SMTP) to my connection. Everything froze, all my personal e-mail was blocked from my server, all my friend's e-mail traffic to their domains I was hosting stopped. I don't run a high-volume e-mail server, but nonetheless the messages traversing it are very important to me. I never was given a good explanation for why my ISP suddenly decided to do this, but their fix was that I'd have to upgrade to a commercial account ($70+/month instead of ~$35/month) in order to run my e-mail server on my Internet connection. I capitulated to their extortion while looking for an alternative e-mail hosting solution. This is strictly personal e-mail, not commercial/business related in any way, so the $20/month to $50+/month solutions I was finding really didn't fit my needs. Recently, I caught wind of a hosted e-mail service that Google has been developing and would be beta testing. Bingo! Sign me up!

I've been beta testing Gmail for your domain (Google's hosted e-mail offering) for a little over a month now on my personal domain, and am very pleased to say it works great. It's based on their Gmail infrastructure and interface, so Gmail users have almost no learning curve. It offers the same great feature set (excellent spam blocking (it has caught 1,000 spams in the last two weeks, with no false positives), easy e-mail content searching, rich text composing, AJAX interface, the Web Clip bar (which can be disabled)) as Gmail with some capabilities to customize the GUI for your users (by inserting your logo instead of the Gmail logo.)

Setup was very easy, some changes are required to your DNS MX records (remember your password for your account with your registrar?) for your domain to point e-mail to Google's servers. Once this has been completed (and propagated) you can log into the management interface, setup e-mail accounts, e-mail lists (think aliases) and make some minor changes to the interface (choose a background color, include your logo.) Once you've created the accounts everything is ready to go, it works just like Gmail. If you have a larger domain, you can use the account import feature so you can batch create your user accounts by uploading a CSV spreadsheet of your usernames and passwords.

The Gmail model has been to offer free e-mail service by displaying relevant(?) ads on the right hand side of your screen according to the contents of the e-mail you are currently reading. They still do this, I still find it minimally intrusive personally. I'd like to know what kind of revenue Google gets for clicked-through Gmail ads in a year (click fraud notwithstanding.) When you open your Spam mailbox, the Web Clip bar displays Spam Recipie links. French Fry Spam Casserole, Spam Breakfast Burritos, Spicy Spam Kabobs, Spam Quiche. I don't touch the stuff, but I like it when a corporate giant like Google doesn't take themselves too seriously and can still have a little fun. When in the Trash, the Web Clip bar displays recycling tips...

Wish List for "Gmail for your domain":

  • For the beta test, each mailbox is frozen at 2GB, that's a lot of space, but why not let the mailbox size grow like other gmail accounts? That is one of your strongest features.
  • Allow for pattern definitions in e-mail addresses. (I prefer to use "speed-[sitename]@example.com" when registering an e-mail with a third-party website. Right now I'd have to define each and every e-mail address I create instead of saying deliver "speed-*@example.com" mail to my Inbox.) This is one of the benefits of having your own domain name. Google has mentioned they are looking at doing this.
  • Allow for a "catch all" bucket for all those "other" e-mail addresses that I have used over the years. Mail coming to my domain, unless it is determined to be spam, should be delivered to me. As it stands now, if I don't specify an e-mail address in my Google configuration, mail sent to the unspecified address (@mydomain) bounces. "Gmail for your domain" now offers a "catch all" e-mail address for your domain, an excellent example of the responsiveness of Google to their users' needs. It can be configured under "Domain Settings" once logged in to your administrative account.
  • Especially during the beta test: put a link to the support e-mail on every page! (I had to go back and re-read my beta testing agreement to figure out what address to post feedback to. Isn't this the point of beta testing?)
  • Announce your pricing structure for the future. It's a wonderful offering at it's current free price level (while beta testing.) How much will you charge afterwards? Keep in mind some of us are hobbyists, not commercial entities with big budgets, please.
  • Put back the "invite a friend" links on your hosted e-mail offering
  • Settle the issue of whether or not you will give user account information out to third parties and on what terms.

Right now Google's offering is in beta testing. They do have an "I'm interested" link at the bottom of their Google Hosted E-mail FAQ page. I've had the pleasure of telling my ISP where to stick their pricing and I've dropped back down into the reasonable price bracket (as opposed to their $70+/month commercial-account-because-your-host-your-own-email pricing.)

Overall, the offering looks excellent to me. It's been easy to use, as reliable a Gmail, and Google has been responsive to improvement suggestions. There are still some privacy concerns as to how and who Google shares their users' information with. If you run your own domain and are looking for e-mail hosting specifically, check out Gmail for your domain. Consider setting it up as a subdomain if you just want to test the service, so you can just direct mail from users@subdomain.example.com to "Google for your domain" while testing. This may necessitate signing up for the service twice if you decide to use it for your entire domain later, but gives you flexibility.

Several of us at work have taken to walking for exercise and as seems to often happen, we start to compare notes on routes/times/etc. A few people went out and got pedometers, some of us haven't. I was curious if anyone had worked out a way to measure distances on Google Maps and was very pleased to find the GMaps-Pedometer site, a Google Maps hack that let's you lay out your route, will give you distances in miles/kilometers, shows an altitude graph, and if you include you weight, it will estimate your calories burned on your walk. On top of that, you can create a permalink that will store the route you entered so you can refer to it later or e-mail it to a friend. Definitely a fun and useful Google Maps hack.

Public Feedback to mkt10.com

| | Comments (0)

I read about the "next generation" of job posting/searching sites and in particular was interested in one, mkt10.com, which purported to be taking a new, more effective approach to matching potential employees with employers. They've got a nice site with some basic Web 2.0 (AJAX) functionality, but when I tried to use the site, I started having problems. From my e-mail I (unsuccessfully) attempted to send to them:

I keep getting trapped in dead ends in your interface while trying to fill out the questions in "Step 2."

Please consider making your user interface more user-friendly by offering at least a "None" and "Other" option at each decision point with a chance to further explain the "Other" response. Forcing people to choose bogus responses to questions that aren't applicable or answers that aren't correct only muddies the waters of your database.

For instance your "What standards/methodologies did you follow" question lists a selection of standards and methodologies that I haven't used. I can't indicate "none of these" or "I have used Six Sigma" and am forced to stop answering your questionnaire completely (i.e. you lost a potential customer/user) or I can choose a bogus answer in order to continue to the next question.

Your site seems very interesting, and I'd like to list myself on it, but when I get stuck on the question flow with no way out, I'm just going to abandon my efforts to use your site.

This is a basic user interface design. You should never force a user to enter invalid data in order to successfully navigate your interface, it invalidates your data and frustrates your users. You should also always leave a user an easy way to opt-out or pass on optional questions, not force them to choose a provided, default answer when it is not applicable.

I tried to use the "Contact Us" link on their website to provide this feedback, but the e-mail address ( admin.mkt10@mkt10.com ) linked from there bounced my mail back with the following error message:

This is an automatically generated Delivery Status Notification

Delivery to the following recipient failed permanently:

admin.mkt10@mkt10.com

Technical details of permanent failure:
PERM_FAILURE: SMTP Error (state 12): 550 5.7.1 Requested action not taken: message refused

Oh yeah, you should also make sure you "Contact Us" link works so people can provide feedback. I hope this is just a beta site that is still under development. It looks promising, but has a couple significant road blocks to fix before it is ready for prime-time...

[Originally published July 12, 2005]

OK I've bumped into a few people from Montgomery and surrounding communities that blog. Anyone keeping a list of have or have some others I need to check out?

Vitriolic Humor (Mine - speedeep)
http://blog.transmit.net/ (RSS Feed)
General interest, tech, IT , Linux, digital photography, programming, LAMP development

JohnTracy.Com (John Tracy)
http://www.johntracy.com/(RSS Feed)
Technology, information, local news, and rants.

JayDavenport.Net (Jay Davenport)
http://www.jaydavenport.net/ (Atom Feed)
Local happenings, media, sci-fi, moblog

Insert Witty Title Here (Charles Presley)
http://cfpresley.blogspot.com/ (Atom Feed)
Stories of life in Montgomery

Eating Montgomery (Charles Presley)
http://eatingmontgomery.blogspot.com/ (Atom Feed)
Dining experiences in and around Montgomery.

Montgomery DINKs
http://mgmdink.blogspot.com/ (Atom Feed )
Restaurant reviews and life as a DINK (dual-income, no kids) couple in Montgomery.

Inner View (Ethan Thomas)
http://thomaseth.blogspot.com/ (Atom Feed)
Local events, opinions, tied to onlinemontgomery.com.

http://www.theworldaroundyou.com/ (Kristopher?)
http://www.theworldaroundyou.com/ (http://www.theworldaroundyou.com/feed/atom/)
Local politics, news, and happenings in the Montgomery area.

More blogs below the break...

I just placed a pre-order for the new DVD Rush DVD R30 30th Anniversary Deluxe Edition (includes two Rush guitar picks and a souvenir backstage pass) on Amazon. Their price was $27.99, free shipping, and I had a gift certificate balance of $11.71. My total should have been $16.28 that I need to pay Amazon. Instead, the checkout page displayed the following:

Looks like Amazon owes me $9,999,999,971.01 (that's a negative total.) I'm still wondering who bought me a $10 (big-B) Billion dollar gift certificate. By the time they credit this amount into my account, their profits this quarter will be significantly impacted, so I figured I put this notice out. :-) I'm not sure I can handle a refund that large on the card I'm using, maybe I should use the American Express...

(Yes, this is a real screenshot taken at 11:50am on Tuesday, November 15, 2005.)

Do you suppose this reveals the upper dollar limit Amazon designed their e-commerce software to handle? I can't imagine the programming error that would cause a problem like this. I hope this doesn't foul up their systems or my accounts... Click...

If you'd like to try your luck, or just want to pre-order a copy of Rush's (the band, not the man) new DVD (release date is next Tuesday, November 22, 2005) please use the links below.

Pandora - Music Genome Project

| | Comments (1)

[My first post using Movable Type 3.2]

For many years, various sites on the Internet have offered the promise of analyzing or sampling our musical tastes and intelligently giving us back a playlist of similar music (or at least music you might like...) Along the way we've seen a number of sites come and go with various degrees of success:

Plenty of research has been done and many more students continue to expand the idea pool on how to best correlate and recommend music based on some known set of variables, meta data, or previously established social preferences.

I recently came across Pandora.com, a creation of the Music Genome Project, and was quite pleased with what I experienced. First, this is a pay site ($36/year or $4/month) with a free 10-hour trial period. Pandora starts by allowing you to specify and artist or song, then it returns a "station" that plays music related to your choice. It has a clean, intuitive Flash interface that shows your stations (you can create 10 with the demo, 100 with a subscription.) and displays the last 3 songs played (along with the artist's name and a thumbnail of the album cover.)

You can only pause or skip tracks (no rewinding or replaying on demand) because of the way Pandora structured its licensing arrangements. You are clearly paying a small fee to listen to music intelligently correlated to your tastes, not buying it. If you do find a track you like, you can purchase it through easy links back to Amazon or iTunes. You can also provide feedback (thumbs up/down) on whether or not you liked a parituclar track. The music is streamed to you in an unspecified format at 128kbps. There is no advertising on the site, and they don't censor the music; unlike MTV, they play the music as the artist wrote and performed it. <sarcasm>What a neat idea.</sarcasm>

I enjoyed exploring Pandora's musicscape and found several new artist through its suggestions. For the most part, I found the recommendations very relevant. I tried a variety of artists and the only confusing results were for a channel based on Sublime, where Pandora picked up on the guitar-and-vocal ballads by Sublime instead of the punkier, ska- and reggae-influenced side of Sublime. An accurate match, but not the attribues I was looking for when I typed in Sublime. "Pink Floyd" turned up some psychedelic/progressive rock stuff I hadn't heard before. "Mark Knopfler" came back with some interesting folksy balladeers I hadn't heard of before. I ran through a variety of artists including Aimee Mann, Neko Case, The Police, Rush, Goldfinger, Johnny Cash, Kate Bush, Colin Hay, and Primus and got good results for all. The coverage (they claim 10,000 artists and 300,000 songs) seems quite complete and the recommendations are truly similar music, not stuff pushed from the top-40 or top-100 lists.

Pandora accepts submissions from artists as well as suggestions from listeners as well. Check out Pandora.com for the 10-hour demo and see how you like the service. I am not affiliated with Pandora in any way, just a subscriber.

[ Update (February 2, 2006) :
There is a great comparison of Pandora and Last.Fm including an analysis of their algorithms and effectiveness.

Google Sitemaps

| | Comments (0)

Webmasters, please go check out Google Sitemaps. Google once again shows that they "get it" when it comes to what is going on in web searching and web indexing worlds.

Google can automatically discover only so much of the web by following links from page to page. Some of the roadblocks are the sheer volume of pages, massive interlinking of pages, which can obscure which links are the most relevent, and sometimes a document simply doesn't have direct links to it.

For instance, I've got many thousands of web pages involved in my Photo Gallery project. They all interact with and point to each other and have extensive links to other "nodes" or categories in the gallery complex. It would take a long time for Google to completely traverse the set of them through discovery. (In fact, it wouldn't discover the different sort variations in my example as they are linked by logic done in JavaScript that point to the appropriate URL for each sort type.)

Now, with Google Sitemaps, I can run a script on my server that will build an XML file representing all the HTML files on my server (from the server's point-of-view), then point Google at the resulting "sitemap". This way, Google starts out with a list of all the pages on my site, including the file's last modified time, change frequency (hourly, daily, weekly, monthly), and priority (of a given page in relation to the other pages on your site.) Better still, I can control the change frequency and priority as the site owner, allowing me to properly characterize my pages using my specific knowledge of my site. Additionally, I can rebuild my sitemaps when it is appropriate, and Google will check them regularly and note the changes.


About this Archive

This page is a archive of recent entries in the Web category.

User Interfaces is the previous category.

Find recent content on the main index or look in the archives to find all content.