Couldn't you implant the message event emit directly from the Android app?
You could yes, but then the messages library would have to be loaded at the start every time so it could respond to the event. pushing to the messages library avoids that, and just loads the messages lib as and when it's needed.
Given the effort we've just spent reducing loading times, adding more time+complexity to the boot process seems like a step backwards.
However maybe the way messages are stored could be swapped out by different apps (eg @rigrig's code for using a StorageFile instead of Storage, or even just not storing messages at all).
Here's an idea: change the metadata.json format to (optionally) inlude app type:
Yes, this might work - I think rather than adding app/messages to type and then requiring launchers to understand that app/messages is still an app, it might be better to just add something like "features":["messages_app"] and then have "dependencies": {"messages_app":"feature"}?
This is probably more flexible going forward and I think there are a few existing dependencies we could probably implement better that way too?
There is the potential to split things out into special apps that handle each bit :
messages library - handles storage and forwarding of messages from Android/iOS
message_icons library - message colors and images
messages app - displays messages and message list
However I would rather do this at the point where we can merge in replacement apps/libraries that folks can actually use. Right now, as @rigrig has proved, absolutely nothing stops you from forking the app loader and providing your own messages app implementation (or even a separate app that overrides some functionality).
Until contributors have things they feel ready to contribute to the main app loader, I think we're just solving a problem that doesn't exist.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
You could yes, but then the messages library would have to be loaded at the start every time so it could respond to the event.
pushing
to the messages library avoids that, and just loads the messages lib as and when it's needed.Given the effort we've just spent reducing loading times, adding more time+complexity to the boot process seems like a step backwards.
However maybe the way messages are stored could be swapped out by different apps (eg @rigrig's code for using a StorageFile instead of Storage, or even just not storing messages at all).
Yes, this might work - I think rather than adding
app/messages
totype
and then requiring launchers to understand thatapp/messages
is still an app, it might be better to just add something like"features":["messages_app"]
and then have"dependencies": {"messages_app":"feature"}
?This is probably more flexible going forward and I think there are a few existing dependencies we could probably implement better that way too?
There is the potential to split things out into special apps that handle each bit :
messages
library - handles storage and forwarding of messages from Android/iOSmessage_icons
library - message colors and imagesmessages
app - displays messages and message listHowever I would rather do this at the point where we can merge in replacement apps/libraries that folks can actually use. Right now, as @rigrig has proved, absolutely nothing stops you from forking the app loader and providing your own messages app implementation (or even a separate app that overrides some functionality).
Until contributors have things they feel ready to contribute to the main app loader, I think we're just solving a problem that doesn't exist.