this post was submitted on 05 Feb 2025
111 points (95.1% liked)
Open Source
32570 readers
262 users here now
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon from opensource.org, but we are not affiliated with them.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Charging a one time fee for the API seems like a decent way to ensure continued operation.
But if you don't like it, you can run your own server
Problem for me is that there is some kind of restriction on accessing the device's API at all and you pay extra for the key that will get created when you unlock it. This may mean that some kind of lock is in place on the device that has to have a key for it created. Even if they give you a key, what happens if an update removes that key's validity, even unintentionally. I've had this happen with products in the past. A bug will restrict access to things or worst case, will totally brick the device because the lock is stuck in place.
Not saying this device has that problem, but the concept of a lock existing means it could intentionally for profit, maliciously by hacking, or unintentionally end up locked later, so I'm just against the concept in the first place. It's a potential point of failure for no good reason but profit on a device that is supposed to be open. I'd happily accept if they changed a little extra for a device that had no lock at all. Just I don't want a device with a lock on it.
Also, I'm not sure how having my own server helps here, in fact that's my plan in the first place as I want to get the thing to interface with my own internal systems. Maybe I'm misunderstanding the implementation, but my understanding from the very brief information available is that you get on your device, connect to their server to pay a fee, and then a key is created for you and then you can access the endpoints running on the device either through the server or directly with REST calls. The alternative is to teardown the device and build your own custom firmware that uses different authentication mechanisms. I don't really have the interest to mod the firmware and then have to maintain a fork for getting official updates. I just want to be able to be able to interface any servers I have with the device as I choose.
There are no endpoints running on the device. The API endpoints are hosted on their server. The device just sends requests to their server (or yours if you change one line in the firmware) for a bitmap image and a time it should wait until the next refresh. Then it goes to sleep until the response said it should make it's next request.
No teardown necessary. Just plug in a usb cable and connect it to your pc.
OK, I see. They decoded not to have the device respond to requests. It's not that the device has endpoints, it's that it's hard coded to connect to a specific endpoint and you have to build your own firmware in order to get it to connect to your own server.
That's still a deal-breaker for me. It's just that the connection is flipped. I don't want to have to build and maintain firmware to use the device in addition to maintaining the server. Why can't this be a setting on what server it connects to?
You're right, they could. This issue was opened 2 days ago.
EDIT: From this comment, it looks like they're working on it
Checked the site quickly and didn't find the information, but judging by the top-level comment, they don't charge you if you want to use their cloud service, but if you want to "unlock" the ability to use someone else's.
not quite.
If you buy their device, the cost to use their service is built-in to the cost of the device, so you get access to their service and all of the 3rd-party plugins at no extra charge.
If you would like to write your own plugins for their service, or access their service on one of their devices, but with custom firmware, you need to pay $20 one time for an API key to get access that is more flexible than the limited way the stock firmware communicates with their service.
From looking at the source code of the firmware, it seems like you can extract the "API key" that gets generated by your device with the stock firmware and would technically be able to hardcode that in custom firmware, but I don't know if that gives the same level of access as the official API key that you pay for or if it against any TOS or anything.
If you are hosting a server yourself or are accessing a different server, you can very easily flash custom firmware that changes the target server, and there is no charge for that from TRMNL. The $20 is to pay for extra API calls to their servers over the lifetime of the device than what they accounted for in the purchase price.
In their documentation, they also briefly mention a recurring charge for API access if you want to use a DIY device with their hosted service, but I didn't see any mention of that anywhere else as the documentation for DIY devices is yet to be fleshed out.