202 karma · joined July 24, 2017
1. How modifiers are implemented 2. How image processing works 3. How the realtime audio works
Still feeling my way through, and I didn’t even touch on how much time it took to get everting into Swift packages before I could even start with the audio. But yeah this was a couple of days’ work last week and feels like huge progress.
If you're the only developer in the team, and you don't have any testers, how do you make sure you don't break things?
I've been in a lot of startups that got this wrong. Now I'm on my own and I've had to find a way to cut through all the noise and create a sustainable process to keep my software stable while continuing to innovate with creativity and vigour.
I needed to find the perfect balance of automation and flexibility.
I have made the comparison table link a bit more prominent on the pricing page so hopefully it's less ambiguous now.
But I think it's correct now?
That said, I'm still too scared to look at the damn hotjar data so I don't even know why I'm using it .
But I would also dispute this as "rentseeking". Am I taking something from the commons and putting a paywall around it, or am I working hard as a producer of value, and trying to find a way to be rewarded for my labour? To me it feels like the latter. I'm not sitting back on the spoils of capital, I'm working for a living.
Well, to a point. I wouldn't have been able to attempt this without a certain amount of privilege - for instance not being rent-burdened for the last few years due to my partner owning her own home - but I'm not exploiting workers or anything here.
I wish I didn't have to spend so much time thinking about how to make money from my work. But that's Capitalism for you. But if it makes any difference, I described how I wanted to run my company (if it ever starts making enough money to support a team) by paying everyone the same here: https://goodtohear.co.uk/changes/modal/social_enterprise (direct link to a modal which usually sits on the product page).
The drawing feature is possible using other apps but it's always a bit of a compromise and awkward to set up.
I help people to do this every day and I know lots of them would prefer something easier!
> Maybe it would look more like a sound effect board/stream deck/TV Mixer where there is a matrix of buttons to playback videos, add titles, show images, play sound effects, etc. I think you're talking about a Stream Deck! CueCam gives you the other part of the Stream Deck puzzle when you do have structure, but lots of its features can be accessed with the Stream Deck plugin.
It's already possible to deep link to specific cards so you could set that up if you didn't feel like scrolling. But I'm usually fine to scroll (it's a pretty low friction interaction!) and it's less fiddling-about up front.
I have chroma key support already.
Other things may appear over time. If I find myself wanting to do some data-driven motion graphics you can bet that feature will appear within a week
CueCam has a "Teleprompter Window" that you could adapt to this purpose. You can "Include Camera Feed in Teleprompter Window" and then whatever you're sharing will come through. Although it does have window chrome so maybe not ideal. Another option is to fire up a QuickTime window and use "New Movie Recording" and use that as your sharing source window.
You definitely want "Original Sound for Musicians" switched on in Zoom if you're doing any audio sharing with CueCam.
This reasoning obscures the huge overhead of creating a distinct "version 2" next year. I can do a much better job on the software if I don't have to spend 70% of my time marketing the next version or sectioning off this or that feature for commercial reasons.
But I take your point, I don't love subscription software either, but most of my current users are pretty comfortable with these so it's good for now while I'm working alone. And my hosting / API access fees are not _zero_ so there is a vague justification there too.
Note that I'm not using the App Store for distribution, I'm using Sparkle, which means that it never updates without you allowing it to.
Also , if it's a dealbreaker for a lot of people, it would be trivial for me to make older versions available for download! (I keep them all, and this has come in very useful on some recent support calls).
But it does benefit you in a very real way.
I work alone. I'm very good at spinning up features in a few hours. With a subscription model I can release these changes continuously, so you get new features and improvements on a weekly or monthly basis.
If I had to come up with a release schedule I'd have to make a lot of decisions about cordoning off different features, coming up with names, marketing materials, deciding what goes where. This is a huge mental and technical overhead. I'd be juggling git branches across multiple pieces of software, the website, and beyond. I'd be incentivised to put more and more things behind the next paywall and I'd be getting less and less real work done.
I don't have the marketing clout of Apple or Microsoft. They can take a different approach. I've tried a few and now I'm trying this!
One more thing, I do plan on adding some more cloud-based features as time goes on. I'm already managing a Chat GPT integration, and in future I'm picturing an online content library and search to let teams quickly access decks and slides for demos. But that's future stuff, so not relevant to your question just now.
Short answer: it lets me, as a solo developer, give you more cool stuff.
When a screen share takes over, a conversation turns into a broadcast, which isn't always what you want.
There will always be scenarios where the improved resolution of a screen sharing codec will be necessary (and nothing is stopping you!), but I find a lot of the time there's a big white screen with a bit of branding and one bullet point on screen, and I can't see the face of the person who is talking.
I was on a group call recently where the speaker presented in this way for half an hour as a tiny thumbnail and I found it quite painful, thinking "I've been listening to this person for ages but I wouldn't recognise them in real life".
Sure enough, a couple of weeks later I had an awkward conversation where this exact person kinda recognised me but I didn't recognise her, so I felt pretty vindicated .
If we avoid the overhead of screen shares, the conversation flows a lot better, and everybody can be seen without the host having to turn anything off. And don't forget, if somebody's on a phone screen then they can't see all the detail anyway. This is why I prefer zooming in on important content than sharing my whole screen (I zoom in on my desktop using a pinch gesture in Video Pencil on my iPad and it feels magical).