Interview with ActuallyTaylor, the Developer Behind Jellycuts

Interview with ActuallyTaylor, the Developer Behind Jellycuts

In the realm of Apple shortcut development, Taylor Lineman (ActuallyTaylor) stands as a pioneering force. As the creator of Jellycuts, she has redefined the landscape of mobile programming, making shortcut creation more accessible than ever. An active member of the RoutineHub community, Lineman's work has not only transformed Apple shortcuts but has also inspired fellow developers.

We've highlighted the most exciting parts of the interview to delve into Lineman's journey, exploring her early coding experiences, the challenges she’s faced, and the ingenious solutions she's brought to the shortcuts community. We've distilled the conversation to highlight key insights and pivotal moments.

Join us as we uncover the story of Taylor Lineman, a developer whose work is revolutionizing shortcuts and leaving an indelible mark on the mobile programming landscape.

To begin this interview, could you introduce yourself and share some details about your history as a developer?

I started off programming just making little tools for myself. During middle and high school, I developed applications for journaling, finance tracking, and other random apps as a way to practice iOS development. Although these projects didn't go anywhere, they served as a learning ground for me.

And then around 2019, I met a really cool guy named Ed who I worked with on making a map tool for the video game SCUM.  It was a map helper tool with server-side components, sharing servers, and maps. This collaboration resulted in my first app released on the store, where I served as the lead developer, handling all the development work while Ed focused on design. After this, I continued to work on that project and eventually discovered shortcuts.

One day at work in 2019, I grew frustrated with the limitations of drag-and-drop programming and wished to code in an actual programming language. Despite having no experience in writing programming languages, I decided to dive into Jellycuts. As I learned new aspects of iOS and computer science, Jellycuts evolved accordingly. It has expanded further with the open-source version and, recently, the introduction of the command-line interface.

While continuing to develop Jellycuts, I started university, currently in my second year, studying software engineering. In the first year, I released a Mastodon client because existing options didn't meet my preferences. Despite having no prior experience with social media projects, I wanted to explore something with a broader reach and more complexity, involving a significant number of API users. In about two or three weeks, I developed Manny, a Mastodon client, as a side project, and I've been gradually improving it since then. 

What inspired you to start creating shortcuts and tools for the community?

I think it was mostly just like what I wanted, didn't exist. I was just like, well, it doesn't exist, so I'm gonna work on it and I'm gonna make it. That’s kind of how I do a lot of my stuff; if it doesn't exist and I have the extra time, I make it.

When did you begin creating Apple Shortcuts?

I guess probably 2019, 2020, right around whenever it Apple started promoting it as Apple Shortcuts. 

You see the communities for ideas or to see if someone is asking for functionality in a shortcut or how's your process?

So, I approach it in a similar way to how I handle app development. I add it to my list of tasks, take a look, and evaluate whether the feature makes sense. For instance, when considering features like YouTube download, I reflect on specific instances, such as downloading private videos. Does it make sense to support this? It did, but it raised the question of requiring login. Is handling YouTube login something I want this shortcut to do? I assess the workload, checking Google APIs, which proved to be challenging and not something I wanted to delve into for this shortcut.

In response, I concluded that handling YouTube login was beyond the scope of this shortcut. However, I suggested that there are other shortcuts designed for such functionalities. As for the features that did make sense, the implementation process was straightforward – I evaluated, confirmed its relevance, and proceeded to implement it.

What challenges do you face when creating shortcuts and how do you overcome them?

A lot of trial and error really, is how I at least get through. A lot of just taking a step back, looking at what I have, what needs to actually get done. Back before I actually had Jellycuts, when I was just writing drag and drop shortcuts, it was a lot of just like, I'd actually write the shortcut in Python first and then convert it to shortcuts. 

Like I'd write it out in Python syntax, figure out what needed to happen, and then I'd convert it into a shortcut and go hand by hand and convert everything. So that's also one of the other reasons that I ended up making Jellycuts was because that process got long for big shortcuts. So yeah, it's a lot of just stepping back from the problem.

Can you tell me why Jellycuts is a useful tool for shortcut developers?

So it's really like, at least for me, it's good, if you're writing a big shortcut. You can step back and actually look at it on a computer as just regular text, instead of having to scroll through pages and pages of actions, you just can look at it, think through it more like an actual program. It's easier to see where variables end up, where logic stops and ends, where functions actually start. 

Like, especially a lot of my shortcuts use functions, and if you're doing that in the shortcuts GUI, it's next to impossible, it's doable, but difficult. But with Jellycuts, it's just a simple function statement. And that kind of thing is really helpful, and was really helpful for me when I rewrote the Jellycuts helper which has a lot of jumping in and out of the actual shortcut. I think being able to step back and look at things is why it's so amazing.

Why did you decide to open source portions of Jellycuts, and what specific problem or opportunity do you aim to address or provide for the broader audience through this decision?

So I recently open sourced it and by doing that I wanted to kind of just give a platform for everyone who was interested in Shorcuts programming a starting point to look at and go okay here's something that's been working and start from there. 

Anyone can look at the code to figure out how it works or someone who wants to go in and build on top of it, someone who wants to go, okay, I have a really cool idea, but I don't know how to write a programming language. I don't know what I need to do here, but here's Jellycore. It has direct interoperability with Swift. I can hook that up to my Swift apps if I they really want to they could, hook it up to C.

I kind of just was like, there's no reason to keep it closed source anymore. It's been three years, maybe almost four since I started development. And it's not something that needs to be closed source right now. I don't gain anything from it being closed source. So I thought why not make it open source. Why not give a learning tool for everyone.

How will Jellycuts be impacted by the recent iOS changes?

There are always breaking changes with iOS updates. At least you have iOS 16, and 17, moving a lot more away from an open ecosystem. Shortcuts used to just be regular files. Now they're much more complicated signed files. Alongside that the actual data inside the file is getting a lot more vague. It’s getting more difficult to keep things updated with Jellycuts with the changing and more obfuscation coming from inside shortcuts.

What percentage of work was spent in creating a backend for a shortcut? What time does it take you?

I don't know. It really depends on how big it is. Like if it's a simple thing like some schoolwork, probably about like a half hour or two, maybe not even that much, 10, 15 minutes. But for bigger stuff, probably two or three hours for the first run. And then over the next week or so, I kind of just work on it intermittently. I don't really have a direct amount of time though.

What skills and knowledge are essential to develop effective shortcuts on Apple shortcuts?

Creating effective shortcuts doesn't require an abundance of specialized skills. It's quite accessible to anyone willing to dive in. The key lies in thoughtful consideration of the logic. Take the time to analyze your shortcut, plan the necessary steps, and let the logic guide you. The essential skills here are basic planning and straightforward logic, concepts that most people are familiar with. Being adept at constructing conditional statements—like "if this, then that"—is particularly crucial and constitutes a significant aspect of shortcut development.

Are there any tips or lessons you want to share with other developers who are interested in creating useful shortcuts?

I think figure out what you want to make first and then don't start off doing the biggest thing possible with your shortcut. Start off with the core features that you want and then build from there. So it's much, at least in my opinion, much easier to build something when you can get stuff started with a simple prototype and then build from there, build the rest of the functionality around that prototype. So I think start small, grow big. It's my biggest thing.

How do you see the role of the RoutineHub community in creating and improving shortcuts?

I believe the RoutineHub community can address Shortcuts' limitations effectively. Currently, there's no dedicated space to share, and RoutineHub stands out as the primary platform. Its significant contribution lies in highlighting features and developers, guiding them in a positive direction. During my active involvement in writing shortcuts, RoutineHub and the broader shortcuts community played a crucial role in providing constructive feedback and steering towards more impactful work. It's a supportive community that not only recognizes newcomers but also showcases individuals with the potential to create innovative projects. I think the community as a whole can significantly assist those trying to find their way.

Have you worked with other developers in the RoutineHub community or on similar projects?

Certainly, I've teamed up with quite a few developers. Initially, when the Jellycuts first helper was created, someone, whose name might be Burrito, and I'm unsure if they're still active in the Shortcuts community or if they've changed their name, wrote the original app. They were instrumental, along with others, in assisting me when I faced challenges while working on Jellycuts. 

A significant amount of support came from the creator of ScPL (Shortcuts Programming Language) during the iOS 12 era. They helped me navigate some of the peculiar aspects of Shortcuts. So, I've collaborated with a considerable number of individuals, including some well-known figures in the community.

What would you like to see improved or implemented in the RoutineHub community?

think just more innovation. I think there's already a lot of it, but I think highlighting the really innovative shortcuts and developers would be cool. Seeing more just like things that you're like, whoa, I didn't know shortcuts could do that, which is kind of biased because that's where I came from starting in shortcuts was seeing things and going, whoa, that's really cool. I had no clue shortcuts could do that. I think that kind of stuff is cool.

What resources, tools or sources of information would you recommend to those who want to learn more about Apple Shortcuts development?

I think the biggest ones that I can say if you're starting off is the actual Apple documentation is actually surprisingly good for shortcuts. The shortcuts reddit and then the discord communities as well, shortcuts and routinehub are good places to start. There's some people in there who spend a lot of time helping you out with problems and they're awesome people. I had the privilege to talk to some of them personally and they're great. They're awesome people and they actually help a ton. So I think the best resource is the community itself and the other people in it.

You think that you need technical knowledge to start development shortcuts?

I don't think you really need any technical knowledge at all to start. Apple makes it simple. I think as you start learning shortcuts, you'll gain that technical knowledge if you don't really think you are. And the more you advance, the more tools you can jump into. You can jump into like the shortcuts inspectors, you can jump into Jellycuts, you can jump into the more advanced shortcuts tools, but to start off, you don't need to be super technical, really technical at all. It's a very good platform to learn on.

What advice would you give to the new developers in the RoutineHub community?

I think just a couple of things. I have built what you think is cool, solve problems that you have and just trust that what you make is cool. Because it may not get a ton of feedback right away, it may not have thousands of downloads, but what you make is cool. And if it gets one, two downloads, you just made those one or two people's lives better by fixing an issue. So no matter how small your first shortcuts are, or how like they're still helping people and that's one of the cool things about it is because you're solving problems that you have that means someone else probably has it as well.

You can see more from Taylor on her github or website.