jb… a weblog by Jonathan Buys

Reading and Readability

February 3, 2011

Readability is a subscription based service that allows you to read the text off of websites in a beautiful, clean, consistent interface. Since I started reading the web through Readability a while ago, I’ve appreciated it’s consistency, meaning that one site looks the same as the next, as the next, and the next. Reading articles on the web becomes more about the writing, and less about design. Jumping from site to site can be jarring, distracting, but when using Readability, the entire web can feel like a single book, one with many chapters.

However, I’ve been able to achieve this consistency with Safari Reader (yes, I know it’s built off of Readability), and Instapaper text view (yes, also inspired by Readability). So, the discussion is not about the value of the Readability service, since you can get the same thing for free, but who should pay for the content rendered through Readability. Advertisers… or you?

Do you feel generous?

I feel that I get value from the sites that I visit, the sites that I’ve marked as “Can’t Miss” in NetNewsWire, and knowing how publishing works on the web, I often visit my favorite sites and click on an ad. That click gives the site money, which ensures (hopefully) that the site will continue to be published and continue to provide me with some kind of value. That value might be entertainment, news, opinion, or instruction, but it is worth something to me. Readability is a way to pay for that value, while reading the site in an interface that makes sense.

Paying for the experience is where Readability differs from Instapaper. In my mind, I think about reading with Readability now, and reading with Instapaper later, but the overlap between the two is too obvious to ignore. Evidently the developers of Readability agree. They have been working with Marco Arment to develop a special build of Instapaper that will credit the sites you read through the Readability service.

Readability has a few surprisingly big names behind it. Not only is Marco onboard, but also Frank Black, Jeffery Zeldman, and more. With a team as talented this, I think its important to think through any criticism of the service carefully. I’m sure they have.

Unfortunately, the current quality of the Readability service is a little less than I would expect. There have been several times in the past couple days I’ve hit the Readability keyboard shortcut and was shown this error.

Going back to the site and trying again fixes the problem. I’m assuming that they are making improvements to the Readability back-end continuously, and that this error is a symptom of those improvements. Annoying, but I’m chalking it up to growing pains.

The second problem I’ve found is when using HyperDock to split the screen of my 15” MacBook Pro between Safari and a text editor, Readability pushes the text off the right side of the Safari window. The last six or so characters are off the screen. Stranger yet, when resizing the window smaller, the horizontal scroll bar does not appear to allow you to scroll to view all of the text, the text is just gone. The Instapaper text bookmarklet does the right thing and formats the text correctly for the current size of the window, and provides the normal scrollbar when needed. I’m not sure why Readability doesn’t, but its just a bit disappointing.

I’m hoping that both of these problems are fixed soon.

Ian Hines is a fan, and had this to say:

It’s a wonderful concept. It’s all the things we’ve come to know and love about Instapaper, with the added ability of finally allowing us to easily support our favorite writers.

In contrast, Colin Wheeler is skeptical:

…for me it feels wrong cause it puts the burden on consumers instead publishers who need to clean up their websites in the first place

What Colin is saying is when a site is well designed, there’s no need for Readability. The sites many people are most likely to read in Readability are the sites that do not understand the value of clean design in the first place, sites that are covered with ads and distractions. He makes an excellent point, and one that I think is going to be shared by a lot of people.

Herein lies the rub. No one likes ads, but no one wants to pay for online content. So how can sites that make their money off of page views continue to exist if they do actually clean up their interface? That’s the answer that Readability is designed for. An alternative revenue stream. It is an interesting test.

Also interesting to note is that Readability is not a startup, it’s an experiment by an established company. Arc90 builds and designs internal applications for other businesses. Richard Ziade, the original creator of Readability, has this to say about why Readability exists:

We also believe that quality content is worth paying for. The rat race for page views and impressions has not only led to an oftentimes painful experience on the web, but also to a diminishing of quality content on the web. Today’s reality isn’t anyone’s fault but ours. We won’t hesitate to spend $4.00 for our daily cup of coffee … but we’ll balk at even a modest attempt at supporting the volumes of content we consume on the web. Readability represents an opportunity to show all the great publications, writers and bloggers out there that we care about quality and we’re willing to pay for it.

Readability may turn out to be more important to the future of the web than we can currently see. I’m rooting for it. I’m rooting for less ads, higher quality, and more thought.


RSS Triage

January 30, 2011

Like many who are interested enough in the tech industry to attempt to stay up to date on current happenings, I’ve been struggling with an ever increasing number of interesting sites and feeds. In the past I would categorize the feeds into folders with names like “Blogs”, “News”, “Design”, and “Friends”, but eventually I’d wind up with a folder with a name like “MetaBlogs” or some such ridiculousness. While the multiple folders did help to organize the feeds, they did not help with what I needed; keeping up with what was important.

So, a few weeks ago I gave up on organizing the feeds by type of feed, and instead dropped down to three folders of what the feeds meant to me. My New organization is Can’t Miss, Skippable, and Staging. Three folders, no exceptions.

Can’t Miss

I read everything that comes into this folder, without exception. As such, I’m extremely conservative with the feeds that I allow in this folder. For each site I decide that I do not want to miss a single post, I’m making an agreement with myself, and deciding that my time is well spent reading what they have to say. I have several sources in this folder, but most of them are low-volume personal blogs. There are no high-volume sites in this folder.

Skippable

I like your site, I’ve found what you have to say interesting at some point, or I’ve found some value in your site, but I don’t need to read everything you write. Skippable is where you belong. These are the sites that post twelve times a day, the news sites, hacks, and inspiration. I like you, but it’s not love just yet. Skippable is giving myself permission to select everything, mark it read, and not feel the least bit bad about it.

Staging

This folder is also about giving myself permission, but this time it’s the permission to subscribe to anything I choose. Every interesting blog, news site, or any other feed source first winds up here. Like the Skippable folder, I still don’t mind marking everything as read and skipping whats in here, but from time to time I’ll puruse this folder and see if anything has caught my eye enough in the past few weeks to warrant moving the feed into one of the other folders. Sometimes I read one good post on a site and that’s it, everything else is something I can do without. Eventually that feed will be deleted. If I’ve enjoyed several posts, I might move you up to Skippable. And if I’ve found myself searching for your feed, then it might be time to move it up to Can’t Miss.

I think RSS is still very much alive and kicking, and I’m finally feeling like I’ve got a sustainable system for keeping up with the news I care about. Finally, it’s a great idea to break out of your RSS reader and visit the sites you care about.


Keyboard Driven Safari

January 27, 2011

A friend was explaining his preference for Google’s Chrome browser the other day, and was using 1Password as an example of why he felt that Chrome was a better designed browser. The 1Password extension in Chrome drops down a menu that looks almost like an iOS window, which he felt was more polished than it’s Safari equivalent. In Contrast the “1P” button in Safari drops down a normal cocoa menu. Funny thing is, I’m fairly certain that I had never seen that menu, simply because that’s not how I use Safari.

Chrome is an excellent browser, and got several things right with their design and philosophy, it’s fast, light on resources, and I love that it separates tabs into their own processes. The one thing I think they got spot on right was the name. The browser is a pane of glass that the web shines through. When the browser starts outshining the web there’s an imbalance. The browser really is just the chrome around the content of the web, which is why I choose to hide all of Safari’s toolbars.

I use Safari because it is a proper Mac app, and so it respects the standard keyboard combos that I’ve become used to over the years. I browse the web almost without touching the mouse. Almost, because I still use it to click links and to scroll down a page, but for the most part I use these keyboard combos:

  • ⌘ + [ = Back
  • ⌘ + ] = Forward (I don’t use this one much)
  • ⌘ + L = Pop open the address bar to enter a URL
  • ⌘ + F = Search for text in the current web page, immensely useful when searching for an answer to a technical question in a long newsgroup, mailing list, or forum page
  • ⌘ + ⌥ + F = Pop open the address bar with the cursor focused in the search field
  • ⌘ + Shift + R = Safari Reader mode, inherited from Readability

And, for 1Password:

  • ⌘ + \ = Log in to the current web site
  • ⌘ + ⌥ + \ = Pops open a HUD window that lets you quickly select a saved login, then opens a new tab and logs into the web site for you.

I also use bookmarklets fairly extensively, particularly Instapaper and Yojimbo. Safari let’s me use these keyboard combos to trigger bookmarklets I have saved in the Bookmarks bar. These change a bit more than the others, like once every six months or so, but here’s what I currently have:

  • ⌘ + 1 = Instapaper Read Later Bookmarklet
  • ⌘ + 2 = Readability, for those few times when Safari Reader fails me
  • ⌘ + 3 = Bookmark in Go2, something special I’m working on for Go2 1.2 release
  • ⌘ + 4 = Share on Twitter, because… well… you know…
  • ⌘ + 5 = Archive in Yojimbo

As I said earlier, extensions can drag down a browser, clutter the interface, and generally do bad things. However, there are a few absolute gems that I keep around.

New windows and new tabs both open with Top Sites, which I think is just a beautiful home page. My current Top Sites are:

  • TeuxDeux: All the “task management” I need
  • iTunes Connect: To keep tabs on Go2
  • Farmdog Software: because I’m really happy with how the design turned out
  • This site: Evidently because I’m my biggest fan
  • 5by5: I’m constantly checking the site to get to the links in the shownotes. I wish there was a separate RSS feed just for these links, that’d be pure gold.
  • FogBugz: My bug tracker and customer support for Farmdog, also hosts Kiln, a Mercurial repository which keeps Go2’s source nice and cleanly revisioned.

Another part of Safari being a proper Mac app is it’s support for the system-wide dictionary. One of my favorite features of Mac OS X is that I can highlight a word, press ⌘ + ^ + D, and see that words definition in a little window below it. I use it constantly.

At this point i’m fairly invested in Safari. I’ve tried other browsers, but Safari is the one I keep coming back to. Omniweb used to be my go to web slicing and dicing tool, but sadly, it’s been leapfrogged. Safari lets me keep everything out of site, and just a quick keyboard press away. Everything I need, nothing I don’t.


Friendly Conversation for the Drive

January 21, 2011

It’s snowing again, which means my normal 40-minute commute will now be closer to an hour. I’m actually a bit excited by the prospect of a long drive; it will give me some time to catch up on my favorite podcasts, most of which come from Dan Benjamin at 5by5.

What Dan has built at 5by5 is important. He’s amassing a collection of incredibly smart people, the people who design and build the things we use on our computing devices every day. Dan is an accomplished developer himself, and has been publishing online since the paleolithic age on Hivelogic. The 5by5 interviews are an audio library of intelligence. Inspirational and honest, Dan has a talent for asking meaningful questions that cause his guests to think. What I love most about the 5by5 shows, especially The Pipeline, is that Dan always asks questions along the same subject line: “How did you get to where you are?” and “How can the guy sitting in a cubicle get to where you are now?”.

The answers to his questions are often hard, but always truthful. There’s a theme of hard work and dedication that goes through all his guests. You don’t get to be a successful developer, designer, producer, writer, or any other profession without hundreds of hours of sweat and tears. You don’t get to be a successful small business owner without the guts to take the necessary calculated risks.

I don’t subscribe to all of the 5by5 shows, but here are my favorites:

  • The Talk Show: John Gruber, from Daring Fireball, and Dan Benjamin talk about technology, Apple, Star Wars, and all kinds of assorted nerdery. Listening to the Talk Show is like sitting at the pub with a couple of good friends over a pint.
  • The Pipeline: The main 5by5 interview show, Dan’s guests are makers, they build what we use. The Pipeline is an inspirational, entrepreneurial show about chasing your dreams, never giving up, and being honest with what your passion is.
  • The Big Web Show: Tagged as “Everything Web That Matters”, Dan co-hosts this show with Jeffery Zeldman, author, speaker, designer, developer, and pioneer of web standards. Dan and Jeffery’s guests range from the unknown trying to get tracktion on a start up to Roger Black.
  • Back to Work: Merlin Mann brings his unique view on work, attention, and real productivity to the newest addition to the 5by5 network. I’ve been a big fan of Merlin’s for a long time, and I’m happy to see him back in the public again after his hiatus to write a book. As of today, there has only been one episode of Back to Work, but I’m excited to see where this show goes.
  • Build and Analyze: Marco Arment, co-founder of Tumblr and developer of the amazingly awesome Instapaper hosts this show about programming, coffee, and doing things the right way. Marco is super intelligent, and equally opinionated, a combination which that for a really great show.
    The 5by5 shows remind me of broadcasting in the 1950s, an idea that I think Dan shares, if the current design of Hivelogic is any indication. One of my favorite parts of each show, strangely, is the advertising. At some point in the show Dan will stop and acknowledge the sponsors, and read a prewritten release. It feels low-tech, and so much more authentic than a gimmicky advertising agency, and far, far more human than a banner ad on a web page. Whenever I hear the ad I imagine a guy in a suit standing at a microphone tossing papers on the wooden floor after each page is read.

My daily drive is easier now because of 5by5, so, thanks.


Past Blast

January 20, 2011

I’ve loved reading some of the “Past Blast” articles that have been linked about in Twitter, so here is my contribution.

Two from Me

On Graduation Day, written after I, finally, finished my bachelors degree. A personal accomplishment that means a lot to me.

The Master Craftsman, solidifying the concept of my work as a craft, whatever that work might be.

One from Daring Fireball

The Life, I just wrote about this article, but I think linking to it today is in keeping with the spirit of the meem.


From Zero to the App Store

January 16, 2011

This past Thursday I was privileged to speak at our local CocoaHeads about my history, and how I was able to bring my app to market. Since someone on Twitter asked for my slides, which don’t amount to much, I thought writing up my experiences would be a little more useful.

I didn’t grow up with computers. My first experiences programming were not when I was six on my Dad’s Apple II. We were poor, we lived on an Indian reservation in Montana, and for a good part of my life we lived in a mobile home. My first experience with a computer was in high school, after a semester of learning to type on an IBM Selectric, we moved on to one semester of computers, which was basically typing out documents in WordPerfect. That was it… for years. I didn’t start learning computers in depth until I had been in the Navy for a few years, and needed to learn them to make rank as a Radioman. It was then that I found I had a knack for technology, and started pursuing it. My first computer was a PC, a mistake I made exactly once. I had the machine for a few months before Linux was loaded on it for the first time. In 2000 I was introduced to Unix, and started working with OpenBSD, Linux, HP-UX, and Solaris. I enjoy Unix, I find that the system has a spartan elegance to it, especially the BSD flavors. Around this same time I heard that Apple was basing their new operating system, OS X, off of Unix, and I was anxious to try it out. In 2003, we moved back to the states, and I bought my first Mac, an iBook G4.

The iBook served me well, and I fell in love with the Mac and with the Mac community. I became a regular reader of Daring Fireball, and was inspired by a post named “The Life”. However, I had one college semester of programming experience in C, an experience that left a bad taste in my mouth, so I figured that “The Life” was out of my reach, put it behind me and moved on. Eventually I got out of the Navy and found work as a Unix sysadmin, using the skills that I learned while on active duty. The reality of work in a cubicle is much different than I imagined it would be. In the Navy there is always something different right around the corner. You will spend a max of 3-4 years at a single command, and during those years you will most likely have several different jobs. Things are much different as a civilian, and while I have a good job, the prospects of keeping this same job for the next ten or more years scares me more than a little. So, the question that came to mind was “is this what I want to do for the next 30 years?”, and Gruber’s article on The Life came back to mind.

So, I decided to learn Objective-C.

This decision was not taken lightly. I considered the possibility that it was beyond me, that I was not smart enough, or that I did not have the necessary math and programming and educational background to become a developer. Could I be dedicated enough to learn something so far out of my area? Was I smart enough to learn this? That last question gnawed at me, and I finally decided that there was no way I was going to know unless I tried, and gave it everything I had. So, I did some googling and found that for first timers wanting to learn Cocoa, most experienced developers pointed to what I now simply refer to as “The Book”, Cocoa Programming for Mac OS X.

For the next several months, I would wake up at 5AM and go through The Book, page by page, chapter by chapter, every challenge, no cheating. If I got stuck on something, I’d search the Apple developer documentation (which is excellent), or search through the CocoDev mailing list archives. I was investing in my future, so it was important to understand everything in The Book. Eventually, I finished The Book, and started working on my own little Mac app, a GUI version of a little shell script that I wrote called “go”.

The first few versions of Go were tough. I had a hard time getting my head wrapped around the “Modal, View, Controller” framework that Cocoa and the Mac developer tools are built around. I could not for the life of me figure out how to get an image to display in an NSTableView. That was by far the single most difficult hurdle I had to overcome. Changing my mindset from “Ok, place button here, and place image here”, which didn’t work, to “OK, place button here, and display data from my data source in this table”. I struggled for weeks, months even with this simple concept. Trying to work against the MVC is a sure way misery and failure. It was around this time that I found the local CocoaHeads group. I went to a meeting, and the speaker (a great guy), was talking about drawing pixels and getting your views to look just right. It was interesting, to be sure, but over my head at the time. I left that meeting disheartened, feeling that maybe it was simply too much for me, and I was just not smart enough.

I gave up, and for several months did not touch Xcode or Cocoa.

I’m not sure what brought me back, but I have a feeling it was stubbornness. The idea that there was a learned skill that I could not learn was too much for me. I started getting the feeling that I was almost there, that my understanding of Cocoa was incomplete, but I was just one more article read, one more blog post scanned, from finding the missing piece. So, I started reading again, I started building again, and piece by piece I started to understand Cocoa. I found that the best way for me to display an image was to use a value transformer. Store the data as a string, transform that string to an image, and the NSTableView would happily display that image for me. I started asking questions on Twitter and the mailing lists, and was recognized by Jim Turner, who ran CocoaHeads in Des Moines.

Jim is not the type of guy to give you an answer, but he is the type of guy to point you in the right direction. Jim and I exchanged emails a few times, and he pointed out where I was going about things wrong, or making things harder than they needed to be. Eventually, I built real, working versions of Go, which Jim was kind enough to beta test. Some of his critiques of Go were scathing, but absolutely necessary. Each email Jim would send me with a list of things that were wrong with Go, I’d drop into a to-do list and check off each item as it was fixed.

Some features that I worked on for months I killed. Some features that I spent months working on and hundreds of lines of code I found could be replaced with only a few lines of more functional code. The original version of Go used AppleScript and the Cocoa ScriptingBridge framework to launch the Terminal. I would build a shell script in Cocoa, then send that to the Terminal as a “Do Shell Script” AppleScript. This entire structure was replaced when I learned about the functionality of NSWorkspace and NSURL. Now, all bookmarks are URLs, and opened by NSWorkspace. Much simpler, and more functional. This discovery allowed me to take Go in a new direction, instead of being a launcher for SSH connections, Go could be a universal bookmarker, storing and launching bookmarks for anything that could be addressed by URL, which turns out to be just about everything. I finalized the functionality of Go, and spent another month or so building in a copy protection scheme and a 30 day trial, and… launched.

Farmdog Software was launched to the amazement of no one. I had the store open for three months and sold a grand total of seven copies of Go. I was languishing in obscurity. No one knew what Go was, who I was, or had heard of Farmdog Software. Then Apple announced the Mac App Store, and I knew that was my opportunity.

I started an entire redesign of Go, and renamed the application Go2. I redoubled my efforts. Now I was not only programming in the morning before work, but also at lunch, and at night after the kids were in bed. I built a custom NSCell class, and spent a long time building the Status Bar search menu that Go2 has now. Jim came to the rescue once again with a way to use the down arrow to navigate out of the search field, which was the final piece of the Go2 puzzle.

I submitted Go2 to the App Store, and in the last week of December it was rejected. Turns out there was an odd bug that only showed itself at launch time, and only on the first time the app was launched. I fixed that bug, resubmitted, and Go2 was in the store on day 1.

Go2 and Farmdog still have a long, long ways to go, but they are on their way, and that’s the important thing. If anyone can take anything away from all this I hope that it is to never give up. Never. Nothing worth doing is ever easy.


Go2 and the Mac App Store

January 7, 2011

Yesterday, Go2 was one of approximately 1000 applications available on launch day of the Mac App Store. It’s been a nerve wracking experience, but overall I’m pretty happy so far with the way its gone. I’ve been able to identify a couple of last minute bugs and get their fixes incorporated into version 1.1, which I’ve had in beta testing for about a month now.

I’ve created a new version of Go2 in iTunes Connect, and I’m waiting now for Apple to let me know that they are ready for me to upload. Once I do, the new version should take a week to two weeks to be approved, and will then be available in the Mac App Store. Thats being optimistic, but so far my experience with the MAS has been very positive, and I’m expecting for it to remain positive in the future. I won’t go into any numbers, mainly because they are all very small, but I will say that I’ve sold twice as many copies of Go2 on the first day of the MAS than I did for the entire four months of running my own store.

However, simply being in the MAS is not enough, I still need to be better at marketing, and getting Go2 in front of people. Wording in the short explanations of Go2 provided is important, and getting the definition of what Go2 is right, and getting it brief is important. I’ve started marketing Go2 with a tagline suggested by a friend “What the Finder’s Connect to Server Should Have Been”, but I’ve already had at least one person download Go2 thinking that it was an FTP client like CyberDuck or Transmit. It makes me wonder how many others have thought the same thing and simply didn’t say anything. (Note to all non-spammy types: you can always get ahold of me, I’m a friendly guy!)

I’m confident as people use Go2, they’ll see that it’s a great app and really like it. I don’t want to sound like I’m boasting, but I am very proud of Go2 and very happy with how it turned out. There’s still a great roadmap for the future of the app, and the eventual suite of apps I’m planning on building, in which Go2 plays a big part, but for version 1.1, I’m happy with it. The biggest challenge for Farmdog Software right now is getting noticed. I’ll be working on press releases and contacting people I respect and seeing if they are interested in Go2.

I also developed a “Go2 Lite”, a version of Go2 limited to only six bookmarks and intended to simply be an introduction to what Go2 is. My original intention was to submit Go2 Lite to the MAS and see it alongside Go2, one for $4.99, and the other free. However, I tweeted about this and was promptly reminded that Apple recommends against (read: will reject) demo or lite versions of apps, and they recommend hosting demos on developers web sites, like here at Farmdogapps.com. A secondary discussion popped up about needing a free demo version of a five-dollar app, with the general consensus being that it’s not really necessary. Which brings me back to my original problem: press and marketing coverage. Having Go2 Lite in the MAS might have encouraged people to download and try the free version, just to see what it does, then, if they liked it and wanted to use it, they could download the full version. Ideally, Apple would support a limited trial and in-app purchase to the full version, similar to the original Go’s 30 trial period. Is five dollars enough of a barrier for people unsure of the purpose and functionality of the app? I’m not sure, but it might be. It’s a problem I’m working on.

I’m also still waiting for promo codes to allow the original users of Go to upgrade to Go2, but so far Apple has not provided developers with the codes. I’m hoping that they will, soon, and as soon as I have them I’ll be sending them out in email.

I’ve been quiet on the Farmdog Blog, but that’s because I’ve been neck-deep in Objective-C, writing code and getting Go2 ready. Farmdog Software is in it for the long haul, and the MAS is a great step in the right direction for our tiny, independent company.

Thanks for stopping by.


Delicious Bookmarks

December 17, 2010

Word leaked out yesterday that Yahoo has it’s popular Delicious bookmarking service on the chopping block. I don’t personally have an account, not anymore, so the closing won’t affect me. Twitter tells a different story, my stream lit up with people upset about the decision. Yahoo’s leak, coupled with their announcement that the company is laying off 4% of it’s workforce right before Christmas, caused a fairly good sized migration from Delicious to Pinboard. I do have a Pinboard account, and I think I even have a few bookmarks saved, but its been weeks since the last time I visited the site.

There was once a time when I used del.icio.us (as it was once called) extensively, tagging my bookmarks, installing the firefox extension… I had thousands of sites bookmarked. And I never actually visited them. When Yahoo bought del.icio.us, I closed my account and deleted my bookmarks, and I’ve honestly never missed them. For a while afterwards I used a “To Read” bookmark folder in Firefox or Safari, but again, the size of that folder would grow to be unmanageable, and I’d eventually just delete everything in the folder, loosing potentially interesting reading along the way.

Then came Instapaper. My problem with bookmarks was that I did not get around to actually reading the site, and even if I did, my bookmark remained alongside every other bookmark I had. Instapaper provides a simple service to add a site (I have the keyboard shortcut in Safari mapped to ⌘+1), and a beautiful interface on the iPad to actually do the reading. The best part is, when I’m done reading, I tap the trash, select “Archive”, and the article is gone. I don’t have to worry about link rot or managing yet another boatload of data, I just read what interested me and move on.

I believe there is also a psychological reason that Instapaper is so appealing to me. It fits into a “trusted system” type of flow where I know if I send something to Instapaper I will eventually read it. Not true with a bookmarking service. Instapaper’s flow of new content is very similar to how I listen to podcasts; I sync only the unread podcasts to my iPod to listen to on the way to work. In Instapaper, I only ever see the unread articles, so I know that whatever is in my queue is something that is new and that I found interesting enough to save for later.

There are two other types of sites that I come across that I once might have thrown into del.icio.us. There are sites that I want to read every day, which are thrown into NetNewsWire, and there are sites with an amazing article that I absolutely want to maintain access to. In that case, I archive the site in Yojimbo, or I copy the text from Safari’s reader mode and add that into Yojimbo. Either way, Yojimbo becomes my long-term storage mechanism for web content.

I’ve found that Instapaper and Yojimbo fit in much more naturally than bookmarks in my flow of how I deal with web content. I still have a few bookmarks in my browser, like my bank and login pages for various things, but those are relatively static, things that I haven’t changed in years, and access on a regular basis. For everything else, Instapaper is perfect.


PC Apps

December 16, 2010

alt text

Interesting choice of wording in Apple’s most recent press release. The intent of the release is to announce the availability of the Mac App Store on January 6th, however, the interesting parts read like this:

“The App Store revolutionized mobile apps,” said Steve Jobs, Apple’s CEO. “We hope to do the same for PC apps with the Mac App Store by making finding and buying PC apps easy and fun. We can’t wait to get started on January 6.”

Apple spent a long time with the “I’m a Mac” commercials, educating the public about the differences between Macs and PCs, so why the change in wording now? Jobs is a master of nuance and wording, so I can’t imagine that addressing the Mac as a PC is an accident. This may be a continuation of a subtle suggestion that Macs are the past, and iOS is the future, by grouping the Mac along with the PC that Jobs has derided for so many years.


The Proper Place of Technology In Our Lives

December 15, 2010

It’s now the middle of December, which signals the end of my first semester of grad school. I took two classes, both focused on HCI: cognitive psychology and social implications. The paper I just finished writing for the social implications course was about answering the question of whether all software should be free, and required a lot of research into open source, the Free Software Foundation, and a lot of deep thinking about what I felt was right.

The definitions of freedom offered by the Free Software Foundation act on the assumption that computers are central to a persons well being, and that the user of a computer should have full and complete access to the source code of the computer based on a natural right of well being. However, it is my position that computers, or any other form of technology, only serve to increase personal freedom of the user in proportion to the increase in overall quality of life of the user of the technology.

Richard Stallman, in his essay entitled “Why Software Should Not Have Owners” claims that authors of software can claim no natural right to their work, citing the difference between physical products and software, and rejecting the concept of a tradition of copyright. Stallman uses an example of cooking a plate of spaghetti to explain the difference between software and physical products:

When I cook spaghetti, I do object if someone else eats it, because then I cannot eat it. His action hurts me exactly as much as it benefits him; only one of us can eat the spaghetti, so the question is, which one? The smallest distinction between us is enough to tip the ethical balance. But whether you run or change a program I wrote affects you directly and me only indirectly. Whether you give a copy to your friend affects you and your friend much more than it affects me. I shouldn’t have the power to tell you not to do these things. No one should.

However, what Stallman does not address what gives the second person who receives the software the right to benefit from the authors work without giving something in return.

Before the industrial revolution, most people learned a skill and worked for themselves in small communities. A single village would have all of the skill sets necessary to sustain itself, and each member of the community would apprentice into a particular skill set to contribute and earn a living. The industrial revolution pushed skilled workers into factories and assembly lines, work that was both distasteful and disdainful to an artisan in the craft. However, corporations were able to reduce cost and increase profits, and the platform has persisted into current work environments.

In the information age, the assembly line mindset has created oceans of cubicles filled with programmers who use their skills in small parts of large software projects, sometimes to great success, but far too often to failure. The Internet and popularity of lower priced computers has created a market for high quality third party software, the kind that is created by someone with a passion for what they are doing. This passion comes from learning a craft, and using that skill to earn a living, just like the workers from before the industrial revolution. Instead of living physically in small villages, these new age artisans live online and create communities built around social networking.

In many ways, this is a return to a more natural way of life, and a simple form of commerce. One person can create an application and sell it, and another person can buy it from him. The person selling the software benefits from being able to purchase shelter, food, and clothing for his family, and the person who buys the software benefits from the use of the software. It is a very simple transaction, and a model that is not adequately explained in the GNU essays. If all proprietary software is wrong, then an independent developer who sells software as his only job is also wrong. GNU supporters could argue that there is nothing stopping the programmer from selling his software, but he should give away the source code under a license that permits redistribution along with the software once it is sold. At this point, selling the original program no longer becomes a viable business model. A programmer can not continue to sell his software when the user can, and is encouraged to, download his software from somewhere else for free.

While it may be the ethically right thing to do to purchase the software if you intend to use it, ethics alone are often insignificant motivation to encourage people to spend their money. If the choice of supporting the development of the software or not is entirely up to the user of the software, then purchasing the software becomes a choice that the user can make on a whim, with no real implications on the conscience of the user with either decision. GNU and the GPL place this decision squarely on the user, and encourage the users to not feel in any way obligated to pay.

The ethics of open source come into question when the requirement of adhering to the free software philosophies result in an independent developer not being able to support a moderate, middle-class lifestyle by developing a relatively popular application. Kant’s first formulation asks what would happen if all developers gave away the source of their code for free. In this imaginary world where all developers did this, the quality of software would go down to the lowest common denominator of acceptability. Each developers motivation would be to develop for himself, and since he would need to find a source of income elsewhere, only in the free time allotted to him. This would result in a wide variety of software availability, with very little integration or testing, mirroring the current state of GNU/Linux based desktop operating systems. Current software companies would move to a business model arranged around providing support to customers of their software. Competition, and therefore innovation, based on pure software features would decrease, since the source code of any feature another group could develop would be easily copied and integrated into competitors products.

A second implication of business providing support as their primary source of income is that the support becomes the product, not the software itself. Businesses then have a vested interest in creating software that requires support, resulting in intentionally complicated user interfaces.

From a utilitarian point of view, the outcome of proprietary software has clearly been to produce more pleasure for more people than open source has up to this point. Open source software is often more complicated, difficult to learn and maintain, and harder for the average computer user to use. Apple produces proprietary software and hardware, and states their mission to “make the best stuff”. Using their position as a leading software company, and leveraging their control over their computing environment, including iPads, iPods, iPhones, and Mac computers, Apple has been able to successfully negotiate deals with entertainment companies. The deals Apple has made allow the consumer to download music, television shows, and movies off of the Internet and watch them on any Apple branded device, and output the media to their televisions or home stereo systems. Because of the limits of Digital Rights Management, open source or free systems have not been able to provide this level of entertainment.

Free software enables the user to learn the intricacies of how the software works, and modify the software to suit his needs. Free software also provides a legal and ethical alternative to expensive proprietary software in developing nations or areas where the cost of obtaining a license for legal use of the software is prohibitive. Public institutions, like schools and government offices, where the focus of the organization is the public good, have the option to use software that is in the public domain and is not controlled by any one company.

However, proprietary software is also beneficial to the public, as well as respectful of the original authors rights regarding their creative work. Software is the result of a person’s labor; it does not matter how easy it is to copy that work, the author still retains a natural right of ownership, according to John Locke’s The Second Treatise of Government. Proprietary software enables products like the iPad, which is being used to enable elderly people, nearly blind with cataracts, to create creative works of their own. The iPad is also being used by caretakers of severely disabled children to enable them to communicate and express themselves. It is possible that the iPad would have been created if the software used to power it had been free, but that is unknown. What is known is that the net result of the device is to better peoples lives, which is the true purpose of technology. Any technology is merely an enabler to get more satisfaction and enjoyment out of life. What the free software movement does is exaggerate the importance of a specific type of freedom, without addressing the proper place of technology in our lives.

However, the existence of free and open source software alongside proprietary software creates a mutually beneficial loop, wherein consumers and developers are able to reap the rewards of constant innovation and competition. There is a place for both proprietary and free software, and it is the authors natural right to their creative work that gives them the freedom to choose how and why their software will be distributed.