Metabase App on M1 Mac Mini?

Hello,
Will the iOS Metabase app run on a new M1 Mac Mini? Has anyone tried this? I would love to hear if anyone has had success with this.

Thank you!

Comments

  • The Swift APIs work on MacOS but the App itself was put on the app store for iPad and iPhone support. I have no idea if it will work at all. Does the M1 Mac Mini support BLE and CoreBluetooth?

  • Theoretically the M1 is supposed to run all iOS apps directly on the Mac. There's a lot of reviews saying bluetooth has issues, but some reports that dongles work, and that Apple has a software update that should fix it. Just wondering if anyone has tried with Metabase before I go out and buy one. Or maybe someone has tried with the M1 MacBook Air or MacBook Pro?

  • I can try with my Macbook Pro tomorrow and let you know (TODO)

  • Awesome, thank you!

  • I couldn't install it on my macbook pro:

  • Darn! Ok, thanks for checking.

  • Hey Laura,

    I’ve been doing a lot of reading about the M1 Mac mini.

    So based on what I’ve read:

    The Mac mini’s have a way to side load iOS/ipad applications on the mini.

    In order to prevent users from side loading apps as a way of getting around purchasing a Mac app version of the software - apple seems to require the app developer to give permission for side loading via the developer dashboard.

    Looking at the Running Your iOS Apps on macOS page on the apple develop docs, it seems like its a checkbox that needs to be switched on. Can you check to see if you can enable it on your end?

    https://developer.apple.com/documentation/apple_silicon/running_your_ios_apps_on_macos

    (Take a look at the Choose Whether to Include Your iOS App on the Mac App Store section at the bottom of this page)

    Hopefully this resolves the ability to use the mbient sensors on a Mac!

    Looking forward to hearing back!

  • Has there been any more progress/updates on this? It would be great to be able to run the iOS apps on M1 Macs!

  • We have a working version now on Github (open source code and everything - check out the MetaWear App) and we are about to release it on the app store too!

  • @Laura said:
    We have a working version now on Github (open source code and everything - check out the MetaWear App) and we are about to release it on the app store too!

    Ah brilliant! I just downloaded MetaBase directly from the Mac App Store, and it seems to work exactly as expected. Thanks

  • edited January 2022

    @ThomasMcGuckian

    How is Bluetooth signal for you on the M1 Mini?

    We've re-skinned MetaBase and added iCloud sync for sensor recordings. A beta is on TestFlight or you can clone this branch. Some diagnostics and firmware features aren't added in yet.

    This iteration of MetaBase uses our beta SDK that swaps Bolts for Combine. It's less verbose and you don't need unsafe Swift everywhere. The docs have a tutorial series and feedback is welcome as we build the SDK out.

    For flavor, here’s a snippet logging a variant selection of sensors.

    downloadPipeline = metawear
        .publishWhenConnected()
        .first()
        .optionallyLog(configs.accelerometer)
        .optionallyLog(configs.gyroscope)
        .optionallyLog(configs.quaternion)
        .sink(receiveCompletion: { [weak self] in
            self?.displayError(ifFound: $0)
        }, receiveValue: { [weak self] in
            self?.offerDownloadCallToAction()
        })
    
    metawear.connect()
    

    Here’s a snippet that flashes the LEDs in purple or blue when pressing or releasing the MetaWear button.

    macroSub = metawear?
        .publishWhenConnected()
        .first()
        .command(.macroStartRecording(runOnStartup: true))
        .recordEvents(for: .buttonUp, { recording in
            recording.command(.ledFlash(.Presets.eight.pattern))
        })
        .recordEvents(for: .buttonDown, { recording in
            recording.command(.ledFlash(.Presets.zero.pattern))
        })
        .command(.macroStopRecordingAndGenerateIdentifier)
        .sink(receiveCompletion: { _ in }, receiveValue: { _ in })
    
    metawear?.connect()
    
  • @ryanferrell
    I am actually using an M1Pro MacBook Pro, and it all seems to work great. exactly as it does on an iPhone. I can't really comment on the Bluetooth signal specifically, as I have always made sure the sensors are very close (i.e., directly next to or on the laptop) when downloading data. I have mostly done this because the signal always seemed poor on iPhones, even when the sensor is right next to the phone, and I think I just got into the habit of making sure the devices are right next to each other.

    I will see how I go in getting the beta working, but I haven't done this before so can't promise anything. The one feature that I would love to have is the ability to start/stop logging data without having to download the data via bluetooth upon stopping the logging. Ideally, being able to stop the logging then download via USB at a later date would be fantastic, particularly for larger files (e.g., ~60 minutes of sensor fusion @ 100Hz).

  • @ThomasMcGuckian

    Re: Stop logging, no download button. Useful. The next beta release will include this.

    Re: USB. Useful, too. Laura is working on Python Windows/Linux functionality, but I'm not familiar with the Swift frameworks for this. On the to-do list.

    We're also mulling a checkbox for logging "trials" without going back to an Apple device. Holding down a MetaWear's button would pause logging until release, letting us interpret a discontinuity in the timestamps as "start a new CSV file for a separate trial run". Would you find that useful?

    Re: MBP... Great. The new MetaBase was designed for macOS first.

  • @ryanferrell

    Brilliant, the ability to stop logging without immediate download is number one on my list, this will be super useful. Will it also have the ability to log multiple files, and download later? This sounds similar to the logging trials without going back to the device, but without the need to hold the button to pause logging. Basically, start/stop on the Apple device to create multiple trials, then download the multiple trials at a later time.

    The ability to hold the button to pause logging and start a new file does sound like a useful feature, and one that I have not come across with other IMU's. For my use case I would probably more often like to start/stop logging via an Apple device, but I can see some value in the button press method too.

    RE: USB download. Yep, I have had some communication with Laura about USB download. It will be a very useful feature once it is implemented for all platforms, but as I said, the ability to at least start/stop and download later is the first important feature for my use case. I don't mind if download will take a long time, as long as I can create multiple files on each sensor during a data collection session.

  • @ThomasMcGuckian

    I've PMed you a private version of MetaBase with your "download lazily" button.

    Here's a screen cap of it in MetaBase 5: https://user-images.githubusercontent.com/78187398/150895480-e6314758-24e3-456d-b963-de0c1b76fbb6.mov

    Re: trial run separating CSVs on Apple device rather than button. Absolutely. Some edge cases could need some forethought before placed in UI.

    Downloads as you know are all or nothing, divvied by data class. That most likely will not change, but how we interpret those arrays can. We've discussed some options:

    "Easy street" is just checking a box when exporting the CSV to break up that sensor's file into multiple files based on:

    • a time gap threshold you provide (introduced by a button to hot pause/restart loggers while sensors keep humming)
    • mapping the log file of button press times to a splitting behavior
    • a repetitive baseline threshold (iffy)

    A cleaner implementation might be a firmware update to insert "file break" flags that would auto-break when parsed by MetaBase or by a sentient being in Excel. This would make the use case you proposed, sending an interrupt command from an Apple device, more straightforward to handle when downloading.

  • @ryanferrell

    Thanks! I will see how I go with getting that running.

    My understanding of the different options to implement multiple CSV files is a little shaky, but it sounds like you have a few ways of making it work, which is very exciting.

    Thanks so much for your input on this so far, I can see these sensors becoming very useful in no time.

  • @ryanferrell any progress on this being ready? The test versions of MetaBase 5 were looking very promising, but it looks like development has stalled.

    Any updates from the team would be greatly appreciated.

Sign In or Register to comment.