Tag Archives: watermark

Refocusing around Micro.blog

As I talked about on Timetable, now that I have the micro.blog domain I get to figure out what to do with it. And what I’m hearing from friends and listeners is clear: throw out my jumble of Snippets-related names and use Micro.blog as the brand for the platform. It’s obvious now.

Renaming a product before its official launch may not seem like a big deal, but in this case it gives the app a new importance. Just by renaming it, the app feels more ambitious. It forces me to devote more attention to it, which means saying goodbye to some of my other web apps that I can no longer focus on.

I have a difficult time shutting down failing products. Over the weekend, I took some much-needed steps to finish winding down Watermark and Searchpath. I’ll be sending an email this week to everyone who has used Searchpath with the details.

For Searchpath, I had procrastinated making a decision because even simple steps like closing new account registrations requires actually writing code and deploying changes. The index on my Elasticsearch server had grown to 90 GB, including Watermark as well. I needed a clean way to reset it and migrate the small number of active paid accounts somewhere else, to give customers time to find a new solution.

I’ve tried a few technologies for search over the years. The first version of Watermark used Sphinx, which I loved but became a scaling issue with its default need to completely reindex MySQL data. Eventually I moved to self-hosted Elasticsearch, but I had to keep feeding it RAM as the index grew. It was never stable enough with my limited skills.

As I noted in my post about Talkshow.im, there’s no perfect way to admit defeat and clean up the mess left by a web app. It’s always a balance of responsibilities — to your own business and to your customers.

But again, the way forward is clear. I should put everything into launching and growing my new microblog platform. It’s too much to maintain other web apps at the same time.

Watermark transition plan

I sent an email to Watermark customers over the weekend, letting them know that the service as it currently exists will be going away on May 15th. As I wrote about last year, Twitter has improved their search enough that a part of what Watermark is good at is no longer as necessary as it once was. However, I still see interest in Tweet Marker, from developers and users, so I wanted to keep the web-based timeline and sync from Watermark and make it available to all Tweet Marker subscribers.

You can learn more about Tweet Marker here. I’ve had to significantly scale out the backend servers this year, including adding a second load balancer, so I’d love your support. The new timeline feature will roll out later in May.

While I’m happy to keep offering a part of Watermark (now back in Tweet Marker), I have less good news for Tweet Library. I’ve found it very difficult to justify the time to finish the new version. It’s now looking likely that the current version will be the last.

Winding down my Twitter apps

I’m the guest on this week’s Mac Power Users podcast. In addition to workflow and apps I use, the discussion went off the rails a little into the Twitter app ecosystem, especially the fact that I no longer post to Twitter yet still have apps like Tweet Library, Watermark, and the Tweet Marker API that depend on Twitter. For the last 2 years this has been an odd decision on my part; I want to do the right thing for my customers, but I’m increasingly frustrated with life as a third-party Twitter developer.

Last week, Twitter announced that they’ve expanded their search index to include the full history of tweets going back to 2006. I was thrilled by this upgrade to the Twitter service. That the search was so limited for so long was the primary reason I built Tweet Library and Watermark to begin with. Unfortunately, this functionality is only for the official Twitter apps. It will not be made available to third-party developers.

It’s time for me to wind down development on my Twitter-related apps. I’ll continue to sell Tweet Library through the end of 2014, then remove it from the App Store. Watermark will also shut down at that time. Because all the tweets stored in Watermark are public tweets (by design it never supported DMs or protected accounts), I will attempt to make the entire Watermark database archive of millions of tweets available publicly. Existing customers can also sync tweets and collections to Dropbox for personal archiving.

Published collections from Tweet Library or Watermark will be maintained indefinitely. No URLs will break, ever. Updating published collections will also continue to work for anyone who already owns Tweet Library.

I will also continue to host the Tweet Marker API, but starting in January I will be more strict about requiring developers to pay for the service. Many developers have been paying for API access for a year (thank you!), but others have missed or ignored my requests to move to a paid plan. It’s not fair to the Twitter developers who have been paying for Tweet Marker access if some continue get the API for free.

Many friends have told me over the years that I have too many products. But letting any one product go is not easy. There’s an implicit promise when shipping software that the developer should maintain and improve it for customers. Stopping development on these apps is the right decision and possibly long overdue, but it’s still difficult. What gives me hope is that it will let me focus on new projects currently in development, which I couldn’t be more excited about.

Tweet Library 2.5 and consolidation

There’s a new update to Tweet Library out today. Major additions include CSV file export to Dropbox and new URL schemes for starting a search, export, or publish. The URL schemes look like this:

twtlib://username/search?q=hello&collection=Favorites

twtlib://username/export?collection=Testing

twtlib://username/publish?collection=Testing

twtlib://username/storify?collection=Testing

There are a few other important bug fixes too, especially to importing the Tweets.zip archive from Twitter.

When I gave up on Twitter as a user, many people asked if I would abandon Tweet Library. I wasn’t sure at first, but the answer now is a clear “no”. In fact, since my last personal tweet in 2012, I’ve released new features and even redesigned the app for iOS 7.

But I do need to start consolidating my work on Tweet Library and Watermark, because the apps share so many concepts around archiving and search. To that end, this week I’m retiring tweetlibrary.com as a way to browse and publish collections. The site will now redirect to a special landing page on Watermark. Published collections from Tweet Library also go to a public page on Watermark.

It was a tough decision to change the tweetlibrary.com URLs, but maintaining separate web apps that are so similar made everything more complicated, holding back what I could build. Having a single web codebase (Watermark) will ultimately let me improve both Tweet Library and Watermark more quickly.

New tiers for Watermark

My account in Watermark right now has 805,182 searchable tweets stored in it — tweets from everyone in my timeline, App.net posts, favorites, and of course my own tweets. When I launched the service, I wasn’t sure how long I’d be able to keep storing these. I initially promised 1-2 months, then upped it to 3 months, and then 6.

Today I’m happy to announce that I have a more formal system in place for storage. The default $4/month plan will officially increase to 1 full year, storing every tweet from anyone in your timeline starting when you sign up. Your own tweets and favorites are kept forever.

If 1 year isn’t long enough, there’s a new unlimited plan for $10/month. Every tweet or App.net post in the system for your account will be kept forever. After a year or two it becomes a really massive and interesting search database, tailored just to your account.

The new tiered plans are live now for new accounts, and I’ll be rolling out a method for switching between plans for current customers soon. You can learn more about Watermark here.

Twitter API v1.1

My apps Watermark and Tweet Marker were recently updated to version 1.1 of Twitter’s API. I’ve also finished the coding changes in Tweet Library to support 1.1, but it has not yet been submitted to Apple. I expect it to be another week while I wrap up a new feature included in the update.

I don’t like having my release schedule dictated by others, but that’s life as a Twitter developer. And why I no longer post there.

This matters today because Twitter is running an API blackout test. Tweet Library will not be able to load new tweets this afternoon for about an hour (3pm PST) while v1 is unavailable. I’ll post again here and from @riverfold on App.net when the new version of Tweet Library is shipped off to Apple and live in the App Store.

Replacements for Google Reader

With the success of Tweet Marker, several people suggested I should build a sync server for RSS. This was last year and earlier this year, before Google Reader officially shut down, but after it was clear that we needed something better. I jotted down some notes for a couple ideas but ultimately decided not to do it. I’ve already got my hands full with my current shipping products!

Luckily many great developers are now on this. Feed Wrangler from David Smith, hopes for a possible NetNewsWire Cloud, more interest in Fever, and other established web apps like NewsBlur and Feedly. As Marco Arment said, this could end up being a great thing for innovation in blogs and RSS again.

But just because I’m going to watch on the sidelines for the server sync part of RSS, doesn’t mean I’m going to completely skip building better RSS support into my own products. There’s a lot I’d like to do with client-side RSS support in Watermark.

Pricing changes and Watermark Mobile 1.1

I tend to be pretty stubborn about not changing my price. Tweet Library sat at $10 for two years before I finally lowered it, and the price for Clipstart has never changed from the $29 it shipped at. I think there is something to be said for price consistency so that users feel like software is stable and doesn’t have arbitrary value. (Many people disagree with this, which is why I’d classify my opinion as equal parts instinct and stubbornness rather than a proven formula for success.)

But I’m making two pricing changes today: Tweet Library goes up to $7.99, and Watermark down to just $4/month. I’ve come to believe that the previous price changes for both products were too far in either direction. I hope this corrects that. In the case of Watermark, I will eventually be offering different plans at higher tiers for more storage, and want the entry-level price to be as appealing as possible. (All existing Watermark customers have been switched to the discounted plan.)

The little iOS app for Watermark has also been updated to version 1.1 and now features auto-renewing subscriptions. This means you can sign up directly in the iOS app and have your iTunes account charged each month. Watermark Mobile launched mostly as a convenient search interface, but it should now start receiving more regular updates.

For another recent discussion about pricing, check out part 3 of Kevin Hoctor’s excellent write-up of talks from NSConference.

Where to archive your tweets

It’s great to see more people get access to their full archive of tweets from Twitter. In addition to just having a copy of your own tweets, it can be useful to go back and browse them by date, or search for something specific. I’d suggest putting the HTML version online as-is (mine’s here), and also checking out other apps that add a variety of different features on top of the basic archive.

Both of my apps — Tweet Library for iOS and Watermark for the web — can now import the .zip file you receive from Twitter. This file contains your full archive of tweets and retweets. Both apps can load the file directly from Dropbox, making it as simple as possible to get the tweets imported. And both apps are smart about only importing tweets that haven’t been stored yet, so you don’t have to worry about duplicates.

To import into Tweet Library, first download the archive from your settings page on twitter.com. Inside Tweet Library click on the blue arrow icon next to “Archives” and walk through the steps to authorize your account with Dropbox. Then copy the .zip file from Twitter to Dropbox → Apps → Tweet Library. It will show up in Tweet Library and can be selected.

Tweet Library import flow

Tweet Library is good if you want easy access to your tweets on the iPhone or iPad. You can search your tweets, create filters for them, and add tweets to special collections to share with others. It also doubles as a full Twitter client, with a timeline, posting, Instapaper support, and plenty more. Check it out in the iOS App Store.

To import into Watermark, also download the archive from Twitter and put it on Dropbox. You can put it anywhere, either in Apps → Watermark if you’ve already authorized Watermark to use Dropbox (for export), or in Documents or anywhere else. Then sign in to Watermark and click Account → “Upload all your tweets” to select the file.

Watermark is good if you want to expand your archive beyond just your own tweets. It indexes tweets from everyone you are following, creating a huge searchable archive over time. My own account in Watermark now has about 400,000 tweets indexed. Sign up or learn more at watermark.io.

Three months without Twitter

Over three months ago I stopped using Twitter. I wanted to make a statement — perhaps in an overly-dramatic way — that the developer-hostile environment that Twitter had evolved into wasn’t something I could support anymore. I do still read plenty of tweets while testing Watermark, and I’m almost done with a new version of Tweet Library, because my customers deserve great Twitter features. But I haven’t tweeted, retweeted, or favorited a thing from my personal account since October 5th.

I knew that sometimes it would be difficult to resist going back to Twitter, replying to a question, or cross-posting my posts from App.net. So I set things up to discourage my future self from even considering more tweeting. I picked the 1-year anniversary of the day Steve Jobs died and wrote my final tweets a week in advance. If someone visits my profile, I want those statements to be what they see. I can’t tweet again without pushing those tweets from the top of the list.

Meanwhile, App.net started taking off. Netbot shipped. The developer incentive program started to directly reward developers. There’s a good community there. It’s smaller than on Twitter; there isn’t the same never-ending stream of tweets flowing into your timeline. But maybe that’s a good thing.

The flip side is that it’s hard to let go of things like Twitter that have value. I had similar self-doubt when I killed off my app Wii Transfer, so that I could focus on bigger ideas. But simplifying has allowed me to do some of the best work of my career in 2012. I’ve put everything I have into Watermark, into the new Tweet Marker subscriptions, into doing Core Intuition weekly, into shipping everything I work on. 2013 is going to be awesome, and I’m not looking back.

Safari extension for Tweet Marker

Since introducing the Tweet Marker $1/month subscriber plan earlier this week, I’ve received a few questions about how the Safari extension works, and whether Watermark customers will also receive the new features. Yes, Watermark subscribers automatically have access to the Tweet Marker extension, which can be downloaded here.

I’ve prepared a screencast to show how the extension works. It’s about a minute long, and you can view it right here.

Thanks to everyone who has already subscribed to either Tweet Marker or Watermark.

Tweet Marker new subscriber plan

The original goal for Tweet Marker Plus was to help cover the hosting costs for Tweet Marker. It succeeded for a little while, but it also ended up evolving into a larger independent service: Watermark, with much higher hosting costs for archiving and search, and a bunch of new features like App.net support, Dropbox sync, saved collections, and more. I’m really excited about the future of Watermark.

I also hear from Tweet Marker users who don’t need Watermark. They still want to support Tweet Marker, though, to make sure it continues running and that it’s as fast as possible.

So today I’m introducing a separate, inexpensive subscription option for Tweet Marker. Just $1/month! You can subscribe from the new Tweet Marker home page. And as a bonus you’ll get the first official Safari extension for Tweet Marker, shown in this screenshot:

Tweet Marker extension

Posting from Watermark

Watermark now has App.net posting, replying, and an improved UI for tweeting. You could always tweet from Watermark, but it used Twitter’s “web intents” system, which opens a new browser window. The new interface is integrated directly into the Watermark sidebar, and it works with both App.net and Twitter.

Here’s what it looks like when it’s visible:

Watermark new post

Watermark quick copy and more

Watermark had some downtime early last week. While I was able to bring back the server faster and hopefully more robust than ever, I also wanted to quickly act to improve the service in visible ways. So I wrapped up a few features for Watermark over the Thanksgiving break, including two specific new features for Twitter and App.net.

For Twitter: Copying tweets to custom collections was cumbersome before, involving lots of clicks if you are copying multiple tweets in a row. Now there’s a faster way. After you copy a tweet to a collection, Watermark remembers that recent collection for a couple minutes and offers a “quick copy” link directly next to the tweet.

TM quick copy

For App.net: You can now repost or star a post directly from the Watermark interface. I’ll continue to fill out Watermark with more features like this, whether you’re living in Watermark as your default client, or just searching your archive and want access to more functionality.

ADN starred

Search and performance should also be better across the board.

Making time for marketing

Like many programmers, I’m often fooled into thinking that it’s enough to build a good product — that people will find it on their own, instantly recognize its value, and pay for it. It’s easy to forget that even great products need marketing to succeed. For a one-man shop it’s important to take a break from writing code and work on how the app is sold.

Building a business is hard. I started Riverfold Software 6 years ago and in many ways it has fallen short. And for some of the past year, I’ve squandered the success of Tweet Marker, failing to practice and experiment with how to make money from it.

Jason Fried of 37signals wrote for Inc Magazine last year about how making money takes practice:

“One thing I do know is that making money is not the same as starting a business. For entrepreneurs, this is an important thing to understand. Most of us identify with the products we create or services we provide. I make software. He is a headhunter. She builds computer networks. But the fact is, all of us must master one skill that supersedes the others: making money. You can be the most creative software designer in the world. But if you don’t know how to make money, you’re never going to have much of a business or a whole lot of autonomy.”

In the last week I’ve taken a couple steps in the right direction. I’ve finally redesigned the Watermark home page around a simpler marketing statement of what the app is about. And as discussed on the recent Core Intuition, I switched from PayPal to Stripe in an effort to make payment smoother and subscriptions easier to track. There’s still a lot to do, but I hope to make even more time for marketing before the year is up.

Watermark shared filters

I rolled out a small but powerful feature last night for Watermark. For a while you’ve been able to create saved filters, which are just shortcuts to quickly run a search across the Watermark database for your account. Saved filters are also cool because they automatically sync as CSV files to Dropbox. Now you can allow any of these saved filters to be shared with others.

Click “Allow saved filters” and you’ll get a link option next to each filter. That will produce URLs that can be posted to Twitter or App.net or wherever, and anyone can see the results of the search even if they don’t have a Watermark account.

It’s a way to expose a slice of your timeline and archive to other people. Here are a few that I’ve set up:

  • cingleton — Every tweet or post mentioning the Çingleton conference.

  • pdx food — Neven Mrgan’s short reviews of Portland restaurants.

  • ipad mini — Obvious query given today’s Apple event.

All of these search live across my 6-month archive of about 275,000 tweets. Remember that Twitter’s own search only goes back about a week. There’s really no other way to get this kind of data.

Watermark for iOS

I have a new iPhone app in the store: Watermark Mobile, a lightweight companion app to Watermark, my search and archiving tool for Twitter and ADN. It’s free for existing customers, or $4.99 using in-app purchase to subscribe as a new Watermark customer.

With this app I wanted to solve two problems:

  • Clean, simple search interface on the iPhone.

  • Allow paying for Watermark inside the app with your iTunes account.

While I’d eventually love to have a more full-featured client like Tweet Library available for Watermark, after a quick weekend of hacking I decided that Watermark Mobile was already useful enough that I should release it. So I did.

Two more for Watermark: pictures and stars

Following just a week after the Dropbox support in Watermark, I’ve added two new smaller features that improve the user experience. The first is that photos hosted by Twitter are now included as inline thumbnails next to a tweet, as shown here:

Watermark inline picture

The second improvement is a much faster Favorites view, which also now includes the new “stars” feature from App.net. Watermark doesn’t yet download all your existing stars (that will be rolled out to more users soon), but when it does encounter a star in your App.net timeline, that starred post will be included it this view right alongside Twitter favorites.

Watermark export using Dropbox

I’ve been making Watermark better. Sometimes it’s small tweaks or bug fixes; other times, more noticeable new features. Because it’s a subscription, I’m determined to improve it quickly and often. I don’t write about most of these changes, but the new Dropbox sync in Watermark deserves special attention.

Watermark originally shipped without any kind of export feature. This was a glaring omission for an archiving tool. But because of the large number of tweets stored by Watermark — some users have hundreds of thousands of tweets from their friends in the app — a simple export wasn’t feasible. I could have offered an export of just your own tweets, but then you also have the fairly clunky step of waiting for the server to gather tweets together, then downloading a file from your web browser, finding where to store it or the previous downloaded copy to replace it with.

Dropbox sync fixes that. Watermark can now automatically copy tweets (and App.net posts) from your saved filters and custom collections to CSV files on Dropbox. For example, search Watermark for “iPhone 5”, click “Save as filter”, and the most recent 1000 tweets matching that query will appear in a file called “iPhone_5.csv” on Dropbox. It keeps running in the background, so the files are updated every hour as new tweets matching the search are downloaded by Watermark, even if you aren’t signed in.

See the account page and FAQ for details and a sign-in link to authorize Watermark with Dropbox.