Introducing Groups.io

I’m not one to live in the past (well, except maybe for A-Team re-runs), but for many years now, I’ve felt like I’ve had unfinished business. I started the service ONElist in 1998. ONElist made it easy for people to create, manage, run and find email groups. As it grew over the next two and a half years, we expanded, changed our name to eGroups, and, in the summer of 2000, were acquired by Yahoo. The service was renamed Yahoo Groups, and I left the company to pursue other startups.

But really this story starts even further back, in the Winter of 1989, when in college I was introduced to mailing lists. I was instantly hooked. It was obvious that a mailing list was a great way to communicate with a group of people about a common interest. I started subscribing to lists dedicated to my favorite bands (’80’s Hair Metal, anyone?). I joined a list for a local running club. And, at every company I’ve worked at since graduating, there have been invaluable internal company mailing lists.

But that doesn’t mean that mailing lists can’t improve. And this is where we get back to the unfinished business. Because email groups (the modern version of mailing lists) have stagnated over the past decade. Yahoo Groups and Google Groups both exude the dank air of benign neglect. Google Groups hasn’t been updated in years, and some of Yahoo’s recent changes have actually made Yahoo Groups worse! And yet, millions of people put up with this uncertainty and neglect, because email groups are still one of the best ways to communicate with groups of people. And I have a plan to make them even better.

So today I’m launching Groups.io in beta, to bring email groups into the 21st Century. At launch, we have many features that those other services don’t have, including:

  • Integration with other services, including: Github, Google Hangouts, Dropbox, Instagram, Facebook Pages, and the ability to import Feeds into your groups.
  • Businesses and organizations can have their own private groups on their own subdomain.
  • Better archive organization, using hashtags.
  • Many more email delivery options.
  • The ability to mute threads or hashtags.
  • Fully searchable archives, including searching within attachments.

One other feature that Groups.io has that Yahoo and Google don’t, is a business model that’s not based on showing ads to you. Public groups are completely free on Groups.io. Private groups and organizations are very reasonably priced.

We’re just starting out; following the tradition of new startups everywhere, we’re in Beta. So, as we squash the inevitable bugs and work to make the system even better (based on your feedback!), all features will be free.

I’m passionate about email groups. They are one of the very best things about the Internet and, with Groups.io, I’ve set out to make them even better. As John ‘Hannibal’ Smith, leader of the A-Team, liked to say, “I love it when a plan comes together.”

Turning A Web Site Into A Mac App

For some web sites, I have multiple accounts, and need to be able to switch between those accounts easily. I created a set of site specific browsers for each web site and account using Fluid. A site specific browser looks like a normal app, but is actually a self contained browser set to open a specific web page. These site specific browsers don’t share resources, so you can set multiple ones up targeting the same web page, but using different logins. The problem with Fluid, however, is that it doesn’t seem to work with 1Password, the app I use to manage all my passwords. This meant that each time I launched a Fluid app, I’d have to also launch 1Password, look up the appropriate password, and then cut and paste it into the Fluid app to log in. Not ideal. Fortunately, I’ve come across a better solution, using Chrome. It allows me to create site specific browsers using Chrome and it also integrates with 1Password. And it’s free. It involves just a couple steps.

First, you must download this shell script. Each time you run it, it will create a new site specific browser app. It requires 3 bits of information: the name you want to call the app, the web page it should open up, and an icon to use for the app. For icons, I used Google Image Search.

Once you run the script, it creates the new app in your /Applications directory. Clicking on this app will launch a Chrome process, separate from your normal Chrome browser, pointed at the page you specified. So far, we’ve duplicated Fluid. Now, we need to install the 1Password extension. Hit Command-T, to open a new tab in the app, and go to the web page: https://agilebits.com/browsers/index.html. Then click on the green button to install the 1Password extension. Now, the site specific browser you’ve created has 1Password installed. Quit out of it and restart it. You can now right-click to bring up 1Password and fill in any log in form you have.

Reducing Craigslist Flakes

Ever try to give something away on Craigslist and had to deal with people flaking out on you? You’ll get the initial ‘Is it still available?’ barrage of emails and you never hear from them again. Or you’ll agree to a time and place for them to pick up the item and they don’t show up. It’s so frustrating I came to dread what should have been an easy act, giving something away.

At least part of the reason that this happens is that the other person has nothing at ‘risk’. It’s easy to send an initial email. It’s easy to agree to a place and time. If they don’t show up, it’s no skin off their back. After this happened to me a couple times, I came up with a potential solution. Make the other person demonstrate their commitment to picking up the item by having them donate a token amount of money to a charity and then sending you the receipt. Here’s an email I used recently when giving away a piece of furniture:

Hello,

Thank you for your interest in the furniture. It’s still available! I’m flexible with dates and times; I’m sure we can agree on something soon.

Have you ever sold or given anything away on Craigslist? If so, you know that many people will flake out and never show up. I’m running an experiment with this listing. To show that you’re serious in these end tables, I’d like you to make a small donation to a charity. You get to pick which charity; PayPal makes it easy to do so:

https://www.paypal.com/webapps/mpp/search-cause

Just pick a charity, make a $5 donation, and then email me some proof of that. The proof could be the email receipt you received from PayPal, or it could be the charity receipt from them. Anything that proves you made the donation. Once you do that, we’ll set up a time for you to pick up the end tables. You get to feel good about helping a charity, and I know that you’re serious about picking up these end tables.

If you are not interested in doing this, please let me know and I’ll move on to the next person who’s interested in the end tables. Also, if I don’t hear back from you one way or the other within the next 1 hour, I’ll assume you’re not interested and will move on to the next person.

Regardless, any feedback you have about this idea of making a charitable donation to show interest in this listing would be greatly appreciated.

Thanks!

Mark

It worked for me. If you try it, please let me know how it goes!

Multi-User Lightroom

My wife and I take a lot of photos and we’ve been searching for a system where we could combine and manage our various pictures. I had been using Adobe Lightroom to manage my photos and she had been using Apple’s Aperture. We wanted one system where we could access, catalog, manage, develop and print our photos. We decided to standardize on Lightroom, but Lightroom is currently single-user only. We needed to be able to access our Lightroom catalog from multiple computers and Lightroom’s SQLite-based database is not designed for that. So after some research, I put together the following system. It allows us to use one Lightroom catalog on multiple computers. The caveat is that only one of us can be running Lightroom at a time. Other than that, it solves our problem.

WARNING: This is a hack. While it works for us, I do not guarantee that this will not trash your Lightroom catalog. Make backups and proceed carefully.

SECOND WARNING: These directions and the script are not polished. This post assumes some technical savvy.

There are a couple parts to my solution. It requires a network share on a NAS and it requires a service like Dropbox, that syncs a set of files across multiple computers. Some NAS devices come with software that provides Dropbox-like functionality. The NAS I have, a Synology DS412+, has software, called CloudStation, which provides this functionality. Also, we’re a Apple Mac-based household. This solution should work for Windows as well, but you will have to customize the shell script.

In short, we store our photos on the NAS and we store the Lightroom catalog on the Dropbox folder. We invoke Lightroom using a shell script that ensures that only one person can run Lightroom at a time. The reason we put the Lightroom catalog in a Dropbox folder is for speed; the catalog and previews are stored locally.

Many people already store their photos on a NAS. If you are not currently doing so, there are several tutorials to help you migrate your photos, such as this one.

To begin, make sure you’re not running Lightroom. Locate the Lightroom catalog, which is usually stored in your Pictures folder. You’re looking for the ‘Lightroom 5 Catalog.lrcat’ and ‘Lightroom 5 Catalog Previews.lrdata’  files. Copy these to a folder in your Dropbox, and then rename the old ones so that Lightroom doesn’t try to use them in the future. When you next launch Lightroom, it will ask you for the catalog file; point it to the one in your Dropbox folder.

The ‘Lightroom 5 Catalog Previews.lrdata’ file is a cache of previews of your photos. It can be large, but can be regenerated at any time. I choose to not have Dropbox/CloudStation sync that across the various computers, and let each computer generate it when Lightroom is run. Dropbox and CloudStation both have selective sync functions that allow you to exclude files/folders from syncing; that’s how I do that.

Now you should have a normally working Lightroom installation, with your photos on the network share on the NAS and your catalog in the Dropbox folder. The last bit of the solution is to only run Lightroom through the use of the following shell script, which I’ll explain.

#!/bin/sh

USER="INSERTUSERNAMEHERE"
PASSWORD="INSERTPASSWORDHERE"
NAS="INSERTNASIPADDRESSHERE"
MOUNTDIR="/Volumes/home"

TIMEFILE="/Volumes/home/Lightroom/lightroom.lasttime"
LOCKDIR="/Volumes/home/Lightroom/lightroom.lockdir"

if [ ! -d "${MOUNTDIR}" ]; then
 mkdir "${MOUNTDIR}"
 mount_afp afp://${USER}:${PASSWORD}@${NAS}/home ${MOUNTDIR}
fi

# Want to delay at least N seconds since last instance was closed to
# allow for CloudStation propagation
if [ -f "${TIMEFILE}" ]; then

if test `find "${TIMEFILE}" -atime +15s`; then
 echo "ok"
 else
 osascript -e 'tell app "System Events" to display alert "Need to sleep, Lightroom will start momentarily"'
 sleep 15
 fi

fi
if mkdir "${LOCKDIR}"; then

echo "Locking succeeded" >&2
 open -W /Applications/Adobe\ Photoshop\ Lightroom\ 5.app
 touch "${TIMEFILE}"
 rmdir "${LOCKDIR}"

else

osascript -e 'tell app "System Events" to display alert "Someone else is currently using Lightroom"'
 echo "Lock failed - exit" >&2
 exit 1

fi

What the shell script does is as follows:

  1. It makes sure the network share containing the photos is mounted.
  2. On the network share, it looks for a time file that was created by a previous instance of running the shell script, and indicates the last time the script (and Lightroom) were run.
  3. If the file exists, it checks the time and makes sure it’s been at least 15 seconds since the last run. This is to allow Dropbox time to synchronize the catalog from any other computer. The 15 seconds is a guess on my part; you may want to make it longer.
  4. Once it’s been at least 15 seconds, the script attempts to create a lock directory on the network share. This only succeeds if the lock directory doesn’t already exist. If it exists, the script assumes that someone else is running Lightroom and displays an error message.
  5. One the lock directory is created, it launches Lightroom and then waits for Lightroom to close.
  6. Once Lightroom closes, it removes the lock directory and updates/creates the time file.

Things you have to customize in the script:

  • The USER, PASSWORD and NAS variables lines 3,4,5
  • The script assumes your network share is mounted at /Volumes/home and that there is a Lightroom directory there. This does not have to be where your photos are stored.

To run the script, I used Platypus to create a Mac application out of the shell script. I placed the resulting app, which I call ‘RunLightroom’, on the network share, and then on each computer I dragged that to the Dock, to make it easy to run.

Hopefully this helps someone else out. Family photo sharing/management is a huge opportunity that Adobe should probably own (for better or worse). This post only addresses part of the problem; another issue is access to your photos on all your devices. Synology has a solution for that and I’m working on integrating that with Lightroom. I’ll put up another post when/if I have that figured out.

Please let me know if you have suggestions for improving this post; this is just a first draft and these instructions are admittedly pretty rough.

Photo – Norwegian Boat Houses

Photo & Video Sharing by SmugMug

This past summer we vacationed in Scandinavia, visiting Norway, Sweden and Russia. This photo was taken as we travelled by ferry from Oslo to Balestrand, Norway.

Backup and Dropbox Strategy

The hard drive on my iMac is making a funny noise, which is a good excuse to review my current backup strategy. It’s fairly simple these days. All of my data is on a 3TB iMac fusion drive. That gets backed up 3 ways. It’s backed up to an Apple Time Capsule, which also serves as my main WiFi router. I also use CrashPlan to back up to their cloud service, CrashPlan Central. And as a third backup, I use CrashPlan to back up to a USB drive every couple of weeks. The USB drive is otherwise stored in a (hopefully) fireproof safe. This gives me the safety of an off-site backup as well as the speediness of two different on-site backups. I’ve had occasion to use the Time Capsule to recover some files, but I have not yet had to rely on any of the CrashPlan backups.

CrashPlan provides the software to do local backups for free; they make their money on CrashPlan Central. I signed up for the 4 year CrashPlan+ Family unlimited plan, because we have several computers to back up. When I first set up the CrashPlan cloud backup, I used their ‘seed service’, in which a hard drive is mailed to you, you use it to do a local backup, and then you mail the drive back to them. This is much faster than doing the initial backup entirely over the net.

These days, a discussion of backups wouldn’t be complete without talking about Dropbox. My wife and I share a Dropbox account. It’s a great way to share family-related information, and it’s automatically backed up. But we wanted some extra security on the files we share, so we encrypt our Dropbox account using BoxCryptor. BoxCryptor creates an encrypted volume on top of a Dropbox directory. This shows up on Windows as another drive; on Mac it shows up as a volume. It encrypts files on a per-file basis, instead of creating a monolithic encrypted filesystem. This allows DropBox to continue to sync on a file-by-file basis when something changes. BoxCryptor is free for individuals; the paid version has extra features.

One feature to consider is encryption of file names. It provides an extra level of security; if someone were able to look at your DropBox account, they’d only see a bunch of files with gibberish for file names. In the end, I decided against enabling that feature. We’re giving up a little bit of security (the file data itself is still encrypted). The advantage of not encrypting file names comes up in the case of recovering deleted files, should you have to do that. You’ll be able to locate the files to recover because the file names are still readable. That wouldn’t be possible with encrypted file names.

Yahoo Groups

I read with interest Marissa Mayer’s comments today at the Goldman Sachs Technology conference, specifically her mention of Yahoo Groups:

One of our strongholds has been Yahoo Groups, as it moves to the phone it opens up all kinds of possibilities. The phone is a much better place to do group communication.

My first startup was ONElist, which was renamed Yahoo Groups after we were acquired in August 2000. Over the past 12 plus years, I’ve watched as Yahoo did basically nothing with Groups. It’s still almost the same as when it was acquired. Yahoo has devoted only enough resources to keep it going all these years. In fact, if you try to use the site now, it often times out and is generally extremely sluggish. I don’t have current numbers, but I’ve been told that even with all the neglect, Groups still has over 100 million users. The group archives make up many petabytes of data. It is not a small service.

Email groups are great ways to communicate. As numerous people have told me over the years, Yahoo Groups have affected people’s lives in significant and profound ways. As my friends will attest, I’m at least as cynical as the next software engineer. But I think group communication is one of the most important aspects of the Internet and I truly believe that it has and continues to make the world a better, safer, more inclusive place. But Y! Groups has stagnated for 12 years.

Several months ago, I got fed up with the state of (neglect of) Groups and decided to start working on a next generation Groups service. It’s not ready yet, but it’s not too far out.

With all that, ever since Mayer took over as CEO, I’ve been watching for signs that she’d devote resources to Groups, and this is the first sign I’ve seen that they may be working on an update. They have a lot of challenges in doing so. With a service that hasn’t changed in 12 years, people have become accustomed to the interface and I believe there will be a lot of resistance from long time Groups users (which is the subject of an essay for another day). But I know that Groups can be so much more than what Y! Groups are right now. It’s only a matter of time. Whether Yahoo, or I, or someone else launches the next generation of groups, it will happen, and people will be better for it.

Book Review: The Centre Cannot Hold


I’ve been on safari in Africa twice; the first time was our honeymoon in 2011. We had such an amazing time that we decided our next trip would be another safari, and so we went again this past June. And we knew even before we returned, that it won’t be our last safari. I’ve posted some of the photos I took on those trips here on the blog and several adorn our house.

For Christmas, my in-laws got me The Centre Cannot Hold, a book by David Gulden, of black and white images taken in Africa of (mostly) animals. David’s goal was to take photos that no one else had been able to capture. This entailed using such devices as an infrared-triggered camera, and going to such lengths as using a cross-bow to mount a camera near an eagle’s nest. His effort was worth it. The images are stunning, and not just because of his MacGyver ways. The man clearly has a talent. The result is a great coffee-table book. And for this newbie photographer, the photos are an inspiration.

ONElist Office

Sam Rushing recently came across some old photos he took, including this one, which is a panorama of the old ONElist building in Redwood City. It was taken in February, 2000, which was after we merged with eGroups and before we were acquired by Yahoo (and became Yahoo Groups). The office was a converted warehouse and had about 50 people in it. This photo doesn’t show all the cubicles behind the photographer, nor does it show the offices underneath. During the whirlwind that was ONElist, to my lasting regret, I never took any photos, so I especially appreciate Sam’s rediscovery.

The cardboard cutout, btw, is Sarah Michelle Geller, during her Buffy The Vampire Days. I never knew the story behind why that cutout was in the office.

Stitched Panorama

Shuttle Endeavor Flyover

The Space Shuttle Endeavor did a flyover of the bay area this morning. I headed out to KPAO, the Palo Alto Airport, to see if I could get a good view. It was impressive as it passed overhead at 1500′.
Photo & Video Sharing by SmugMug

Follow

Get every new post delivered to your Inbox.

Join 1,168 other followers