jb… a weblog by Jonathan Buys

iCloud and Core Data

January 17, 2013

I inadvertently started a bit of a conversation today when I complained about the state of NetNewsWire on Twitter. I’ve been a NetNewsWire user for years, and I was very surprised when it was sold to Black Pixel. My surprise turned to disappointment when the application was not updated, and now NetNewsWire has stopped working for me completely.

I have a group of feeds in a folder called “Read”, which I keep as my must-read list. It just so happens that this list is the one that has stopped syncing with Google Reader. I recall there being conversation online about moving away from Google Reader, and how it being the only RSS syncing service was Not A Good Thing. From what I can gather, the new version of NetNewsWire was going to sync it’s feeds using iCloud instead of Google Reader, a move that I would have welcomed. I keep a separate account used only for syncing my Google Reader feeds, so being able to get rid of that account would be great. Unfortunately, NetNewsWire uses core data as it’s data storage back end, and development has hit enough significant problems with this setup that Black Pixel decided to work on something else instead.

Reminds me of another story, another once favorite app, Yojimbo. Bare Bones has been documenting their efforts with Yojimbo publicly, and have had to push back releasing a new version that supports iCloud syncing several months. They had once promised that syncing would be implemented by the time MobileMe syncing was unavailable, but were unable to meet that promise.

Black Pixel and Bare Bones have some of the sharpest, and most experienced developers in the business working on these problems, and have not been able to come up with a shippable solution. In that light, I’m actually a bit glad that I didn’t try to tackle iCloud syncing with Go2, and that I’ve settled on using plain text for storage in Scout. The plain text setup should allow me to build Dropbox (or any other comparable technology) syncing into Scout, although I’m not sure that it will be available in version 1.0.

The programming, it is hard.


Footnotes and Other Scripts

January 16, 2013

I’d like a really simple way to insert footnotes in the text. However, I’m not sure how much of that I can do with the Markdown parser that I have now, which means inserting ugly HTML, which I’d really rather not have. I could do something in the generation of the site, inserting my own marker in the text and parsing through that later, but that seems like reinventing the wheel. Surely there are better ways to go about this.

I’ve also been thinking about other scripts or “plugins” for Scout. An early idea I had was to build in analytics, so you could download hit counts and other statistics from your host and Scout would build a nice report for you. Or, maybe even do some type of live updating, but I think that might be taking it a bit too far.

MathJax would be a nice addition, but I don’t think it would be appropriate for everyone. Maybe a preference pane with optional plugins you could check and uncheck and have them included in your site. That way, if you want MathJax or Google Analytics or jQuery you’d just select them and hit publish. Still so far to go to get there.

Which leads me to the next thought, when is it enough for 1.0? I need to balance two weights; on one hand, I need to actually ship the app, but on the other hand, I want Scout to be great from day one. What is it going to take for it to be great? What is the bare minimum that I need in 1.0 before I can ship it? These are the questions I’m asking myself.

One feature that I keep coming back to is the ability to have zero configuration publishing. For example, what if you don’t have a web site or a domain name, but you’d just like to write and publish online in the easiest way possible? Scout should be able to grab your iCloud user name, have you click an in-app subscription, and let you publish to a Farmdog hosted server. That way, you can just download Scout and start writing, and Scout and Farmdog take care of all the little details. That’s the dream anyway, but is that a 1.0 feature? Tough call.

Syncing is another thing that’s going to be a tough call. I’m using plain text as the data storage, so I should be able to monitor changes in the filesystem and merge them into the application. Hopefully, building on plain text and integrating with Dropbox will allow me to (eventually) build an iOS companion to Scout. Scout on the iPad with Dropbox on the backend could be fantastic for writers.

If I only had 30 hours per day to work on this.


Dogfood

January 15, 2013

I would like to introduce you to Scout, my desktop, baked blogging engine. I’d like to, but Scout is not quite ready yet, so I’m keeping him under wraps till I’m sure. There is only one way to be really sure, and that’s to use Scout to publish my own blog, every day.

So, a little about Scout. I first got the idea a few years ago when I noticed Jekyll. I built the previous version of this site on Jekyll, and used Github as my host. Jekyll works great, but it is very much a power users’ tool. Anything that requires the user to pop open the terminal is not going to pass muster with the average Joe. However, I like the idea of a static blogging engine, and luckily, I’m not alone. So, I set about trying to bring the power and control of Jekyll to a nice user interface.

Scout looks like a text editor

I’d like to say that I started working on it, worked on it steadily and consistently for a few years, and now it’s almost done. Unfortunatly, I had a lapse of judgement where I was not properly backing up my laptop, and was also two months behind on my offsite version control, and wound up loosing months of work on the first version. I still haven’t recovered completely from that, I wrote a Wordpress importer that I still need to recreate. After loosing so much work, I got discouraged and moved on to other things.

This Fall I decided to pick it back up again, and I’ve been working on it in every spare second that I have. I very excited about Scout, and can’t wait till it’s ready, but like they say, the devil is in the details, and I have to make sure this is done right.

Scout is heavily centered on the writing experience. The main interface is a plain text, markdown syntax highlighting editor, with built in preview, easy to build and customize themes, and a minimalist media manager.

Alt Text

Scout builds and publishes the entire site every time the site is exported. Once the site is uploaded to the web server, the server itself needs very little resources to serve up the site. There is no dynamic code to execute, which makes it very unlikely that the site will slow down or crash because of a high influx of traffic.

I’m using a single window for Scout, and the views fade in and out as needed. The list of previous posts is available on the left hand side of the window, but normally stays closed to concentrate on new writing. I’m also experimenting with the preferences view, trying to keep it very simple, beautiful, and functional.

Alt Text

I’d like to give a time table for Scout’s availability, but it would probably be a bad idea. Even writing this brief post I’ve noticed a few things that either need fixing or need to be enhanced. So, I’ll keep polishing, and polishing, and polishing, till Scout shines as much as I can make it. Then I’ll call it 1.0, release it to the world, and start fixing everything that the world finds.

I will be writing more about Scout in the coming weeks, and would love to hear your thoughts on the concept. Feel free to drop me a line.


A World of Things

January 14, 2013

It is very easy when living in the technology field to ignore the actual physical space we occupy. Skills once thought essential are slowly being forgotten as we move farther and farther away from a culture of being able to create and fix things.

We visited my wife’s sister’s family for Christmas this year. They have a beautiful thirteen acre wooded plot out in the country, and I savor our visits and the time that we get to spend there. My favorite times are standing outside listening to the quiet and watching the birds. On this particular occasion, we met in town before heading out to their place, and when we arrived my wife and I wondered if we beat them home. We didn’t see the truck they were driving, so I got out to knock on the garage door. Jeff, my brother-in-law, was washing his truck in the garage, draining the water down two drains centered under the parking areas for two cars, and using the hot water tap.

I was more than a bit envious. His garage is heated, has several electrical outlets, hot and cold water taps, and drains. It is, in short, the perfect place to do a complete detailing of a vehicle in winter. Jeff greeted us warmly, and asked if I’d like to wash our van next. I could not turn down that offer, especially since we were just at a car wash that turned out to be closed. We finished his truck, pulled it out of the garage, and pulled the van in. Jeff walked me through a thorough deep-cleaning of the van, pulling out plastic bits to spray out the sand and junk that accumulates in the undercarriage, and explaining how certain parts of the frame are more prone to rust because of the lip. The van had never been so clean by the time we finished. He asked when the last time the van was waxed, which was probably before I bought it. We talked about the different kinds of waxes for a bit, and agreed to let the van dry in the garage and wax it in the morning.

I slept in till eight, and by the time I got up, Jeff had already put the wax on the van and was waiting for it to dry. We worked together to finish the job, and he even got out his buffer to get some of the marks out of the doors.

Jeff is a park ranger, and over the years he’s accumulated a collection of very practical skills focused on maintenance and preservation of things. It’s an interest we share, and reminds me of my first few years in the Navy when I worked as a machinist. The main goal of the enlisted man in the Navy is the maintenance of the ship. That means everything from cleaning the toilets and sweeping the deck, to replacing broken bolts. It means working with your hands.

It wasn’t too long ago when families made most of the things that they needed. At the least, the things they needed were made locally. Towns had to be somewhat self-sustaining or they would not survive. As more and more of our things started to come from factories, and the factories where the things were made were moved to far away lands, our need for creating things left, and with it the skills to do so. I was completely fascinated by this video posted by Shawn Blanc of a blacksmith creating a knife, and then a leather worker building a beautiful sheath for the knife. Being a blacksmith would have been exhausting work, but I can only imagine the satisfaction at having built something like a knife out of pieces of steel.

There is no steel in programming. Only thought. We like to think that there is blood and sweat in our applications, but the truth is that there is only deep thought. Computers are tools; fascinating, engrossing tools, but still just tools. We should all pay as much attention to the rest of our possessions as we do to our computers. At least I should. I’m not one to make new year’s resolutions, but in the coming year I am making it my goal to become less reliant on my computer, and to take better care of the things God has granted me.


13 Virtues for 2013

December 31, 2012

Instead of looking back, I like to look forward. As a guide on how I’d like to live the next year of my life, here are Benjamin Franklin’s famous 13 Virtues, written when he was 20:

  1. Temperance. Eat not to dullness; drink not to elevation.
  2. Silence. Speak not but what may benefit others or yourself; avoid trifling conversation.
  3. Order. Let all your things have their places; let each part of your business have its time.
  4. Resolution. Resolve to perform what you ought; perform without fail what you resolve.
  5. Frugality. Make no expense but to do good to others or yourself; i.e., waste nothing.
  6. Industry. Lose no time; be always employ’d in something useful; cut off all unnecessary actions.
  7. Sincerity. Use no hurtful deceit; think innocently and justly, and, if you speak, speak accordingly.
  8. Justice. Wrong none by doing injuries, or omitting the benefits that are your duty.
  9. Moderation. Avoid extremes; forbear resenting injuries so much as you think they deserve.
  10. Cleanliness. Tolerate no uncleanliness in body, cloaths, or habitation.
  11. Tranquillity. Be not disturbed at trifles, or at accidents common or unavoidable.
  12. Chastity. Rarely use venery but for health or offspring, never to dullness, weakness, or the injury of your own or another’s peace or reputation.
  13. Humility. Imitate Jesus and Socrates.

One of the many things I love about this list is not how it says to do things, but how it says to avoid things. For example, “Avoid trifling conversation”, “waste nothing”, and “cut off all unnecessary actions”. I think there is something for everyone in this list.


No More Guns

December 20, 2012

I’m angry. You should be too. On December 14th, a young man shot his way into a locked elementary school in a small town in Connecticut and murdered twenty children and six adults. This is an abhorrent act by a mentally ill person, but the magnitude of the act was amplified because the murderer had access to guns. Big guns.

The Facts

The gunman was carrying three weapons, a 9mm SIG handgun, a Glock 10mm Auto, and a Bushmaster M4 Type Carbine. Let’s take a look.

9mm SIG

Alt Text

Glock 10mm Auto

Alt Text

Bushmaster M4 Type Carbine

Alt Text

The Bushmaster was the primary weapon used in the attack. Take a close look at that gun and ask yourself what the primary purpose of a device like that might be. This type of gun is not used for hunting. This is a military grade weapon, it’s sole purpose in existence is to kill human beings.

Culture

The other day I had the unfortunate privilege of watching The Expendables 2. The movie is not good, but it’s appeal to a certain group of people is understandable. Lots of violence, big action stars from the 80’s together in one movie to spew horrible one-liners off of each other. It’s 103 minutes of senseless violence, glorifying in how many bad guys the good guys can kill before reloading. It is a movie made for men who never outgrew their adolescent worship of Rambo. A movie that caters to the American desire to be seen as a “bad-ass”.

Someone you don’t want to mess with, someone who would rip your head off, someone who dresses all in black because that’s what the lone wolf who fights for revenge does. “Whoaaaaa… Arnold and Stallone AND Bruce Willis in the same scene!” It’s exploitation of hero worship. The show is designed to appeal to our base instincts, to get our adrenaline pumping, and to allow the viewer to vicariously wear the persona of a man who acts without conscience. A man who is not pushed around by anyone.

The Expendables is not responsible for the shooting in Connecticut, but it does serve as an example of the type of mindset that plagues the United States. The disregard for human life and general lack of empathy or caring glorified by The Expendables is not new. I’ve seen movies like this for my entire life, and the shows go back at least to the westerns of early cinema. Popular movies are just a mirror for exposing what we like. Americans are a violent and warlike people. Just because some of us wear a suit and tie to work doesn’t mean that we don’t carry that violence inside. We are not too far removed from Romans who would watch gladiators duel to the death in the Colosseum for sport.

Our culture of violence, and our deep embrace of guns as an expression of individual achievement and self-realization is a deep problem that is not going to go away any time soon. We make assault rifles available to the general public, but most states will still lock someone up for possession of an eighth ounce of marijuana. We have much work to do.

Escalation

The shooter arrived at the school wearing a bullet-proof vest, military style clothes, and a mask. He used the Bushmaster to shoot open the door, and then killed the first two people who tried to stop him. Our local school board addressed the security of our school at the monthly meeting, where a respected member of the community, a doctor no less, said:

There’s no better deterrent than shooting back at someone.

That depends. On several factors. In the case of the Connecticut incident, I’m not sure it would have mattered. It is very difficult to stop a determined gunman, especially one who has already made up his mind to take his own life. If a target is guarded, the first person you take out is the guard. If the guard is carrying a weapon, you make sure you have a counter-weapon, something big enough, fast enough, and powerful enough to win in a gunfight.

However, the real issue is not properly equipping the guard to deal with a siege. The issue is that the doctor’s proposal recommends fighting the problem with more of the problem. It is the expendables answer. It is Rambo’s answer. The problem is not that our schools are not better protected, the problem is that we have a culture that encourages violence, provides easy access to powerful weapons, and does not provide adequate treatment for mental illness.

Guns

Take a look at the Bushmaster in the image above again. Why do we want this in our world? Why does this weapon exist? The obvious answer is because there are bad people in the world that need to be dealt with. I agree, and I am so thankful for the military members who put their lives on the line to protect our way of life. But why outside of that context, outside of the group of people we have selected to deal with threats, the police, the military, why does the Bushmaster need to be made available to the general public?

If you privately own one of these weapons, why?

My favorite argument against tighter gun laws is that criminals do not obey the law, so they would have guns and law abiding citizens would not, leaving the good people at the mercy of the bad. It is a nice sentiment, but not one that holds up under scrutinization. In the imaginary situation where guns other than rifles for hunting were outlawed, where would a mentally ill person contemplating shooting up a kindergarten get his guns? From the mafia? From the local, small-town underground arms dealer? I would assume that whatever pleasure is gained by owning a weapon like this would not be enough to offset the risk accepted by breaking the law to obtain the weapon. Therefore, assuming that the local police are doing their job, the weapons would not be available.

Besides, criminal access to weapons is a different problem than the one being addressed here. This is a problem of culture and availability.

The Second Amendment reads thus:

A well regulated militia being necessary to the security of a free state, the right of the people to keep and bear arms shall not be infringed.

The right to bear arms so often called upon by gun enthusiasts is misused. The founders of our nation were saying that local governing bodies could organize a militia. I’m certain that the founders could not envision a Bushmaster, nor could they imagine a world where someone would use one to murder children. We live in a world unimaginable to the people who founded this country, so interpreting their wishes makes little sense. We need to decide for ourselves what is best for the current world we live in, and what is best for the immediate future.

My opinion is that the only gun a private citizen truly needs is a rifle for hunting. Would the massacre in Connecticut have happened if the only gun the killer could get his hands on was a single shot rifle? I don’t think so.

Change

We have a few things to work on, America. Let’s put an end to glorifying senseless violence. Let’s get the weapons who’s only purpose is for us to more efficiently kill each other off the streets. Let’s focus on getting people who need help the help they need. We are better than this, we can do better.


On Culture

December 7, 2012

You never need to prove to anyone who you are. You simple are who you are. Claiming that someone else is faking their interest in a topic is ridiculous. Our interests and curiosities define us just as much as, if not more than, our histories and personal experiences. Friendly competition between peers on knowledge of the esoteric details of a given subject is good fun, but not a defining prerequisite for claiming curiosity about the subject. I would like to think that the previous few sentences are unnecessary in a conversation with adults, but unfortunately, as the recent conversations surrounding “fake geek girls” has shown, that is not the case. In a sad way, many of us have not matured past the social battleground of middle school.

I was not a geek in school, I didn’t get into computers till I was in my twenties. I can not claim a long history of love of board games, I’ve only played D&D once, and didn’t get a lot out of it. I was never a gamer, but I liked Legend of Zelda and Super Mario Brothers. I was never a jock, but I liked playing football. Despite our deep tribal instincts, I have never really belonged to any particular group with any depth. Not belonging did not mean not wanting to belong though. So, when I read Serenity Caldwell’s post Fears of a Charlatan Girl it struck a nerve. In it, she describes a fear that I remember:

But my biggest fear is ill-defined, murky, opaque. I can’t pack it into a pithy sentence. I can’t even clearly explain it.

and…

There are more blog posts and conference talks and speeches than I can point to about this feeling—that you’re not worthy, you’re not an expert, you shouldn’t be talking, you shouldn’t be doing this job.

I do not know Serenity, but I think I may be able to define her fear, at least as I remember it. Rejection. It is the fear that lies in the gulf between who we are and who we aspire to be. We know we are not our perfect vision of ourselves, but it is in this aspiration that we grow to become the best we can be. God knows I’m still trying to bridge that gulf. God willing, I will never stop trying.

Reading about the drunken rants of someone who has not been able to get past whatever happened in his formative years, I can’t help but think that, yes, he is wrong, but more importantly, why do we care? If you want to dress up as Captain Marvel and go to a convention, go for it. If you want to get on a podcast and talk about the books you are reading, I’d love to hear it. Fear of rejection, of being called out, keeps many of us from becoming the person we were meant to be. I’m still trying to get there.

IF you can keep your head when all about you 
Are losing theirs and blaming it on you,
If you can trust yourself when all men doubt you,
But make allowance for their doubting too;
If you can wait and not be tired by waiting,
Or being lied about, don't deal in lies,
Or being hated, don't give way to hating,
And yet don't look too good, nor talk too wise:
If you can dream - and not make dreams your master;
If you can think - and not make thoughts your aim;
If you can meet with Triumph and Disaster
And treat those two impostors just the same;
If you can bear to hear the truth you've spoken
Twisted by knaves to make a trap for fools,
Or watch the things you gave your life to, broken,
And stoop and build 'em up with worn-out tools:

If you can make one heap of all your winnings 
And risk it on one turn of pitch-and-toss,
And lose, and start again at your beginnings
And never breathe a word about your loss;
If you can force your heart and nerve and sinew
To serve your turn long after they are gone,
And so hold on when there is nothing in you
Except the Will which says to them: 'Hold on!'

If you can talk with crowds and keep your virtue,
Or walk with Kings - nor lose the common touch,
if neither foes nor loving friends can hurt you,
If all men count with you, but none too much;
If you can fill the unforgiving minute
With sixty seconds' worth of distance run,
Yours is the Earth and everything that's in it,
And - which is more - you'll be a Man, my son!

Kipling was a product of his time, but you can replace “Man” in that last line with “Grownup”.

One last note on the apparent abundance of misogyny in geek culture. If you exclude someone from your social group based on what they are, what they look like, or some other measure outside of shared interests, how dare you. Shame on you. Stop it. (Oh, if only it were that easy.)


Quiet Time

December 3, 2012

The office is empty this morning. I just closed iTunes, and I am enjoying listening to my own thoughts. No music, no talking, no background, just quiet. Sitting in silence is a luxury these days, and one that should not be taken for granted.

When I was a kid I loved to find these quiet hidden spots. They were usually by water, but sometimes they would be a small clearing in the woods, or a smooth rock off of a gravel road that climbed above the forest. To find a favorite of mine, you would visit the local riverside park in our small town. From there you would walk along the shore to the edge of the park, climb under the brush and push your way through small trees that created a natural barrier concealing a small strip of land that jutted out into the river. To look at it from the outside you just saw the canopy of the trees and bushes that grew there naturally, but once inside you could climb back to the river where there was a small clearing. A place just big enough for a boy to sit, and a handy accompaniment of small rocks to toss in the river.

I don’t know how much time I spent there, or how many times I would find myself looking for the shelter of peace and quiet, but there were enough times for me to mark it as being significant in my youth. A recent article in the opinion section of the New York Times titled The Quiet Ones (found through a link from the excellent site enough, by Patrick Rhone) reminded me of these times, and how important it is to be able to turn it all off.

I was trying to explain to my kids last night how different the world for them is now than it was for us. We had no Internet, no cell phones, no computers. These things existed at the time, but in our small mountain town, none of the people I knew had them. If you were lucky you might have a Walkman, if you were really lucky you might have a game boy, but the batteries would die, and you were left with nothing to entertain you. If your parents had money, they might have bought you a Nintendo, but even then we had nothing like the constant, always on, on-demand stream of entertainment and connectedness that we have today. If you wanted to talk to one of your friends, you picked up the phone attached to the wall and dialed their number on the rotary dial. Or, more likely, you just walked over to their house and knocked on the door.

Even the walk over to a friends house was quiet time. Time to let your imagination flow wherever it pleased. These times were important, it is in these little in-between times where we are defining ourselves. If we are constantly seeking out the feedback and approval of others, we are not giving ourselves time enough to decide who we are on our own.

As a parent, I want to make sure my kids have the educational and competitive edge they need to be successful when they enter the workforce. I also want to give them the things they want, just because I love them. But there are times when I worry about what the ubiquity of “free” entertainment is doing to them. We didn’t have the Internet when we were kids, so we don’t know what the long term effect will be fore them. Are they getting enough quiet time? Am I? It is this worry that prompts me to send them outside to play instead of watching a movie, and to restrict their Internet access, and to prompt them, again and again, to read, create or use their imagination.

I am not a Luddite, I’m not against technology. I make my living off of it, and I understand the internal workings of it quite well. Perhaps it is this familiarity that has begun to breed a certain type of contempt. We are lucky enough to have access to whatever we want to watch, listen to, or play, whenever we want it, but with this freedom comes the responsibility to ourselves to know when to turn it all off.

Turn it off, and spend some time alone, in a quiet place.


Energy Saver Preferences

November 14, 2012

My MacBook at work sits on my desk all day and all night. When I sit down to work on it, I expect it to be ready for me, and ready to ask how high when I tell it to jump. I get a bit annoyed if I come back after a few minutes or an hour and find that the Mac has gone to sleep while I’ve been gone. So, I spent a few minutes in the Energy Saver preference pane to configure the machine to my schedule.

First, yes, my battery is shot. I should get that replaced, but since the Mac never leaves my desk, I don’t see it as being a big deal. This is a 2007 MacBook Pro, she’s got some miles on her, but she’s still snappy at just about everything I want to do. I run Windows XP in VMware Fusion, and am running the latest OS X with no problems. One thing that takes a while for it to do though is wake from sleep. I can hear the CD-ROM being accessed when it wakes up, and it always takes longer than I’d like. So, when I’m working on the machine, I never let it go to sleep. However, being at least somewhat energy conscious, I want the machine to go to sleep at night when I’m not around. So, I’ve dragged the slider for “Computer sleep” over to 3 hrs, which gives me plenty of time for meetings and a mid-day lunch without the Mac going to sleep.

I let the display go to sleep after ten minutes. I find that it is rare that anything I will be reading on screen will take more than that.

The Schedule button in the lower right is a gem. From here I have the Mac wake up from sleep every day at 7, right as I’m sitting down to work. I also have the Mac reboot every week, midnight at Saturday. I do not necessarily believe that OS X generally needs to reboot that often, but given how much I do with mine, and the age of the system, I would rather have it reboot automatically while I’m not around than need to do it during the day when I am.

I also have the software updates set to automatically download and install in the background. Combined with my scheduled weekly reboots, this setup should give me a clean running, up to date Mac to get things done with.

So far, so good. I have not seen anything wrong with this setup yet.


Forgotten and Beloved

October 24, 2012

I was given a clean slate of a Mac to work with this past Monday, so I gave some thought to which apps I wanted to use. Looking back at some of my favorites that have fallen behind, I was left with a bit of nostalgia for the apps that once made the Mac experience great. It is easy to tell which developers care about keeping their application up to date, just check the top right corner and look for the full-screen opposing arrows. If they are not present, there is a good chance that the application has been abandoned.

Mac OS X Lion was released in July of 2011. As I write this, it is now October of 2012. If in the fifteen months that the full-screen API has been available the developer has not taken advantage of it, odds are good that they have not kept up with any of the more interesting advancements in the past year either. For the most part, the applications listed below still work well, but it is a shame that the once great have been left by the wayside.

OmniWeb - OmniWeb is the oldest browser still under development, although it may soon cede that title. OmniWeb was released in March 1995, Internet Explorer was released five months later in August 1995. OmniWeb’s most prominent feature is visual tabs. Unlike other browsers, OmniWeb uses a drawer to show a vertical list of thumbnails of the site, making it very easy to tell which tab holds the site you are looking for. OmniWeb also has a great feature called Workspaces that saves the state of the browser, including all open windows and tabs, in groups that can be switched between. So, if you are doing a lot of research on a particular topic, and want to save where you are for later, you can save the workspace and return to it at any time. Dr. Drang recently wrote an applescript to accomplish nearly the same thing with Safari. OmniWeb used to be a paid application, but the OmniGroup released it for free in 2009, and it has not seen a significant upgrade since.

Yojimbo - Yojimbo was released by Bare Bones Software in January 2006. I bought a copy, and upgraded to version 2 in 2009, and to version 3 in 2010. I have tried, and failed, to use Evernote and DEVONthink for the same thing I use Yojimbo for, but there is simply nothing out there that makes saving and finding data as easy and fast as Yojimbo. Over the years I got used to the Command-C, F1 keyboard sequence to copy something and throw it into the Yojimbo database. Unfortunately, when Apple made the transition from MobileMe to iCloud, the syncing feature that Yojimbo used was lost, and Bare Bones needed to do some major modification to the underlying data storage piece, modifications which are still underway. Or, so we’ve been told anyway, over and over again. In the meantime, unless there is a major version 4 coming around the corner somewhere, Yojimbo feels like another OmniWeb; amazing at what it does, but left behind by the developer.

Delicious Library - I love organizing things, and Delicious Library was built for the obsessive compulsive in all of us. It comes with a great barcode scanner that worked before there were barcode scanners that worked. It had fun animations, it won awards, it’s developers got rich or joined Apple, and then it dropped off the radar. DL3 was announced, and a request for beta testers went out, but the software has yet to be released. Delicious Library was one of the apps that I would show off to Windows users five or six years ago, and it is one of those apps that I always thought would make a natural progression to iOS and the iPad. Sadly, it seems this is not to be.

It is understandable that each of these applications must bow to the pressure of the economy, that their developers must make decisions on what to work on based on financial benefit and health of their company. However, the loss of active development of some of the best applications available for the platform worries me. What is becoming of the developer ecosystem when the best in class is abandoned, and seven of the top twelve applications in the Mac App Store belong to Apple? The Mac has never been stronger, Apple’s engineering has never been so advanced, and if there were ever a time to make your app shine, this is it.