November 20, 2017

A new podcast chapter

Podcast chapters is a true niche app. It is a Mac app for (you guessed it) editing chapter information - and a handful of other pieces of information such as artwork, title and so on - for podcasts. The first version came out almost two years ago, and as far as I can tell it remains not only the only purpose-built graphical app for the job, but one of extremely few apps of any kind prodviding chapter editing for mp3 files.

Having edited a fair few podcasts the appeal of a nice app for this job was immediate, and if anything it felt a bit too cheap. I want, like and use this app after all, so I want it to continue being updated. Version 1.0 was quickly followed by a 1.1, then 1.2 arrived eight months later. Then all was oh so quiet. Considering just how niche Podcast chapters is, I was not surprised by this, and the app kept doing its job well. However, there were some low-hanging fruit-type things which nagged me. I sent a thank you-mail and included my suggestions. I received a nice reply which included good reasons why the app was not currently being updated.

So I offered to help make the changes.

It felt simple. I want a great app like this, I want to support the work already made, there was no pressure, plenty to gain, and if I got nothing done nobody would have lost anything. Thomas who makes the app is a great guy, so after some back and forth working out the details, I found myself with a truly fun and useful side project.


The main challenge was the march of time. The whole app was written in Swift 2, and as I started to dig in Swift 4 was on the verge of release. Swift 3 was a rather dramatic step, so there were a lot of things to go through and fix semi-manually. Much of it was clicking on icons and choosing the suggested solution, but quite a bit required minor rewrites which gave me my first serious experience with Swift. I think I like the language quite a bit, and just like when I learned Objective-C, getting into the thinking of the frameworks was at least as big a thing as the language itself.

The librarian

The march of time was not all bad though. The old version had used a third-party library for handling JSON, work which Swift 4 made trivial to handle without any third-party code. This not only saved a library, but the whole infrastructure of Cocoapods. Which was great in itself, because I am not even sure I got all that to work correctly at any point.

Podcast chapters used one more library: ID3Edit. It turned out to be another victim of the march of Swift. Because it too was written in Swift 2, I was not even allowed to build Podcast chapters with it. The developer of the library felt burned enough by this that he has reverted the whole project back to Objective-C and plans to stay there. I do not feel it is the right way to go, but I have to say I can relate and understand the decision. In any case, building the Objective-C version and copying it into the project turned out to work perfectly. I wonder what I would have done had that not been the case. Possibly learned more Swift by contributing to the library. Not a bad next project, really.

Now entertain us

Podcast chapters 1.3 was released today. It runs shiny new Swift 4, has drag and drop of images and also a bunch of fixes and additions made by Thomas. It feels great to be able to help with a useful app. I have a few more ideas I might try to add moving forward. But part of what makes this project so good is that there is no pressure at all, so I make no public plans or promises.

(Also feels rather weird and wonderful to think a bunch of people I listen to all the time will use my code 😊.)

November 10, 2017



Roll over.

Enjoy the silence.

Øredev - a rather massive yearly developer conference in Malmö - ended today. Like 2015, I attended as a sort of officially blessed podcaster, interviewing speakers on and off stage. I ended up doing ten interviews, attending a decent number of talks in the breaks I had. (Topping it all off with a podcast with friends to celebrate wrapping up the final interview.) I had a great time again, and the results will gradually trickle out wherever podcasts are broadcast.

Suddenly it was time to leave, after four days just as long as they were instant. The train whisked me home in a semi-conscious state, dropping me off for a walk in the November rain.

The apartment door shut behind me, and suddenly it was oh so quiet. Peaceful and still.

Side note

This is being typed while listening to Imogen Heap. She was there, performing an amazing song, demonstrating the awesome gloves, talking technology and music and generally being spellbinding. Just one of many great impulses, impressions, instants. So much to decompress.

Back to the show

Last time, I was walking around in a content but tired haze for at least 24 hours. This time I do not think I am quite as drained. Which is very good, because I also do not have 24 hours to just be introverted just yet. Tomorrow will be full of the jubilant recording, live broadcast and celebration of the 100th episode of Björeman // Melin.

I expect Sunday to be a … rather laid-back day. For now, a good night's sleep will suffice before the next burst of activity.

Nothing like people to get you through the November darkness.

October 22, 2017


Tree in autumn colours Tree in autumn colours

I knew Thimbleweed park existed. I very much intended to play it. But these facts were very much in the back of my mind. I was not really aware when the game was released, for example, and so it was more or less on unplanned impulse that I bought the game for the PS4 last week.

Thimbleweed park Thimbleweed park

Thimbleweed park is a classic point and click graphical adventure game. Very classic. In the Kickstarter campaign, creators Gilbert and Winnick desribe wanting it to feel like you are playing a rediscovered lost Lucasfilm adventure.

Did they succeed?

They nailed it, heart and soul. My very first play session ended up being three and a half hours, and all my sessions have been unusually long for modern me with a modern game. I finished the game today and have spent much of the rest of my available time reading the development blog and listeing to the development podcast just to immerse myself further. The game feels made for me. In large part because it pretty much was, it is hard to be more right in the middle (righter in the middle?) of the target audience than I am. It is also clear just how much a labor of love everything was, from the updated but decidedly retro graphics, the characters, the storylines, controls and puzzles to the number of jokes and references to Lucasfilm adventures.

I love the in-jokes, but I completely understand why they made them a game option and left it off by default. Just remember to toggle it on if you start this game and are a lover of the pointers and clickers of the 90's.

As of right now, I think Thimbleweed park sits easily among the top five and very possibly among the top three of my overall favourite adventure game experiences. In thinking about why, I started comparing and contrasting with Broken age. I think a large part is that where Broken age tries to do somewhat new and modern things with the classic formula, Thimbleweed park set out from the start to be a great example of what you can do within that classic formula. It does not hurt, of course, that the two main creators helped create much of said formula in the first place. It takes the conventions and revels in them, the way you can do in a genre when you also have a great story to tell. The great story is key, without it the game would be all beautifully pixelated surface and in-jokes and probably feel more like a tired re-hash. Thimbleweed park never even approaches that trap, it has too much to show and tell.

I played for a bit over 16 hours over the course of the week, and I feel ready for more.

Other thimbles

I got the chance to write for Macpro twice recently, so if you enjoy Swedish you can head over there and read my thoughts on the audio editing application Hindenburg journalist as well as some of my thoughts around Apple watch in general and its activity rings in particular. I might do English versions here some day, and now that I have come out as a Apple watch owner and used one for almost a month I might just write more about that as well.

Finally, power just went out in the neighborhood. Life is tough when you have to tether to the phone and use only the builtin screen of the laptop.

Candles are being lit in nearby windows.

October 02, 2017

No fascists on our streets

On Saturday I woke up with a knot in my stomach. It was a beautiful, sunny autumn day full of colours, I had a fun event to attend in the evening and plenty of free time before that. But the knot was there, beause a Swedish nazi orgainzation was set to march in town, police from all over the country was setting up barricades days ahead of time, debates were raging about the rights and wrongs of giving permission for the demonstration in the first place and nobody knew how anything would end up. Many gatherings, counter-demonstrations and other events were taking place to protest and spread positive values instead of fear. But again, nobody knew how anything would go. So, knot in my stomach. It would have been easy to completely stay out of town and feel assured others would deal with the situation. But if we all did that the nazis would march unopposed. And so I found myself biking downtown, still buzzing from morning coffee, parking my bike and navigating around all the barriers to join the largest counter-demonstration.

It was the best thing I could ever have done with the day. Instead of sitting indoors, thinking myself into the belief that the world is dark and fearful, I was outside in the sun with thousands of other completely normal people, confirming and strengthening the fact that most of us are on the side of peace and understanding. Following the events through media of any kind would not have been the same thing either, I needed to be there. So, clearly, did everyone else, and we all are better for it.

There were speeches by various people. There were organizations and words I do not normally agree with, some I may even strongly disagree with. There are many discussions worth having about that. But there is still a great deal of beauty and importance in the fact that so many differences can be put aside and reached across on a sunny Saturday.

(Now, can we all learn to do it on every other day too? Then we are really winning.)

Some wrote afterward that it felt as if the city was under siege. I say it was much more of the calm before the storm. Everyone and everything was bracing for impact, and one of the best things about the day was that the storm never came. The nazis tried to diverge from their assigned route and break through the police lines and were stopped dead in their tracks before even reaching the starting point for the demonstration. Almost every single counter protester was calm and civilized too. I was not near where anything happened, but a friend was and sent me some video of how calm things were even very close to the police lines.

It was a good day.

There are so many good people.

September 27, 2017

Xiki, Xikihub and UI excitement

In this week's Kodsnack I got the opportunity to talk to Craig Muth about his fascinating creation Xiki and where both it and computer interfaces in general may be heading. I came across Xiki in 2014, and its continuing development was one of the first Kickstarter projects I backed.

Xiki is a sort of re-imagining of a command line, wrapped up in a text editor and somewhat mixed with a wiki, and it is just as unusual as it sounds. Craig does a much better job at describing it, so do go look as his examples instead. What really grabs me about Xiki (which I also mention in the podcast) is how new, excitingly unfamiliar and full of possibilites it feels whenever I use it or even just read and think about it. The most similar experience I can think of was when I started using and reading up about Quicksilver - here is a whole new way to get things done on my computer, one very based on text and keyboard input yet at the same time surprisingly discoverable and extremely extendable and adaptable. Yes, I am lost, but I feel sure I can figure things out and find my way around. And in the meantime, just stumbling around is pretty fun in itself. It is much more a case of figuring out just what I want to do and then doing it than wanting to do something but getting stuck because you have no idea about how.

Craig has been working on Xiki in various ways and forms for 14 years, and he has a new Kickstarter going right now. The aim is to fund and speed up (by hopefully being able to pay some additional developers) development of a social and sharing evolution of Xiki. It is called Xikihub and wants to be something of a Github for Xiki commands, and of course accessible right from within Xiki. The idea is that whenever you want to do something for which your Xiki setup has no commands, you can instantly search Xikihub to see if someone else has built and shared such a command. If someone has, you can install and use it right then and there. You can of course share your own commands too, send them by email and do a million other things I have not even thought of yet.

Xiki itself is impressive to me, but even more so is Craig's drive, focus and vision. He has built on and extended his ideas for years, and he has just as many ideas for continuing the evolution. To me, the world could use so much more of this kind of drive to run with ideas, and after our chat I keep wondering which other equally exciting interface evolutions may be lurking out there, outside of my known world (if you know of any, please tell me!)

Craig has been able to devote a lot of time and resources despite not making any money from Xiki apart from the 2014 kickstarter. It is easy to assume that good ideas will somehow have momentum of their own and keep going regardless of income or other active support from others. I backed the first Kickstarter and am more than happy to back this one too, because ideas like Xiki deserve support and long-term evolution. Too many people burn out in one way or another working on passion projects which other people just use and assume will just always be there. I think we would all be better off if we tried to support things we use, or are just plain inspired by, a bit more often.