Category: <span>Thoughts about Software</span>

A sidebar here with some of my thoughts on software development over the last decade……

In the old days, when a user ‘bought’ a copy of software, you were then able to use it forever. You owned it (technically, you owned a ‘license’ to do so, but that is irrelevant to this discussion) and that was the end of it. At that point, the company could improve upon their software and sell you updates with more features. A very simple relationship emerged from this delicate balance….they offer you new things and you have the option to buy them or stick with what you have. The converse of this is that they don’t get more money from you unless they create new features desired by you. A simple check and balance system that worked well for decades.

Now, most software reaches a point in its development where it really ‘does everything it needs to do’. Yes, yes, there are always other things it can do, but they can run out of primarily desirable and sell-able things to add. The application reaches a state of equilibrium, updates can fall off and development slows. Then more people don’t buy updates, and it continues like this. A software developer then faces a choice: Stop developing something an application for which they aren’t making money or get more creative about features. Many times this is why a software application disappears and a company goes out of business.

These was an era I refer to as B.A.

Before Adobe.

Adobe (makers of Photoshop and a zillion other applications) began implementing a new concept. Yes, before you try to correct me, there were others before Adobe but they were one of the most obvious at the time. The idea is simple and absolutely brilliant and fixes everything that is wrong about the previous software era from a business standpoint. If the person who came up with this idea didn’t get an award, they should have. I’m guessing that the board meeting in which this idea was presented basically went something like this……

Call it renting, leasing, whatever you want. You would have to be an idiot not to see the financial advantage this gives a software company. You must pay for every day you use our application, whether or not we add value to it in the future. Of course you can always switch to another competing application if you can find one, but have you ever wondered why software companies buy each other up?

Within a few years, most of the software which is owned by the company at which I work used began switching to this model.

I called this the A.A. era, for After Adobe.

In my opinion, software features & enhancement has never been as good for the user as it was in the B.A. era of development and will never be so again.

A Change in Software Paradigm

Between work and home, I’m involved in a lot of things that require a fair amount of organization. My organizing applications have gone through several cycles…..

  • Datebook+ on the Palm Pilot and later compatible hardware. This application had a feature called ‘floating events’. If you placed an event on tomorrow’s date but didn’t complete it, the event would move to the current day each day, causing them to pile up and making it very obvious you were falling behind. You could easily move them into the future to reschedule things. When Palm went under…..
  • I moved to Outlook. While Outlook has it’s strengths for integration between mail, reminders, calendars and other data, I hate Outlook’s UI and email interface in particular. The difficulties in showing a properly threaded email tree (NOT what they call a ‘conversation’ thread) are painful to endure.
  • Today, things are a bit convoluted. I moved to Thunderbird IMAP for email 100% a long time ago and can not imagine switching to another email program. I use it on multiple machines and my mail always stays in perfect sync. Since I have an iPhone, iPad, Mac and Windows PCs, the only way to have synchronized, consistent reminders was using Outlook and the iOS Reminders applications, since they all can synchronize to a Microsoft Exchange account. iOS Reminders has only one feature I like, and that’s the ability to add items to it fully by voice (Siri) and not use any buttons. Since I am stuck with using a Gmail account for work, I resort to using it’s calender as well when I must. I use Thunderbird for my Gmail as well, as nothing on earth could make me suffer GMail’s web browser UI.

I needed something more robust that email and calendars, and OSX Reminders are very agile for manipulating more than a few dozen items.

I stumbled across Workflowy online one day while looking into outlining applications. It was the least expensive of it’s competition and I immediately loved it’s simplicity. I purchased a subscription and immediately began using it to supplement the OSX Reminders application.

I quickly discovered that the ability to outline (hierarchically) my information was very powerful. The only things lacking (for me) at the time were date support, notifications (Hey, this is due now!) and Siri voice support for quickly adding items. At the time I started using Workflowy none of this was available.

But what Workflowy did bring to the party was worth it for me. I made some suggestions, discovering that I wasn’t the only one clamoring for dates, notifications and Siri support and contributed to those ‘feature requests’.

Workflowy did add date support over the last few years (although not really reminders). I wasn’t the only one to continue to suggest other feature support. A few times over the years, people have suggested that perhaps Workflowy’s development pace had slowed, as we never saw any of the things we requested.

I recently added more comments to a thread on Workflowy development to which a few people agreed. Like most online discussions, some didn’t, including a Workflowy forum moderator. It was implied that development of the features we had been suggesting wasn’t on the table, yet no one had told any of use who had been asking for years. Of course, the developers are under no real obligation to tell anyone what they are planning, but since this was an active discussion it seemed like we were being a bit mislead. All the discussions were very professional, both from Workflowy and users such as myself. I decided to look outside the “Workflowy box” for alternatives……there were several, amongst which I discovered Dynalist. It did most of what Workflowy did, was a little different and was a bit more expensive, but had a very open dialog with it’s users about features, planned items, and development seemed to move quickly. This was very noticeable by a history they keep online of features and versions as they are added. Development seems constant (monthly blog updates), whereas as every couple years I would hear that Workflowy was ‘reorganizing’, ‘hiring all new people’ or some such thing. This stuff happens, to be sure.

I cancelled my Workflowy subscription and. migrated all my outlines & data to Dynalist in about 15 minutes.

Dynalist development was very rapid the first year I had it. Dynalist development quickly slowed to a crawl and even their own employees (of which there seem to be two) have implied a lack of development as they work on another application. At least they are honest about it, but the implications are that things that have been promised for years just aren’t going to happen. The only thing worse than hinting to your users “soon” and “right around the corner” all over your forums and Trello accounts is to never deliver on anything suggested.

When did it become so hard to say “Nope, sorry, that’s not going to happen (for whatever reason)”? Are we that afraid that everyone will jump ship?

I recently began researching Outliners again because of this. There are quite a few out there and they are in various stages of usability.

Here’s a quick synopsis of my research into alternative outliners…..your needs would, of course, be different….

  • Workflowy
    • Stable and solid, but development is slow. If you expect something to be added soon, don’t or you’ll be disappointed. Features take YEARS, and that is not an exaggeration. Follow some past suggestions on their forums for proof.
  • Dynalist
    • Stable and solid, but never got split views, development slowed then stopped in September of 2021. The developers have basically abandoned the product for another project (Obsidian). It is done and basically abandoned, but they’ll still take your money.
  • Notion
    • A very complex organizer with a ton of great features for cheap. But the outliner was pretty kludgy, and has no email to inbox capability (a deal breaker for me). Maybe one day, but too expensive for a weak outliner.
  • Omni Outliner
    • Really nice outliner, but not designed for multiplatform use. No Windows version (deal-breaker).
  • Omni Focus
    • Rather limited outliner, lots of organizational features but can be used in cloud. No Windows version (deal-breaker). Very nice people to talk with, shame they’ll never port to Windows.
  • ToDoist
    • More of a to do list than a real outlining application. Great for To-dos, but takes a lot of button clicking to do simple things. Typical of most web-type applications.
  • Roam
    • Seems to be making a lot of noise out there and I’m not sure why. Not a lot of features, several times the cost of everyone else, and it just doesn’t seem worth it.
  • LeoVUE
    • An interesting programmer oriented organizational wiki tool. We too complex for rapid the organization I need.
  • OpenToDoList
    • More of a to do list than an outliner.
  • LogSeq
    • Could be interesting one day but way too early in alpha development at this stage.
  • Transno
    • This looked great but couldn’t find a lot of info. I fear it may be dead as there were dead links on their web page and I never received responses to my inquiries.
  • GetOutline.com
    • Very interesting. Still communicating with this group to get features. Might be a bit early in its development yet for real world use.

UPDATES:

February 15, 2021:

I moved from Dynalist to Workflowy when development on Dynalist stopped cold.

February 1, 2022

Frustrated with (yet another) slowdown in Workflowy development, I decided to try Legend (formerly known as Moo.do). It has true Panes and a lot of other nice outlining features. At first glance I immediately thought I’d found my holy grail of outliners……however….

After a few weeks of testing, it was just too buggy. Bugs, bugs, bugs, losing data, not syncing correctly, showing things that had already been deleted. It was a great foundation but I just couldn’t trust it with my data. I was pretty disappointed. It looks like it’s made by a single developer who works on it part-time.

March 1, 2022

I moved back to Workflowy. Despite it’s slow development it remains the only one of the groups that is stable that can be trusted not to lose your data.

Something I’ve learned in my years of using these on-line, subscription-based Outliner apps…..

The development teams either are or seem like they are 1-2 people. They appear to be ‘companies’ with a product, but are all run more like a hobby application that was brought to market. This is obvious in the incredibly slow rate of development.

Do not buy one with the hopes that a feature that has been promised soon will ever be implemented. I’ve seen things that were labeled as ‘soon’ still absent after 6 years. Buy it for what it is at the time, then stop hoping for features. Then everything that does appear will be a nice surprise.

I’m an experienced programer. I’ve written very large, robust applications (see elsewhere on this blog) in several months of spare time. I refuse to accept the slow pace of development that has become acceptable by these companies of multiple developers, especially when they are being paid. Someone isn’t working full-time on these apps.

A sidebar here of some of my thoughts on software development over the last decade……

In the old days, when a user ‘bought’ a copy of software, you were then able to use forever. You owned it (technically, you owned a ‘license’ to do so, but that’s a detail) and that was the end of it. At that point, the company could improve upon their software and sell you updates with more features. A very simple relationship emerged from this delicate balance….they offer new things, you can chose to buy them. The converse of this is that they don’t get more money from you unless they create desirable features. A simple check and balance system that worked very well for decades.

Now, most software reaches a point in its development where it really ‘does everything it needs to do’. Yes, yes, there are always other things it could do, but they can run out of primarily desirable features and sell-able things to add. The application reaches a state of equilibrium, and development slows. Then people don’t buy updates, and it continues like this. A software developer then faces a choice: Stop developing something they aren’t making money on or get more creative about features. Many times this is why a software application disappears and a company goes out of business. No one buys it because it doesn’t do what they need, or doesn’t continue to add what they need. Enter the ‘subscription model of software’ aka Software as a Service/SaaS, as the current “final solution” for developers of software. Here was have the perfect method to get a continuous, guaranteed revenue stream from the user with minimal work from the developers over time.

For more on this, see the section of my blog named “A Change in Software Paradigm”.

A Saga of Outliners

Over my decades in the post production and visual effects business, I’ve experienced many occasions where we’ve had to name a new computer, service or application. Sometimes we would ask people’s opinions, sometimes we didn’t. I’ve kept track of some of them over the years along with snippets of the conversations that took place when names were ‘discussed’. Here are a few of them, usually with two to five people at a time responding, verbatim. You just can’t make this stuff up and it will all end up in my book one day.

ME: “We’ll name the new giant killer render farm machines after monsters from old Japanese monster movies, “GodZilla, Mothra, Rodan….Cool, right?”

Why Monsters? Why not muppets or famous wrestlers, dude? Those would be way better. Why not just Farm1, Farm2, Farm3. That’s too confusing and no one will remember them.

ME: “We’ll name the business servers FS01, FS02, etc for File Server 1, File Server 2, etc…so people can remember them.”

The Crowd: “That’s boring and not very creative. We want to look creative. Why not use names of famous people like Sinatra, Davis, Martin….”

ME: “We’ll call the temporary directory “TEMP”, so you always know it’s temporary, ok? They’re only temporary so keep them somewhere else.”

THE CROWD: (at any future time) Why did the things that were in TEMP go away?”

ME: We don’t need another temporary folder. Just use the one called TEMP”

THE CROWD: “We need another and it should be called TEMP2. But it will be permanent.”

ME: “Isn’t that what everyone thing else, besides TEMP, is already?”

THE CROWD: “No, that isn’t clear enough. How about renaming the old TEMP folder JUNK. NO! How about STASH or GLOVEBOX?”

ME: “We’ll name the new media servers after pop culture waitresses, like Alice (Brady Bunch’s maid), Rosie (the Jetson’s maid), etc. Get it? They were all servers, right?”

The Crowd: “No one will ever remember those. Why not make ours Graphic Server and the other one Edit Server…?”

ME: “We’ll just name the backup server “Backup Server” because that’s what it is and does. Easy, right?

 The Crowd: “How are we supposed to know what it backs up?”

ME: “We’ll call the new universal encoder application nCode? Get it? nCode? Clever, right?

THE CROWD: Person’s eyes roll back into there head as they think ‘geek’.

ME: “We’ll call the app that manages all the jobs JobManager. Perfect and no doubt about what it does!”

THE CROWD: “Couldn’t you come up with a better name than JobManager? Not very exciting.”

ME: “We’ll call the Houdini Render Controller “Harry”. Get it? Harry Houdini?

THE CROWD: “Harry is a dumb name for a program.”

ME, a year later: “Since the Render Controller can now render things other than Houdini, we’ll call it “UltraRender”.

THE CROWD: “Can’t we just leave it as Harry? We want it associated it with Houdini?

ME, years later: “We’ll call NEWEST render controller “Miranda”, after the character in Shakespeare’s “The Tempest” who watched all the ships from the attacking fleets crash into the rocks!”

THE CROWD: “What? Why can’t it just be called RenderController?”

ME: “We’ll call the new media server Kong, because it’s a giant monster bigger than anything we’ve ever had before.

THE CROWD: Why Kong? Why not just “Server”? Why not “GraphicsServer”? Why not “Jobs”?

ME: “What should we name the new Media Library application?”

THE CROWD: “Who cares what it’s called?”

ME, later: “We’ll call the Library Application Emily, short for Electronic Media Library”.

THE CROWD: Why Emily? Who’s Emily? Why not Library? Why not DAM? Who came up with Emily?

THE CROWD: “I really think this (JobPortal Server) needs a name. You know….like ‘Kong’…..but not like ‘Junk Drawer’ “

ME: sigh.

After a while, we stopped asking people for name suggestions. A former president once said to me “Questions I know the answer to, I don’t need to ask, right?”

What's in a name?