Archive for the 'General' Category

Twitter Update

Saturday, May 3rd, 2008

As I mentioned in another post, I'm giving Twitter a retry. I must say I'm enjoying it a lot more now that I'm not trying to treat it like other mediums of communication both in terms of what I follow and in how I use it to communicate. I'm definitely more willing to tweet things that don't warrant a blog post or an email.

A great example of this is when I was able to find out that a former co-worker had left their previous job. While that might be email or blog worthy, most people wouldn't bother putting that kind of information out there, but he tweeted it. As such, I didn't have to wait for that information to make it through the traditional grapevine. For once, I even knew about the news before some of the other people I know.

While I'm using it to keep in more constant contact with friends and former co-workers, some people are using it for a lot more. This post as a few recommendations for using Twitter that I found interesting. I'm not sold on a few of them, such as event updates. I realize that quite a few events are using Twitter to update attendees on things. This just seems like an alternative to email lists and RSS feeds. Does Twitter have better penetration than email or RSS? Is it just that I have more noise in my RSS reader? Won't Twitter suffer from that eventually? I don't know. It just seems like using an alternative form of communication just for the novelty of it.

Another use I've seen is people soliciting feedback or getting votes on an issue via Twitter. I think that's a great use, but I don't think I'll ever have enough followers to do it effectively. There's a big difference between asking your 1-10k followers for feedback and asking 20 people. Maybe I'm wrong. Maybe I should tweet the question (and get feedback from 1 or 2 people).

The idea of using Twitter to create and track ToDo lists intrigues me, but again, I just can't get my mind around the advantages. While Remember the Milk seems interesting I haven't gotten off my ass long enough to try it. I hear good things though.

Foamee is another one that I like. You can let someone know that you owe them a drink for something. I haven't used it yet. Maybe I'm too stingy with my kudos. Maybe I'm just an asshole. Who could say? Is my reluctance to use these and many, many other services that integrate with Twitter another example of me being too set in my ways to "get it"? Maybe in another few months I'll be writing posts about how I've come around to using them.

Share

Bitstrips Madness

Wednesday, March 26th, 2008

I recently re-discovered BitStrips thanks to a post today on BoingBoing. Now artistically challenged people can create their own comic strip. Sadly, most of them aren't funny (including my own), but it's the thought that counts.

I do wish they had better options for embedding comics into other pages. Currently they only support a weak ass frame by frame flash widget rather than a simple image of the entire strip. If you're interested in just how un-funny I can be in comic strip form rather than blog form, you can find my crap here.

Here's an example of their shitty widget:

Widget removed for your protection.

Update: I filed a bug report (not on the widget issue yet) and found through an automated email that BitStrips uses FogBugz. I have no real point here, I just like spotting tech products I'm somewhat familiar with.

Update: Better embedding options and feeds made it into BitStrips a while back so I'm updating this post to include the better option. Sorry about it popping up in your feed reader again:

Share

Twitter Retry

Saturday, March 22nd, 2008

Initial Dismissal

I tried to get into Twitter a few months ago but I really didn't see the point of the whole thing. However, its wild popularity and frequent mentions in every blog and podcast I follow have made me realize it's once again time to retry a technology or product I had written off early. I did the same thing with Google Reader, Google Documents, and Facebook. I'm now a big fan of the first two. Maybe I need to re-evaluate Facebook next.

The main problem I had with Twitter is that I thought of it in terms of more direct and intrusive methods of communication. I wouldn't want to get an email or a phone call from someone every time they thought about taking a dump or were wondering what was in their refrigerator. This was made worse because I put Twitter in my RSS reader. When I'd check my feeds I'd have 100 messages from people that I would usually just ignore. What's the point of that?

I'm now trying to think of Twitter as a general group chat. I'm using a client for it instead of the reader (currently TwitterFox). I then get updates as they happen (or within 5 minutes at least). I'm usually not bothering to catch up on anything that I missed unless it's a reply. It's a very lossy communication method. I'm free to ignore it for long periods of time if I feel like it. It's also filling the gaps in time after I've run out of subscribed content. We'll see how that works out.

SXSW and the Mob Mentality

Part of the reason for the re-evaluation has to do with the recent SXSW / Zuckerberg / Twitter incident. I wasn't there and there are conflicting accounts as to how big of a fiasco it was, but the interesting thing is how vocal the audience became. In the days before instant ubiquitous communication everyone would have sat quietly through the interview thinking like thoughts about the poorness of the interview. After the interview they'd then compare notes about the perceived suckitude, blog about it, and move on.

With Twitter, the audience was able to communicate with each other in a relatively clandestine fashion. I think this creates a feedback loop where everyone gets more and more pissed off. The perception of the poorness becomes enhanced and it's just a hop skip and a jump from tweeting your dissatisfaction to voicing it quasi-anonymously in the room. I'm not sure this is a good thing, but it's certainly interesting.

I say it may not be a good thing because I'm not a big fan of micro-ratings within a public forum. When presenters adjust their content on up to the minute feedback from the consumers I think there is a tendency to dumb things down and appeal to either the least common denominator or the most vocal group. I'm not sure this was the case at SXSW, but I'm not ruling it out.

To get back on track, I'm once again paying attention to my Twitter account, so feel free to find me and follow me if you're curious about my bowel movements, mental or otherwise.

Share

The Battle for Hearts and Minds

Tuesday, July 24th, 2007

For the last month or two I've been having a war with whoever is stocking our beverage cooler. We have a cooler with a limited capacity and a locker with a backup supply of room temperature cans.

The first problem is that someone is ordering a whole shitload of Coke products–Coke, Black Cherry Vanilla Coke, Diet Coke, Coke Zero, Caffeine Free Diet Coke–and taking up way too much shelf space. This increases the chance that my beverage of choice will run out and I'll be stuck gazing longingly at a room temperature Diet Dr. Pepper and thinking about what might have been. To combat this, I sneak into the break room and re-arrange all of the sodas in my free time. Typically this consists of trying to make the shelf presence of each beverage more proportional to its popularity. This means eliminating as many Coke slots as possible.

Today I wander into the break room only to discover that they're attacking me on all new fronts–layout, usability, and increased error rates. Check this shit out:

Bad layout / design example

That's right. Not only is the Diet Dr. Pepper down to two slots (I had managed to expand it to three), they've also put it on the Diet Coke shelf AND put that abomination known as Cherry Vanilla Diet Dr. Pepper right next to it. They've put two similarly colored, diametrically opposed diet drinks right next to each other. They've sandwiched an innocent beverage between two fizzy misanthropes. They're obviously trying to get me to pick up a can of that Cherry Vanilla pisswater by accident and lose my love of Diet Dr. Pepper. Barring that, they're thinking I'll grab a Diet Coke by accident and somehow fall victim to the brainwashing chemicals contained in every can.

I now have to fall back and formulate some manner of counter-offensive. This day is lost. Well played…

Update: If It's Worth Doing…

Behold, a [more] properly stocked soda refrigerator:

Soda fridge

I relocated all of the juices on the bottom shelf, being careful to separate the orange and apple juices in order to decrease the chance of accidental color related selection. The same goes for the Diet Coke, Diet Dr. Pepper, and Cherry Vanilla Diet Dr. Pepper. Ditto for Mountain Dew and Canada Dry (both green cans). I also took the liberty of claiming a full four (4) shelves for Diet Dr. Pepper. I figure any soda that spends that long in medical school deserves an additional slot or two in the soda fridge.

Sure, there are still problems. The Diet Sprite still has a full five rows (spanning two shelves–4 and 1), even though no one seems to drink it. I'm hoping someone will start drinking them in order to clear out the heinous stocking abomination that occurred at some point in the recent past. Then I can claim that shelf for the Minute Maid Light Lemonade if they ever start ordering it again. The ball is now in their court.

Share

Troll Scalability

Sunday, May 27th, 2007

The Dark Ages

Things have been dark here for a little too long because I've been busy living it up on Jyte and Pibb, two sites from JanRain. Jyte is a site that lets you make claims and have people either agree or disagree and discuss. In reality it's a bit more interesting than just that. The thing I like about Jyte is it is very effortless blogging. I can throw out a quick idea and get some feedback and discussion going.

Not so with this blog. I usually try to put a little more effort into the entries which result in somewhere near zero discussion. It's still useful for not only letting people know what I'm working on, but also for keeping notes on things I've found. It's not unusual for me to search my own blog to remember how I did something at some point. My memory leaks too much. Plus, I get to say I have a blog like all those cool kids.

Pibb is a web based messaging / chat application. It's just getting started but is good if for no other reason than it gives the people on Jyte a more direct way to communicate. Both of these use OpenID for authentication which is a very nice idea for a public web site. Those of you that watch my bookmarks (or this blog's feed) probably saw the quick bookmark on Acegi's possible inclusion of OpenID as an authentication provider (along with a couple of other Java OpenID libraries). Muy sexy.

That's Not How We Do Things Around Here

Both Jyte and Pibb, being community oriented sites, have felt some recent growing pains in terms of popularity and new members that immediately try to buck the de facto way of doing things. Tagging on Jyte is a good recent example. You can tag claims on Jyte to make them easier to find. New people inevitably either don't tag their claims or tag them with tags that have nothing at all to do with the claim. The tag centric portion of the community immediately tries to get the author to remedy the situation. Most of the time it ends peacefully, but occasionally people rebel against the very idea of someone trying to tell them what to do.

That's the way the community works. The users of the site give the site an identity. New people that don't agree cause friction. The more interesting thing is to see how the developers of the site try to make the community's customs more formalized in the inherent functionality of the site.

In our tag example, there used to be a "top tags" sidebar. Once a group started regularly abusing tags, their ill fitting tag became prominently placed on the top list. After the group refused to change their behavior the top tags list disappeared and was replaced by a set of commonly used tags. This is interesting in that it tries to provide some sort of structure to an otherwise unstructured mechanism–tagging. The short term solution of dealing with this minor abuse was to change the site's functionality to preserve the way the bulk of the community thought things should work.

The original motivation of the group was to use tags to easily find the claims made by members of the group. The JanRain developers eventually added a "find group's claims" link from the group membership page. Again, the functionality of the site changed based on community feedback. It was all very interesting to see how community (mis)behavior caused features to be added/removed to a public web site.

Have You Seen Goatse?

Our next example, and the subject of our subject, is what transpired on Pibb. Pibb got Dugg. This caused the barely opened site to receive an instant spike in traffic. The result was feedback from the new users ranging anywhere from the positive "this place sucks" to greater levels of naughtiness.

Public web site developers often think about what features would be cool for the community. Wouldn't it be great to be able to easily embed images into a chat using HTML? Wouldn't it be cool if users could create their own threads within a channel so that conversations about very specific topics could easily branch off from the original discussion? Gee, you bet it would.

But, that's where troll scalability (also referred to as cultural scaling) comes into play. When you're building a feature rich site for a well behaved community you don't have a lot to worry about in terms of abuse of features. As a site becomes more popular the number of misbehaving users (we'll use the term troll) increases. They may still be a constant percentage of the community, there are just more of them now.

Admittedly, this isn't a problem I routinely deal with since I develop corporate intranet web based applications. I can pretty much guarantee that the hosting corporation can control its own people. This is a luxury the public web site developer doesn't have.

What happens if users start putting images of goatse or tubgirl (links omitted to protect the innocent) in every place you allow the display of images? You let users create new channels? Great. What if I write a script to create a million channels? I'm not talking about the performance impact. Performance is another issue and is one that most people understand and plan for. The troll problem is one for which very few, if any, public web site developers plan.

Troll control is typically handled after you've gone public and gained some popularity. The solution is usually adding punitive measures to misbehavior and the elimination of features. Your community both wins and loses in this situation. It's great to get rid of the trolls, but where did my much beloved features go? If you're lucky, you lose very few of your treasured community contributors. Some will inevitably leave because they think your site is overrun by undesirables. Some will leave because the loss of functionality is unbearable (spoiled bastards).

So What?

The "so what" moment here is that, as a public web site, you may get one shot at getting popularity escape velocity. Your first large scale public exposure is important. You should work hard to ensure that it isn't a negative experience either to your potential new users or to your existing community.

You designed a site to perform well under load and to work in all the major browsers on all the major operating systems. You spent time tweaking your CSS to make it easy on the eyes. Why didn't you spend time thinking how every one of your cool features could be abused? You need to design your features around the "asshole" user. Don't assume everyone on your site wants to place nice nice. Are you safe from inputing script tags in form fields, SQL injection, omnipresent goatse images, animated GIFs, user created content spam, new user creation scripts, etc?

If any of these successful trolls were smart (I doubt that they are) they would open a business offering their devious skills to public web sites currently under development. If they ever do, I recommend hiring them. You'll save yourself and your community a lot of grief.

Share

Blockbuster, Tivo, and Greasemonkey

Friday, March 2nd, 2007

Someone asked for a Blockbuster version of the Netflix Greasemonkey script I wrote. I signed up for the free two week trial and got it working, I think. It's not very different from the original Netflix version, just some stripping of extra characters like "|WS|" or "|Unrated|" that Blockbuster adds to the title. Feel free to download it from here.

gm_blockbuster_tivo

Update: BlockBuster made some minor changes that broke that version of the script. I've made some minor changes to fix things. I updated the link in the post to point to the new one. If you can't be bothered to find that link, you can get it here.

Update: I updated URLs to which the script applies and added quotes around the search title to get more exact matches. As always, you can get it here.

Update: Blockbuster started including the year of the disc in parentheses which would throw off the search so I stripped that information out before hitting the TiVo search site. I also changed the link to the TiVo site so that it would open in a new window/tab. I found myself always shift clicking the link so I just put it in the script.

Share

Netflix, Tivo, and Greasemonkey

Monday, February 26th, 2007

I wasn't very satisfied with my last attempt at merging Netflix and Tivo. I'm sure it can be done using just Pipes eventually but I think it'll take a while for Pipes to mature enough.

Barring that, I got curious this weekend and decided to see if I could do the same kind of thing directly on the Netflix queue page via a Greasemonkey script. So I wrote a quick little script over the weekend:

gm_netflix_tivo

The quick overview is that the script takes each movie title in your queue and searches for the text on TiVo's site. If it finds a match it puts a link after the movie to TiVo's search page. I used a link so you can open the matches in other tabs. This is especially handy since it takes a while to search TiVo for all the movies in your queue. I also tried to make the link stand out a little so it would be easy to spot while scrolling through the page. Besides being a slow loader, the other downside is that any match will cause the link to appear. This is a little bit annoying but seems bearable. In theory you would then schedule the recording online via TiVo's site.

If you're interested, go install Greasemonkey followed by this script. Feel free to modify the hell out of it if you like. I realize it's still not a perfect solution, but seems a bit useful for now. Also, please excuse the crudity of the code. Like I said, it was a quickie and Javascript is not my forte.

Update: Here's a Blockbuster version.

Update: I added the quotes to the embedded search. I no longer have a Netflix account, so it's not the easiest thing for me to test out. Let me know if there are any problems. The script is now hosted at userscripts.org.

Share

Selling Virtual Assets

Sunday, February 4th, 2007

Ebay has decided that allowing the sale of virtual assets on their site brings up too many "complex legal issues." As such, they're delisting any auctions that include virtual items. This includes even auctions that include physical items that accompany the virtual item. This seems like a great opportunity for Yahoo! Auctions to gain some market share for their (currently) free auction site and maybe eventually find a way to successfully monetize their failed U.S. venture (they've had greater success in other parts of the world).

They should get the word out that they still exist, that they're free, and that they don't prohibit the sale of virtual assets. People I know through the wife that have made very nice sums of money from selling VMK items on Ebay were completely unaware that Yahoo! Auctions still existed at all. The free price tag means that sellers won't be penalized by the auction site's severe lack of market share. If Yahoo! ever hopes to make money off the site (or to just be a respectable presence in this area) and if the figure that $100 million in virtual game parts will be sold annually is even close to accurate, it seems like a no-brainer to try and capture this market which has been rejected by Ebay. It's one of the few chinks in Ebay's armor…

Share

eBay Documentary

Tuesday, January 16th, 2007

I've been trying to be a bit more focused with my television viewing. I recently started going through the Tivo guide and searching for documentaries every two weeks or so. You find some pretty interesting stuff buried in the wee hours or on channels that I don't regularly watch. One very nice documentary on eBay (The eBay Effect) will be showing again on CNBC a couple of times on 1/21/07. I highly recommend it.

Share

Installer Training

Saturday, July 22nd, 2006

Train the New Guy

At the new job we have an integrated hardware and software solution for access control (badge access on doors, elevators, etc). We offer a four day class that covers, among other things, how to install the hardware and setup and use the software. This class is directed at the builders / installers, not the end user of the software (though the installer does everything an end user would do and more). We also send our internal people to the class so they can become familiar with the product in a shorter period of time.

Though I dreaded it going in, I attended the course a week or two ago. I must say it was an amazingly valuable experience. One of the problems I have with virtually every company I've ever worked for is that getting up to speed on the ins and outs of the product proves extremely difficult. The developer training is always extremely informal. It meanders and leaves out a lot of things. As a new employee you feel like you're playing catch up for far too long.

Although this training didn't teach me anything about how our software is written, it gave me a customer level familiarity with the hardware and the software. I feel like I understand the product and can start being useful much more quickly than I would have otherwise. I immediately saw opportunities for feature and usability improvements because I was using the product in an environment that closely simulated how the installer and end users would use it.

You Should Offer Some Training, Too

If you have any kind of training available for your product for certification, sales people, end users, support people, etc then you really need to send your employees (especially developers, QA, and support) to these classes. Assuming they will just "pick things up" is robbing them and you of the quality and speed of the contributions they could be making. Not every company has a product that requires such a training program to be offered. For those, I'd seriously recommend carving out some time for coming up with some sort of formal internal training for people. It doesn't have to be overly polished or professional, but having a formal curriculum available to internal employees will prove amazingly useful.

If this seems like a no-brainer, consider that I've never worked for another company that managed to do it and that lack of training was one of the major complaints I had about my last job. I was told flat out that they'd rather hire a domain expert and train them to program than the other way around. I digress.

Pretending I'm a Customer

As I mentioned, we have a hardware component to our product. In one of our front offices we have a training lab set up with multiple hardware stations, which you can see here:

Training Station Installer Training

At the end of the class we used all of the stations (including an elevator controller not shown here) to simulate a seven story building with multiple tenants and access restrictions, including NVR security camera stuff and building automation integration (woot!). It's exactly the kind of thing a customer would do with the product and now I've done it too. Without this training class I think I would always have a partial view of the product at best. Fantastic stuff. Very exciting.

Share