Archive for category Internet Technology

A Slightly Enhanced TableKit

Hello one and all. Today’s bit of code: an updated and enhanced version of the popular JavaScript library TableKit, created by Andrew Tetlaw at Millstream. TableKit gives you the ability to turn any HTML table into a dynamic object, capable of being intelligently sorted by any column, resizable columns, and even in-place editing, by simply adding “sortable”, “resizable”, and “editable” to the table’s class tag.

I won’t go into extensive detail on why this is awesome. Here’s a little demo to play with though, to get the point. Click on column headers (in-line editing is not included for this, but you can find more about that at the link above):

First Name Last Name Age Teacher
Bill Smith 12 Thompson
Joe Cool 11 Wright
Amy Rogers 12 Wright
Susan Thompson 13 Greggs

After including prototype.js and tablekit.js, all I had to do was define the table like this:

<table class="sortable resizable" width="500">

At this point, the table should be sortable, and you should be able to resize the columns by dragging the barrier between the column headers. You’ll notice alternating row colors remain alternating. All the formatting (including sort color, the up/down arrows, alternating rows) are all defined as CSS properties, so you can modify them easily. We’ll get to the CSS later on.

While that’s cool (and it IS damn cool, admit it), it isn’t why I’m bothering to stay up late and write a post. I extended this library to give it a new property – “linkable”. It combines the “ConvertTableRowtoHyperlink” (CTRtH) script published a few years back and rolls it into the function of TableKit. The script will also scan all rows of a given table for the first link it comes across. It then creates a function which highlights the row on mouseOver, returns to previous state on mouseOut (preserving the pretty alternating colors created by TableKit). Clicking anywhere on the row will take you to the link. If it finds more than one link, it takes the one furthest to the left. Personally, I think lots of links in a single table isn’t the best plan, but if you want it to give up on rows with more than one link rather than picking the furthest left, there’s instructions on line 90 of the script on how to do this.

Added benefit! In the old CTRtH, you had to explicitly give the ID of each table, invoke separately, and ask the script to do the row conversion. This broke with a number of things, including AJAX updates (ended up including the JS in a partial on one project). Mostly though, it meant I couldn’t have a nice, clean table with TableKit and CTRtH running in tandem. So, I spent a flight from DC to Denver figuring out what was conflicting where, and getting the two to play nicely. Now you have an extended TableKit, which will also happily convert table rows to links when given the property “linkable”, like this:

<table class="sortable resizable linkable" width="600">


First Name Last Name Age Search Engine
Bill Smith 12 Google
Joe Cool 11 Yahoo
Amy Rogers 12 Bing
Susan Thompson 13 Google

Usage

Alright, down to business.

1) Download prototype.js and my new tablekit.js file. Include these in your header, ideally.

2) Make sure you add sortable, resizable, or linkable to the CSS class of any table you want to behave this way. You can give it an ID, but you don’t have to. However, like with many JS functions, if you have multiple elements with the same ID, you’ll only affect the first one. If you don’t give it an ID, one will be assigned in sequential order.

3) Here’s what you’ll need to add to your CSS to make it look like mine and behave as you’d expect. You’ll almost certainly want to change the colors, but other than that you should be good, I’ve tried to keep the CSS as minimal as possible so as not to interfere with your other stuff.. Notice the up and down arrows are also just background elements, so point them at your own up.png/down.png location.

/**********Table Sorting Stuff****************/

tr.rowodd {
}

tr.roweven {
    background-color: #F2F2F2;
}

tr.highlight {
    background-color: #F2F29F;
    cursor: pointer;
}

tr a{
    text-decoration: none;   
}

.sortcol {
    cursor: pointer;
    padding-right: 20px;
    background-repeat: no-repeat;
    background-position: right center;
}
.sortasc { 
    background-color: #DDFFAC;
    background-image: url(images/up.png);
}
.sortdesc {
    background-color: #B9DDFF;
    background-image: url(images/down.png);
}
.nosort {
    cursor: default;
}

th.resize-handle-active {
    cursor: e-resize;
}

div.resize-handle {
    cursor: e-resize;
    width: 2px;
    border-right: 1px dashed #1E90FF;
    position:absolute;
    top:0;
    left:0;
}

/********* END Table Sorting Stuff *********/

Tags: ,

Fighting Makers with Copyright Threat

Hey guys, just a little blurb and plug for Techdirt here: I wrote an article about how Knock-Off Wood was getting hassled by William Sonoma, Inc for copyright violations. Knock-Off Wood teaches you how to make furniture at home (great plans and detailed instructions), and some of their stuff kinda looks like Pottery Barn or West Elm stuff. Hence, legal nastygram.

 

Here’s the article I submitted over at Techdirt. No need to re-print here.

Tags: ,

The iPhone Killer: Time

As the iPhone has grown, every new Smartphone has been simultaneously lauded as an iPhone killer (by eager supporters), then blasted for failing to do so (by cynical bloggers). But that’s okay, I’ve finally figured out what I think will be the iPhone Killer. As you may have guessed from the title – Time. Time takes its toll on all things, and I think the iPhone is rapidly nearing the end of its position of prominence.

First off, the facts. While the iPhone is a popular device, depending how you slice your market demographics it ranges from “unquestioned overlord” to “mid-volume runner”. Yes, it has sold more than any single model, but most manufacturers don’t make only one model. In fact, may people are lying with statistics, treating the iPhone as only one model when in fact six exist in the US. There’s the 4gb and 8gb versions of the 2G, the 8 and 16gb versions of the 3G, and the 16 and 32gb versions of the 3GS. Blending all of these into one number, spanning multiple model years and often duplicate customers is misleading at best.

Apple’s competitors in the space aren’t exactly doing poorly, either. Many other mobile OSs have GROWN in size since the introduction of the iPhone. Symbian, Blackberry, and Windows Mobile have all increase their sales volume and revenues since 2007. On top of that, the removal of Palm’s PalmOS models from the market and the introduction of the Sprint-only WebOS models has left a gap filled largely by Apple and RIM. Even the aging Windows Mobile has grown, despite no major changes to the OS since the May 12 ‘05 release of Windows Mobile 5.

But all of that is not to discount the impact Apple has had. Devices are more powerful, rich application libraries are a requirement, and let’s not forget that their rapidly-dissolving relationship with Google gave rise to Android, which is already making significant gains in Apple’s tech-savvy elite, attracting developers and power-users and leaving Apple to scrape the bottom for new customers.

Take a look at the three images below. See what they say about the iPhone’s perception in the market. All images come from BrandIndex, via AppleInsider.com

att_customer_perception

First, this graph shows the perception of AT&T vs. Verizon, following the launch of the iPhone 3GS. Notice the sharp downturn in both companies, with AT&T’s being noticeably sharper. After the launch of the 3GS on June 18, people began to notice the struggling impact of a data-intensive device on AT&T’s aging, poorly-managed 3G network. Many users reported losing 3G coverage even while in areas AT&T was supposedly offering great coverage. While voice worked, AT&T’s data network was sorely lacking.

brand_perception_index

Next, take a look at the brand perception of Apple vs. Motorola leading up to the Droid launch, specifically among men aged 18+. Droid’s

 brand_recommendation_index

Lastly, look at the perception of AT&T vs. Verizon in the weeks leading up to the Droid launch. AT&T was never “liked”, but it hasn’t historically been much worse off than Verizon. Now there’s an almost 40 point difference – most likely attributable to the numerous “There’s a map for that” and “Droid does” ads. AT&T, the only source of the iPhone today, is tanking in popularity and public perception among adults. Why would you want a cool phone if it’s on the nation’s worst network?

When you put all these together (as I’m sure someone at Apple has) you see a pattern emerge: the iPhone isn’t really seen as a cutting-edge device anymore. It hasn’t fundamentally changed in 3 years. Sure, memory bumps are nice and getting the features that have existed on other phones for a decade is a welcome addition, but it’s not revolutionary anymore. In fact, for the tech-elite, the cutesy, childish UI is no longer a novelty, but a frustration. For top-tier developers, having a locked-down platform with an unpredictable, often irrational gatekeeper is unforgivable. And for everyone else? AT&T sucks more than the iPhone can make up for any longer. AT&T has not invested in its 3G networks (coverage or infrastructure), and iPhone users once proud of their device’s web-surfing capabilities are now behind, from a data coverage, screen resolution, and technology standpoint.

Will any one device crush the iPhone? I don’t think so. I’m pretty sure it’ll die the way Apple’s OS did – the death of a thousand tiny cuts. You’ll have a small group of users who are willing to trade the simplicity of a locked-down, highly limited environment for poor quality coverage, a less capable device, and a single form-factor.

If I had to guess though, Apple will probably react by trying to diversify, but it’ll be too little too late. The iPhone exclusivity contract will last a few more years, and they’ll release one or two more devices. Maybe one with a keyboard, maybe one with a bigger, sharper screen, but once they do that, the simple elegance of “every app on every phone” is gone.

Then they’ll release a CDMA version to Verizon and Sprint, but no one will care. Sure, there will be blog hype (as their is around a lot of what Apple does), but for the average consumer it won’t matter, and it won’t translate into big numbers. Mostly, you’ll get people who hate AT&T jumping back to their original provider (Verizon), or switching to Sprint for the unbelievably cheap internet coverage they offer.

Tags: , ,

The Aristocracy of Copyright

One of the most interesting concepts today is that of “Intellectual Property”. I don’t mean patents and trademarks, but specifically the issue with Copyright. I recently read a Lewis Hyde article in the New York Times about the nature of Orphaned works (works who’s authors cannot be located or contacted, or for which an author cannot be discovered), and how Google is being set up as the defacto owner of all orphaned works it can scan. That’s not the intended result, at least publically, but it’s what’s going to happen.

When Copyright was originally established in 1710 in a document called the Statute of Anne, it declared that authors owned their works for 28 years. This was a big deal, because in the past patrons had owned the works created by authors. Prior to the Statute, authors’ works were purchased from the Stationer’s Company, after which time they were granted a perpetual monopoly on the publishing of the work with no obligation to pay the author. Authors were also forbidden from gaining membership in the Stationer’s Company, making it effectively illegal to self-publish. The original intellectual work was effectively property, and the right to publish it could be bought, transferred, and sold.

The importance of the Statute was that it acknowledged that the written works should be protected for a time, to allow the author and their publisher to profit from them in recognition of the work’s value to society. It also decided (for the first time, really) that such a monopoly should be finite, after which time the works could be published by anyone who wished to, because they become a part of our social heritage.

The term of copyright has been extended so greatly over the years, in an attempt by publishers and wealthy authors to increase their power, that it is now (from a legal standpoint) a minimum of 95 years from publish or 120 years from creation. The exact legal duration is defined as “Life of the author + 70 years until year-end” according to Title 17 of the US Code, sections 302 and 305.

Now what does this all have to do with Google books? Well, in a class-action settlement (which everyone who has ever written or published a work is named), Google will be allowed to monetize all works (orphaned or not) for the duration of their copyright period. Any fees associated with this (from advertising or the renting to libraries) will be placed in a steward account (under the Book Rights Registry). If no author has claimed ownership of the work in five years, the money will be re-distributed to authors represented by the Book Rights Registry. This “special deal” Google is striking is a huge problem though, as Hyde points out:

The only way a potential competitor could avoid the threat of statutory damages would be to do what Google did: scan lots of books, attract plaintiffs willing to form a class with an “opt out” feature, negotiate a settlement and get it approved by a judge. Even for those with time and money to spare, that promises to be an insurmountable barrier to entry.

Google will be the new Stationer’s Company – the only one with the right and privilege to electronically monetize and distribute orphaned works. And Google will be able to monetize however they see fit, with all the profits going to line the pockets of authors and administrators who had nothing to do with a work’s creation.

And just how many of the 7 million books Google has already scanned fall into this orphaned category? Roughly 70%, with every reason for Google to try and find more. Oh, and it isn’t the responsibility of the Book Rights Registry to find the authors of orphaned works. In fact, it’s the author’s responsibility, a process that will no doubt be time consuming and obtuse , since it benefits them to NOT find the authors.

Read the Statute of Anne

Tags: , ,

Why Should Youtube pay Musicians for Showing their Commercials?

There have been quite a number of complaints over the last few weeks that Youtube isn’t paying artists enough for showing their content. The argument from the music industry is that Youtube owes much of its success to the music industry. This seems like a far-fetched idea at best, but it is something that Google/Youtube have tacitly admitted in agreeing to pay ANYTHING for allowing music videos to be put on Youtube.

What’s the purpose of a music video? Is it to be an artistic expression in-and-of itself? I can’t honestly think that it is. No, a music video (much like a radio spot) is an advertisement – for the band, the song, and the album. It is quite frankly absurd to me that artists believe that they should be paid – beyond the amount they already get through the ads they place on their own pages – because Google is providing them a platform to transmit their commercials to millions of people around the world – FREE.

So when the Performance Rights Society (PRS – UK’s RIAA) could not reach an agreement, Youtube pulled all the music videos down in the UK, signaling that, in fact, it doesn’t need them nearly as much as they need Youtube. The best part? Numerous artists, even ones who had been complaining about how Google was “stealing their money” and “not paying for music” suddenly found that their own, personal websites didn’t work. The videos on their own sites had been embedded versions of Youtube videos. That’s right, in addition to providing free advertising and free distribution, they were also shouldering the largest, most expensive part of a band’s website – the streaming media content – FREE. The cost to artists to host and stream their own videos, thousands or millions of times, would be far higher than anything they could hope to re-coupe from licensing fees.

It appears that the PRS is doing everything it can to actively torpedo its artists’ futures online. Their actions have already driven Myspace Music and Pandora to simply cut off UK service. Does it appear to be hurting either of them? Not in the slightest. You know who it is hurting though? I made a list:

  • The Fans
    • No longer able to find their favorite band’s music online
    • Can’t introduce friends to the music in an engaging way
  • The Musicians
    • Less exposure means fewer ticket sales
    • Fewer new fans because of lack of sharing
  • Music Video Makers
    • If a music video can ONLY be played on MTV, it has less value
    • Less value means people pay less to make music videos
    • Fewer bands (especially UK bands) will even bother making music videos

I hope this is helpful to the people at the PRS, and that they carefully consider who they are ultimately trying to serve. Clearly, artists and fans are both hurt by their actions, and value is generated for no one. It is yet another example of an outdated, monolithic group trying desperately to stay relevant.

So here’s my proposal: If artists want Google to pay them for every view, they can pay Google for every single embedded version of the video. Every time someone embeds it anywhere and Google isn’t getting any advertising revenue, the band can go ahead and get billed for that bandwidth. Then, at the end of the month, they can get together and see which bill is bigger – bandwidth or licensing.

Here’s a Radiohead (one of the bands that complained) video. Just for you to enjoy on Radiohead’s theoretical dime.

Rise of the Home Server

So there’s this interesting pattern I’ve observed in the distribution of technology – things generally trickle down to consumers. What used to be expensive and elite will, over time, become inexpensive and commonplace. Cellphones, computers, digital sound systems, etc. I know that’s not much of a surprise to most of you, so here’s what I think is going to happen.

Media storage is getting cheaper and easier all the time: the rise of the home server. Over the next few years (certainly by the end of 2020) most homes will have some kind of centralized storage. Just like 10 years ago people didn’t have routers and switches in their homes, now almost everyone does. With a home network comes multiple comptuers. Multiple computers leads to all kinds of problems – syncing files between machines, duplication of data, ease of access, usage location, etc. All of this adds up to a solution early adopters are starting to notice. Why put music on every computer when you could just store it on some low-powered, high-storage computer? Why set up complex mechanisms for downloading, transferring, and storing content on a laptop when you could just as easily store it on some server you own?

The obvious solution is to store it on a remote server someplace, up in the “cloud” for easy access anytime. The problem is that people don’t trust the cloud yet – data gets lost, privacy and security aren’t well explained, and retreival times are limited. Sure, you’ll keep things you explicitly want to share with others, but not most things. You’ll never keep your collection of tax records, illegal mp3s, adult entertainment and pirated movies up on a server someplace. No, you want it in a little box, tucked away in your house.

Ideally, it’ll be the size and shape of a router. It’ll plug in and have a bunch of storage for local use, and you’ll be able to expand it anytime. Why not?

Routers with extensible RAID file systems: the next big thing in home networks.

Tags: , , ,

New Year, New Hope for IPTV

So as a new year (and a new President) are upon us, I find myself wondering about the future of television. I hypothesized last year that in the future, we’d free ourselves from arbitrary schedules and the concept of a “broadcast network” entirely. Why should a network (or “channel” for that matter) have to release only one show at a time? Why not let all the new shows for a day come out at a certain time?

Certainly, a portion of this country receives broadcasts over the air, and probably will for quite some time. This will limit us to the time-locked, one-show-per-channel But an ever-growing number of us have a feed from our local cable or phone company for internet. What that means is that the same person providing me the access to some arbitrary multicast feed of channels that I pay an exorbitant amount for is also letting me stream from the myriad of services online – Netflix, Hulu, Youtube, and a myriad of network-specific sites, like NBC.com and ABC.com. I feed all the “channels” into my Tivo DVR and then watch them when I want. The whole thing seems silly though, and there has to be a better way for everyone involved.

And here it is:

Currently, networks like NBC see themselves as content providers, effectively they are both publishers and distribution houses for a very narrow stream of content. They have a limit on the content they can carry, both from a financial resource standpoint, but more importantly they only own a few channels, which can only put a single show at a time on. This is a choking point which doesn’t NEED to exist in a modern system, but is vestigial backwash from when radio waves carried a signal out from one tower to your house.

I envision a day when networks like NBC act almost exclusively as content aggregation. They pay for shows to be made, insert their commercials and so forth directly into them, and then send dozens (or hundreds) of shows directly to my local cable / internet provider each week. Then, my provider can set up a “portal” – possibly even give me a little Set Top Box to stream it directly from their servers. Even manage subscriptions through the box – letting me automatically download a show (effectively subscribe), letting me pick my shows and pay for groups, seasons, genres, or just single episodes. Or an “all I can eat” pass to watch whatever I want when I want it.

Everything is On Demand. The amount of traffic I pull down from the Internet is dwarfed by the amount I pull down over a high-speed, local connection to a server sitting halfway across town. Why stream from NBC’s servers over an expensive, “real” internet connection when I can pull down from my local ISP?

What this will do is basically abolish the concept of a TV “network”. They’ll be feed services, and can focus on what they’re actually supposed to do – provide content. They’re publishers, not distributors, and they should stick to that. The value of a themed “schedule” pales in comparison to the value of watching what I want, when I want it, with not limit to storage, capacity, or the number of channels I can record at once. And I shouldn’t need a $1000+ piece of hardware or something I pay an extra $15/mo for. I should just do it.

Microsoft is working on something called “Media Room” – it is effectively a DVR for an entire cable provider. Record everything, turn your entire network into an “on demand”. It is incredibly promising, but the current content providers are crying “Foul!” at the concept of delivering content to users whenever they want it, rather than based on an arbitrary schedule. They’re fighting with lawyers and lawmakers, and it’ll be a while before technology and consumer benefit win out. The old, lumbering media giants don’t want to give up a piece of their estate, even though they’d be better off in the long run. Also, they don’t want to make it really easy for new competitors to enter the business of media distribution. There isn’t a way to easily monetize Youtube (yet), but if I could put content on my local ISP’s network and let people pay a quarter per show? I wouldn’t need NBC at all, except to make the expensive shows. The value of their distribution network would no longer be a hurdle, just the amount they can front for famous actors / sets / equipment.

Leveling the playing filed scares them, so they’ll fight it as long as they can.

Tags: ,

A Free Market on Money

On Sunday morning, I found myself sitting in a trendy little cafe in Hollywood, talking to a good friend of mine, Spaceman. We stood in line to place our order, discussing a wide variety of topics ranging from work to life to (naturally) the economy. We mused over the concept of a private currency, which some companies are implementing in baby steps (like Visa gift cards) and others are truly running with (like Microsoft points). And that brings me to tonight’s musing:

What would happen if the dollar lost 50% of it’s value next week? What would it mean? A lot of people have a difficult time separating the terms “currency”, “money”, and “wealth”. The US Dollar is just currency – it symbolizes an agreed-upon value (known as fiat money), but has no intrinsic value in and of itself. It is a tool, to facilitate trade. But like all tools, its usefulness waxes and wanes, and sometimes there’s a better tool for the job. Another currency, or another method all together.

Right now, I get paid in US Dollars, because the convenience (and expense) of not having to convert form another currency to the one used where I live is less than I’m likely to lose due to fluctuation in the value of the Dollar. If my economy started to nose-dive, what motivation would I have to keep my money there? Sure, decades ago it would have been nearly impossible to jump-ship with my money. Today, it’s a button on a (good) bank’s website. Why shouldn’t we shop around for the currency that offers us the best “bang for our buck”?

If the USD began to slide, and I mean really slide, due to inflation, poor management by our government, or for any other reason, today I can opt for another. How’s the Yen, Yuan, or Euro doing?

If you want to see what this is like, open up a Paypal account. Deposit, say, $20. Then flip it back and forth between any of the few dozen currencies they suppor, maybe once or twice a week at most . Their conversion rates are pretty good, they take a very nominal fee for the conversion (less than 3%). You’ll see you can, in fact, keep your money in any curency from USD to GBP to Yen to Euros. Neat, huh? Now, you’re a currency trader.

if you can easily switch currencies, there’s a second advantage: any one backed by a reasonably large and developed country won’t really nose-dive. The value of wealth circulating in a country can be thought of a lot like the market cap of a corporation. Currency is a futures market; betting on the ability of one currency (country) to out-perform another in the long-term. If the USD slips below the cash value of all the assets within the country, international currency traders will buy up TONS of it, because you know it is going to recover. You know you’ll get your money back if you wait long enough. Buying up billions of dollars will raise the price of dollars, correcting any downturn we begin to see. Or maybe they’ll just offer really valuable foreign currency for local services, like buying your house or car off you.

But until the rest of the world’s major and ancillary economies all collapse at the same time (in which case, you’re SOL no matter what),

don’t panic.

Tags: , , , ,

Mint.com – Where the Hell is my Money Going?

I have a less-than-simple financial package. At the moment of this writing, I have two checking and savings accounts with two banks (in mid-transition). I have three credit cards for various rewards programs, a mortgage and an equity line. And a paypal account.

With all this in tow, it is extremely difficult to get a unified vision of what exactly I’m spending my money on, and how to build towards a specific target (say, paying off my equity line by 2013).

Enter mint.com – a powerful online financial tool that integrates with banks, credit cards, even investment accounts, and puts it all in one place. It is read-only, so you can’t truly manage your accounts from it, but that’s just fine by me. I like being able to see all my accounts in one place. I like having a master ledger that spans 5 systems. It is bad ass. I like seeing where my expenses go. I like setting a budget and getting a text message when it is coming up. I like getting an email saying “Your credit card bill is due in 5 days” since the credit card company doesn’t seem to want to send those emails.

One feature I’m sure will improve over time, but that I don’t get a lot of use out of now, is the “savings” section. Since this is their main (probably only) source of revenue, I imagine as the service gains popularity there will many more useful “ways to save”. Right now, I get told that if I switched my United Visa card to a no-rewards Discover I could save $600 on interest, except that I don’t ever carry a balance or pay interest. I want something to look at my mortgage, value of my house, and assorted investments, and say “yakno, you could save some cash if you consolidated your line of equity with a 5yr fixed, low-APR loan from these guys”. That’s something I could get behind.

In the mean time, it is still extremely useful. Seeing how I spend my money is very handy. Everything being in one place is awesome. And oh yeah, did I mention? It’s FREE.

Check it out. They probably have your bank in their system, so it is really easy.

Tags: , , ,

And Now, Amazon Has Everything

I am a big fan of Amazon. Be it free two-day shipping, solving my girlfriend’s shoe shopping needs, or selling DRM-free music cheaper than iTunes’ locked-down stuff.

About a week ago, I was discussing with my roommates one of the things I really enjoy with Amazon – wish lists. I realize I am notoriously hard to shop for, and so having a place where I can list things I like as I come across them, as well as little descriptions like “any olive oil sprayer will do” is fantastic. I can share the list with friends and family, and remove things as I receive them or buy them for myself. It also helps give people an idea of price, since on many things where you get it can be a huge difference. I mentioned recently how cool it would be to be able to add products from anywhere to my Amazon wish list.

Well, welcome to the future people. Amazon recently launched just such a feature: universal wishlists. I recall seeing sites that did ONLY this in the past. With Christmas coming fast upon us, the ability to send family to a single, non-threatening location like Amazon and say “Here’s some ideas” is great. Also, since I’m a little distance from my family these days (between 500 and 10,000 miles away) they don’t really know what I’ve got, and this helps with the awkward “this is wonderful, but I already have it” problem.

Anyhow, the thing is stupid-easy. It isn’t even a browser plugin, just a bookmark. You add a shortcut up along the top of your browser and whenever you’re on a site, just click “Add to wishlist”. Stores price, image, description, and some notes. Fan-freakin-tastic.

Here, check it out:

http://www.amazon.com/gp/wishlist/get-button/ref=cm_wl_uwl

That’s all for now.

Tags: , ,