It was fairly gnarly.
Is this what happened with your MIDI driver?
For me, the novelty quickly wore off. Amazing how long Apple took to replicate THIS VERY OBVIOUS FEATURE.
Answer 2: Not especially, but those of us that have been programming Apple since the 1980s (I've been at it for a loooong time) have learned a rather cynical outlook.
Apple has a long, long history of stepping on its developers; often accidentally (but we still got stepped on).
I've taken OpenDoc and QuickDraw GX courses, because they were the future.
Anyone remember Copeland, and the enormous push behind it?
I still love programming Apple devices. I'm writing an open-source Bluetooth driver, right now.
I think your attitude is healthy btw.
Link?
https://github.com/RiftValleySoftware/RVS_GTDriver
I expect to have it to the same level as the original version in the next few days.
After that, I will be working on a BT Classic transport adapter.
I learned the hard way that it's a royal pain to try sniffing BLE.
Do you have a client who requires an interface to these devices? Or is it of general interest to you?
BearTooth uses Bluetooth Classic; not BLE. In the latest OS revisions, Apple claims to have integrated Classic into CoreBluetooth, but the documentation is terrible, so I’m not sure how seriously to take it.
You need multiple devices of the same type. When you buy them, they come in sets of two. You can have a whole network of them. goTenna markets a “pro” line, aimed at First Responders. You can buy sets of devices that go for like $20,000.
They have a military use case, but I doubt it’s battlefield, as these could easily be “shoot me” beacons.
I like that these are aimed at disaster response. I’ve been writing software to support NGO/NPO assistance for decades.
No client yet. I’m doing this because I want to learn Bluetooth programming, and I want to create much more lightweight and flexible SDKs than the ones that currently exist.
Their use case is that the devices establish a mesh network in RF, with devices acting as repeaters, and are controlled individually via Bluetooth. The current limitations on that seem to be software, as a function of their SDKs.
I’d like to improve On their SDKs. For example, I’d like to be able to control goTenna devices directly from a Watch. You can’t do that, with their established SDK.
I’m fairly good at SDKs. I’ve been writing them for decades. Most of the “closed” work I’ve done (what I was paid for) was SDK work.
The driver is really just the lower-level part of an SDK, designed to provide transport abstraction. There will be another layer over that, providing application implementation support.
I love coding. I'm a really good manager, but I don't love it.
Since I need to hang a coding shingle, I need to have a serious portfolio. These types of projects give me that.
I've made some technical switches (Java -> Embedded -> iOS) and found those to be hard; like you said, you need to have a serious portfolio before someone bothers interviewing you for either a job or a freelance project.
In the aggregate, it all worked out for the best. That was my first open-source project, and most of what I've written since, has been open-source.
I spent months writing a very capable MIDI driver. In those days, writing a MIDI driver was a truly non-trivial exercise, as you had to have a MIDI adapter that fed back a 1MHz clock, which you would then program their UART to clock down.
That UART was also a pretty hairy bit of hardware. You had to program it with ASM, and the chip was set up so that a 16-bit address range corresponded to various control states. Setting control states for the chip meant a LOT of homework.
MIDI drivers basically were about as difficult as you could get, as you needed to step down an external clock, and set up things like ring buffers that were large enough to not trip over their own feet during an intense session.
Anyhoo, after a couple of months of working on the driver (and buying a DX-7 as a test bed), I was just about to announce it, when Apple came up with a package of OS utilities that included...a MIDI driver.
I don't think that theirs was as good as mine, but that was beside the point.
I open-sourced the driver, but the OS community wasn't particularly well-established back then, and I believe that it's lost in the sands of time.