Tuesday, January 4, 2011

Adding user-friendly-ness to your sign-up process

For various reasons, I've been getting a lot of emails that go somewhat this way:

Hi! You've signed up for XYZ Corp's widgets web app. We're glad to have you! Please click here to activate your account.


Only some of them have gone this way:

Hi! You've signed up for XYZ Corp's widgets web app. Read this message thoroughly and save it forever.

Hello name,

We've got several things to tell you. They're very, very important, so you should definitely read them. Somewhere in this message, you can assume we'll eventually tell you what to do in order to begin using our web app.

First Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla ultricies, nibh at hendrerit posuere, dolor risus mollis lacus, sed accumsan eros ante vitae ligula. In order to do this, you should go to this link to yada yada yada. Ut consequat mauris id ligula euismod viverra. Suspendisse eros quam, rhoncus ut elementum vitae, commodo sed sem.

Second After doing what we just told you, Nullam commodo justo tempor ante rutrum mollis. Nunc ultricies mauris id nulla egestas condimentum. Proin feugiat auctor lectus, eu blandit quam rutrum sed. Aliquam erat volutpat. Sed enim nisl, aliquam sit amet vulputate eu, tincidunt a nisl. Then you can visit this link to use the web app in the future. Aliquam eu ipsum dui. Integer pulvinar arcu sit amet sem vulputate vehicula.

Third Sed interdum, nunc id fermentum sagittis, tortor odio fringilla neque, ut viverra tellus dui eu nunc. Nam condimentum quam vitae urna pulvinar congue. Suspendisse vel elit justo. Aliquam eget risus sit amet elit tristique hendrerit. Vestibulum nec felis elementum justo pretium semper condimentum eget nibh. Nunc malesuada egestas lorem, at mollis diam luctus eget. Donec lorem arcu, aliquam in posuere non, gravida ut lectus. Ut vulputate commodo tristique. Nulla dignissim enim sit amet dui adipiscing nec consequat est imperdiet.

Finally thank you for trying our web app.

Theres a problem here. Its not a huge one, but if you take the time to fix it, your users will love you.

Never give people instructions. This is a categorical statement, and is therefore flawed if applied universally, but I think you can understand it as it applies in this context. Whatever web app or widget store you have, your sign up process should be able to fend for itself in the instructions department. When registering new users, send the first email and not the second. Then, provide all the instructions you could have crammed into the email in the pages shown after the user clicks the easy-to-locate link.

Why do this? Well, assume your users are excited to use your product. This should be what you want anyway, right? Excited users don't want to wade through a bunch of instructions, they want to just go, right now! Keep this in mind when designing anything, and do everything you can to make sure you give users the information they need, when they need it. Avoid dousing their excitement in cold water.

On a final note, avoid requiring your users to even use an activation email. Sometimes this is necessary, but make sure it is before you make yourself a nuisance. There's absolutely nothing wrong with sending a "Welcome" email, but don't require your users to interact with it.

Monday, February 1, 2010

An open letter to Digidesign, upon the occasion of my complete frustration.

Dear Avid/Digidesign/ProTools,

You should be ashamed, humiliated, and full of self-loathing. Your support and documentation is the worst I have ever encountered, bar none. Your website demonstrates no organization whatsoever. There is only the subtlest differentiation between documentation for this version versus that version. Old information sits beside/below/under/over/around new information and is virtually indistinguishable. Your authorized dealers provide information that conflicts with your website, and that conflicts with information provided by other authorized dealers.

Your compatibility grid is not a grid, and makes comparing versions of Windows 7 look easy. For that matter, why don't you support Windows 7 yet? For goodness sakes, you don't even fully support Vista! And worse, why should it even MATTER whether I have an AMD or Intel CPU, let alone your horrid quagmire of compatible/incompatible chipsets. You sell expensive software to professionals around the world, yet you can't manage to present any sort of information in any way that even ASPIRES to being user-friendly.

This is an outright abomination, and I have no conception of why anyone would put up with it. In fact, I am at a loss for words as to how further to describe the horrific mess of excrement you call "Support". Good DAY!

(No, friends, I really am this angry. Digidesign should absolutely take action to correct this horrible experience. I understand that this is not the normal tone of an "open letter", but so be it.)

Photo credit:

Tuesday, January 19, 2010

The REAL way to update InstantRails 2.0 to Rails 2.3.5

If you want to develop Rails on Windows, I know of no better way than to use InstantRails. It is easy to set up, works well, and.....is really outdated. If you haven't been keeping track, Ruby on Rails is already at version 2.3.5 and good 'ol InstantRails is stuck at 2.0.2. Well, the time came for me to finally upgrade, I mean, how hard could it be?

The truth is, it really isn't that hard, but there is more to it than I wanted to figure out on my own. What made me make the jump was Nested Object Forms which was released February 2009. If you're keeping track, the last InstantRails release was late December 2007.

So, without further ado, here is your guide to upgrading InstantRails 2.0 to Rails 2.3.5. Lord willing, it is complete and accurate, but if you have any gripes, scream in a comment and don't say "I told you so." (Note: this does NOT purport to help you migrate your Rails application from 2.0.2 to 2.3.5, just to help you get InstantRails up to speed.)

Step 1: Update RubyGems
Start InstantRails using the familiar InstantRails executable. Stop the Apache and MySQL servers. Open a Ruby Console Window with InstantRails, then close InstantRails. Run this command in your console: "gem update --system"

Update: If you receive an error pertaining to a "HTTP Response 301" then you should try running the following command instead: "gem update --system --source http://production.s3.rubygems.org" You may have to run this command several times. As of this writing, the most recent version of RubyGems is 1.3.7, so be sure you have at least that version installed.

Step 2: Install Rails 2.3.5
Run this command in your console: "gem install rails"

Update: Rails is now heading for its 3.0 release, so to be sure you install exactly 2.3.5, run this command instead: "gem install rails --version 2.3.5" The instructions in this guide may work for upgrading to versions past 2.3.5 (such as 2.3.8) but I haven't tried this.

Step 3: Edit your "development" Rails environment
Open "\appname\config\environments\development.rb" Remove the following line (it's depreciated): "config.action_view.cache_template_extensions = false"

Step 4: Change your application to use the 2.3.5 version of Rails.
Open "\appname\config\environment.rb" Change the "RAILS_GEM_VERSION" to "2.3.5"

Step 5: Install the MySQL gem
(Though it is already installed, go ahead and upgrade it. These instructions were written after upgrading to the 2.8.1 version) Run this command in your console: "gem install mysql" You should be able to ignore any errors in the output, as long as somewhere it says it installed the gem.

Step 6: Add the MySQL installation to the Windows system path
(You can probably do this somewhere in the InstantRails configs, but I couldn't find where.) Find out where your version of Windows requires you to go to edit the system path. I'm using Windows 7, so this is how I do it: "Start > Computer (right-click) > Properties > Advanced system settings > Environment Variables > System Variables > Path > Edit" Add the following to the end of the string labeled "Variable value": "C:\InstantRails\mysql\bin;" (assuming that is the location of your un-zipped copy of InstantRails)

Step 7: Finally, run a quick "rake" task on your app.
In your console, navigate to your application's root directory. Run this command in your console: "rake rails:update"

OK, that should be it! InstantRails should now be at version 2.3.5, and hopefully your application is working like it should. Let me know how it goes.

While originally upgrading, I was helped by these two (1, 2) sources.

Saturday, October 10, 2009

Danger, Will Robinson! Your Sidekick isn't safe!


Moral of the story? Having backups of your backups of your backups is important, but having any backups at all is REALLY important. To bad nobody told T-Mobile/Danger/Microsoft.

http://www.techcrunch.com/2009/10/10/t-mobile-sidekick-disaster-microsofts-servers-crashed-and-they-dont-have-a-backup/

Wednesday, July 29, 2009

Hulu made me like TV

So this is a nice little clip from Hulu, the show is Warehouse 13. From what I understand, Warehouse 13 is a new series on the (newly renamed) "SyFy" channel. I've found that I really enjoy TV programs when I have the access to them that Hulu provides, and evidently I'm not alone as Hulu is number 3 in online video right now. Another show I enjoy is Kings, but the first season is over and apparently that's all NBC will ever be producing. Everyone seems pretty upset about that, and I am to- it was a great show. Anyway, enjoy the clip- its really pretty funny.

Thursday, July 2, 2009

Share the root home directory with Samba

One need that I have had a couple times recently is the ability to share root's home directory with a Windows computer on the same network. The method for doing this has not been immediately aparent, and I've yet to find any sort of guide on how to accomplish this on Google, so I'll be shareing my method in this guide. We'll be using Ubuntu Server 8.04 "Hardy Herron" and will be shareing with a Windows 7 build 7100 computer.

Read this note: The instructions in this guide explain a process that will more than likely cause security issues for your Ubuntu server, though whatever computer you are shareing with should not be affected. It is much safer to share a user's home folder, rather than root's. Please understand the implications of what you are about to do. I will not be responsible for any issues that may result, directly or indirectly, from your following these instructions.

Please perform all these steps while logged in as root. If your root account is not configured, run "sudo passwd root" and answer the questions. Then logout and log back in as root with your new password.

Step 1: Install Samba on your server: "apt-get install samba"

Step 2: Configure Samba. Delete the contents of /etc/samba/smb.conf and replace them with the following:

[global]
workgroup = WORKGROUP

server string = %h server (Samba, Ubuntu)
dns proxy = no log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
socket options = TCP_NODELAY
usershare allow guests = yes

[homes]

comment = Home Directories
browseable = yes
writeable = yes

Step 3: Reload your Samba configuration: "/etc/init.d/samba restart"

Step 4: Samba automatically creates accounts for users other than root on a system when it is installed. You need to give Samba a password to use for root and set up Samba to know there is a root account. By running "smbpasswd -a root" you should be able to accomplish both of these tasks. Enter a password for root to use when logging into a Samba share when prompted.

Step 5: Now you will need to configure Windows to see your new share. Follow this path: "Start > Computer > Map Network Drive" Choose a drive letter, then enter "\\10.10.10.10\root" as the folder. Check "Connect using different credentials" and click "Finish". At the password prompt, click "Use another account" and enter "root" and the password you selected.

Step 6: Click "OK" and enjoy your new share!

I hope this guide does leave you with a working share, it did for me! I really hate guides that assume the user knows something and leaves it out, and I've tried not to do that. If I have, my apologies, please leave a comment and I'll see if I can help you out.

Saturday, March 14, 2009

Mindless Babble No. 1

I really think I ought to start Twittering because I've got so many half-posts floating in my head. This is more of a product of my not being able to post every day than having a fertile mind, but in lieu of 50 posts today, I'll combine what I've got. Welcome to the Babble.

Redbox
On a trip I took this week (my school has an early spring break) to St. Louis, I had an opportunity to try out the Redbox DVD vending machines, and I have to say I'm impressed. My movie watching mostly consists of borrowing DVDs from the library when I decide I want one. This works well, as it is always free and I can keep the DVD for weeks and weeks on end, as long as I renew online. I don't really watch enough movies to use a Netflix subscription and get my money's worth, and Blockbuster is really a joke. I cant imagine paying what they want for a few days ever. Since I was on a trip and not near my library, not a Netfilx member and not a Blockbuster customer and really had a hankering to watch The Dark Knight, I decided to grab a movie. The system works really well, I got the movie for $1.08 in Lees Summit, MO and returned it the next night in Chesterfield, about 200 miles away. The only hitch was, the Chesterfield Redbox was rather spacey and was adamant that I had actually returned the DVD in the future which put me past the 9 pm deadline and I was charged for another day. However, Redbox customer support handled the situation great and gave me a refund for the mistake.

Slingshot Pay-As-You-Go Mobile Broadband
Also on my trip, I encountered multiple ads in Pilot Travel Centers for "Cellular Pay-As-You-Go Mobile Broadband." The only problem is, no one knew what it was. That's right: it took visits to 4 stores to learn anything about the device, let alone have an opportunity to purchase one. The gist is: buy a $200 device and then pay by the month for access. One month of unlimited access (according to http://www.slingshot.com/) is $60. This isn't really different from anyone else's service, except that it is contract free. I was hoping for a lower price, and a Pilot clerk did say that the $60 was actually for 3 months, but that seems to be wrong. I'd really like to see a review of this thing and know whose network it piggybacks on. No, the price is not right, but I'm not completely turned off to the thing yet.

BBC's Botnet
This is something that is going to be published and over-published in the next few days, but I find it quite interesting. The BBC's computing program, Click, acquired control of over 20,000 rented infected computers. (A botnet) They used these computers to send out spam to 2 email accounts they were using for testing and also took down a (willing) website with a DDoS attack. After they were done, they ordered the botnet to self destruct. There is more to the TV special than this, but that's basically the gist. Below are 2 video excerpts from the special and you can watch the whole thing in all its over-compressed Windows Media Player glory at www.bbc.co.uk/click.