Someone was kind enough to post Snapthread to Product Hunt, and upvotes are of course appreciated. One of the challenges of launching (or re-launching) an app is maintaining some kind of momentum. Without it, the app will have a difficult time climbing the charts or gaining any additional exposure. I’m sure Snapthread’s downloads will fall off a cliff, perhaps as soon as tomorrow, and will settle into a 1-2 sales per day rut. I’m hoping to stave off that inevitable decline for a few more days, if possible!
John Voorhees reviewed Snapthread over at MacStories, and it totally made my day.
Relatedly, for the first time in my life I feel comfortable telling people I meet that I make apps. “Independent app developer” is finally starting to roll off my tongue (and fingers) a little easier. Like, this is really happening…this is me…this is what I do. It just feels so darn cool, and also a bit surreal. Thank you to everyone who has offered kind words and encouragement over the past few years, as well as promoted my work. I wouldn’t be here, feeling cool, without you. ❤️
I love me a good app origin story, and I particularly love when developers journal about their process/progress, so this post obviously hit a sweet spot for me. I was also impressed by how much Belle was able to accomplish in a single day!
(Also, that app name is just plain good.)
Snapthread 1.5 is now available! This update brings support for videos and Live Photos taken in landscape orientation. It also features a new icon and a number of small improvements designed to make the movie-creating process as fast, flexible, and simple as possible:
- You can now square-crop your videos and adjust the cropping area of individual clips.
- Your final video can be exported in any of the following aspect ratios: 3:4, 4:3, 9:16, 16:9, 1:1.
- Video clips in the opposite orientation of the one you selected will be letterboxed or pillarboxed by default. You can change this behavior on the new Settings screen.
- There is now an option to automatically save your video to your Photo Library when you tap the Share button.
- You can now 3D Touch a photo or video on the video selection screen to preview it before selecting it.
- You can now mute all of the clips at once from the music selection screen.
With this update, Snapthread becomes the best app for combining and sharing Live Photos. Personally, it has completely changed the way I think about and take Live Photos. I’m much more likely to keep a subpar photo now if the underlying video is good. And since Live Photos also capture the moment before I take the picture, I find myself mashing the shutter button while Charlie is saying something cute, knowing that I likely captured most, if not all of it.
Anyway, I hope you like the update and I’m looking forward to getting started on the iPad version in March!
Every once in awhile I have to fight off the urge to go through my blog and delete old posts that I consider stupid or poorly written. I have to remind myself that they’re all part of the journey; I’m a better writer now than I was four years ago, and a better programmer too.
Landscape support is coming to Snapthread on Monday. It seems like such an obvious thing, and I’m sure anyone who hasn’t been following Snapthread’s development is wondering why on earth I didn’t support landscape videos to begin with. The truth is, this app seems to have taken on a life of its own, and has whisked me far away from the path of my original intentions. What started as an app to merge Snapchat videos is now on its way to becoming a complete video studio for Live Photos.
I didn’t anticipate that, but I’m excited. Really excited. To me, Snapthread 1.5 is really Snapthread 1.0. The beginning of a new app.
I have so many ideas for the future, but for the next point release I’m waffling between these two priorities: revamping the title card system, and making the app universal.
Currently, title cards are extremely boring and limited. However, they’re also not an essential feature, and the app still does something really useful without them. So, I’m leaning towards focusing on the iPad version for the time being. I’m also really hoping that I’ll generate enough revenue over the next few months to hire a designer to help me with some fun backgrounds for titles. Perhaps making the app universal would also boost sales and help fund that.
Anyway, here’s a list of features I think might be cool additions to Snapthread:
Planned before 2.0
- iPad support
- New and improved title cards (multiple title cards that can be rearranged, have fun backgrounds and fonts, etc.)
- For the initial view for video selection to be similar to Photos’ “Moments” tab, to make it easier to find what you’re looking for
Wishlist for the future
- Video filters
- Stickers maybe?
- Ability to select a particular time range of background music
- A way to either manually auto-generate or perhaps have the app surprise you with a video based on a “moment” in your photo library. Similar to Photos’ “Memories” feature.
I’m committed to improving Snapthread as it’s become one of my own most frequently-used apps. I love making compilations of Live Photos and videos of Charlie to post on Instagram or send to my parents, who only get to see him in person a handful of times per year. I hope others will get as much enjoyment from it as I do, and will consider it $2 well spent.
I think I’m going to take the month of February off from programming, and focus on blogging, taking care of myself, and spending more quality time with my family. I’m looking forward to relaxing, writing, and chatting with you all via Twitter, e-mail, or Micro.blog.
Last month, I wrote about why my current MacBook Pro may be my last Mac. To summarize: even though I love the Mac, I really enjoy using iOS and am betting that in 3-4 years, when I’m ready to upgrade my computer, the new model of iPad Pro will be able to fit all of my computing needs. Yesterday, Ryan Christoffel over at MacStories wrote a post entitled “What I Wish the iPad Would Gain from the Mac.” He had some good ideas; I particularly agreed with his requests for multiple instances of the same app and persistent background privileges for apps. Here are some other things on my iPad wishlist:
Time Machine backups
Cloud backups are great and all, but who wants to put all their eggs in one basket? I sure don’t. That’s why I’d like to be able to backup my iPad by connecting it directly to an external hard drive. Sure, you can connect an iPad to your Mac and back it up that way…but if the point is to go Macless, then the iPad needs its own independent solution for creating physical backups.
Default apps, file handling, etc.
On my Mac, I have Safari set to automatically download files to my Desktop. I’d love an option in Safari for iOS to just download all files, no matter what type they are, to some designated folder in the Files app. These downloads should be displayed in a magical pane called a “download manager,” with fancy progress bars and “time remainings” and the whole kit and caboodle. Then, from Files, I should be able to tap on a file and it will automatically open in a default app of my choosing (unless I choose a different app from a menu of available apps).
Yes, I just described exactly how that works on a Mac.
Editing a file with multiple applications on iOS feels like a game of hot potato: the file gets passed from app to app, but nobody wants to own it and God forbid it “land” anywhere. Coming from the Mac, I like my files to have a home outside any one application. Files.app attempts to achieve this, but the existence of app-specific folders confuses things. It’s as if the transition from “let’s abstract away the file system” to “okay…I guess we can show you some of the files” was never quite completed. I don’t care about accessing hidden system files or anything, I just want Apple to firmly decide what mental model they want users to have when it comes to file management on iOS, and then use the basic principles of design to clearly communicate that.
iPad-only design paradigms/UI controls
Size classes aren’t good enough. There, I said it. The iPad needs more than just UISplitViewController: it needs more UI controls that are tailor-made for it. It needs its own coherent design language that is an extension of the iPhone’s: similar in spirit, but different. All of this needs to take into account the different ways that people use an iPad: on their lap with no hardware peripherals, with a keyboard, with an Apple Pencil or other stylus, etc.
Most importantly, Apple needs to lead the way on this with its own first party pro software. I think they should start with Logic, and charge a hefty price for it. That would be helpful.
And okay, can we talk about the fact that the 12.9″ iPad Pro has a resolution of 2048 x 2732 and still only shows, what, six app icons per home screen page? (an exaggeration, I know…but good grief!)
I would love the ability to have some persistent “spaces” on my iPad of some kind. In other words, a set of side-by-side apps that always remained a pair no matter what. For instance, I’m imagining a space labeled “podcasting” that showed a recording app, a chat room app, and a slide-over with notes, or something. An app would be able to be associated with multiple spaces. I think this approach would fit a lot better with the way most people work.
Xcode, but probably not Xcode exactly
The last thing I really need in order to live the iPad Life is a way to develop apps on it. With wireless debugging now a reality, and a rumored API that would bring some cohesiveness to Mac and iOS development (I’m betting that’ll be Swift-only), a full-fledged IDE for iPad seems more possible and more likely than ever. I doubt it’ll support Objective C, and it’ll probably push Storyboards more than ever, and I’ll love it so so much.
Anyway, I’m pretty sure all of these things have been mentioned by other people a zillion times, but they’re also the things that are most important to me, personally. And that’s why you read this, right?
Making App Store screenshots involving a photo library is so hard. I always just use my own pictures, but they lack a certain polish. I could buy stock photos and put fake Live Photo badges on top them, but…ugh. I’d prefer a genuine screenshot, with real Live Photos.
Just completed two productive, frustration-free hours of writing code and now I remember why I enjoy this so much. The past week was full of weird bugs and lots of wasted time, but this feeling makes it worth it, at least to me. 😊
In today’s edition of “Becky’s Dumb Programming Mistakes,” it’s a miracle you can even scrub videos at all in Snapthread because I forgot to actually hook up these two actions to the scrubber.
I love using Halide to shoot sunsets. 🧡 (taken last night)
I also discovered a fun error message in the debugger about something called JVTLib that ended in at LEAST eight exclamation points. Something like: “Bit stream parsing error!!!!!!!!” (Sent with Raining Hellfire ☄️)
Hello. I just realized, after attempting to figure out a bug for nearly 5 hours (spread over the past couple days), that the problem only occurs in the Simulator. So if anyone is looking for me, just listen carefully for muffled sobs and murmurs about decoder errors…😭🍷
A moment ago I was writing a switch statement and read the regular Xcode warning as “Switch must be exhausting.”
Guess it’s time to go to bed!
A hearty “THANKS!” to everyone who has sent in Snapthread beta feedback so far. It looks like I have a lot of work to do! 😅 I think I narrowed down the cause of most of the “hanging/freezing with no progress” problems to some threading issues. I still have a sort of incomplete understanding of multithreading, but I’m confident I can get it sorted. Anyway, I’ll get back to you all as soon as I can. Thanks again!