Lembretes recorrentes — a complexidade oculta das regras de recorrência
"Adicione um lembrete toda terça-feira." Fácil de dizer. Muito menos fácil de implementar.
As regras de recorrência
TAMSIV suporta quatro tipos: diário, semanal, mensal, personalizado. O caso simples leva 10 minutos. O caso complexo ("a última sexta-feira de cada mês") leva dias.
O problema do "31 de cada mês"
Fevereiro não tem 31 dias. Eu escolhi o ajuste automático para o último dia do mês. É o que o usuário espera intuitivamente.
Armazenamento híbrido
A regra de recorrência é armazenada no evento pai. As ocorrências são geradas sob demanda. Quando um lembrete é convertido em um evento de calendário, uma ocorrência concreta é criada no banco de dados.
O desafio da UX
Como apresentar regras complexas sem sobrecarregar o usuário? Um seletor progressivo: 4 opções simples por padrão, painel avançado opcional. Simples por padrão, poderoso como opção. O usuário ocasional nunca deve se sentir perdido. O usuário avançado nunca deve se sentir limitado.