Monday, November 23, 2009

Google Wave - Keyboard Shortcuts


This post isn't going to be any kind of an exhaustive list.  Others have done that.  A friend and I recently tried to figure out how to do basic chatting without using the mouse.  Here you go:

To open an in-line reply to where you currently are in a blip (either to the selected text, or the cursor position):
  • Ctrl+Enter
To finish editing a blip (equivalent to clicking "Done"):
  • Shift+Enter
To edit the current blip:
  • Ctrl+E
Everyone should know these next two, but I'll put them here anyway.

To jump between blips that have been edited that you haven't "seen" yet/since:
  • Space bar
To move up or down one blip:
  • Up/Down arrow
There you have it.  Wave on, mouse-haters!

Saturday, November 21, 2009

Google Wave and Privacy

To Do List

My list of things to do. Entries will be deleted once they are complete. 

Write a blog post about security/privacy on Google Wave.

Mention both current implementation, Google's plans, and how this all works with federation.

Go over things I've used it for, including this to-do list and passing links from work to home.

The important thing to consider when you're thinking about privacy on Google Wave is that it's not fundamentally any different from e-mail, Facebook, or a wiki.  When you send someone an e-mail, they can choose to forward it along to whomever they want.  When you post on Facebook, your friends can see it and comment (or pass it along, if they copy and paste it).  When you post on a wiki, someone can come along and change it.  Wave doesn't change any of that, it just automates the process of sharing and changing and brings it all together.

Google isn't developing Wave as an internal proprietary system that they maintain control over (like Facebook).  They're making it like e-mail, which means that anyone can set up a Wave server, and it should work the same, and inter-operate seamlessly with Google, and everyone else out there with a server and a peering relationship.  This in itself dictates that users will have limited control over who sees what information, and how they can control it.

In a closed system, it can be possible to un-send a message, or to prevent someone from easily passing along what you send to them (at least, in the same form).  Wave is not a closed system.  Once your information hits a foreign server, you can have no control over it, and so in order to create a consistent system, once your information is sent to any other user, you can't take it back.

What kinds of controls are possible?

If you have any kind of information, you can send it to certain people, and not to others.  You cannot prevent them from sharing that information, but you can refuse to accept their changes to the canonical version of the information (at least, canonical according to you).  So it is theoretically possible to divide people into three categories with respect to information:
  1. Those with no access.  These people don't know about the information at all.
  2. Those with limited access, who can read, but not change the canonical information.
  3. Those with full access, who can both read and write changes back to the canonical information.
With wave, at least as the Google Wave preview is currently set up, there are only two categories: 1 and 3.  If you add someone to a wave, they can change it, and they can add more people (and robots) who can read and write back to the wave.

So using Wave means that you must trust those who you share with, not because Wave makes it possible for information to be passed along to more and more people (or to everyone), but because it makes doing so very easy.

One thing that is not currently in the preview, but will be in the final product (nay, protocol) is federation.  Federation basically means that Wave will eventually be like e-mail, because Google will agree to exchange Wave information with Yahoo, and Microsoft, and Apple, and even Bob's computer in his parents' basement.  Everyone except, hopefully, spammers, but I'm sure they'll find some way in.  Joe@googlewave.com will be able to add suzie@acme.com and frank@microsoft.com to the same wave, and it will not be any different from adding bob@bobsparentsbasement.com.

I'm not certain what Google's plans are for the 2nd category.  Personally, I would find it quite useful to allow only certain people to edit, but a larger set of people to view (and possibly comment on), but not edit a blip.  This would be perfectly doable in terms of federation, except that a foreign server can perform any action that its users have a right to do, so granting write access to suzie@acemwave.com might give craig@acmewave.com write access too, depending on how the acmewave.com server is coded.

Actually, I've been thinking a lot about writing a robot that would allow me to expose the content of a wave to the public through a website (e.g., a blog), and allowing the users of that website (optionally including anonymous users) to interact with the wave using the website and the robot as their proxy.

Basically, it would be a lot like Bloggy, but without needing to make the wave public, and with finer-grained control over user actions. The first step would be to make a robot that simply reads the wave contents, and posts them on the web, updating the website whenever the wave is updated.

Friday, November 13, 2009

Google Wave (Preview)

I just got in on the Google Wave preview.

I immediately had 8 invites, of which I have used 4, so far.  The first one went to my wife, of course.

I like it.  I think it has awesome potential.

It's a "preview" (a.k.a. "beta"--or, since we're talking Google's definition of "beta", it's an "alpha"), so there are lots of rough edges.

Right off the bat, here's what bugs me.  Hopefully the bugs will get fixed.

First of all, here's Google Wave:


So here's the first thing I don't like.  Say I want to narrow down my contacts, to find the one I'm looking for.  I go to the Contacts widget, and type some text:
Okay, so now I want to see the rest of my contacts, in the default view.  What do I press?  There's no little [X] button.  I have to select the text in the box and hit Delete or Backspace.  That is just bad UI design.  There needs to be an [X] right next to the magnifying glass that clears the field.  Google, please fix that.  (Yes, I've already submitted feedback about this.)

This next one is probably just something I'll have to get used to.  When you go to create a new wave, or add someone to the wave, be careful when you click!  Creating a wave or adding someone to it is irrevocable, and the UI doesn't ask you for confirmation, it just shows up in their inbox, and there's nothing you can do about it.

I accidentally added my friend Victor to my first wave, because I clicked his name:

I was expecting there to be a confirmation dialogue, in stead, he was added.  I hope he enjoys my work.

Applications are not easy to find.  There's a link to an Extensions Gallery wave in the introductory "Welcome to Google \/\/ave" wave that starts in your inbox, but all it has is Sodoku and half a dozen other apps.  I'm not knocking the apps.  They're good, but there are a whole bunch more out there that were shown off in the video.

After some poking around, I found this list (and this list) of Bots, Apps and Gadgets.  The one I was most interested in, Bloggy, doesn't seem like it's working.  I added it to a wave, but it didn't do anything.  It's supposed to make the wave public and post it to your blog so that everyone (even those not logged in to Wave) can see it, and interact with it if you allow public editing.  Hopefully they brought it offline so that they could fix it, and that it will be fixed soon. 

One last thing, and then I need to go to bed.  There's an "Options..." menu item that doesn't do anything for me.  I've only tried it in Firefox (and I'm using 3.6b2), but clicking on it doesn't do anything at all.


Just so no one thinks I'm being negative, let me state this plainly:   I'm VERY excited about Google Wave.  I know it's a pre-released product, and I don't expect perfection by any means.  I'm documenting these things here because I want to share my experience, and I would like to see the shortcomings addressed so that the final product will be awesome.

Yay for Google Wave!

Thursday, July 23, 2009

Google Wave

Google Wave looks amazing! (For those with 10-minute attention spans, here's the abridged version. The longer version is worth the watch if you have the time.) It's a new Internet communication protocol/framework being developed by Google. It's not a walled garden: anyone can make their own implementation (or even base it on Google's code), and it will be interoperable with everyone else, just like e-mail. But this isn't your grandfather's e-mail. Wave is basically a conversation/collaboration tree, with full version control, history, and really cool tools for mashups, transformations, translations, and anything else anyone on earth can think of and write a plugin for. This is really that revolutionary. Imagine if every e-mail, chat, wiki, invitation, blog post, tweet, photo album, forum, and whatever else on the Internet was as simple to interact with as an item on Facebook or a wiki, only with way more powerful tools, and it wasn't confined to anyone's walled garden. Tomorrow's kids will laugh at us for using Facebook for the same reason that today's kids laugh at their elders for using Juno. I don't expect all of those other technologies to disappear, but to some extent they will be eclipsed, and they will have to keep up or be left behind.

Friday, June 05, 2009

Qwest Woes

I just got off the phone with Qwest tech support. Apparently, the "modem" that I bought isn't just a modem, it's also a router, NAT, and firewall, so none of my port forwarding I had configured in my router was working. First, I had to configure the Qwest modem/router/thing (an Actiontech M1000) to "bridge mode", so that it would turn off its NAT and firewall and just give me a connection to the Qwest network, and then I had to enter my Qwest account PPPoE credentials into my Linksys router (with, to complicate things, Tomato firmware). But now it works as it should, so my HTTP server should be up and running on the 'Net.

Wednesday, May 13, 2009

Chicken Coop Webcast: The Details

Today I set up a webcam in the chicken coop in order to do a ustream broadcast. If you want to watch it, you can click here. The challenges were numerous, the first among them is that chickens poop on things, and I didn't want my computer equipment pooped on. Luckily, I have a small Dell computer that just so happens to fit wedged into the wall where the chickens aren't able to roost.
The chicks and ducklings are located in a fenced-off area below the nests. There was already an extension cord to the coop so that the chicks and ducklings can have a heat lamp, so all I had to do for power was add a power strip, and I was good to go.
The webcam is located in the corner of the fenced-off area, optimally positioned so that it can see the chicks and ducklings when they are most active, which is during the day. During the night, they tend to cluster beneath the heat lamp, which puts them on the edge or slightly out of view, but I think the viewing angle is the best overall.
Update: I have since pointed the webcam at the spot under the heat lamp, as it turns out most of the time there are birds there.
I brought the monitor in for configuration only. I didn't want to leave in in there and get pooped on, plus it would be in the way. I have a hand-held trackball instead of a mouse, since the surfaces in the coop are... less than ideal for mouse use. The mouse is also a configuration-only item.
The trickiest part of this whole thing is getting an Internet connection in the coop. Actually, it wasn't that hard, once I figured out which equipment was best to use. The Dell is running Windows 2000 Pro, since that's the license sticker that came on the case when I picked it up at the surplus store. Windows 2000 doesn't natively support wireless networking. It will work, but it treats it like regular Ethernet, with a separate configuration app. Anyway my router is in WPA mode, and neither of the two wireless PCI cards I had supported it in Win2k (at least not with the drivers I had), so I went with my other option (besides running a cable to the coop--which would be doable, but require a purchase): a wireless networking bridge.
A few years back I picked up this pair of little black boxes on Woot, and they've come in pretty handy. They're supposed to have a range of 300 feet, and I have no reason do doubt it. Currently, I'm using them at about 75 feet, and they're doing just fine. The stream is live, of course, so if the chicklings are being boring, or you're reading this later on, after they're grown and the stream is gone or of something else, you won't get to see the result on the live stream. Therefore, I will post the following video, which I recorded as I was doing some final tweaks to the webcam setup, and saved it for posterity:
The voice you hear at the beginning is mine. I'm on my cell phone with my wife, who is in the house letting me know that the sound is working.

Thursday, May 07, 2009

Software To Install On A Windows Box

With the Windows 7 release candidate out, I recently wiped my laptop's hard drive clean and installed it (I was previously running beta 2). Whenever I flatten a computer and re-install everything fresh, I like to have a list of things to install that covers the bases.

I put together a bookmarks folder of software to install on a new Windows box, and I decided to share it with the world, so here it is:
The nice thing about sharing it in this way is that I can keep it up-to-date in my browser if there is anything to add or remove, or if any of the links change.

Enjoy.

Wednesday, May 06, 2009

If You're Not A Gentoo User, Move Along...

Whenever I spend time sifting through Internet forums looking for the solution to a technical problem, I like to post a description of the problem along with the solution in a straightforward manner, so that the next person who has the same problem will be able to find my post when they search. This is one such posts. I ran into a frustrating error when updating the software on a Gentoo Linux system that hadn't been updated in a while. I started with:
emerge --sync && emerge -avuDN world
And when that was (finally) done, I ran:
emerge -av --depclean
Which uninstalled a bunch of packages. The problem came when I ran:
revdep-rebuild -- -av
Nothing would emerge. Nothing. Every package I tried to emerge would end in the error:
configure: error: C compiler cannot create executables
The root problem turned out to be a bug with the way that the gcc ebuild updates from certain versions. Portage was configured to use a compiler version that no longer existed on the system. The solution was to run:
binutils-config -l binutils-config num gcc-config -l gcc-config num
Where num above is the numerical selection of one of the items on the list output by the previous command. My gcc-config selection told me when I selected it that it had a bug with GCC_SPECS and to re-emerge it, so I did that. I probably didn't have to, but it's good to be cautious and I had a few hours to kill (this is a 1GHz Pentium III system). After that, I was good to go.

Saturday, May 02, 2009

Ubuntu

Finally, a Linux-related post! I just installed Ubutu Linux (9.04 "Jaunty Jackalope", if you must know) on one of my computers. I'd done it once before, but it was on a partition on my main server athena, so it didn't get much face time (since I would have had to reboot it, and it would be downtime for the main install). The install was really easy. I complicated things by customizing my partition table to leave room for another install, but novices don't need to do that, so it doesn't count. Trouble came when I tried to see what software was available: Add/Remove threw an error, and the commands that it recommended I enter didn't work. It was easy enough to search and find a solution that worked (which was here). Overall, I would say that it was a smashing success. I was a bit disappointed that I had to manually install the ssh server, but I guess it comes with the territory. I couldn't find openssh-server with the GUI, so I did it from the command line. I'm still not sure if it's going to load on startup, and I suppose I need to figure out how to access non-standard software repositories, but I'll leave that for a later time.

Monday, April 13, 2009

That's What She sed

Lately, I've been uploading pictures to Twitter from my phone using TwitPic. Basically, you send them to a TwitPic e-mail address via multimedia messaging, and they are automatically posted to your Twitter account, along with the text from the subject. This all works quite well, and they even supply an RSS feed of your pictures, which you can take and (among other thing) put on your blog's sidebar. The problem was, when I put it in my blog sidebar, there was no thumbnail image. Other feeds that had images in them would have thumbnails, but not this one. This one just had a text link to the picture page. I found that disappointing. So I examined feeds that showed thumbnails and the TwitPic feed to see what the difference was. Feeds that contained images within the feed content showed up in the Blogger widget with a thumbnail. But the TwitPic feed showed images. What was the difference? The difference turned out to be CDATA. CDATA is a way to tell a feed reader, "Don't try to decipher my contents, just pass them along and leave the rendering to the end user application." It so happens that TwitPic's thumbnail images are within a CDATA block, and Blogger obediently ignores the CDATA contents when looking for images to display as a thumbnail. So, how do I fix that? I need to read the feed, and for each item, locate the line that contains the thumbnail URL, and create a new attribute containing the thumbnail in a format that is decipherable to Blogger's widget. Using my digg feed as a model, I figured out what the end result should look like, but how to achieve it? First, I tried Yahoo Pipes. Yahoo has a tool for processing feeds with a number of tools, controlled by a graphical pipe-looking interface. The problem is, none of the tools that I could find would add an attribute based on the transformed contents of another attribute. There were widgets that came close, but I couldn't get it to work, so I decided to host the feed myself and modify it using sed. I had never used sed before, except when the exact command was given, so I didn't know how to use it, but I knew that it was a powerful enough tool to get the job done. So I created a shell script on my Linux box, and a cron job to run it. The script basically downloaded the RSS feed from TwitPic to a local file, and then called sed on it with a particular set of parameters designed to extract the necessary information, and add the appropriate information in a format that is decipherable to Blogger. In order to understand sed, I searched the Internet for a tutorial, and found this page from the Gentoo Linux Documentation to be the most helpful. My sed command does two things, which are piped together:
  1. It adds an xmlns:media declaration, which allows me to use the media tag later on.
  2. It examines each CDATA line with the thumbnail URL, and below it, it adds a line with the media:thumbnail tag and the URL extracted from above.
sed -e 's/<rss version="[^"]*"/& xmlns:media="http:\/\/search.yahoo.com\/mrss\/"/g' $TMP_FILE | sed -e 's/\(http:\/\/twitpic.com\/show\/thumb\/[^"]*\).*/&\n <media:thumbnail url="\1" height="150" width="150" \/>/g' > $FEED_FILE
I know it's possible to consilidate the two sed commands into one and do it in one pass, but this works. I may tweak it in further revisions. It is not necessary to use a yahoo-defined media tag, so I might modify the script later on to simply transform the CDATA portion into parseable encoded HTML. I might also add that I'm using Feedburner to host the feed. Basically, I change the file on my server, and Feedburner goes there to get it, and offers it to the rest of the world. That way if my server is offline, the feed is still active and available, and I don't have to deal with the traffic, just the Feedburner hits. If anyone else wants their TwitPic feed to have thumbnails available, let me know, and I can set one up for you on my server through Feedburner. (It's pretty easy, since the TwitPic username is passed in to the script as a parameter). I can't guarantee anything, but since it's in my interest to keep the script working and up-to-date, you don't have much to worry about. All I need to know is your TwitPic (Twitter) username.
  • Update (2009-04-16): I have modified the code to accept all image formats, and be shorter.

Monday, March 23, 2009

The New Facebook: Faucet to Firehose

Facebook seems to change to something "new" every few months or so, I think I should clarify. This is the (as of now, latest) change where now they have a list of "News Feeds" on the right, with all friends' updates in the center, and the popular items on the right. Basically, Facebook is trying to be like Twitter. Here's the problem: Facebook isn't Twitter. They're completely different kinds of social networks. Twitter is a firehose, and as such, I select who I am "following" on Twitter with care. If someone is too noisy or prolific, I don't subscribe to them, and I don't lose anything by it. Facebook, on the other hand, aspires to be the repository of all of my social contacts. If I know someone, I would like to add them as a friend on Facebook, and not need to worry that they will inundate me with events. Facebook used to allow its users to fine-tune the types of stories that appeared in our home feeds. If we wanted to see every note that a friend posted, we could crank "notes" up, and see them all, and if we didn't want to be bothered by changes in relationship status, we could crank that all the way down, and never see them. We could also fine-tune our preferences by the individual, so if so-and-so published too many links, we could turn those down for that friend in order to prevent those from clogging the feed, but still let a few trickle in, in case they started to get interesting. Facebook was thus ideally configured to allow me to maintain a stream of information from each of my friends, and they did a pretty good job of balancing the flow of information such that it wasn't overwhelming. Until, that is, they decided to copy Twitter. Twitter makes no attempt to filter or balance anything. If you're following someone on Twitter, you see everything they post. Because that's what you're asking for: that's what Twitter is for: listening to people. If you don't want to hear what they're eating for lunch, don't follow them. Facebook knows about this social difference, and they've accommodated it. Sort of. For a long time, they've had "Friend Lists", which are basically tags that you can apply to this or that friend, which you can also use to restrict or allow permissions to see certain sets of content. I have a list of "Family" and a list of "BSF" friends, and a list of people who only see my "Limited Profile" and so on. Facbook now features these lists on the home page at the top of the left-hand column. At first, when you click on a list (or the master list of all friends called "News Feed") you see everything that everyone on that list has posted. It can be a lot, but let's say that Suzy is on my "Seattle" list. That means that if I click the little "X" button on one of her stories on the "News Feed" list, I can still click on the "Seattle" list and see her items along with my other Seattle friends. But it's still all or nothing. I no longer have the option to see "some" of her stories, or even "certain types" of stories from her. It's all, or nothing. Just like Friendfeed. Now, I like Twitterand FriendFeed for what they do: they're firehoses. If I miss something, it's not a big deal. It's transient information, and its relevance has an expiration date. When Suzy posts pictures of her nieces, though, I don't want to miss that. [Note: Suzy is fictional] But leaving her in my main feed means that I have to put up with her constantly posting links to this or that tear-jerker website or deal that she found on socks on Amazon. Facebook took away my granularity, and I'm afraid that it's become much less useful as a result. Most people never knew about the ability to customize their feeds by tuning their friends in order to see "less" or "more" from them, but they benefited from the system anyway, because Facebook was automatically balancing their feed content for them. No longer. Now, they will find that they miss a lot, simply because they didn't log in or hit refresh in time before it got buried under wall posts and status updates from less important friends. They'll feel bad about silencing their frineds entirely, so they won't do it, and most people won't maintain different friend lists for different sets of friends. One of two things will happen with users: Facebook is hoping they will spend more time sitting in front of their browsers hitting "refresh", sifting through the garbage manually, hoping to catch the stories they care about. I think users will find Facebook to be too much of a time leech and less useful than before, and spend less time there as a result. They'll still log in occasionally, but they won't count on it the way that they did before.

Saturday, March 07, 2009

The Google Reader Commenting Problem

Google Reader is an excellent feed reader. Let me just go right out and say that. It does an awesome job of gathering together the content from all my feeds, organizing it, and presenting it to me. When you have all that content together in one place, sometimes you want to share your thoughts on what you read, or point out an article to your friends so that they can read it as well. Google Reader has a feature both to "Share" and "Share with note" which perform their stated purposes. There is also a bookmarklet available so that if you come across something on the web that you want to share, you can do so even if you are not subscribed to a feed of it. The problem arises when you have a group of friends who all like to share things back and forth: sometimes an article starts a discussion, and two or more friends wish to have a forum for that discussion. The discussion was started over Google Reader, so the natural thing would be for Google Reader to provide a seamless arena for that discussion to occur. The way that Google Reader implements sharing "under the covers" (as we in Computer Science like to say) is that each user has what essentially amounts to a blog, where all of our shared items and our comments about them are stored. This blog page is accessible under "Shared items" and it has a web page, and a feed of its own. When a friend shares their shared items with you, you are simply granted access to their feed. There is even a web page at which your blog can be accessed, which, if you wish, you can share with your friends and/or the world. (The URL for this blog contains a unique identifier, which would be nearly impossible to guess, in order to protect your privacy--but only if you wish to keep it a secret.) Now, herein lies the problem: when I share something and comment on it, all my friends see that comment and the shared article. When Josh, who is my friend, sees this article and my comment, he can also share the article with his own comment: which will be seen by his friends, including me. But the set of my friends is disjoint from the set of his friends. The problem compounds as more people wish to participate in the discussion, since there will be a growing cloud of people on the edges of the friend network who (1) are being repeatedly shared the same article, and (2) do not have access to the whole discussion or are uninterested in it. The request to have an integrated, more fully functional system for story commenting has been brought before Google, and is currently being ignored. I think this is because in order to fix the problem, they would need to change the basic architecture of Google Reader, and they're not prepared to do that. Google Shared Stuff showed some promise, but it never offered a comment feature, and is being discontinued. Friend Connect might someday fill this niche. The ideal use case would be that every time someone shares an article, a new forum would be created for that article. If one of your friends has shared an article before you, you have the option of starting your own forum on that article, or joining the existing one, thereby making it available to all of your friends who weren't friends with the original forum creator. The privacy side-effect of this is that when you participate in one of these forums, your comments can potentially be passed along to anyone, if they're a friend of a friend of a friend. I don't see that as bad, but Google Reader is built on the assumption that if I want my comments to be exclusive to only my friends, Google Reader isn't going to pass them along to anyone else. In the use case I'm thinking of, articles that had been shared would be annotated like this:
  • Josh: "I think this is hilarious."
    • 3 replies | Reply
  • Brian: "I think these people should be locked up and the key thrown away!"
    • 0 replies | Reply
  • Share | Start discussion | Ignore
Design goals in setting up the above example:
  • Maintain current functionality by allowing a user to see his friends' notes on shared items when they come up in his reader.
  • Co-locate friends' comments, so that a user can see what each of his friends said about an item in one place.
  • Ensure that the item appears when a friend starts a new discussion, but allow users to prevent a popular discussion they are not interested in from becoming annoying by repeatedly popping up (hence the "Ignore" option).
  • Allow a user to create a forum in order to share a comment that can be replied to by any of his friends, and any of their friends, who will now be able to see the discussion.
  • Notify other users that a forum has been created (or joined) by one of their friends when they see the article, so that they will not create redundant discussions unless that is there intent.
Frankly, I don't see this happening, especially since Google Reader users have been promised the privacy of their comments, and this system allows comments to propagate along with items over the friend network. Come to think of it, I'm not sure I want Google Reader to turn into something like the above, since it would inevitably be abused. After all, MySpace wasn't that bad of an idea in concept, it's just that the users were given more control than they could handle responsibly, and the result is quite ugly. Most of what I want to read is what I'm subscribed to, and I'm willing to take a look at something that my friends think is especially great that they've read. So, the options are as follows:
  1. The status quo: continue to complain, hoping that Google will fix it someday. Lower expectations in the meantime and refrain from attempting to have 'conversations' about Google Reader shared content, being content with mere comments.
  2. Integrate a 3rd party solution: look for another service to which Google Reader conversations can be redirected in a relatively seamless manner.
    1. If none are satisfactory, create our own. IPO and retire as millionaires within a decade.
  3. Ditch Google Reader: stop using Google Reader as the primary feed reader, and switch to another feed reader that provides a conversation thread for each shared item.
    1. This would involve getting the entire group of friends to switch to a new network for sharing (not easy).
    2. I don't know that there are any that actually fit this bill, since this isn't so much a reader feature as a social feature.
  4. Split the difference: Use Google Reader for what it's good for--reading feeds and commenting on why you're sharing that particular feed, not what someone else said about it. If you want to start a discussion, start it elsewhere: e-mail, FriendFeed, Facebook, etc.
  • Right off the bat, I know FriendFeed can be a good supplement to Google Reader, and I'm trying to work out exactly how the two can fit together for discussions originating on Google Reader.
  • Facebook has this sort of comment system down pat, but they don't have a reader, and I don't want to spam all of my Facebook friends with every story I share unless they specifically want it. Mostly though, Facebook doesn't prioritize maintaining users' privacy and ownership of data.
  • There's a Firefox extension that turns any page into a chat box: Socialbrowse. However, it looks like it's simply a public comment system like Digg and reddit. I'm looking more for a system where comments and articles are primarily shared with friends.
If you can't tell, I'm a verbal processor, and in the process of organizing the information laid out in this blog post, I have convinced myself that the best course of action is to encourage those who wish to have back-and-forth discussion about an online article to take those discussions to a service that specializes in that sort of thing.
  • E-mail is a perfectly legitimate system for a discussion thread, and Google Reader seems to have anticipated this by providing an "Email" feature, located right next to "Share with note".
  • For more casual discussions, where the attention demanded by an e-mail would be too much, I think FriendFeed is the way to go. I have all my Google Reader shared items automatically show up on my FriendFeed, and if you have get an account, you can start a comment thread on any item.

Thursday, March 05, 2009

Google Friend Connect

I just published a post on my other blog about Google Friend Connect (and Blogger's "Follow") feature. I describe what they are, and how they work, as far as I can tell. I decided to post it over on my non-technical blog, because it's targeted at your average Internet user, and doesn't require any technical knowledge to follow (at least that's what I think). I would encourage those who enjoy my blogs to "Follow" them.

Monday, February 02, 2009

Windows 7 Beta - More Things That I Like

Windows 7, it is argued, is what Windows Vista should have been. That may be true, and this is a good thing. Having used Windows 7 for a few weeks, there are some features that I really like, because they are as they should be, and so I would like to point them out. The first is the new Taskbar. I have already discussed it in a previous post, but one thing that I didn't touch on before was the ability to show the desktop. If you click on the far right of the Taskbar, it will hide all windows and show the desktop. If, however, you merely hover over the button on the far right, the windows will become transparent (as above) and you will be able to see the desktop. Other than looking pretty, what's so great about that? I shall tell you. First, the wallpaper configuration has gotten better. Instead of just picking one wallpaper, you can pick a set of images that will rotate as the wallpaper. This totally unnecessary feature is exactly what I have been wanting since Windows 95, and have often employed third party programs to achieve. It's nice to see that they listen. Second, and with a more utilitarian bent, Windows 7, like Vista before it, has Gadgets. Gadgets are little graphical widgets that tell you the weather forecast, give you access to your calendar, an RSS feed, or really anything you can think of. Basically, it's a mini-interface to whatever you want and whatever someone has bothered to throw together. It comes with a default set, but you can also download them from the Internet, and thanks to Vista's Sidebar (where Gadgets used to live), there are plenty to be had. It is worth noting that the first thing that I have done to every Vista installation I have ever made was to permanently disable the Sidebar. It wasted valuable screen real estate for very little benefit. However, in Windows 7, there is no Sidebar. Gadgets live on the desktop, and you can tuck them away in the nooks and crannies in between where you normally keep your windows open (or even underneath them), and they don't get in the way until you want to interact with them.
So there you have it. Two things done right.

Sunday, January 11, 2009

Windows 7 Beta & Windows Live - First Impressions

I just installed the beta version of Windows 7 on my laptop. Thus far, the experience has been generally good. I like what they've done with the Start Menu and Taskbar (though I did tweak the settings slightly), and the new User folder makes organizing your files a seamless experience. I downloaded and installed the Windows Live programs, and I've given a couple of them a try. These programs also work on Vista and XP, so they're not unique to Win7, except that Microsoft developed these programs along with Windows 7 as an answer to what other companies have to offer.
  • Windows Live Writer appears to be a blog publishing program. I've messed with it a little bit, but this post is being authored using the Blogger website (running on Firefox, no less), so that ought to give you an indication of how much I'm plugged in to the Microsoft universe.
  • Windows Live Messenger is the same old chat program, where you sign in with your Windows Live ID (a.k.a Hotmail/Passport/MSN account). I don't use my Live ID for much, and I don't connect with others using it much either. I do chat over MSN, but my Hotmail account is just one of three IDs on three different services that I use all the time (and the least active of the three), so there is very little chance that I will switch to using Messenger over Pidgin.
  • Windows Live Photo Gallery is basically Microsoft's answer to Picasa. It's a relatively slick interface, and from what I hear it integrates with Facebook (and Facebook has a patent on user-initiated facial tagging, so let's hope that's in there somewhere).
  • Windows Live Mail is an e-mail program, along the lines of Outlook Express, but hopefully not as cumbersome and annoying. I haven't tried it yet, but it looks like it will work with multiple e-mail providers, not just Microsoft-owned ones.
  • Windows Live Call is a VoIP client that works with Messenger (I think).
  • Windows Live Family Safety is a console for parents to monitor and control their kids' online activities (though I'm sure it only works with other Live services).
  • Windows Live Movie Maker Beta is a video editing and publishing tool. I haven't messed much with video editing, so it's nice to have a free program that does that.
Some of these programs interest me and some don't. As I already mentioned, I'm not likely to switch to Messenger from Pidgin because Pidgin works with Google Talk and AIM as well as Live. The same can be said of MSIE, which lacks indispensible extensions that Firefox has (though I hear Foxmarks is testing a version of their bookmarks manager to work on MSIE as well as Chrome). Writier is worth a try, as is Photo Gallery, and Movie Maker looks interesting if I ever have a need for it. With the release of Windows 7, Microsoft is pushing for modularization, since anyone can develop their own programs to fill these roles and have them seamlessly integrated into the operating system, and from the Application end. Microsoft is providing their Live applications as a download so that they can escape the criticism they've gotten in the past of forcing their services on the users. Some OEMs will install them by default, some will install competing application suites (such as from Google). In the end, I hope that this will result in innovation and competition that benefits all users. If and when I have a chance to explore any of these in the future, I'll try to put a post up about my experience. I want to give the Microsoft versions of software a fair chance, but I'm not prepared to simply do without the familiar programs that I use all the time. To that end, immediately upon installation, I installed Firefox, Pidgin, Chrome, Picasa, OpenOffice, and PyTTY. I was pleased to find that Windows 7 has PowerShell already installed. PowerShell is a much better command line interface than the old DOS-like cmd. I still haven't used the command line much in Windows (at least not at home), and when I do, I'm usually running Cygwin commands or logged in to a Linux box via SSH.