Getting launch ready and rolling out private access for Screenity
Also, why building Chrome extensions in 2023 sucks
Issue #35
Hey! I’m Alyssa X, a serial entrepreneur building 12+ products by myself. This email is part of my maker journey, which you’re subscribed to. Feel free to forward it to others if you find it interesting! You can support me through GitHub Sponsors, I’d really appreciate it! ❤️
Hey all,
Sorry for the lack of updates these past months, it’s been pretty hectic. Between a jaw surgery and buying a house here in London (especially with the state of the market…), I have struggled to find the time to write. That hasn’t stopped me from building, though!
A challenging development
On my last issue I seemed pretty hopeful and optimistic about the product and its direction. Let’s just say that it changed as soon as I started implementing everything, and it became less of a therapeutic experience, and more of a hellish endeavor.
Developing Chrome extensions is a nightmare, even more so with the manifest V3 requirement. It’s been hurdle after hurdle, with issues with recording video and audio, editing, and even with the UI itself. Not only that, but there’s barely any good documentation out there, so you have to jump through multiple Google groups conversations to find out all the different workarounds to get things working.
Because of this, my biggest time sink by far was creating the video editor for Screenity. For it to work on the client side for free users (as to not spend money on servers), I had to use a Webassembly port of FFMPEG. Under normal circumstances, it can already be quite tricky to get running. With MV3 though, it was a whole other level of complexity with all the security considerations. At the time, I could not find anyone who had succeeded in doing it. It took weeks of experimentation, involving a sandbox page with an iframe for communicating with the extension, special CSP values, and many sets of commands to handle the MediaRecorder output and perform edits quickly while maintaining quality.
It was totally worth it though, and now users will be able to cut, trim, mute, crop, and more, which is a big step up from what is available in the current version.
New features
I was able to achieve feature parity with the current version of Screenity, so users won’t miss any functionality, and on top of that, I also added quite a lot of new features, for example:
Custom camera backgrounds, with a pre-defined set of background designs, and the option to blur it out. I might add more variety and a way for users to upload their own in the future.
Custom region recording, for designating part of the tab to record using some handles. It’s especially convenient for leaving the toolbar out of the recording area.
Blur tool, so users can select bits of the screen to blur, to keep hidden from the recording. It’s a paid offering on Loom, so I figured I could add it for free on Screenity 🤷♀️
Setting a time limit. Users can set recordings to automatically stop after a custom amount of time (by default, recordings don’t have a time limit)
…and a lot more that I will share on launch and keep developing later.
The road ahead
I shared a sneak peek of using Screenity start to end on Twitter, and the response was fantastic.
It was encouraging to see so many people interested in trying it out, which has allowed me to collect lots of feedback and address bugs before the official release (I’m still going through my messages and slowly getting in touch with people, sorry if you don’t have access yet!).
Speaking of, it won’t be long now before I launch the product. To get an idea, this is the current roadmap:
1- Private access for a few days, to gather insights. I’ve also done extensive testing using Browserstack, who very kindly gave me lifetime access since Screenity is open source. I’ve tried it in multiple OSs and Chrome versions, to ensure it works for my large and diverse user base.
2- Initial release on the Chrome Store, by updating the existing version. This might take some time due to the review process, but hopefully it won’t be too long. At the same time, I will also update the repository on GitHub, for users to self-host from there. I’ll also mention the future cloud paid version, with an option for users to stay informed and have their say.
3- Bug fixing and improvements as I get feedback from users. At this point I’ll prioritize getting the extension in a solid state as opposed to adding more features.
4- Further development of the cloud paid version of Screenity, based on the features that have been requested by users who are interested in it.
5- Private access, again, but only for selected paid users.
6- Official public launch, with the paid cloud version of Screenity available for everyone.
It’s all pretty exciting, really. I don’t think I’ve ever spent this long focused on a single product (besides my job), so I’m hoping it will do well.
Closing notes
I really wish I had written some issues for the newsletter while I was putting everything together. It’s been hard compiling it down, and I don’t know if I should have talked more about the development, design, or even the strategic side of things. I guess I could retroactively mention some other aspects of the arduous process I went through in future issues, for anyone who’s curious about building a commercial Chrome extension or simply enjoys to see me suffer 😅
Thanks for sticking through after my hiatus! Feel free to reach out if you’d like to try Screenity or have any questions or suggestions.
See you,
Alyssa X
Would love you to write up how you got everything working with MV3. I have had a really hard time getting stuff to work.
You are doing a great job Alyssa!
I am also working on an Open Source browser extension project and will be launching it very soon :)
Got to learn a lot of things from you, thanks...