App for Apple platforms

Yeah, I think you’re right. We’ll need to use a single protocol, since Flipper can’t support many due to memory restrictions.

It will be possible to obtain some pre-release hardware in some point in the future, so we’ll be able to test bluetooth connectivity early enough. However, not in the nearest month for sure.

2 Likes

vopash i want to join your project since I personally will be using the flipper zero mostly with apple products so the end user experience is an important aspect for me and I will be of great help in that area.

1 Like

Thank you! The UX is paramount, that’s why we’re intending to do native development.

Shortcuts are the first priority now!

After some discussion I’ve had with @LionZXY, it seems like Shortcuts support should be a first priority for iOS. Shortcuts provide awesome automation support, even JavaScript is supported. Also, watchOS 7 can run shortcuts even without iOS, that’s great.

However, macOS doesn’t have Shortcuts, so we’ll need to think of a workaround.

2 Likes

What else was your discussion about?

General app features and architecture.
For now, Flipper hardware/firmware staff has its hands full, and mobile apps are low priority, so we don’t have that much knowledge yet. We’ve gathered what we know and what can we do with it. I’ll post a more verbose update later today.

I’ve promised a more detailed post, so here it is.

At stage 1, the main feature of the app is to download modules from the Gallery and install them on Flipper.

There are (at least) two kinds of modules we might need:

  1. Flipper firmware addons.
  2. Mobile app interface for these addons, so the phone can use Flipper’s features.

Flipper modules are straightforward: load them from the Gallery, upload via BLE and let Flipper do its install thing.

However, downloadable interface addons on iOS are a no-go. We can manage first-party support for some modules, but definitely not all of them, and this is a problem.
IMO, the best way is support Shortcuts. They are powerful by themselves (no-code programming at its finest), but the best part is they allow to run Javascript, so it’s trivial to distribute community-made Shortcuts along with community-made Flipper firmware addons. Siri support comes as a free bonus.

Anyway, the roadmap doesn’t change much. We still have to make an MVP with Flipper prototype exchanging some data with mobile app and installing addons, then we can make it pretty and usable.

1 Like

Hey guys, I’d like to join and write some code. So, do you have any thoughts on overall app design:

  1. Just default Swift UI MVVM, or something else (maybe UDF, Redux)?
  2. Combine or RxSwift?
  3. DI?
  4. Dependency management (SwiftPM, CocoaPods)?

What do you think on adding a wiki to the repo with discussion state, guidelines and expected milestones?
Also would be nice to see some tasks (as GitHub issues) available to grab, so people won’t work on the same stuff.

Please make sure to register an Apple Dev account and claim the bundle ID

Hey guys, I’d like to join and write some code. So, do you have any thoughts on overall app design:

  1. Just default Swift UI MVVM, or something else (maybe UDF, Redux)?
  2. Combine or RxSwift?
  3. DI?
  4. Dependency management (SwiftPM, CocoaPods)?

Hi!

I think we can safely assume we aren’t doing any legacy support. Since Flipper releases no earlier than February, targeting iOS 14 etc. looks nice.

I don’t have anything against default MVVM, and since there’s no legacy, I’d stick with Combine. But everything is discussable at this point.

What do you think on adding a wiki to the repo with discussion state, guidelines and expected milestones?
Also would be nice to see some tasks (as GitHub issues) available to grab, so people won’t work on the same stuff.

Please make sure to register an Apple Dev account and claim the bundle ID

Definitely will do ASAP.

I think we need a work chat for more detailed discussions.
There will be a general Flipper developer chat, and in time we’ll move there. But, since I don’t know when it happens, let’s hop on to this Telegram group for now.

Official Discord chat

We’ve got an official Discord chat now.

News on Bluetooth

We’ve had an amazing talk with firmware development team. Here’s the news:

  1. We’re using protobuf, it’s decided.
  2. Firmware team will try to implement a common bus for messaging with Flipper’s firmware modules/apps. Good news is such bus can be easily made available via BLE, since it works in a similar fashion. Thus, iOS app modules supposedly will be able to send messages and to subscribe to updates, and then respond.

Hi vopash, I am an iOS engineer at TKLABS in Florida, and I have stumbled upon your project on Instagram. As I dug deeper I to it after donating what I could to the project, I wanted to be involved as I think it is a great idea. I would like to be a part of it and share my years of experience with this team. If I can be of any help clearing doubts of the iOS and Apple environments.

1 Like

Hi, Abraham, and welcome!
We are only in the very early stages of development and will certainly need any help we can get. Join our Discord server and Github project.

We’ve got two problems on hand:

  1. BLE support and talking to an STM32 device via protobuf. @evnik is on it.
  2. Support for community-provided custom interface modules which will talk to Flipper firmware addons. I think Shortcuts are the best for this, but any other ideas are welcome.

Why not to use Apple’s SwiftProtobuf instead of nanopb? Does nanopb have any advantage over SwiftProtobuf for a native app? Sorry if it is an amateur question, have never used Protobuf on iOS yet.

Hello and welcome!

You are right that we can use any other package on iOS. nanopb is being used on the Flipper itself.

1 Like

Hello!

KS Backer here. I’m a product designer and I would love to contribute to the mobile (iOS) app design process. My biggest question is who do I need to speak with?

Would love to discuss design needs, release schedule, and the type of contributions and support I can provide.

Looking forward to hearing from y’all!

Checkout my LinkedIn Profile

2 Likes

Android and iOS app discussion on there

1 Like

I’d personally advice with also including iOS 13 support since the main target audience for the Flipper will be mostly security researchers/recreational hackers. Because iOS 13 has a jailbreak this in combination with Flipper would be a hackers dream, while on iOS 14 without a jailbreak your device is way more restricted. Most researchers are currently jailbroken on IOS 13 or if you have an older device there’s a bootrom exploit for A9(X) and lower chips currently working on iOS 14. It also shouldn’t pose any problems because swift ui is introduced in iOS 13 so you don’t need to change your original plan whatsoever.

You are right that we can use any other package on iOS. nanopb is being used on the Flipper itself.

However, for development of an macOS\iOS application (as client side) it is more convenient to use SwiftProtobuf.

The watch WatchOS makes it feel like some hacking movie or video game.

MacOS has shortcuts now.
I know this is an old topic, but I just to mention this…
Having shortcuts support would be great, since I use my flipper as a single gate/door remote for multiple places, having single Flipper instead of 10 remotes.
So being able to open garage door with Siri through CarPlay would be great. :slight_smile:
It would be great that I could just say Hey Siri, open the garage door, and this would start a shortcut to run a Sub-GHz that I have on my Flipper.