Week #759
A very strange project landed in our laps this week. We are tasked with reverse engineering some APIs. We have the server code and this crazy Vue.js code and we’re trying to get an iOS app to connect and replicate some of what the other code is doing. This came from a Chinese team who handed it over to another team in Prague. We don’t know all the politics, but it’s hard to find who’s what product owner and what’s documented. So we’ve just gone straight to the source (code) to figure it out.
We have a small extension to a project for the Australian concreters. They bought a concrete pumping truck and now need to keep track of that in their online jobs tool we built. When a job is booked with this as one of the execution steps, some special actions need to be taken. Then we got some small scope creep… nothing we can’t handle, but everyone’s tight on budget and watching the hours.
With a little help from some friends, we managed to get a working WebRTC library for tvOS! This means that we now have the ability to group video chat via web, iOS and tvOS. We first started focusing on the Web tool to manage accounts. The Web is fast and easy. We started to work on the iOS portion next. With SwiftUI we can managed to get 90+% of the tv app as well. After living with the tv app, we’ve all realized that’s where it’s going to actually all happen. These next few weeks we’re going to really focus on making that the best experience possible. We also know that our commitment to this prototype is limited. It was only suppose to be for the summer, but now Autumn is on our doorstep.
This week we published LUT Cubes and Shaders article. Our latest experimental camera app is now on the App Store and we wanted to document some of our thoughts about the pros and cons of Shaders and LUTs.
It was also the end of August this week, so that means getting into the accounting software and paying the bills and reconciling transactions!
This week we built a quick Pixelated Camera App. Given we have a bunch of code to make camera apps, this one was pretty easy. Rather than video delays or filters, we take the camera frame and crop it into a square. Then resize it down to 32×32 pixels and then upscale it back to 4K without interpolating the pixels. This gives a crazy video game look to the world around you.

When it lands well, it’s amazing, but when browsing the camera roll, it mostly feels like thumbnails and the full-res image is missing. This is all part of the experimenting process, you have an idea, try it, see if you like it or not and iterate to improve. We just hit our first iteration!
Week #760
Monday was Labor Day public holiday in the USA. Things on that side of the pond were quiet. We managed to get a big chunk of the Concreter tasks done, setup an iOS to connect and authenticate to this inherited API and blew the dust off another really old project that we’re going to pitch before the end of the month.
On Tuesday, we started our student survey. Last minute checks and fixes, then emails went out with September lists of students. We’ll repeat this process for the next 8 months until June when the school year is over. Along the way, we’ll spin-up additional data collection servers for other student, parent and staff surveys.
Wednesdays we have a regular 15min sync about another project. This week we tried to demo progress and while everything was installed and running, we couldn’t manage to connect. So there are a few WebRTC bugs to still fix, but overall things are coming together!
Thursday was spent mostly working on an iOS reskin on this VUE.js project. That’s the easy part. The harder part is figuring out the API end-points, the nomenclature and how toggles in the front-end correspond to the json keys coming from the API (and web socket when we can figure out how to connect to it). On Friday night we’ll have a meeting with a bunch of stakeholders to figure this all out.
We had a lunch meetings with an old friend & work colleague. It was great to catch-up, vent about things, and hear what’s happening in their worlds. As with many things in life, you’re not going make the next step from your immediate circle of friends, it usually takes one or two degrees of separation for the next opportunity.
A new prototype idea came to us this week from a nephew. He’s got a great idea for a service. We quickly took his paper prototypes and digitized them into SwiftUI wireframes to click around in (nothing is database powered – yet). We also reached out to some friends who, 10+ years ago sold their company to Google doing a similar thing, to get some advice. We think this one might have legs, so we’re happy to take a few hours to encourage them to pursue it.
The PETALS project continues. Late last week we deployed some changes and this week we’re collecting feedback and trying to plan for the rest of the year. The main task for us is to start gating various functionality based on your subscription plan. We have a series of GitHub issues and we’ll go through them one-by-one adding if statements into the templates and check on the backend so we catch all the things we want to manage.
The update to the Australian project will be deployed on our Sunday night (Monday morning in Australia) and we’re going to try and do it in a conference call. That way if there are any bugs, it isn’t 11h from finding them to fixing them. They really want to avoid any downtime (which is understandable).