Si

Simulating real CBCentralManager (Swift) or BluetoothManager (Android)

Hacker News

Simulating real CBCentralManager (Swift) or BluetoothManager (Android)

Hello HN! I've been working on a bluetooth only ios and android app for a few months now. Been through lots of different ways to test. I ran multiple real phones from my macbook. I wrote a golang program using github.com/go-ble/ble that actually works and connects from the macbook to a phone. But in the end to really get the level of testing I needed I started: https://github.com/andrewarrow/auraphone-blue Which is a 100% go program but it has a "swift" package with cb_central_manager.go, cb_peripheral_manager.go, and cb_peripheral.go. And a "kotlin" package with bluetooth_device.go, bluetooth_gatt.go and bluetooth_manager.go. These simulate the real ios and android bluetooth stacks with all their subtle differences. Using go's fyne GUI I made the actual phone "apps" and can run many android phones and many iphones. The filesystem is used to write data "down the wire" or "over the air" since this is bluetooth. Screenshot of it running: https://i.imgur.com/Io3OZ5x.png To test complex scenarios like 7 iphones and 4 androids all running at the same time I run this gui and keep fine tuning the logic and fixing all the edge cases. Then I move this logic from go back to real kotlin and swift for the real apps. The ios app is live in the app store: https://apps.apple.com/us/app/auraphone/id6752836343 What do you think of this approach for testing?

Share card

Actual performance

1points
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Strong signals: started, ios · Missing: supports, reddit linkedin, podcasting
91%91% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Product HuntOn track for Day 1 leaderboard · Strong signals: mac, apple, apps · Missing: agents, macos, agent
81%81% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
TrustMRRFits verified-revenue profile · Strong signals: ios, apps, month · Missing: mobile apps, personal, entrepreneurs
65%65% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
Hacker NewsStrong engagement from HN community · Strong signals: filesystem, io · Missing: https docs, excited, just released
53%53% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
Acquire.comPre-revenue stage for this audience · Strong signals: arr · Missing: mrr, revenue, profit
29%29% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Missing: plus, platform, intuitive
27%27% predicted probability of success on AppSumo, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

Ph
PhoneNumberKit – a Swift take on libphonenumber43%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

PhoneNumberKit – a Swift take on libphonenumber

Hacker News4
Au
Autocompletion for Swift on Emacs54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Autocompletion for Swift on Emacs

Hacker News79
A
A Lisp Interpreter in Swift65%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

A Lisp Interpreter in Swift

Hacker News3
At
Attributed strings in Swift 426%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Attributed strings in Swift 4

Hacker News28
Tr
Trailer Swift43%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Trailer Swift

Hacker News32
Po
Populating a UITableView in Swift54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Populating a UITableView in Swift

Hacker News1
20
2048 in Swift44%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

2048 in Swift

Hacker News92
Cl
Clojure-ish Lisp interpreter implemented in Swift72%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Clojure-ish Lisp interpreter implemented in Swift

Hacker News2
Ge
Get to grips with NSTimer in Swift43%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Get to grips with NSTimer in Swift

Hacker News3
Sw
Swift Playgrounds on steroids43%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Swift Playgrounds on steroids

Hacker News1