First and most importantly, THANK YOU to anyone who has bought Vignette, told a friend about it, given it a spin, or otherwise had a think about it. The response to Vignette has far surpassed my wildest dreams and I have you to thank for that. š
A week after its [quiet] release, and just under a week after its public release, I wanted to spend a moment to take stock of the last several days.
Vignette Updates
By the time I started my full-court press⦠press⦠Vignette was already on its second version. Since that time, Iāve released:
- 2019.3
- Full resolution images from Twitter
- Fix a problem where
Instagramwas not recognized when it had a trailing space - Fixed an accidental bait-and-switch
- Improved security
- 2019.4
- Dramatically improved Facebook support; the following are now supported:
- The hot garbage original requirement of
fb://profile/1234567 casey.lisshttps://www.facebook.com/casey.lisshttps://facebook.com/casey.liss
- The hot garbage original requirement of
- Fixed a bug wherein default Twitter images were suggested
- Vignette keeps the screen on when plugged in to prevent sleep-related issues
- Dramatically improved Facebook support; the following are now supported:
Forthcoming:
- 2019.5 ā currently in testing
- For all services but Gravatar, Vignette will now look at any URL it can find on a contact, rather than only looking in
Social Profiles- This will also get around
Social Profilesnot existing for Exchange users.
- This will also get around
- Improved networking detection
- The app will automatically start a search on launch if Wi-Fi is detected
- If no Wi-Fi is available, users can elect to perform a search over cellular
- New close button in the selector modal
- Fix for a layout issue in the onboarding screen
- Fix for very long usernames in the selector modal
- For all services but Gravatar, Vignette will now look at any URL it can find on a contact, rather than only looking in
- 2019.6 ā currently in development; no guarantees here!
- Add support for Github profile pictures
- Fix for some of the first onboarding screen text getting cut off
- Better Facebook default image detection
- Accessibility escape gesture for the old avatar preview modal
- Under-the-hood improvement to the way Iām managing queues
2019.5 will be released once I get it in front of my Test Flight users for a couple days. Itās currently sitting and waiting for review from Apple. š
2019.6 will probably be a mid-June release, if all goes to plan.
Revenue
Iād love to tell you Iām diving into my Scrooge McDuck swimming pool, but⦠App Store Connect isnāt really telling me much of anything at the moment. š
Iāve reached out to Apple in a couple of different ways to attempt to get this fixed, but nothing yet.
To be honest, I donāt intend to release revenue figures, but I am hoping to call a little more attention to this extremely frustrating App Store Connect bug.
Press
Iāve been extremely lucky to get some really incredible press coverage about Vignette. Mostly for my own posterity, I wanted to capture the articles Iāve found/seen:
- MacStoriesĀ āĀ Vignette: Easily Update Your Contact Photos Without Sacrificing Privacy
- Cult of Mac ā Vignette adds contact photos to your faceless friends
- 512 Pixels ā Vignette Makes Updating Contact Photos Easy and Secure
- 9to5Mac ā Vignette for iOS easily personalizes contact photos using social media
- TechCrunch ā Vignette is a handy new app that keeps your iOS contact photos up to date
- Connected ā #244: This is Not Propaganda
- Mobile App Daily ā Vignette App Launched For Apple Users To Personalise Contacts Pics Via Social Media
- The Mac Observer ā Vignette App Lets You Update Your Contact Photos Privately
- MacMagazine ā Novo app garante que todos os seus contatos do iPhone tenham fotos atualizadas
- Good Morning, RVA ā Long Weekend, Fare Evasion, and a New App
- iGeneration ā Vignette donne un visage Ć vos fiches dans Contacts
- NU.nl ā Apps van de week: Vignette en The Gardens Between
- iPhone-Ticker ā Vignette: App sucht Kontaktbilder in sozialen Netzen
- iMagazine ā Vignette ā automatycznie przeszukuje internet i dodaje avatary do Twoich kontaktów
General Thoughts
Overall, I really am overjoyed with how the launch has gone. It hasnāt been problem-free, but itās gone so much better than I expected. Iām hopeful to get 2019.5 out the door prior to WWDC, but either way, I suspect I have a busy summer of iOS 13 updates ahead of me.
As with all ideas, it starts with a question:
Could I get new pictures for all my contacts on my iPhone off Gravatar?
That was early February. I was just goofing off and seeing if I could make that work at all.
Then more questions came:
Could I do this for Twitter as well? For Instagram? For Facebook?
About three months later, Vignette is here.
Introducing Vignette
Vignette allows you to add photos to your contacts by searching public social media profiles. If multiple options are found, itās easy to select the one you wish to use. If the existing image is special or more representative of the contact, it can be kept.
By default, within a few minutes, you can add tens or even hundreds of images to your contacts.
In summary, this is the change that Vignette will enable:
Vignetteās development was driven by a few core tenets. I have a clear idea of what Iād like Vignette to be. These tenets drove its development:
- Privacy is paramount
All the processing is done on-device; this isnāt the sort of app where your contacts are uploaded en masse to some server, and out of your control. - You are the customer
Itās gross to steal usersā contacts and sell that data. My customer is you, not some business Iām selling your contacts to. - Keep it simple
I already have lots of ideas for how to make Vignette more robust and even more indispensible. Over time, I hope to add a bunch of those features. But Vignette is designed to be a tool, not Facebook.
Making Money
Vignette allows you to scan your contacts and see what it can find for free. If you wish to actually save these updates to your contact list, you must pay for a one-time in-app purchase. That purchase costs $4.99, is not a subscription, and is the only in-app purchase.
My hope is to keep developing and improving Vignette over time; that is made possible by the financial support of in-app purchase. Well-wishes, kudos, congratulations, and word-of-mouth all help quite a bit, but they donāt pay the bills. :)
Using Vignette
Vignette works by scanning your contacts and seeing what information it can amass about their social media presence. That means that Vignette is only as good as the information you provide to it.
Appleās Contacts app actually allows you to provide this information, even
though it isnāt entirely obvious at first:
Vignette will look at the following fields:
Emailis used for GravatarTwitterFacebook- A custom network called
Instagram
Over time, I hope to make discovery for these existing services more robust, and potentially begin to support other services, as well. That said, for now, my priority is to make all this possible without requiring you to log in. I much prefer having Vignette only use social networks anonymously to prioritize privacy.
Why Now?
Vignette is the first new project Iāve undertaken since going independent. Iāve been working on the things I had already been doing, like Casey on Cars, but Vignette is the first project both conceived and completed while indie.
Iāve been working on it feverishly for months, but a recent report really lit a fire under me. I really wanted to get Vignette out the door before WWDC, and Iām overjoyed to have made it, with over a week to spare.
Some Initial Coverage
Naturally, I have and will be talking about this on my podcasts. Myke and I have recorded episode 157 of Analog(ue) where weāve discussed the lead-up to the launch.
Additionally, [the currently forthcoming] episode 327 of ATP will surely include some commentary.
Thank You
Please download Vignette and see what you think of it. If youāre willing, Iād love it if youād buy the in-app purchase. Or tell your friends about Vignette. Or both!
Additionally, my thanks to Ben McCarthy, Daniel āJellyā Farrelly, and Ste Grainer ā among others ā for their noteworthy and incredibly helpful contributions to Vignette.
One of my favorite local activities, every other Saturday, is to go to Cars and Coffee. Recently, our local paper had a nice piece about it:
A stunning new Acura NSX might be followed by a more pedestrian mid-aught Volkswagen Golf GTI or a midcentury representative of American muscle. A made-to-order Ford GT supercar mingles with its ubiquitous cousins ā a bevy of Ford Mustang GTs that might be worth only a tenth of the supercarās list price.
The thread that unites all attendees is pride in their vehicles and a desire to share them with other people who āget it.ā Enthusiasts of every background are brought together by the camaraderie of the local car culture.
Iāve often documented my trips to Cars and Coffee on Instagram in the past. I really love taking the family to go check out the cars and just generally enjoy a Saturday morning together.
Perhaps itās memories of going to Marcus Dairy when I was in high school, or perhaps itās me trying to share with my kids what my dad shared with me. But one way or the other, Cars and Coffee has been an integral part of my family for years. Iām pleased to see it get some local recognition.
This week I had a blast joining my good friends Stephen Hackett and Jason Snell on this weekās episode of Download.
On this weekās show, Jason and Stephen discussed some new Fitbits, Apple hires in Qualcommās area of expertise, the recent Facebook news. Then I join the pair for some insights about the Geneva Motor Show.
I always cherish a time I can Stephen or Jason on a show, and any time I can talk about cars, so this was a win/win. š
I was on this weekās episode of Clockwise, with Aleen Simms, Dan Moren, and Mikah Sargent. This week, we discussed Appleās supposed demand of 50% of magazine subscription revenue, where money goes in the App Store, Amazon acquiring eero, and some nostalgia for fancy tech from years past.
This one was a particular hoot, as I think we were all just a little bit loopy. I have no idea how Dan was able to squeeze it into just thirty minutes, but thatās what makes him so darn good at what he does.
Last week our house got upgraded from 75/75 megabit internet service to gigabit.
Admittedly, that speed test was one time only, when only my iMac was connected, via
ethernet, directly to the modem. Still though! Look at that! 1.0 Gbps!
I learned a couple things during the installation ā and subsequent rework of my local network ā which I thought may be worth sharing.
I originally got FiOS back in 2008. I was overjoyed to be leaving Comcast behind, and getting push-your-hair-back-like-a-Maxell-ad 15 megabit speeds. A few years ago we upgraded to 75/75. The symmetric life (having uploads as fast as downloads) is really the best.
By default, most FiOS installations bring internet into the house, from the ONT, via coax. This is way easier and way cheaper for Verizon than using ethernet would be, and for most users, it doesnāt matter. Verizon only has to pipe a line from the ONT ā typically behind the house ā to the crawlspace/basement or attic, where itās plugged into the in-home coaxial network used for cable TV.
Most users wouldnāt care about that, as they happily lease Verizonās router for an obscene amount of money each month. For me, once I realized I had (but didnāt exercise) the option of an ethernet drop instead of coax, I was really bummed. For the last ten years, I was stuck with Verizonās just-barely-inoffensive-enough-to-be-bearable Actiontek router. I couldnāt use any other router, because no other routers can take the internet in via coax.
Gigabit installations, however, compel Verizon to bring ethernet to your router. While mostly a win, I learned that the installers have extremely strict rules about where they can put the ethernet drop. From what I could put together, they are pretty much bound to do the installation on an exterior wall if at all possible. That led to an unusual but ultimately workable installation within my in-home office, across the room from where my networking equipment lives.
Having the internet come in via ethernet opened up a very important possibility: perhaps I donāt need to use the Verizon-provided router after all? That router is $200, if you buy it outright, or something like $12 each month if you lease it! It seemed, at a glance, that I could finally switch my Eero from merely being a bridge to being the router too. In fact, this useful post seemed to indicate the same.
Except.
Despite it being extremely trendy, we are not [yet] cord cutters. That means we still have a cable box. The cable box gets its channel guide information via the internet. The cable box gets internet⦠via coax. The Verizon answer for this is to connect your router to ethernet (for the internet) and coax (to bridge the internet onto the coaxial network). Having ditched the Verizon router, I now needed a way to get the internet onto the coaxial network.
Enter the MoCA bridge.
A MoCA bridge⦠bridges⦠the ethernet and coaxial networks. Theyāre annoyingly expensive; this is the one I purchased years ago and had handy, but it appears this is the modern replacement. Regardless, after hooking the router into the MoCA bridge (via ethernet) and then connecting the bridge via coax, I was able to get our cable box back on the internet.
So, all seems well!
Looking back at the DSL Reports link above, Iāve ended up with setup #9. DSL reports lists the pros and cons as follows:
PRO:
⢠Can eliminate Verizon Router completely.
⢠Smaller, simpler device. Less power consumption.
CON:
⢠Additional unit to purchase.
ā¢Ā Does not support remote access to DVR, on-screen caller id or VZās CPE management interface.
What about that last one? Specifically:
Does not support remote access to DVR
That got me thinking. Before I abandoned my old Actiontek router, I took a
screenshot of the port forwarding settings. Conspicuously, there were a couple
of entries for IP address .100 that I didnāt recall entering. Furthermore,
the IPs for every other device on my network started with .2; not all the
way up at .100.
That made me wonder if these were special rules for the set top boxes. On a lark, I decided to re-create the rules I found in my Eero:
- UDP
63145 - UDP
63146 - TCP
35000 - TCP
35001
I suspect one or more of those arenāt necessary, but, I turned off WiFi on my phone and then I attempted to use the FiOS TV app to schedule a TV recording on my Verizon DVR. Sure enough, it worked!
So, all told, Iāve:
- Upgraded from 75/75 ā 940/880 megabits per second
- Got rid of the stupid coaxial internet connection in favor of ethernet
- Ditched the crummy Verizon router in favor of the far superior Eero
- Kept my cable box happy and on the internet
- Saved over $100/mo
All told, a good day.
As a professional podcaster, I quickly learned that there are some topics you really donāt want to bring up on a show:
- Politics
- Religion
- Parenting
When it comes to car enthusiasts, thereās another topic that invites argument more than almost any other: how do you like to wash your car?
Since Iām an idiot a glutton for punishment, but also since Iāve been asked several
times in the past, and also because of that sweet sweet affiliate money I like
to help people, hereās a basic walkthrough of the methods I use.
My car, my rules. Your car, your rules. Please come to your own conclusions.
This post is meant for the person who wants to start taking care of their car. It is not meant for the seasoned car washing enthusiast. Iām sure this list of tools will utterly horrify some, but I hope it will also help some others.
Washing the Car
When the weather is nice, I try to wash my car once a week. I donāt always get to every step in this process. I do try to do this sort of thorough cleaning once a month though.
Phase One: Wash
I am a fan of the two-bucket system for washing your car. One bucket is for soapy water; the other is for rinsing off your dirty sponge. The theory is that all the impurities and contaminants are rinsed off in the dirty bucket, so they donāt muck up the clean bucket. Iām pretty sure this is a placebo, but I like it, so thatās the way I do it.
I happen to use this Rubbermaid bucket as my dirty one; Iām not sure where I got the clean bucket. But really, any bucket will do. Thereās no real science here.
For a long time I used Turtle Wax car wash, but some friends recently turned me on to Mr. Pink car wash, which is excellent. Itās super sudsy, and Iām told, easy on your carās paint.
For a sponge, I use this mitt from Meguiars, though I never actually use it as a mitt. Itās just a nice sponge.
To wash, I fill the clean bucket with soapy water, one with plain water. Dip your sponge in the clean bucket, apply soapy water to the car, topĀ āĀ bottom, backĀ āĀ front. Do one section at a time. Rinse with the hose after each section.
Phase Two: Wheels
I really really hate brake dust. Itās the stuff that makes your wheels brown, particularly up front, which tends to be where most of the stopping happens. If I have the time, I try to always clean my wheels when I wash the rest of the car.
I have come to quite like the Black Magic No Scrub Wheel Cleaner. I spray it all over the wheel, and then simply wipe the dust off with a damp rag. Then I spray it down with the hose when Iām done. Itās important to have a dedicated wheel cleaning rag, as it will be pretty much instantly destroyed by brake dust forever. I do re-use that rag, but only for wheels, and never for anything else.
Phase Three: Exhaust
One of the few flaws of my Golf R is that the exhaust tips get really brown really quickly. In casting around for a solution to this, some friends strongly recommended Barkeeperās Friend. I got the powdered version. I sprinkle it on a damp rag, mush it around in the rag to make a bit of a paste, and then apply to the exhaust tips. Spray clean after.
Iāve linked to this on Amazon, but you can probably find this cheaper in your local Target or equivalent. Itās also worth noting that it works well on lots of stuff around the house, such as metal sinks.
Phase Four: Dry
I donāt have particularly strong opinions here. I use bath towels purchased at Target. The only advice I have is that Iāve found 100% cotton seems to be not absorbent at all. I do advise getting towels that are in part polyester, which seems to dramatically increase how absorbent the towels are.
Before I begin to dry, I spray down the whole car one more time to try to alleviate any spotting. Then I try to dry the side of the car that faces the sun first, since itās most likely to dry and create spots first. Otherwise I move topĀ āĀ bottom, backĀ āĀ front, just like when I wash.
Phase Five: Tires
As with clean wheels, I really love how a shiny, wet-looking tire presents. Thereās many different products that can achieve this goal, but I really like Black Magic Tire Wet Foam. Once the tires are at least mostly dry, you simply spray that foam on them, and then walk away. No buffing required.
(Note the one Iāve linked here is a six-pack; youāre probably better served by going to your local store and getting just one to try.)
Since itās so quick and easy to spray this foam on, Iāll spray all four tires from time to time, between washes, to freshen them up, when I think they need it.
Just be sure to let the foam dry up before you drive the car, lest you spray the excess foam all over your bodywork.
Twice a Year: Wax
Generally speaking, in the spring and fall I try to find the time to wax the car. I feel like this is particularly important in the fall, as it puts a protective layer on the paint prior to the harshness of winter. Yes, even here in Virginia.
There are a million and seven car waxes on the market. I grew up in a house that used Nu Finish, so thatās what I use. Nu Finish is a wet wax. The process is:
- Get a damp cloth
- Apply a little NuFinish to the cloth. A little goes a long way.
- Rub the wax onto the car, using a circular motion
- Wait for the wax to dry. Not only will it be white, but if you swipe a finger across it, youāll take the wax right off, and itāll feel dry.
- With a different, dry, cloth, also using a circular motion, rub the wax off the car.
Do the above one panel/section at a time until the whole car has been waxed.
Every Other Year: Clay
Every couple years, time permitting, Iāll clay my car.
The first time I heard about this, I thought it was absolutely bananas. Nevertheless, I tried it, and was amazed at the result.
Specially created bars of clay can be used to take invisible impurities out of your paint. I know how ridiculous this sounds. I didnāt believe it either. I thought it was the automotive equivalent of ear candling.
Believe it.
One time I clayed my wife Erinās car. When I got to the hood, I only did half of it. I asked Erin to run her hand across the hood, from the non-clayed side to the clayed side, to see the difference. With some eye rolling, she did so. Her face quickly went from šĀ āĀ š³. The difference in feeling between the side that had been clayed and the side that hadnāt was tremendous. One had the feeling of a mirror; the other felt like a veritable sand trap by comparison.
Once you clay your car, it will feel noticeably smoother to the touch.
Iāve had really good luck with Meguiarās Clay Kit. It includes the clay bar, as well as a solution you use to dampen the car. So, the process is:
- Thoroughly wash and dry your car
- One section at a time, moisten the surface of the car using the spray
- Rub the clay bar directly against the car, not using very much force
- Dry with a dry rag
- Once youāre done with a section, fold the clay onto itself a few times so youāre not rubbing the old impurities against a new section of car
- When youāre done, wax the whole car.
This is typically a half-day affair, even for a normal-sized sedan. I havenāt yet clayed my wifeās SUV, but I assume that it will be an all-day affair.
Claying a car seems (and looks) ridiculous. Iām telling you, itās worth it.
Every Few Years: Leather
Every few years, I also like to do a full round of leather conditioning. Another friend of mine recommended this kit from Lexol, which is expensive, but well worth it. It took a really disgusting looking steering wheel back from the brink of death, including making some cracks all but disappear.
The Lexol kit contains cleaner and conditioner for leather, and protectant for vinyl surfaces like your dashboard. For the leather, apply the cleaner, and then the conditioner. For the protectant, just use it on non-leather, plasticky surfaces, as you would Armor All.
It took me forever to do all the seats, the steering wheel, and my shift boot in my last car with all three Lexol liquids, but I was stunned by how good everything looked when it was all done.
A Closing Thought
I canāt stress enough that I am not passing off any of what Iāve said as the one true way to clean a car. I also take my car to automatic car washes from time to time. Different tools in the tool belt.
As with all instructive posts one reads on the internet, I strongly suggest careful scrutiny of the above, and for you to form your own conclusions.
That said, I find washing my car ā especially with my kids ā to be an extremely enjoyable way to spend some time outdoors on a nice day.
After a much longer delay than I intended, Iām pleased to share the latest edition of Casey on Cars. I reviewed a 2018 Honda CR-V EX-L.
In the Casey on Cars timeline, this episode was actually filmed before the GTI episode. However, it seemed to make the most sense to release the GTI episode immediately after the Golf R episode. The reason Iām in shorts and a polo is because this was actually filmed way back in August. As I write this, Richmond will have a low today of 20°/-7°.
The CR-V was a fascinating car; I actually recorded most of the footage for this episode twice. This car made me question a lot about the way in which I film these videos. Tune in to see why.
Software development is an interesting practice. It is a field that is filled with strong opinions, and just about every practitioner is convinced they know the right way to write software. This starts with languages and third-party libraries, but continues through the day to day ceremony of developing software.
As a consultant working in the 2010s, I practiced Agile software development for many years. Agile has come to mean many many different things to many different people. More often than not, itās associated with buzzwords used to make executives happy.
However, Iāve seen Agile work phenomenally well⦠once. During that project, I learned a tremendous amount about what does work. I also learned a lot about what doesnāt work in⦠every other project I worked on.
I joined John Chidgey on his wonderful Pragmatic podcast in order to try to convince John that Agile isnāt totally bunk. On the episode I discussed the many many ways Agile can fail, and how to avoid some of those pitfalls.
Agile may or may not be for you, but I think the episode came out really well.
It started when Belkin released a firmware update for their Mini Smart Plug which enables HomeKit. I happened to have a couple of these devices already; after I updated them, I suddenly had my first couple of HomeKit devices.
At first, this was mostly a novelty. I could use Alexa to control our lights, which was often far more convenient and reliable than Siri. However, being able to turn lights on and off using my Watch made me feel like I was living in the future.
HomeKit fell onto my mental back burner until I noticed a tweet by Ryan Jones. Ryan was wondering aloud about installing Homebridge on a Raspberry Pi. Ryanās tweet reminded me that Iāve been meaning to kick the tires on Homebridge since Jason and Federico had been talking about it.
Homebridge is a software bridge that allows you to put devices that are not HomeKit compatible onto HomeKit. It has a plugin-based architecture that allows you to download plugins for a ton of different IoT devices. Homebridge can be run on most any computer; thatās why Ryan was looking at running it on a tiny, low-cost, Raspberry Pi.
Ryanās musings had one key piece that I hadnāt considered, however: Docker. Docker is sort of two things rolled into one: virtualization and downloadable containers (much like virtual machine images) that effectively bootstrap the installation of applications. These applications are then sandboxed into their containers, so they canāt [easily] mess with the rest of the system theyāre running on.
Though Iād never used Docker before, I understood the basic principle behind it, and thanks to a link in Ryanās tweet, I realized I could get a Docker container that has Homebridge pre-installed on it.
The final piece that really opened everything up for me was realizing that my Synology has Docker support. Furthermore, after but a moment of digging, I was able to find instructions specifically for setting up Homebridge on a Synology in Docker.
Following those instructions, within about 10 minutes, I had a Docker container on my Synology, running Homebridge, and allowing me to see my not-yet-updated Wemo devices in HomeKit!
Unfortunately, I have yet to find Homebridge plugins for my thermostat nor my garage door opener. However, with less esoteric devices, you may have far better luck. Furthermore, if you have a Mac or PC that is always on, thereās no reason you couldnāt run the Homebridge Docker container on that device as well.
So, here in early 2019, Iām finally enjoying the fruits of 2014ās technological advances.