Category Archives: Internet

Create your own URL shortener, use it with Tweetie 2

I hate URL shorteners, but that’s not the point

I really hate short URLs; on both the giving and receiving end, either way I feel like I’m handing or being handed a package of confusion and uncertainty. But, unfortunately, they’re useful if you:

  • Are trying to send a link to someone and have limited space (Twitter)
  • Want to provide a URL that is long with lots of unique variables in it (Google Maps)
  • Need a URL you can easily tell people or have them write-down (during a presentation)

The confusion comes in if nobody takes the time to tell you what they’re handing you. Take Twitter for example, people who post a link usually give little context (“this is so cool: link” or “wow, I wish I had this: link”). Screw you guys! At least give me a hint as to what you’re handing me (other than yet another bit.ly or tinyurl link). Luckily, there are some mitigating factors:

  • Custom contextual short URLs: Flickr’s awesome flic.kr domain is a great start. If WordPress turned wp.me into the same for user’s posts, awesome. Even Posterous autolinks with their own post.ly. I know what kind of content is behind this domain.
  • URL expanders: Tweetie for Mac has a expander service built in for known shortener endpoints (click the bit.ly link and a popup tells you what the actual URL is). LongURL can be used to determine where a URL will really take you.
  • Smarter friends: don’t follow people or ask them to stop giving you contextless links (not likely)

So, with all that said, I want to roll my own URL shortener to tell people: trust me, I took the time to create my own service and hand-pick this URL for you to look at. Since I wrote about this, I’ll be sure to go the extra mile and make sure I give context when a shortened URL is necessary.

How to create your own URL shortener using Lessn

Shaun Inman has created a handy script and guide to create your own shortener: Lessn

The installation steps are simple if you know your way around a web server:

  1. Pick a short domain or sub-directory: you need to first figure out what domain you want to use (I chose devinr.com), you have to own it so you may use an existing domain and stick the shortener at a sub-directory (devinr.com/x/)
  2. Install the Lessn package: follow the README, but basically you just drag and drop the files using a FTP client (make sure you include the top-level .htaccess file, which is hidden by default in Finder on Mac OS X), setup the config file, and you’re done.
So now I immediately have my own bookmarklet, shortener endpoint (via API), etc. Now I can take it with me to Tweetie 2 for iPhone.

Setup Tweetie 2 for iPhone to use a custom URL shortener

Loren Brichter has done an great thing for his latest Twitter client (iTunes link): he allows you to have a custom URL shortener endpoint defined for use. In other words, every URL you post can be shortened using whatever service you want (including your own).
  1. Go buy and install the latest Tweetie 2 for iPhone
  2. Browse to the settings page (bottom of the accounts screen)
  3. Select URL shortener > Custom…
  4. Insert your endpoint using your API (so that Lessn returns plaintext to Tweetie): http://example.com/-/?url=%@&api=[Lessn API here]
It’s as simple as that. Now all your URLs in Tweetie can be auto-shortened using your own service. Neat.

Initial observations on Google Android

 

I’m a huge fan of Google, it’s no secret. I finally found the opportunity to play with an Android device. I’ve used a first-generation iPhone exclusively since March 2008. I like change so I’ve taken a HTC Dream for a spin (using Cupcake 1.5) for the last two days.

I have a few quick observations that may or may not have been covered elsewhere:

 

  • The hardware is awful: I don’t know why phone developers are so terrible. They have been for years. Apple shook up the scene with a top-of-the-line expensive device and now it’s mainstream. It’s been over a year, why does everything still fall short (design, speed)? Just copy everything and at least pretend like you’re trying.
  • The software is awesome: I’m jumping into the game mid-stride with Android so what I saw out-of-the-box is very impressive (push notifications, background processes, video recording, etc.). But it’s arguably right on-par with Apple at this stage. Things like the notifications bar (I can see I got an email and text message and missed a call) and widgets (I can see the weather or the score of the Rockies game on the home screen) are like a breath of fresh-air coming from the very tunnel-visioned iPhone.
  • Slow slow slow: I don’t know if it’s the device, the software, or some mixture of both but it seems memory and speed are lacking. I’ll sit and wait for 5 seconds at a time just to watch an application pop open. Perhaps the background processes need a way that help the user protect them from themselves (yeah, I should open up 10 things at once, sure).
  • Awkward clicking instead of tapping: as of the writing, no pinch to zoom makes weird zoom levels that require a lot more tapping than a simple pinch would. This is software and hopefully Google will decide it’s worth sticking it in. It’s important to keep in mind, not all Android devices will have touch screens (televisions?) so it’s understandable.
  • The browser is hard for users: zooming, changing windows, opening bookmarks: all things I do often and require at least two-too-many clicks.
  • Application offerings are so-so: I’ve found a lot of great applications (tools, games, widgets) and I’m really impressed with what’s out there. There is a lot to be desired and lots of empty space to fill. Now is probably a good time to become a big player in a growing space.
  • No good media sync off-the-shelf: you have an SD card (awesome, removable storage!) but you lack the ability to sync with something like iTunes. You are forced back to the drag-dropping of files onto a drive. But if you don’t use this as a media device, no worries
  • The applications are as bad as the developer makes them: a huge criticism is the lack of polish on Android phones and in the applications. Sure, Apple hands you everything you need with their SDK, thus, you get a lot of nice UI elements for free. But, you get stuck with a closed system, an application “review” process, and a bunch of hoops. Android says ‘do what you want’. Think Facebook and MySpace: that profile page on MySpace looks only as bad as someone chose to make it.
  • More buttons means more depth: a lot of people look at the iPhone/iPod touch and see two buttons: ‘power’ and ‘home’. Though it may seem cluttered, the additional buttons on most Android devices (‘menu’, ‘back’, ‘home’, scroll ball, etc.) means more application depth. I can quickly scroll around a list with the ball. I can click and hold the ball (or my finger) to bring up more actions. Each screen can respond to a ‘menu’ button which allows you to stick things like “Settings” and “Refresh” somewhere where the user isn’t always faced with it.
  • Virtual keyboard and touch-screen is so-so: the original Android device only offered a keyboard (arguably much nicer to type on, I forgot about mobile keyboards! The tactile response virtual (on screen) keyboard is nice but the overall size seems small and tight. Oh, and the way I use my thumb on Android seems to ‘hit’ right below where I always intend to. Apple must do some calculating to shift those touches upward. (Put your thumb against a flat surface, the curvature means the top usually hits first and is immediately recorded as opposed to the overall footprint of the finger)..
  • Integration with Google Voice is nearly perfect: it’s not seamless, but close enough. I can send text messages from either my cell or my Google Voice number. I can set my calls to do the same. Maybe this way I’ll get everyone ‘switched’ over to my new, preferred number.
  • Additional Google integration: I don’t even know where I would to go change which Google Account is associated with the device. All I know is my calendar, contacts, and GMail are all there. No settings page, no picking ports.

 

As of right now, with a mix between the hardware offerings and software, I’d give the overall experience a 7/10 (iPhone is an 8, Blackberry Pearl is a 5).

It wouldn’t take that much to knock Apple off it’s throne; in fact, it’d be better for everyone. I’m rooting for Android but likely sticking to Apple. We’ll see if the costs outweigh the benefits in the next few days.

 

Originally posted at posterous

Weird “meow” voicemail left for me

From the “I can’t make this stuff up” file:

I received a call from what appears to be a shady telemarketing phone number (603-606-4912). I always Google a phone number area code when an unrecognizable number is calling me (“Do I know anyone in Georgia that would call me?”) and then Google the full phone number to see if it’s even worth worrying about.

Anyway, the funniest point was getting the voicemail. Have a listen:

(click through if you’re in an RSS reader)

I figured I’d write about this so when people search the web for “meow voicemail message” they’ll realize they’re not alone. Oh, and because embedding voicemail is the wave of the future.

Use Google Reader as a delicious.com alternative

Google Reader has only recently added social features (following, liking, people searching) but I’ve found them to be amazingly powerful.

Consuming information

If you use Google Reader, you likely consume a lot of information through it via RSS feeds. Everything from news (BBC, NYTimes), sports, humor (ICHC, xkcd) to photos from your Flickr contacts, Twitter mentions and so on. Reader is one of my most important online web applications.

Consolidated contacts

And to pile on even more Google fanaticism (friends in college thought I worked for Google), all of my friends and family contact information are stored in Google Contacts. The best part about this is that my Gmail, Google Voice, iPhone and Address Book contacts are all pointing to the same place: Google. Some argue that’s a bad idea, but that’s another discussion. Point being: there’s no need for me to try and messily sync lots of contacts across multiple sites.

Google Shared items

Since Google now has public pages to display your ‘Shared’ items (through Google Reader, you can have one spot where you consume and share the cool content you find. In essence, you can help filter the signal from the noise for your contacts and friends.

Once you share an item, other people that ‘follow’ you will be notified of the new item. Awesome, I can read consume new cool things that my friends have filtered.

Replace delicious bookmarks altogether

If you visit your Shared settings page (Your stuff > Shared items > Sharing settings) and scroll to the bottom of the page, you’ll notice:

Try the Note in Reader bookmarklet to share non-feed items from around the web.

Drag and drop the ‘Note in Reader’ link to your browser’s bookmarks toolbar and suddenly you can ‘share’ content from all over the web. Friend linked to something cool on Twitter? No problem, just ‘Note in Reader’ and everyone else knows about it. Tags and comment come standard. It’s that easy.

Most underrated iPhone applications

I love the iPhone (on T-Mobile). It’s been an awesome phone slash iPod slash internet device for me for almost two years now. As I check out some of the other mobile phones out there I realize I may never leave the iPhone because of its applications.

It’s always fascinating to me to see what other people’s home screen looks like (what applications do you use the most? why is that one up there? why do you have two red icons next to each other? etc.) and I’ve found some of my favorite applications just by seeing what other people use.

iPhone home screen

In fact, word of mouth, like many other products, is the best way to find the best applications. Talking to a trusted source with similar interests and behaviors is a great way to find applications that match your lifestyle. Matt Galligan introduced me to Grocery IQ and it’s served as my grocery list ever since.

So, with that said, here are my favorite underrated apps for the iPhone:

Instapaper Pro ($5)

Instapaper is one of the greatest free services on the web. Marco has spent a lot of time building a site where you can flag web pages you want to read later (built in to Tweetie, bookmarklet available, etc.). Instapaper takes the page, saves it, and adds it to your very simple list of unread articles.

The iPhone application is perfect because it syncs with your Instapaper account, downloads the text-only (optional) version of the page, and allows you to read it on your phone. The fonts are customizable, the orientation can be swapped (portrait/landscape) and it even uses the accelerometer for tilt scrolling (look ma, no finger swiping). Even though I don’t need all of the ‘Pro’ functionality, I bought this app just to support an excellent product. Instapaper Pro (download) has changed the way I poop.

Mint (free)

If you use the web-based money management service Mint, then the iPhone app is the natural compliment to the site. The application shows your account balances, recent transactions, and budgets. Everything you need in your pocket to decide “should I really buy a burrito for lunch?” or “should I really be buying a round of shots tonight?”

You may not focus on finances that often but by having the application, you can check your money’s pulse in a few taps and start to understand important things like: where is my money going? Am I on track this month? Mint (download) has helped me cut costs and optimize my spending.

foursquare (free)

Hands down, foursquare is one of the best location based applications available. You simply ‘check-in’ to the various places you visit (socially) and start to gain points and badges based on where you’re at. But that’s not the point, you can see where your friends are this weekend, where they’ve been (“hey, what’s the scene like there? is it worth stopping by?”) and discover some cool places through to-dos and tips left by other players.

The iPhone app has push notifications so you can be alerted when your friends are out and about. Mayorship status (most check-ins at a location in the last 60 days) sometimes gets you a free drink. Foursquare (download) is an amazingly fun, social location game that makes me want to live a more interesting life.

But those are just a few…

What are your favorites? I’m sure there are tons out there that I’ve never even heard of. Leave a comment or start your own post and leave a pingback.

Note: GV Mobile had originally been on this list but has since been pulled from the app store.

Twitter is the new MySpace

I get a lot of good emails but Rachel made a great observation today:

Not only is “Spongebob” a trending topic on Twitter, but it’s “Wich Spongebob.” The fact that we have gazillions of people taking quizzes about their similarity to a Spongebob character is sad, but not nearly as sad as the fact that the word ‘which’ is being so persistently misspelled.

Twitter has become MySpace.

We knew it was coming when celebrities showed up. We knew the site was a big deal even before the illegally stolen, internal, not-for-public-consumption documents were released.

The obvious difference being the “openness” of Twitter. MySpace, Facebook, etc. required at least some level of friendship to get to people’s intimate details. Not to mention this level of aggregation, which is only skimming the surface, has never been so public before The original beauty of Twitter was the quick-yet-personal musings that everyone could see (private profiles are often condemed by “social media experts”) and chose to follow.

But now the rest of the world is here and it’s a bit frightening. Its not the small ecosystem that we initially enjoyed being a part of. Senators, porn stars, real estate agents, company executives: they’re all here. Plus, everything is indexed, searchable, retweetable, and easy to find.

I wouldn’t be surprised if we saw more people revert back to a more “closed” system in the near future. We are teetering on the edge of novel and unnerving.

MailChimp releases Analytics360° WordPress plugin

At Crowd Favorite, we often have the privilege of working with some very cool clients. These last few weeks we worked closely with MailChimp to help release a WordPress plugin called Analytics360°.

Dashboard view of the Analytics360 plugin

Dashboard view of the Analytics360 plugin

From the MailChimp blog:

…it uses the power of Google Analytics to tell bloggers what kind of an effect they’re having on overall website traffic. We’ve made it super easy to tell if your blog posts (and email campaigns) are driving traffic to your website…

There has already been a lot of nice things said on Twitter, and over 1,000 downloads. Check out the video to learn a bit more about how it works:

Overall, this was a great team effort. The folks at MailChimp had a great idea, access to great APIs (both MailChimp and Google Analytics) and a lot of foresight. We at Crowd Favorite were greeted with the challenge and built one of the slickest WordPress analytics plugins out there (those visualizations are easy, but not that easy).

How to: merge existing GMail accounts

If you’re like me you have a GMail account (something like [email protected]). But, one day, Google Apps came along and offered the opportunity for Google to host and act as your domains’ email provider. I immediately forwarded all my incoming gmail.com email to devinreams.com and set up the domain on Google Apps. Then a year later, I decided to change my domain to reams.me, so I set up another Google Apps instance and started forwarding email there.

Now I had three GMail accounts, all with different email saved in them. Oh, and suddenly, Google Voice and Contacts appered on the scene. I realized I wanted go go back to my gmail.com account. I had email all over the place.

I had Google email stored in three difference places

I wanted to consolidate the email from my two Google Apps accounts (devinreams.com, reams.me) and have my thousands of emails stored all in one place (gmail.com). “No sweat”, I thought. But, this process is harder than may appear on the surface. Below I outline a multi-step process where I

  1. physically copy email to one account to another, and
  2. setup rules so that new mail (incoming and outgoing) is coming to/from the right places.

Step 1: Setup Mail.app using IMAP

The biggest endeavor is moving the mail which is a process of: configuring multiple IMAP accounts in Apple’s Mail (I assume you can do the same in any IMAP-compatible email client), and physically copying the messages between the two servers. A few notes before we get setup:

  • Labels: Using IMAP, GMail labels will appear as ‘folders’. This means that one email with a label applied can appear in at least two places (All Mail, Label 1, Label 2). For simplicity’s sake, I decided to abandon the two-dozen-or-so unique labels that I had across the three accounts. There was no easy way to reconcile the different wording or usage I had evolved over the three years of different accounts. So, I stuck to simply moving ‘All Mail’ to ‘All Mail’ across accounts.
  • Connectivity: In order to make this (potentially HUGE) move, your network connection (upstream) will be in use the entire time. Basically, the email client is constantly sending commands such as “Copy Message A from Account A to Account B.” Needless to say, this will take a while and will require some bandwidth.
  • Timeouts means batching: In my experience, Google had a hard time keeping a connection open if I simply tried to copy 12,000 emails at once. I couldn’t tell if it was idling out (idle commands were queued to be sent after the copy commands…) or just choking on the request. I found I could easily queue a month (about 1,000) emails without Google disconnecting.
  • Duplicates: Despite my initial connection failures, IMAP and Google were smart enough not to copy duplicate messages. In other words, if I copied Message A already, and tried it again, it didn’t. So, if you lose your place when batching, don’t worry about it.
  • Crashes: Mail will crash when you first try to open your ‘All Mail’ folder (or any large IMAP folder for that matter). Just relaunch a few times and it’ll get there eventually. Trust me, it may take a few tries. This is where the ‘Activity Window’ can help tell you what’s going on.

With all that said, here’s the process:

  1. Go into your Gmail accounts and enable IMAP (Settings > Forwarding and POP/IMAP).
  2. Open Mail.app and set up your first GMail account (do not check ‘Automatically set up account’) following these IMAP instructions. DO NOT check ‘Take account online’.
  3. In the ‘Accounts’ screen, select your first account and disable all the ‘Mailbox Behaviors’ (not necessary, but prevents server-side things from happening).
  4. Switch to the ‘Advanced’ tab and change the ‘Keep copies of messages..’ setting to: ‘Don’t keep copies of any messages’.
  5. Repeat this process to set up your other account(s) that you’re moving to/from.
  6. Close the ‘Accounts’ screen and save your changes.
  7. Open the ‘Activity Window’ (command + 0) so you can watch what’s going on in the background.
  8. Now you can ‘Take All Accounts Online’ from the Mailbox menu.

At this point, you now have a Mail client setup so that your emails can simply copy across accounts without locally downloading each message. Now the fun part.

Step 2: Copy all your email from one account to the other

  1. Browse to the account you want to move email from and open the ‘[Gmail] All Mail’ folder (this is where the crashing is likely to happen, relaunch, watch your ‘Activity Window’, repeat).
  2. Start wherever suits you and select a good batch of emails (I would do one month at a time, approximately 1,000 emails per month). Do not try to copy all of them at once. If it works, congrats, if it doesn’t, you’ll have no idea how far it got before crashing or timing out.
  3. Right click your selection and select ‘Copy To’. Browse to the ‘[Gmail] All Mail’ folder of your other account. (notes: you can also drag/drop or ‘Copy and Paste’, you can also repeat this process using your labels instead of ‘All Mail’).
  4. Sit back and watch the bits and bytes fly through the internet in the Activity Window.
  5. Go ahead and queue the next batch of emails (eg: February). Repeat as much as you’d like. You can see these batches saved in the Activity Window and monitor progress.

Over the course of 3 days I was able to move about 30,000 emails in the background (set this up before you go to sleep and use an application like Caffeine to keep your computer awake). Trust me, this is much faster than the ‘POP import’ process that GMail has built-in (don’t even look it up).

Once you’ve arrived here you’ve successfully copied all your email from at least one account to another. You can confirm by browsing to your account online and doing some math. Now, I want to make sure all my future email goes to and comes from the right place.

Step 3: Setup forwarding from the old account

Very simply, all you need to do now is visit the old accounts and browse to ‘Settings > Forwarding and POP/IMAP’. Configure your old address to forward to your new address. Perfect… moving on.

Step 4: Setup your new account to send ‘from’ your old account

You’re likely aware that GMail can send email “on behalf of” other email addresses. Set your primary email account to send from your old ones (if so desired):

  1. Browse to ‘Settings > Accounts’
  2. Under “Send mail as” click the ‘Add another email address you own’ link
  3. Follow the instructions, your old address will be sent a confirmation (it should appear in your new account if you followed Step 3)
  4. If you want to use an old address as your primary outgoing address (eg: all email comes to gmail.com but I want to still send as if I’m at reams.me), then click ‘Default’ next to that address and check the “When receiving a message:” options below.

Now you can send email from your primary account as if you were still at your old ones. Learn more about custom ‘From’ addresses.

The consolidated life

Great, now I have all my email accounts flowing into my gmail.com account. My GMail contacts and Google Voice contacts are all synchronized (in addition to my iPhone contacts and Apple Address Book contacts).

Plus, I have over 4 years of email all in one place. I can find receipts from 2004 without having to login to my old accounts!

I tell you, I’m living the dream…

If you have any questions, be sure to post them in the comments.