Flex developer answers questions and explains how Flex patches work

flex search upload

Yesterday iDownloadBlog reported on Flex, an upcoming jailbreak app that allows users to create their own tweaks on the fly. We had reason to be excited, as Flex can create custom patches for the Springboard or almost any app, all without requiring programming knowledge from users.

While we were optimistic about Flex, some of our readers were curious about how Flex works, and others raised concerns about the unreleased app.¬†Because¬†we felt these concerns deserved addressing, we got in touch with Flex’s developer, John Coates, who was kind enough to answer our questions and provide more screenshots for our readers…

What kind of user is Flex for?

What’s interesting about Flex is that it encompasses two target markets that are so distinct from each other. On one hand Flex is perfect for a regular person who doesn’t have any interest or knowledge of programming. They can download patches from the cloud and activate them without ever knowing how or why they work. On the other hand Flex is also perfect for people who make complicated tweaks and release them on Cydia, and it gives them a lot of flexibility.

What can users do with Flex and what is beyond the scope of the app?

With Flex you can change the way apps behave. You’re limited to what’s already in the app, so don’t think you can add anything that doesn’t exist within it already. You basically change the rules, so if you want to hide something, remove a restriction, give yourself more points than you have, etc. then Flex gives you the freedom to do that. You won’t be able to make a patch that adds a new icon to Springboard, but if you want to remove the Newsstand icon then that’s definitely within the capacity.

On Reddit you suggested that “absolutely no programming knowledge is needed” to make patches in Flex. What do people need to know about the variables they’re messing with, and how badly can someone like me (a muggle) break my iPhone in Flex?

The variables you mess with are usually named quite descriptively, so you can always tell pretty well what you’re changing in the app. You can’t break your Phone in Flex. You’re always protected by MobileSubstrate’s safe mode if you somehow make Springboard crash. But if you’re not playing with Springboard then the worst that could happen is that the app you’re running a patch on crashes until you disable the patch.

How will Flex’s community-submitted patches be maintained to protect users from malicious patches and abuse? How will users find the most useful patches?

Flex doesn’t currently have a rating system for shared patches, but I’m definitely looking into adding something that in the future. As far as malicious patches, that’s not very much of a concern at the moment for a couple reasons. First of all it’s a no-win scenario. You’ll need to have bought Flex to submit a patch, and submitting something malicious will get your patch downloading privileges revoked. Downloaded patches are fully editable and viewable, so users have the option to go into a patch and see what it does before activating it.

A developer in our comments section was concerned that patches in Flex could cause bugs and bring out strange effects in other tweaks. Have you noticed any odd interactions in testing?

I haven’t noticed anything odd myself, but I don’t have any other tweaks installed besides my own. The beta test has just kicked off so I’ll have more feedback about that soon.

Were you able to do anything in Flex that surprised you? What’s your favorite patch?

I keep getting surprised about how easy it is to make these Patches. I usually have one in working order 1-2 minutes after I think about something I want changed in an app. My favorite one right now is unlimited safari tabs, because I’ve hit that tab limit many times!

If anyone else has questions about Flex, feel free to use our comments section below. You can also find John Coates on Reddit under the username somethingpunk or on Twitter at @punksomething.

Do you have any other questions?