Some thoughts on first-run experience for software apps

In the past two days, I installed three digital audio workstation applications on my Windows laptop (Ardour, LMMC, Reaper). In each case, I just downloaded the latest version, did the install, then started the app. For Ardour and Reaper, both of them wanted me to select an audio input device (well, I didn’t have one!). I just clicked on something to get to the main app. For Ardour, I had to quit and try again, since the thing I clicked did not meet the app’s expectations. Only LMMC was able to start without some dialog popping up. For all three apps, I was then faced with a screen filled with various subwindows and a menu bar. What to do now?

Now, I will admit that these types of programs are complex, and require the user to know a little something about what they want to do, or how to use them. But when you compare this with many smartphone apps, there are usually some choices you can make from just looking at the screen to get started. Sure, each of the programs has some “getting started” resource (Ardour, LMMC, Reaper), but it might be nice for the app to have some built-in starter setup or task accessible from a menu (or something!). Just my two cents…

Dear Lazyweb: any recommendation for MIDI controllers? I am looking at this one, but open to input from others.

Kinetic launchers and crimes in space…

Two recent stories of note:

TheTechie:

But there’s one company — named SpinLaunch — working on a different way, this time looking to send objects to space using a catapult, yes you read that right.

…SpinLaunch, by early next year, aims to begin the first tests of firing catapults containing payloads at hyper-sonic speeds to launch objects into space.

This may be good for things, but it’s hard to see if this would be safe for people…

BBC:

Nasa is reported to be investigating a claim that an astronaut accessed the bank account of her estranged spouse from the International Space Station, in what may be the first allegation of a crime committed in space.

Anne McClain acknowledges accessing the account from the ISS but denies any wrongdoing, the New York Times reports.

Her estranged spouse, Summer Worden, reportedly filed a complaint with the Federal Trade Commission.

How is it a crime to check your bank balance from space?

Are microwave-safe dishes really safe?

I was heating up a Lean Cuisine dinner today, and part of the “dish” melted in the microwave. Now, I did not quite follow the instructions, which were to heat for 3.5 minutes, then stir, then heat for 1.5 minutes more (I just went for 5 minutes – I have cut back on that rigid following of instructions). It looks like there was some fluid trapped by the food, and the heating of that fluid resulted in the melting of the plastic dish. This is the first time this has happened to me – could be just a fluke – but made me wonder if I should be more careful in the future. Thoughts, anyone?

They don’t make them like they used to…

Ken Shirriff has restored an Apollo Guidance Computer (AGC), used in the Saturn V spacecraft. He recently published an article on how the power supplies still worked flawlessly after 50 years. Recently, two embedded computers that I work with burned up their power supplies, so this is really impressive to me! Ken has also written articles on creating a core rope simulator (the way software was programmed), writing software on the AGC to do bitcoin mining, and a more detailed discussion of core rope memory. Finally, he has references to a virtual AGC simulator, and to a great summary page on simulated AGC projects. Wow!

Computer music formats

I am trying to collect some information on music formatting languages/tools to assist me in doing some algorithmic music composition.

MusicXML – granddaddy of them all (used by Finale, Sibelius, many other music notation software applications)

Collection of formats – Interesting site with extensive collection of formats

Music JSON proposal – GitHub repo with a proposal for notating music in JSON

Using LilyPond as input to Tone.js – Will have to look at this some more…

Musescore – open source music notation program

VexFlow – open source music notation program that uses VexTab as a music notation language

OpenMusic – a visual music composition language, with applications available for Windows, Macintosh, and Linux.

JAMS – JSON Annotated Music Specification Github repo (other docs)

musicxml-interfaces – NPM library for parsing MusicXML to JSON

musicjson – NPM library for converting MusicXML to MusicJSON and back again

W3 Music Notation – community group

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.

Thoughts on losing weight

Like many adults, I have “a few too many pounds”. I have been on Weight Watchers twice, with not too much success. A few years ago, I was able to lose 20 pounds (at the rate of about a pound a week), but I was pretty disciplined about what I was eating. I haven’t been that disciplined since that time, and it shows. Recently, I am trying to eat a smaller amount at breakfast and lunch, with a regular dinner. So far, when I stick to that, I start making progress again. The thing is to keep on track with small meals – when I get off track, weight loss slows or reverses for me. I think the main thing is to hang in there – it’s a marathon, not a sprint – it’s ok to get off track as long as I get back on track….thanks for listening.

Owning your tools

In the engineering world, the phrase “make or buy” or “build or buy” is common. It represents a design choice/decision to purchase components/equipment/software for a project (buy) or create it yourself (make/build). Things that are considered include cost, ease of inclusion in the design, flexibility, and other attributes. For software users, a similar choice exists, which could be called “set up your own tools, or use services provided by others”. Things to consider are cost, ease of use, features, and portability and ownership of data, among other things.

I use River5 as a feed aggregator, and create single page apps to display combined feeds (Andy Sylvester’s Reading List). There is some friction to start (get a server if you don’t have one, install software, set up single page apps) and some friction for updates (have to FTP subscription list updates), but after the setup is complete, I have had almost no problems. I could have used some online service (Feedly, Flipboard, many others), but then I would be dependent on those services (could have outages, terms and conditions might change, other restrictions on the service might occur, the service could go out of business). Similarly, I use my own install of WordPress on the Bluehost hosting service. I control it, I decide when it gets upgrades, and I can keep backups and move it to another service if I want.

To me, the cost/inconvenience is worth it to own/control the tools I am using. Whatever you do, be mindful of the choices you make….

Building community

Ton Zijlstra commented on a post by Chris M about what would be a critical mass for a community. In Ton’s reply, he links back to a post, which links to a presentation on steps to consider in building/starting a community. I think the presentation contains some excellent material. I participate in a biweekly meeting of software engineers at my workplace (using the Lean Coffee format), and feel we have made some good progress in turning that into a community of practice. Reviewing this presentation, I can see some areas that we might be able to improve on. I hope to pass on some thoughts to the group leadership..