How should developers build apps?

Earlier this week, I read a post titled “Build Libraries, Not Apps“, where the author (Nicolás Ortega Froysa) puts forth an idea that software developers should create the main part of their applications as libraries, then create APIs so that other developers can create alternate user interfaces in other clients if desired. I can see that being an appealing goal for developers who want their application to be used in lots of other settings. However, I do not think that most applications are designed to have alternate user interfaces. For myself, I think of the user interface that I want my application to have, and then create it, and then create the logic that powers that interface. It is not a design goal for me to support an API. Froysa mentions different ways that Unix/Linux applications can interact with libraries (GUI, text interface, command line interface). To me, if a design goal of the application is to support multiple clients, or provide services to other applications, then including an API makes sense.

Install notes on 1999.io and MyWord Editor

I am working with Ron Chester to set up some instances of the 1999.io and MyWord Editor blogging tools, and have some test installs working on my Digital Ocean instance. I did have to make a tweak to one of the files in the nodestorage app, will be filing a Github issue on this. However, I did want to capture a few points that I re-learned in doing this again:

  • Install separate instances of nodestorage for each app (using different ports), otherwise you will mess up one of the tool outputs.
  • The Twitter API setup at apps.twitter.com has changed a little bit, what used to be called consumer secret and API secret are now part of the API secrets at the top of the page with the secrets info.

If you want to try the installs, go to the following URLs: