manage calendar events for for tokens

Hi, I got this feedback from some users that they wish to see calendar events related to a token. This is obviously helpful in the case when a user has a FIFA ticket token, but it might be useful in some other tokens. e.g. there is a deadline to convert SAI to DAI; there is a deadline for a vote in a DAO.

But this feature isn't part of αWallet's Event Support

I've taken that requirement out of the event support because removing dependency is what I do. Reason:

  • αWallet should not assume the existance of a calendar app. The calendar behaviuor isn't consistent accross devices. For example Samsung mobile, Amazon Fire Phone and HTC Exodus all ship different calendar apps with inconsitent behaviour. In China, lots of Chinese mobile phones doesn't ship with a calendar app at all and none ships Google Calendar.

Since αWallet doesn't assuume the existence of a calendar app, the calendar event is a separate project depending on αWallet's event support. αWallet's event support can be finished without calendar event support.

TokenScript native support

Even if it's possible to create an event in TokenScript using GeneralisedTime, it's non trivial to map that event to a calendar event. For one thing, there might not be a calendar event at all. Suppose one has to vote before 31th Dec midnight, that's an event that is declared in the TokenScript of the token that has the voting function, yet if the user has already voted, nothing should happen. This knowledge is internal to TokenScript and can't be passed to the wallet without overdesigning TokenScript.

Hence it's easier to do it on the tokenscript level, assuming it knows what events described in GeneralisedTime term should be a calendar event, under what condition, and how to describe that event (location, content, title, notification)

UX: Why no one does it?

The benifit of accessing calendar is obvious to me, so why no one was doing it? I installed 10+ various airline apps on my mobile phone before, none adds event to my calendar. I also installed 3+ ticket apps for accessing concert etc and still none adds an event to my calendar. Domino pizza app allows me to book pizza for a specific date time, yet it doesn't add a calender event.

Instead of managing events for the tokens, a TokenScript can be written in such way tht lets the user manage them themselves, by providing ical download from a token card or as a token action.

Let's say, a user acted to download and open an iCal file titled "remind me to vote before 31th Dec midnight".

When he was woken up by the calendar alert 11pm, he probably have already voted earlier in the day. He might be pissed off but he can't blame αWallet for mismanaging calendar events, since he manually added that event to the calendar. On the contrary, if alphawallet provided a shared calendar or created the event on user's behalf, it's expected αwallet also removes the event when the user voted earlier in the day.

By having iCal generated from token card, we also avoid overdesigning TokenScript (mapping DataObject into a pre-defined schema CalendarEvent and using a templet for messaging)

1 Like