Luckily, macOS has a way to load this WiFi Join window inside an actual browser. The URL works just fine in Safari, so point your browser to:
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.
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
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:
I import all my Twitter posts under a special Category, or
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.
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.
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…
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.
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.
If time prevents you from reading an entire book, then at least read this chapter: “17. Smells and Heuristics”.
One of my favourite bits of advice (that actually comes up a lot in discussions with the developers around me) is captured in this paragraph:
There is hardly anything more abominable than a dangling false argument at the end of a function call. What does it mean? What would it change if it were true? Not only is the purpose of a selector argument difﬁcult to remember, each selector argument combines many functions into one. Selector arguments are just a lazy way to avoid splitting a large function into several smaller functions.
The book is filled with code examples, describes concepts rather than programming language idiosyncrasies, and is useful even for seasoned programmers.
Whatever language you code in (today), this book is likely to become a fixture on your desk for a very long time after you’ve finished reading it. Get the paperback version, and fill it with colourful post it notes.
I’ve owned an Apple TV for a few months now (I have a Dev Kit unit). I’ve coded for it and I’ve been enjoying it a lot more than I had anticipated. Here are some of the things I’d like to see in the upcoming iterations of the software / hardware.
Accessories for the USB-C Port
I’d buy a camera compatible with the this new Apple TV in an instant. I’d mostly use it for video chat (FaceTime, Skype, etc) but I can see how some other types of apps could use it too (Snapchat, Livestreaming a video podcast, etc).
Playroom / Kinect style games could also benefit from being able to plug in a video capture device.
Bluetooth is not an option because the camera would needs its own power source.
This port could also be used for a number of game accessories. From Dance Dance Revolution mats, to Steering Wheels for your favourite driving game.
My reason may be different from yours. If you ever tried setting up an Apple TV in a hotel room, you probably know how annoying the whole log-in via a browser window situation can be.
Apps could be so much more powerful if they could tap into the Siri Remote search capabilities. Search is available to some video streaming services, but I think many more apps could benefit from such a feature. Here’s an example: “Siri, play a 10 minute summary of the new on Reuters”.
I’d love to be able to watch a film and then launch a Wikipedia or IMDB type app and interact with that app while the movie is still playing.
It would be great to be able to watch some live sports while shopping on Gilt, or browsing my next holiday destination on AirBnB. Anyone can get distracted during a game of cricket, surely.
I’m one of those people who watch TV in the dark. Because of this I find myself holding the Siri remote “wrong”. I’m wishing for a less symmetrical remote that I can pick up an instantly know which way I’m holding. I also want a trackpad that is either less sensitive or is a bit smarter and doesn’t activate until I’m holding the remote with a tight grip or is able to detect accidental touches.
The reality is, that until the things above are implemented, the Apple TV will have to be shared with some other device. In my case, the couch device of choice is my iPad.
It’s likely that Apple prefers this, but they are also the one company that would be very happy to cannibalize its own product rather than wait for someone else to do it. Come on Apple TV, kick my iPad off the couch and turn it into my bed-side device.
I have been jealous of my friends sporting SONOS setups for a while now. My reasons for not jumping on the SONOS bandwagon are not limited to just the steep prices that the SONOS speakers come with. The reality is that I prefer to use my own music / sound playing apps and because I listen to podcasts for a considerable amount of time. In this blog post I will describe a cheaper and more flexible alternative for achieving the multi-room setup that SONOS is praised for, using AirPlay enabled speakers.
In this article, I’ll describe my actual home setup. I need at least three speakers: two for my lounge area and one for my office. I wish to be able to play music and podcasts (via my Overcast, my preferred Podcast app) to either speaker independently or to all speakers simultaneously.
The SONOS Ecosystem
Part of the SONOS promise is that you can easily and painlessly play the same music in multiple locations (rooms), using speakers that “play nice” and “just work” with each other. I believe that SONOS does deliver on this promise.
Scaling the SONOS setup is trivial, all that’s required is buying another speaker and adding it to the setup.
I have three main reasons to hold back from buying into the SONOS ecosystem:
SONOS speakers are quite expensive (arguably they do have very good sound)
They require the use of the SONOS app
Now that Apple Music is available for SONOS my third reason is all but gone, but I have to acknowledge that this may not be your case if you prefer streaming apps that are not available in the SONOS app.
My needs are quite specific, therefore some of these pros may not apply to everyone.
AirPlay is available to any app (it’s a global iOS setting). It’s also easily accessible from the iOS Control Center
Big choice of speakers (most are budget friendly)
Old Airport Express units can turn any speaker with Line-In into an Airplay Speaker
Very easy to use as external speakers for Apple TV
Can stream the sound from any of my Macs (iTunes even has support for multiple speakers)
Most speakers have Bluetooth too, thus making them really good travel companions (to locations where WiFi is not available)
Scaling the AirPlay setup is not too difficult, after adding another speaker to the setup, there’s an option AirFoil configuration step.
The initial setup is more complex than with SONOS. Usually it requires joining an adhoc WiFi network provided by the speaker, followed by entering the local WiFi settings which enable to speaker to join the local network and become a wireless speaker for any AirPlay device.
SONOS speakers can easily turn into a 5.1 setup when enough speakers are added to the setup. AirPlay speakers haven’t really solved this, yet.
I happen to have a Mac that is always on at home, so I decided to also purchase AirFoil. This has enabled me to group my speakers into “rooms”. The Mac version costs $29.
Most people will probably just use Bluetooth, and that’s ok. Not everyone needs the lossless audio that SONOS and AirPlay offer.
As I mentioned above, an old Airport Express can turn an existing speaker into an AirPlay enabled speaker. Check out Apple’s refurbished store for a deal on AirPort Express units or buy from Amazon for $29. You don’t need the current generation one.
There are apps out there that allow Android to tap into AirPlay. I am not familiar enough with them, and I suspect the new Chromecast Audio may actually be a more suitable solution. Chomecast Audio sells for $35.
I implemented the AirPlay solution for myself and I’m happy with it. I’d love to hear your thoughts, especially if you prefer an alternate setup.
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.
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.
The 6th instalment of the Wellington Android Meetup took place today. I decided not to write about the content (I wouldn’t do justice to the presenters, and the audience contributed so much content, that I’d surely forget to mention something important), instead I wish to write about just how “fragmented” Android is … in Wellington, New Zealand.
We had four speakers. Two men: Matt and Lucas; and two women: Jayna and Leonie. That was not planned, it just happened.
We had two fairly technical presentations that encouraged us to improve our technical chops and solve problems in more beautiful ways, and two that challenged us to think about what we like, what brings us joy, and what we are prepared to do from the goodness of our hearts.
People in the room
I glanced around the room and I was so happy to see how diverse it was. So many skin colours, genders, ethnicities, and ages!
In the room we had students, unemployed folks, business owners, developers, designers, testers, and even Windows Phone developers! There were people working for startups and people working for organisations with 500+ employees!
There were women. Not just sitting on chairs but engaging in the discussions. Driving them and asking the tough questions. Challenging the speakers and the audience. Recommending better ways to do things. As it should be!
I bring this up because I think back of where we started. I looked at some old photos I took and I struggle to find the women. I looked at the GDG Wellington reports I sent, and I blush seeing a mere two women attending one of the early sessions! Today, almost 20% of the audience were women!
But we are not stopping here. Tonight Lucas announced that we are planning a GDG Dev Fest W. The plan is to create a safe place for an evening, a day, or a weekend, where women can come and learn about technology without fearing that they may get laughed at, looked at in a condescending way, interrupted or ignored. Get in touch with Lucas or with myself if you want to help.
The Android community in Wellington is fragmented in the best possible way. This diversity makes the meetings more interesting, the points of view more diverse and more relevant.
I was the proud host of tonight’s gathering. It this kind of fragmentation that keeps me going, that motivates me to try harder, that makes me proud to be a small part of this incredible community. Our group now has more than 200 members, so I am hopeful that we have not seen the best of what this incredible bunch of people have to offer!
I am so proud to have helped organise what is likely to be an amazing Google I/O Extended event!
If you appreciate Google technologies, are keen to view a bunch of very interesting five minute talks, and stay up to date with Google’s announcements at I/O, and meet more like-minded people, then you should register here! Make sure you fill in the RSVP and you may take home some very attractive swag, too.
I am especially proud of my friends and colleagues Kate, Konnie, Gili, and Matt for helping coordinate this event.
Many thanks go out to the sponsors who’ve been providing support to our group: Trade Me, Powershop, Uber, and Victoria University.