Tag Archives: About Me

How to turn a Podcast RSS feed into a website

As I wrote previously, getting started with a Podcast can be very straight forward. Todd and I wanted to add some personality to our show’s online presence, so we decided we needed a website. A lot of the information that would normally go on the website is already available in the Podcast’s RSS feed, so I started thinking about a way of not duplicating this effort. The Keep In Touch show is a hobby, and given how busy (and lazy) I am at the moment, I needed a pragmatic solution.

TL;DR

KeepInTouch.fm runs on Jekyll and is updated every time we publish an episode using our fork of the Jekyll RSS importer. We upload the episode and its metadata to our Podcast host and then we point the importer at the Podcast RSS feed. If needed, we customise the blog post and then push it to GitHub. GitHub pages then automatically updates the website.

List of requirements

We wanted the website to provide some fairly basic functionality:
– general information about the show, and a the ability to subscribe to the Podcast
– a blog/website where each episode can have its own page
– each episode page would need to privide visitors with the ability to listen to the show, and to find shownotes, links, and other relevant information

As the administrators of the website, we would need:
– a modern website: responsive, fast, and secure
– an easy to maintain set up (i.e. no hardware / software maintenance)
– a simple updating mechanism
– a simple way of transforming the information we had already provided in the Podcast’s RSS feed

The solution

GitHub Pages was the first option we considered, and luckily it ticked all our boxes. We quickly set up an organisation and picked a simple, but quite configurable jekyll theme for the site.

The only friction I still had to deal with was the “transformation” of the Podcast RSS feed into blog posts on the site. Jekyll does come with an RSS importer, so I gave that a go. Most of the metadata was extracted nicely, but there was no way to play the show without changing the post manually to link to the mp3 file that was actually available in the RSS feed.

Open Source FTW

Luckily, the Jekyll project is open source, which meant I was able to fork the RSS importer, and turn the RSS audio enclosure into an HTML audio tag. All it took was 13 lines of code.

The result

Today, my workflow couldn’t be (?) simpler:
– Record and edit the show
– Upload the episode and it’s metadata (i.e. shownotes) to the podcast host
– Run a simple script to fetch the new episode (and turn it from a feed Item into a blog Post)
– Push the new post to GitHub


If you found this post useful, please consider subscribing to KeepInTouch on Apple Podcasts, Google Podcasts, or wherever else you listen to podcasts. If you like what you hear, please leave a review. Lastly, please send us your feebdack via email or twitter @KeepInTouchFM.

Improved – Get everything done

Over the past two years I have been working alongside my friend (and co-founder) Stef on Improved. Yesterday evening we released the first version to our friends and family.

I won’t go into what Improved is because its website covers all that; this post exists so that I can mark the moment when this all happened. Suffice to say, our vision is to

Remove the guesswork from finding the right person for the job

Some background info

People who know me closely are aware of the fact that I am a big fan of the Lean Startup model. Yet I just said that we’ve been working on this project for a couple of years, thus contradicting my previous statement.

Here’s my excuse: I have a day job, as Head of Mobile at Trade Me, and this job takes up at least 4 days of my week (sometimes I take work home with me). On Tuesdays however I get to work on what I am passionate about. For the past couple of years I have been spending my Tuesdays juggling work on Improved, with some other client work (for my boutique consultancy called Tmro), and with some other family activities.

This dynamic has kept my brain engaged at 100% and has produced an incredible amount of work related satisfaction (be it Improved, Tmro, or Trade Me). Without a doubt, all these companies / products have benefited from the experience I accumulated while working on the other ones.

Improved is the most recent initiative of this bunch, therefore it took a lot longer for the fruit of the work done on it to show. That ends today.

All in all (an including evenings and weekends) I’ve spent between 4 and 6 work-months building Improved. I am not counting here the effort and work poured into the project by Stef, who’s been doing a bloody awesome job in a similar 1 day a week arrangement for a period almost as long.

Stocktake

We decided to ship our MVP at the point where the platform supports the use cases we considered to be necessary (after doing plenty of soul searching and chatting to other people).

Roughly, these are the “features” of our v1:

  • The simplest possible create and manage Job flow
  •  Support two way messaging and quoting (including Push Notifications) between job owners and service providers (aka Improvers)
  • Search and browse Jobs and Portfolios
  • “Smarts” that support our vision:
    • photo doodling
    • take similar photo assistant
    • before and after comparison tool
  • Social login and straightforward account creation
  • Seamless Native app to Web handover
  • Clear feedback/review process

Apps side by side

Could we have done more? Absolutely! Our backlog is chocka full. Should we have done more? We think not. We want (and need) feedback from our users so that we shape the product into something that people love using.

After the first few user interviews we realised just how differently people think of their interactions around a job. Waiting longer and shipping a more “feature rich” product would basically mean increasing the number of assumptions made. This is a risk we chose not to take.

The next steps

Yesterday we started inviting Beta testers to use the app. We hope that everyone who uses the app (whether they have jobs they want done or they just look for their next customer) will find it useful.

We have an Android app underway, as well. I will shift my attention to finishing that app, while supporting the “early adopters” with anything they may need.

I’d love your help

If you’re reading this, chances are we know each other. Hi! You can help too! Get in touch with us by email and we will add you to our Beta test group. Improved is free for everyone to use, and posting jobs is non commital until you accept a quote (just like in real life).

Here are some other ways you can help:

  • you can upload DIY projects you have already done. This way we can learn more about the types of jobs people do, and the language they use to describe them
  • next time you need to mow the lawn, or prune a tree, or take classes or lessons of any sort, post a job on Improved. It’s free and you can build a pretty neat portfolio that you can be proud of
  • visit our website and send us any feedback you can. Is is clear what the product does? Do you like / dislike anything? Do you have any recommendations
  • spread the word. We have a Facebook Page, a Twitter account, and a Website. Please send our way all the to people you know who need stuff done around the house, who used a dog walker in the past, who took lessons or classes of any sort. Our mission is to enable people to be the best they can be at what they do.

Thank you.

Do you want to own your status updates?

After backing Manton Reece’s microblogging kickstarter I decided not to wait any longer and setup a MicroBlog section on my website where I would keep my short form updates. This post covers my goals and the approach I took to achieve these goals.

Goals

There are just a handful of things that I thought I’d need:

  • I own my content. I don’t mind posting to Twitter (or Medium) but the canonical location for my content is my own website
  • It’s easy. I can easily separate short form content (ie. statuses) and long form writing (ie. this post)
  • I still engage via Social Media. I can publish short form updates to my own website, and then the entries get cross-posted to Twitter
  • I  can post from my iPhone without needed to make edits from WordPress before publishing

Approach

I tried a few approaches (involving a range of apps such as IFTTT and various WordPress plugins) before I settled on the approach below.

It’s easy to own my content

My website is currently running on a self-hosted WordPress installation. There were two options here:

  1. I import all my Twitter posts under a special Category, or
  2. I post on my website first and then cross-post to Twitter

Option 2 feels more like “doing it right”, and, should anything go wrong in my setup, I never lose any posts I made from my own website.

What I decided to do was to:

  • create a new Category called MicroBlog
  • update the Menu to include this new category
  • replace the stock RSS widget with Category Specific RSS and use it to surface the MicroBlog RSS feed into the side bar
  • exclude the MicroBlog posts from the main page using the Ultimate Category Excluder plugin
  • make all posts in Category use the post format “status” so they looks consistent and timeline-like
  • remove all extra post decorations (ie. sharing) from the list of posts, but leave it on the post page itself
  • not use a post title, in order to mimic a status post more accurately

With these changes in place I ticked the first couple of boxes. What was left was to sort out cross posting to Twitter and publishing while on the go.

Sharing status updates to Twitter / Social Media

Posting to Twitter proved to be more difficult than I thought it would be. The obvious way, via Jetpack’s Publicize feature, seems to share only the link to the post when a title is not present. Therefore I had to look for other options, although I’d much prefer to just use Publicize.

The choice I settled on is an IFTTT rule: “when a new feed item is added to parfene.com/category/microblog/feed post a new tweet to @nicktmro”. The issue with this approach is that IFTTT doesn’t have a smart way of appending a URL to the post when it is over 140 characters, so I was “forced” to append a URL to the original post. It’s not very tidy but the counter argument is that it drives traffic (and search engines) back to the canonical location of the status update.

Posting while on the go

I carry an iPhone and a Pixel with me all the time. Posting updates to my website is a task I assigned to my iPhone.

I seek speed and simplicity when it comes to capturing my thoughts, which is why I use Drafts for almost every form of text capturing. This text sometimes ends up in iMessage, or in OmniFocus, or in an email, or in my Clipboard, or in WordPress… You get the idea.

I looked at the existing Drafts actions but I soon realised that I needed to be able to post exiting text and snippets, too. I needed an extension point. Enter Workflow. By delegating the communication with WordPress to Workflow I managed to increase the ways in which I drive content to my website.

Here’s how it all works:

  • I have a workflow that expects text input (or extracts it from the clipboard)
  • The workflow presets the WordPress category, post format, etc
  • This workflow is added as an action to Drafts

Now I’m good to go. When I choose to share my next status update all I do is go to my usual app (Drafts), write a snippet of text, and choose the Post to Parfene.com action.

Wrap up

I encourage you to try microblogging for yourself. My post is lengthy but you don’t have to do everything in one sitting. You don’t even need to fully automate everything, like I have.

This approach has made me feel more involved, engaged, and responsible with regards to the things I share with everyone. As somebody who oftentimes doesn’t count to five before he speaks, this should be a positive outcome…

 

 

Be Counted During Māori Language Week 2016

I want to ask all the people who speak or understand Māori to change the preferred language on their devices to Te Reo Māori at least for one day during Māori Language Week July 4 – 10, 2016. I emigrated to New Zealand in 2005 and I have loved this country ever since. My close friends know that I get emotional when I speak about the incredible difference living here has made to myself and my family. I’ve tried to give something back whenever I could, which brings me to this blog post.

What I want to achieve

With your help, I want to prove that there is a large enough group of people in New Zealand that would like to see support for Te Reo Māori in our software. Right now we are dealing with a vicious circle: businesses don’t see enough Māori users in their analytics therefore it’s difficult to prioritise implementing support for this localisation over other initiatives. I believe that we can help break this cycle by setting on our devices the default (preferred) locale to be Te Reo Māori.

You can help

Regardless if you’re a technical person or not, there are two things you can do to help: set Te Reo Māori as the preferred language on your device (even just for one day!) and then spread the word.

Step 1. Make Māori the preferred language on your device

Don’t worry:

  • apps and websites will fall back to English when Te Reo Māori is not supported.
  • this change will not update the language used by the operating system. It will however let apps present content in Te Reo Māori whenever they can. See the Google search screenshots below.

iOS

Do this from Settings > General > Language & Region > Other Languages (or Add Language if you already have more than one). Look up Māori and then select “Prefer Māori”.

Running a Google search for “Te Papa” will then produce the same results,  but the word “Images” has been replaced by “Atahanga”.

Google Te Reo

You may think it’s a worthless change. That would be true if nobody else makes the language change I’m encouraging you to make. The more of us do it, the more we move the statistic needle.

Android

Android support is patchy. Unfortunately support for Te Reo Māori does not come out of the box for the official Android releases. If you’re lucky, your particular device may have Māori or Te Reo as an entry in Settings under Languages.

The good news is that Google Developer Group Wellington (which I founded a couple of years ago) has support from Google to put together an official Pull Request to Android that will introduce support for Te Reo Māori. Get in touch if you wish to help.

Windows

I need to disclose that I am not an active Windows user so the information below may be out of date. I do believe that Māori has been an option since Windows 8, though. Below you can see a couple of screenshots of what you need to do to express your preference.

p1.png

p2

Mac

Setting the preferred language on the Mac is also quite straight forward.

  1. Navigate to Settings and search for Language & Region.
  2. Ensure that your Region is set to New Zealand then click the + button under Preferred Languages
  3. Select Māori from the list. And click Add
  4. Select Use Māori and then restart your Mac

You’re (almost) done

Check here that you have successfully updated your language settings.

From this point onwards every time you use an app or website you will be counted. Ka pai!

Step 2. Spread the word

I believe the best thing you can do next is to just speak to people about this topic. It really helps with awareness and it’s more personal.

An easier option would be to send your friends a link to this article or to any of the resources on the internet that discuss this topic.

If you want to be succinct you may consider asking your audience: “Set your device’s language to Māori during Māori Language Week July 4 – 10. Help make Te Reo an option in the apps you love. #TeReoBeCounted”. You can click here if you want to tweet this message.

Supporting Organisations

A number of organisations have accepted to help this initiative in one way or another. There will be a follow-up post after this week is over to report on what we have collectively learned. Thank you Trade Me, Xero, Powershop, Radio New Zealand, KiwiBank, and Te Papa. If you engage with their apps and websites, and you have set Te Reo Māori as your preferred language, your voice will be heard.

1. Your apps count, too

If you build apps / websites targeted at New Zealanders, you can help, too. What you need to do is to share with me the number of users or sessions that you see for the mi_NZ locale, before and after Māori Language Week.

Here are a few options for how you can share what you learned:

  • Preferred: raw numbers. For example you could tell me Unique users on the 4th of July and on the 11th of July. You can check these numbers with most analytics tools anytime after the 11th of July.
  • Great: growth numbers. If you are comfortable with this option instead, then please share just how many of your users preferred Te Reo Māori on the 11th of July, versus the 4th of July.
  • Good: percentage change. If you’d rather not disclose the number of users who chose to start using Te Reo Māori, then maybe you can share with me what the % change was (positive or negative).
  • Nice: whatever you can tell me 🙂

Feel free to use (without the need for attribution) the instructions above to tell your users how they can go about setting Te Reo Māori as their preferred language. Get in touch with me if you want to continue the conversation.

2. Spread the word

Your organisation already engages with customers and this is a great opportunity to let the inner Kiwi show. You can break some of the BAU routine by educating your audience that Te Reo Māori is a viable language on their devices. You could take any of the following actions:

  • prepare a newsletter
  • write an announcement on your website
  • post on social media
    • Twitter.  “Set your device’s language to Māori during Māori Language Week July 4 – 10. Help make Te Reo an option in the apps you love. #TeReoBeCounted”. Click here to do it right now!
    • Facebook. Use whatever language you are comfortable with. Feel free to use the instructions above on how to change the language settings. Make it clear if your app/site supports or doesn’t support Te Reo Māori at the time of the post. Link to my blog post if it helps.
  • tell your front line (customer service, host and hostesses, sales, etc) about this initiative
  • update your showroom/store. Prepare and clearly label devices that already run Te Reo Māori. Train your sales staff and ask them to spread the word to your customers.
  • improvise

 3. Encourage your audience to engage

Now that you’ve spread the word, these users can be counted in the participating apps and sites. It would be a nice gesture to mention (wherever appropriate or by linking to this page) who else is participating in this campaign.

4. Post campaign

After the campaign is over, I will aggregate the results and I will communicate to the participants what we have collectively learned. I will then follow up with another blog post for the benefit of the community.


FAQ

What drives me?

Aotearoa is my home. There are many other people, much more informed than me, who can probably tell you why doing this is a good (or not so good) idea. What follows is my personal view.

Kiwis are amazing. I love Wellington. Even the laws are pretty great when comparing with the rest of the world. All these things play a an important part in how I feel about this place. However I feel that the language does not contribute at its full potential to this sense of belonging.

What does a best case scenario look like?

With enough exposure, here’s what I hope this initiative will achieve:

  1. Make more Kiwis aware that Māori is a viable language option on their devices
  2. Help those doing software development to better understand the makeup of their Kiwi audience
  3. Long term, I hope to prove that investing effort into localising our apps to mi_NZ (Te Reo Māori) is not just respectful but can also have positive effects on the relationship between app builders and their audience
  4. Get localisation support added to the roadmap of as many apps and services as possible.

What about the Census?

According to the 2013 Census, there were 148,395 people who can speak Te Reo Māori. Unfortunately I cannot settle with this number. Here are a few reasons:

  • there may be Kiwis who, out of modesty or self-consciousness, did not claim to be able to speak Te Reo
  • speaking and reading are different things. The census asks about the former
  • some people who can speak Te Reo may choose to not use the language on their devices. It makes me sad, but I can definitely respect their choice
  • not all these people have devices that can show content in Te Reo and some people may have more than one device

In reality, we may never be able to know how many people prefer Te Reo. All I want is to show that this number is large enough to justify treating it as a priority in our apps.

What does “our apps” mean?

I am doing this as a community member, not as the Head of Mobile at Trade Me. By “our apps”, I mean the apps and websites of the entities (people or organisations) who participate in this initiative and wish to better understand their audience.

We’ve promoted this. Now what?

If you build apps or websites please start tracking the number of users and sessions that use mi_NZ (Māori, New Zealand) as their preferred language.

If the number of users and sessions goes over the critical threshold for your organisation, then it’s time to update your definition of “done” and include localisation to the new features and apps that you build from here onwards. Don’t forget to update your testing strategy to cover text input in Te Reo Māori.

I’ve changed my mind

On iOS, you can go back to the same settings screen and tap the Edit button on the top right. Then you will be able to remove the newly added language.

Kia kaha e hoa mā! (Let’s go team!)

Update 5 July

  • Clarified that when there is only one iOS language, the option reads “Other languages” rather than “Add Language…”.
  • Added instructions on how to remove the language on iOS if you have changed your mind

Goodbye, Grandma

My grandmother passed away today. I cried for the first time in a long time. I am lucky though: I got the chance to know my grandma.

Her name was Maria (and she is part of the reason behind my daughter’s name). She was such an incredible woman. Not only was she a hard working person (she’d wake up at 5am and turn in at 10pm), but she never complained about the hand that life dealt her. She was born in the countryside, and she lived all her life at the top of the Harghita mountains. She raised four children (including my mother), and sadly she had to bury her husband and her eldest son.

She was strong and fit. She rode her bicycle till well in her 70s. She wouldn’t miss Sunday mass even if she had to battle a blizzard. She was respected and obeyed by the entire family. She never raised her voice, nor did she ever need to punish anyone. She knew how to have fun, too. When we least expected it she’d prank the kids, or she’s crack a joke.

Before emigrating to New Zealand, the very last trip I took was to go and see her. It was a 12 hour journey, and although I only spent a few days with her, I never regretted it. That was not the last time I saw her, though. I went back in 2011 and, for the first time in my life, I was able to have a grown-up conversation with her. She told me about what our family went through during the Second World War, she told me about how my grandfather lived and died, she gave me life advice, and she answered all my questions. I loved her more that day then I had my entire life. I had always known she was an incredible woman, but until that day I had never quite understood why everyone looked up to her the way they did.

My grandmother played a big part in my life. When I was nine years old and I ran away from home, I ran to her. When I had to decide what to do when I had a week to spend in Romania, I went to see her. When I close my eyes and think of my childhood, I remember spending time with her, learning how to herd the sheep, milk the cows, work the hay…

I’m lucky because I have so many memories with her. But there will not be any new ones and this is hard to come to terms with. Goodbye, Grandma, rest in peace, and thank you for everything you gave me.

I’m Attending Google I/O 2016

Although I have attended WWDC several times in the past, I have never attended Google I/O. I wanted to, but I didn’t manage to. This is about to change.

After a couple of years of becoming more and more involved in the Wellington Android community (by organising both the Android Meetup and GDG Wellington) I have finally been able to register for Google I/O.

I am a lot more excited than I thought I would be. The advent of Material Design and the relase of better and better Android devices (it’s no secret I’m a fan of the Nexus 5X), have contributed to making me more deeply involved in the Android ecosystem.

If you are around San Francisco between May 15th and May 21st, and you are keen to catch up and talk mobile stuff, get in touch. 

I can’t wait to attend I/O and to come back home to share my expeirence with the rest of the Google and Android community here in Wellington, New Zealand.

Interview Questions – One of my Favourites

Being a part of an interview can be a daunting task. For some people it’s a painful experience, for others it’s a thrill. I remember being in interviews that I didn’t want to end, and in others where I felt like banging my head against the desk. Assuming the interview is going well, there’s this one question that I always like to bring up.

If I’m being interviewed I like to ask:

If I do everything right by you, and I am a top performer, where can I be in two years’ time?

I need to know what the strategic plan is for the company. I want to know what the growth opportunities are. Depending on the passion and the clarity of the response I can also draw other conclusions or come up with follow up questions.

The reverse is also true. When I conduct interviews (and I’ve done hundreds in my career so far) I like to ask:

If we do everything right by you, and we support your growth, where do you see yourself in two years’ time?

I have heard some amazing answers, ranging from: “I’ve left the country“, “I’m running my own company“, “I’m the best mobile developer in New Zealand“, all the way to “I have taken your job“.

If you decide to start asking this question in your interviews (whichever side of the table you’ll find yourself), I encourage you to follow up during your first and second performance reviews…

So why don’t you take a moment and ask yourself: if you are honest with yourself, where do you want to be in two years’ time? If you’re feeling brave, tweet me your response.

p.s. this is a good opportunity for me to recommend this book: The Manager’s Book of Questions by John Kador. It’s a fairly old book, but because it doesn’t focus on one particular technology, it asks various categories of questions (from icebreakers to competency), and it doesn’t seek provide the answers, I still find it very relevant.

Deciding on which iPhone to Buy

I bought a new iPhone today. My current one is damaged, but to be honest with you, I probably would have upgraded anyway. Here’s how I decided which iPhone to buy.

iPhone 6S

The choice was between the iPhone 6S and the iPhone 6S Plus. I have never owned a phone as large as the iPhone 6S Plus and I sometimes find even the screen size of the iPhone 6 to be too large for me.

I considered the 6S Plus because of these factors:

  • Optical Image Stabilisation for both Photos and Videos
  • Longer battery life
  • With a screen that large, it could replace my Kindle

In the end I bought an iPhone 6S because of these reasons:

  • Easier to handle single-handedly
  • More comfortable in my front pocket

The two things above I will be doing a lot of and I just don’t want to have to pay attention to how I handle the phone. The size of iPhone 6S Plus would make me be too aware of how I handle the device.

I have no doubt that the iPhone 6S Plus is a superior phone. Sometimes though, the more pragmatic choice prevails, even when it’s not a matter of cost. There are people who have to have the best, and to them I say: enjoy your iPhone 6S Plus.

Testing is organised skepticism

You can let all the different types of software testing scare you out of your pants or you can look at the funny side of testing.

These quotes could be a starting point… I shared them with the amazing Android folks here in Wellington as part of the fourth edition of our Android Meetup.

Thanks to the lovely people at Powershop for hosting the evening, for the food, and for making this happen.

 

Thoughts on Notifications

Last Friday I was invited by the friendly people at Springload to give a talk on Push / Interactive Notifications.

The slides are targeted at Product people who are responsible with making the decision of including Push Notifications in the roadmap of their apps.

The gist of that talk is that just because you can send Push Notifications or display alerts to the user, it doesn’t mean you should. Notifications are the number one reason why people delete apps and you should keep this in mind when building your apps.

Here’s my (current) Top 10 Notification best practices:

  1. Guided “Opt In” rather than “Opt Out”
  2. Allow user to specify the types of messages they wish to receive. Support DND. Think Time Zone
  3. High volume of Notifications? Consider providing a “Snooze” custom action
  4. Only send relevant messages. This is NOT a direct marketing channel
  5. Don’t send confidential or sensitive data through push notifications
  6. Consider promoting custom actions that do not require the app to start up
  7. Use clear language and keep the message short
  8. Choose the lowest frequency of notifications that still delivers a great user experience
  9. Be aware of context. Is the user in your app right now?
  10. Consider aggregating multiple messages into a more generic “group”