Dear Internet

November 30th, 2009

I love being able to keep my friends and family (and some random strangers) updated about every thought that crosses my mind. I’ve long enjoyed writing long, intimate blog posts about things that matter to me, and engaging in conversation with people who read the blog. I also love feeling like my family and friends who aren’t close to me geographically can get an update on how I’m doing.

This blog, Twitter, Facebook, and then an IV blog, IV facebook and IV twitter, have given me so many outlets for expression that I’ve reached the point of emptying myself of anything significant to say. I find myself always referring to “that post I wrote last week”, or, “did you see that thing I posted on Facebook?” Something had to change.

This blog, taking the most effort to update, was the first to drop. I’ve begun to limit my Twitter & Facebook updates pretty severely as well. I’m moving more towards generating content I want other people to see, and away from just talking about my life, my frustrations, etc.

Hopefully this is a good sign for the blog, because it’s my best place for generating content. It’s hard to have a teaching moment through Twitter. We’ll see.

It does mean it’ll be harder for people to just keep up with my life through these online mediums. So, if you ant that, and you miss it, please give me a call, email me, text me, comment here, or whatever else it takes to get in communication. I’d love to hear about you, and maybe tell you a little about my life as well.

But, for now, if you want to be kept a little more aware of my goings-on Internet-wise, feel free to follow me on twitter. Otherwise, pray that I use my time, attention, and expression wisely and in a way that helps others, leaves me with impetus for non-Internet conversation, and glorifies God.

I’ve been keeping up http://intervarsityuf.org/ for the last few years. It runs on a proprietary PHP/MySQL Content Management System I wrote specifically for the site (called CampusPress, but I wrote and named it before I’d heard of WordPress–I promise.) It’s essentially an underpowered version of some of the simplest posting and paging features of Wordpress, and were I to start again I’d just install Wordpress.

The problem is, not a lot of people (as far as I can tell) actually use the site. People often find us through the site, but it’s seldom that I hear a student talking about their use of the site or discovering something new through the site. It’s a pain to remember to update it, since we can do Notes and Events in Facebook, and getting students whose lives revolve around Facebook to regularly use an external web site is ridiculous. What intrinsic motivation do they have to regular visit the site? Nothing. And few to none of them use RSS readers, so that does nothing.

On the other hand, the Facebook group

  • Allows us to create events with RSVPs and photo galleries
  • Allows students to invite friends to events and discuss rides/etc
  • Gives me a convenient way to message everyone (we have a Listserv on the web site, but e-mailing students is almost worthless these days–if you want a response, send a facebook message)
  • Requires no backend programming or updates
  • Is free

Finally, Facebook pages are even more powerful than groups:

  • They allow your page to be visible to non-facebook-users (increasing outside visibility)
  • They make your group an actual facebook entity, meaning you can use the Publisher–release status updates, write/import Notes, post links, photos, and videos–and these updates show up in your students’ feeds
  • Using a new feature called Insights, you can track your visits and the popularity of certain aspects of your page
  • There’s much more possibility for customization, allowing you to add tabs and customize your site design and programming using FBML (Facebook’s version of HTML)

So, I’ve created the InterVarsity Christian Fellowship at UF InterVarsity Christian Fellowship – UF Undergrad page I realized after I created it that I should’ve named it “InterVarsity Undergrad at UF”, so I hope that doesn’t come back to haunt me when Greek (and Grad?) chapters want their own pages. I’m trying to figure out if I should start a new page now, before I invite people, or try to learn how to change it.

Once I learn how to change the name or just start a new one (or just stick with this name), I’ll put up more information about how everything’s working out in the transition. I tagged this with “facebookpage“, and hopefully I’ll remember to do the same in the future.

Google Wave Video Outline

May 30th, 2009

After watching this video (via Lifehacker) from the initial Google Wave presentation, it makes a lot of sense. However, it’s a darn long video, so I took some outline-form notes for anyone who doesn’t want to sit through the whole thing.

Here’s the video: http://bit.ly/2ubKlY

And here’s the outline:

  • Wave vs. e-mail
    • E-mail is like snail mail. Each “e-mail” is sent to a person.
    • Wave is like a “conversation”–GMail’s thread view was a precursor. Every wave is a shared object hosted somewhere. When each viewer looks at the wave, they can leave their replies, and then the next user to see the Wave can see the original, the comments, and then add their own… more like bulletin boards.
  • Usage scenarios
    • Responding when the other person is offline (more like traditional e-mail)
      • You can reply to particular pieces of a wave (e.g. a question asked mid-message), rather than just one big reply to the entire wave. Each reply to each piece looks a little more like a comment on that section of the wave, rather than a full response.
      • Each of these comments can turn into a thread, where other people reply to your reply.
    • Responding when the other person is online:
      • It actually turns into a character-by-character chat. IM merged with e-mail.
    • Adding a new person to the wave
      • With e-mail, you would forward the whole chain of messages and replies to the new person. With Wave, you just invite them and they can view everything–not just whatever was forwarded to them. Also, if someone goes back to a previous message in the thread to forward it, reply to it, or make changes to it, the new person can’t be accidentally left off the delivery list.
      • The person can see the original message and then click step-by-step through each comment, etc. using the “Playback” feature.
      • There is also always the option for a “private reply” to a particular person which everyone else can’t see.
    • Attachments
      • Drag & Drop pictures into the wave: adds thumbnails to everyone else’s screen long before the pictures are done uploading
      • Can instantly turn the entire wave into a group photo album with a beautiful “slideshow” feature
      • Very easy to extract all/some images from a wave and creating a new wave with them
  • Embeddable
    • Like Maps, which can be embedded into an existing web page, waves can also be embedded
    • “Gadgets” that are connected to a particular web site show up as a “Participant” you can invite to view that wave, which instantly shares that wave to the web site
      • And! The entire wave–the ability to respond to it, etc. are posted to your site. So comments on the web site are shared back to the wave, and responses to the wave are shared back to the web site: LIVE.
      • Any blog you comment on shows up in your wave client; this way, following threads on blogs you like can all be pulled into your Wave client.
    • Social Networks
      • You can create a new wave as a post in your favorite social network, and share it with friends who aren’t even Wave users (as long as they’re on that social network), where they can use all of the features of Wave
    • Only one version of the wave exists
      • So even if you’ve posted it anywhere else, those other embeds (your blog, social network, etc.), will instantly reflect any edits from anywhere else
  • Collaborative Authoring (using Edit Button)
    • After taking notes, do you put in a doc or a wiki, or e-mail them out?
      • With Wave, you can do both. Real-time collab like Google Docs
    • Every time you visit the wave, you see the current version with anything that’s changed highlighted for you to review. Remember, you can step through the whole thing edit by edit using “Playback”.
    • It’s all still a wave–but if you choose to think of the original as “document-like”, you can edit it.
      • Example: You could choose to fix someone’s spelling errors on an e-mail.
    • Can at any point export the current version of the wave to a new wave, text document, etc.
      • But, you can still make changes to the original and repost to the new wave
      • Different teams can be working on different sections of the original and at any point publish just their part of the output/exported wave
  • Organization
    • Folders
    • Saved Searches
    • Tags
      • Shared by everyone (if you tag it, everyone else gets the same tag)
    • Use waves to organize other waves
      • You can make waves with lists of links to other waves, etc.
      • Easy to do! Just pick up a wave from the search panel and drop it into your new links wave
      • Point to one wave in another, like a wiki
  • Productivity examples
    • Scheduling a movie with friends
      • Polls on what movie to see (Yes/No/Maybe gadget lets everyone easily clicky each)
  • Extensions
    • Extensions can live inside of a wave: just click install button from that wave
    • Bloggy
      • One they’ve written already. Auto posts the wave to the blog
    • Games!
      • Collaborative or competitive
        • Chess
        • Sudoku
      • You can use “playback” to watch the entire game!
    • Maps
      • Maps embed easily in a wave and update easily (other people can watch you zoom in and out, switch to satellite, etc. in the wave)
      • You can add markers to the maps
      • Draw on maps with polygon tool
    • Spell check (Spelly)
      • Checks not just against a dictionary, but also against a huge language database.
        • “Can I have some been soup” knows that it’s wrong. “You are to kind” knows that it’s wrong
    • Link detector (Linky)
      • live updating: Most things, when they detect a link, convert it to a permanent link. Instead, linky suggests and then unsuggests as you keep typing
      • Videos: embeds the youtube, etc. video straight into the wave (can everyone watch it together? maybe?)
    • Search while within Wave to find links (Searchy)
      • Popup a small google search window and get images or links from Google; it puts the link or image straight into the wave
    • Twitter
      • “Twave” is a wave of tweets
      • Signin to your twitter account in that wave
      • That wave shows your twitter feed (tweets from everyone else, so just like the twitter.com feed)
      • You can respond to twitter posts in wave, and it actually tweets your response
      • You can make a new twave that includes all of the results with a certain search result
    • Use Wave API to use Waves in existing workflows (Buggy)
      • Connects with issue trackers: githost, bugtracker, etc.
    • Auto-translation (Rosy)
      • character-by-character live translation! AH!

Fancy Features

  • Live update
    • Search results update very, very quickly (less than a second)
  • Polls (Polly)
    • Put forms in waves: sends out a new question wave to each person, which report back to the admin wave
    • You can create forms collaboratively
    • Auto-generates a results section in the admin wave
  • Federation
    • Even though Waves can be on different servers, it’s just as quick/live across two different servers (i.e. lots of people will be on Google’s Wave server, but some people will be on their own company’s Wave server: it’ll still work fine)
      • Even though public portions of the wave are shared between servers, private replies don’t ever leave your server
  • Responds really well to upping font sizes, resizing certain sections, etc. (doesn’t feel so much like a web app, more like an actual app)

My Concerns

  • Bringing all of your online communications into one inbox could get very cluttered–Inbox Zero is hard enough as it is

Dorky quotes (presenters are apparently Firefly fans) :)

  • Curse your sudden but inevitable betrayal (Firefly)
  • “Shiny” (Firefly)
  • Initech (Office Space)

Sorry, I know this may bore you all. But I wanted to write it.

Web sites

  • Tumblr: Like a blog, but smaller. Rather than having to generate content, it allows you to quickly and easily repost others’ content.
  • Twitter: Like Facebook’s status updates, but infinitely more powerful. Called microblogging, many people use it for a) social networking b) status updates c) tumblr-like linkposting d) interfacing with many webapps
  • Socialthing!: Combines all (or hopefully one day, all) of your status update/social networking sites into one so you don’t have to read your Facebook news feed, Twitter updates, etc. all on separate sites
  • GrooveShark: Listen to any song in their library for free, legally; buy it for the same price as iTunes but with no DRM; local Gainesville company run by very cool people
  • Songza: Listen to any song in their (large and more comprehensive than GrooveShark’s) index of songs available online; not sure if it’s actually legal at all
  • Caloriecount: Track a lot of stuff here. This helped me get control of my caloric intake and helps me monitor my weight.
  • Evernote: Track everything–receipts, business cards, notes, pictures, anything. It’s free, and it connects to a program on your computer that makes it easier to track these things. Archive your important information so you can have quick, easily searchable access to it anywhere.
  • Remember the Milk: Amazing to-do list manager. Interfaces with twitter, your desktop, Gmail, and more.
  • Wesabe and Mint: Money manager sites–like Quicken, but online and free. Wesabe’s way more powerful; Mint is way easier to use. I still haven’t decided.
  • Lifehacker: The source for these web sites and many more

Programs (for Mac)

  • Mailplane: Gmail turned into its own program. It interacts and interfaces with the rest of the OS in ways that no web site ever could.
  • Fluid: The ability to turn any web site into its own program (called an SSB, or Site-Specific Browser). I now have specific programs for GrooveShark Lite, Socialthing!, Remember the Milk, and more.
  • Cyberduck: Free FTP, SFTP, Amazon A3, etc..
  • Adium: Awesome free chat.
  • KeePassX: Free platform-independant (meaning it works for you PC people, too) password manager.
  • NewsFire: I don’t know if it can compete with NetNewsWire, but I got it when it was free and NetNewsWire wasn’t… generic RSS reader.
  • Evernote: The program interface to the aforementioned web site.
  • EDIT: Skitch: A quick screencap/webcam capture app with easy annotation and instant access to free web hosting.

These things I use all the stinking time. There are others I’m still experimenting with… in response to my last post (which was not supposed to be about asking for presents–I just wanted to talk about gift-list programs), I’m testing a gift-list web site called Boxedup.

Also, there’s the hot new web site I heard about called spendlessgivemore. Hm. That sounds really interesting.

Tumblr and Quicksilver

January 28th, 2008

In the span of the last few hours I’ve discovered Tumblr (thanks to Erica), signed up and created my own, lamented its lack of a working (at least in Leopard) widget Tumblet, tried to implement a Quicksilver script for it, and then learned enough AppleScript to fix it. For posterity’s sake, if for nothing else, here’s the script–if you actually plan on using this, make sure to read the original instructions:

For some reason, I cannot for the life of me get WordPress’s HTML editor to save the stinking space in this post. So, if you really want it, comment here and I’ll give you a prettier version.

to extractBetween(SearchText, startText, endText)
set tid to AppleScript's text item delimiters
set AppleScript's text item delimiters to startText
set endItems to text of text item -1 of SearchText
set AppleScript's text item delimiters to endText
set beginningToEnd to text of text item 1 of endItems
set AppleScript's text item delimiters to tid
return beginningToEnd
end extractBetween

to parseLink(link)
set tid to AppleScript's text item delimiters
set AppleScript's text item delimiters to " "
set theURL to the 1st text item of link
set AppleScript's text item delimiters to theURL
set theName to 2nd text item of link
set AppleScript's text item delimiters to tid
return "url=" & theURL & "&name=" & theName
end parseLink

using terms from application "Quicksilver"
on process text post
tell application "Keychain Scripting"
set tumblr_key to first Internet key of current keychain whose server is "www.tumblr.net"
set tumblr_login to ("email=" & account of tumblr_key & "&password=" & password of tumblr_key)
end tell
set tid to AppleScript's text item delimiters
set AppleScript's text item delimiters to "."
if (1st word of post is "http") then
set type to "link"
set send to parseLink(post)
else if (1st text item of post is "www") then
set type to "link"
set send to parseLink(post)
else if (1st character of post is "\"") then
set type to "quote"
set AppleScript's text item delimiters to "\""
set theQuote to the 2nd text item of post
set AppleScript's text item delimiters to "--"
set source to the 2nd text item of post
set send to "quote=" & theQuote & "&source=" & source
else
set type to "regular"
set title to extractBetween(post, "", "")
set AppleScript's text item delimiters to ""
set body to 2nd text item of post
if (body is "") then set body to 3rd text item of post
set send to "title=" & title & "&body=" & body
end if
set AppleScript's text item delimiters to tid
set new_post to the quoted form of (tumblr_login & "&generator=Quicksilver&type=" & type & "&" & send)
set results to do shell script "curl --data-binary " & new_post & " http://www.tumblr.com/api/write"
if (results is "Authentication failed.") then show notification "Posting failed. Make sure your email and password are correct!"
return nothing
end process text
end using terms from

Chapter Camp 2008 web site

January 24th, 2008

Finished.

About dang time.

It hasn’t been totally error-checked, so I’d appreciate your input. And.. crap. I still have to replace the header image with an H1. But. Beyond that, it’s done.