[WIP] Projeto Sirena - Um tour pela minha distro

Introdução

Esse artigo é apenas para demonstrar uma “distro” Linux que eu venho desenvolvendo faz um bom tempo, que apesar de funcional eu não gerei nenhuma ISO (e não vou fazer isso até acabar a faculdade, que está previsto pro final do mês que vem), meu objetivo com o post é demonstrar como funcionaria um sistema orientado a tarefas epara isso primeiro eu vou definir o que seria a tal orientação a tarefas

Orientação a tarefas x Orientação a aplicativos

Primeiro é válido ressaltar que orientação a tarefas não tem a ver com ser monotarefa ou multitarefa, atualmente todos os sistemas operacionais comerciais são orientados a aplicativos, isso significa que cada tarefa não só é segmentada em diversos aplicativos como você tem um numero virtualmente ilimitado de aplicativos fazendo a mesma coisa, por exemplo, editores de textos, só no mundo Linux:

  • Gedit
  • Kate
  • Kwrite
  • Pluma
  • Scratch
  • Type Writer
  • Quilter
  • Mousepad
  • Xed
  • Leafpad
  • Featherpad

Nota: Não estou criticando, todos esses são ótimos editores de texto

E isso é especialmente complicado porque as melhorias feitas em um editor terão que ser repassadas manualmente a cada um dos outros, por exemplo:
No elementaryOS existem 3 apps que em algum grau faz sentido serem mesclados a um editor de textos, o QuickWord que é um dicionário, o Translator que é um tradutor e o Comgen que funciona como o figlet, para mesclar esses apps teria que ser feito um patch pra cada editor acima, ou fazer apps que funcionem enviando a saida no terminal… nada pratico, alguém sempre tem que ceder.

Já em um mundo orientado a tarefas isso simplesmente não existe e tem um motivo controverso: não existe o conceito de “editor de textos” mas sim a tarefa “editar texto”, na pratica é como se existisse apenas um editor e qualquer trabalho de melhoria devesse ser feito nele, tornando assim muito simples adicionar recursos como no caso citado… assim sendo, imagino que tenha ficado simples entender o conceito de Orientação a Tarefas:

Ao invés de gastar seu tempo escolhendo como e com o que fazer a tarefa, gaste seu tempo fazendo ela, já que só tem um jeito de fazer

Mas você pode perguntar, se a Orientação é tão boa, porque não é o padrão?

E a resposta não podia ser mais complexa:

  • É algo diametralmente oposto a metáfora do desktop, não da pra fazer um app pra isso, teria que ser feito toda uma plataforma operacional
  • A forma mais viável de monetizar seria o modelo freemium dos jogos mobile, (o “app” seria grátis e até opensource os recursos adicionais é que seriam pagos) e isso é relativamente recente
  • A concorrência da venda de recursos cresceria em progressão geométrica
  • … entre outros

Enfim, é bom para os usuários, bom para desenvolvedores do sistema, mas a nível comercial é bem problemático, explicado essa questão, vamos a apresentação do sistema em si:

A tela inicial

Após fazer login, essa é a tela que o usuário vê assim que liga o PC, na parte superior temos:

Internet, Volume, Bluetooth e Bateria, a barra de ações, data e hora e o botão de desligar (até aqui nada de anormal)

Do lado esquerdo temos as ações mais comuns (Criar e Abrir, você vai entender o motivo de eles estarem aí daqui a pouco) seguido das “pastas” que o usuário mais acessaria e que só aparece se tiverem arquivos nelas (Favoritos, Recentes e Lixeira) e na parte inferior temos o uso de armazenamento

A barra de ação

Essa talvez seja a feature killer do sistema, eu passei um bom tempo desenvolvendo um shell em linguagem natural que eu iriaa usar pra outra coisa, mas vi que serviu como uma luva, é um algoritmo simples, leve, rápido que me permite escrever:

Crie um arquivo de texto chamado Demonstração módulo independente contendo a frase Olá mundo "

E ele executa a tarefa perfeitamente e ainda de modo guiado:

Criando e abrindo arquivos

Essa tela é igual para ambos (Criar e Abrir) uma lista com as opções de workspaces com módulos independentes e workspaces com múltiplos módulos (já vc vai saber o que significa cada coisa):

Nota: tela para listar os arquivos por enquanto é essa, mas futuramente eu vou implementar uma com os recursos apropriados (famoso filemanager)

Workspace (Espaço de trabalho) com um módulo independente

Workspace (Espaço de trabalho) com múltiplos módulos

Tela que permite escolher o módulo a ser adicionado

Tela que permite trocar o módulo aberto

Ela diferencia workspaces com módulos independentes e workspaces com mais de um módulo, mas não gera miniaturas, para evitar distrações visuais, economia de recursos e porque é chato gerar miniaturas no Wayland

Conclusão

Embora a base esteja pronta existe um longo caminho até que que ela seja usável e um caminho ainda maior até uma release pública, ela roda nativamente usando Wayland (compositor Weston) porém todos os prints foram feitos no Xorg (ele funciona de modo seamless nos dois) com o sistema virtualizado no VirtualBox… e foi isso, acho que não ficou faltando nada, a ideia é só mostrar como é o projeto e responder a pergunta de “como funcionaria um sistema que não é voltado para apps e sim pro usuário?”, claro que essa não é a única resposta, tem vários jeitos interessantes de responder ela, esse é a minha… até a próxima

Edit: O que acharam, está suficientemente auto sugestivo? O que mudariam?

32 curtidas

Muito embora essa interface pareça um pouquinho complicada de entender, é bem bonita kkk

2 curtidas

O que pareceu complicado pra vc? O objetivo é ser o mais simples e intuitivo possível e obrigado

1 curtida

É porque essa interface é diferente que qualquer outra que já vi, por isso achei meio complicadinho.

1 curtida

Parabéns, projetos novos sempre devem ser incentivados.
Gostei da interface gráfica, lembra para mim um IPadOS.

2 curtidas

Ah sim, entendo, ela meio que inverte a logica aí parece que fica complicado, mas eu acho que é só impressão, quem experimentou (meu irmão, minha irmã e uma amiga) se adaptou fácil talvez por estarem mais acostumados com o Android que tem certa semelhança

Só por ser diferente eu já gostei!

2 curtidas

Obrigado

Tive algumas inspirações nem só iPadOS mas de vários lugares até das minhas interações com autistas não verbais, se reparar, a barra lateral da tela de início é a mesma do Google Drive

1 curtida

Achei bem harmoniosa.

2 curtidas

Parabéns pelo projeto @Natanael.755, espero que um dia você disponibilize uma ISO para a comunidade. Gosto bastante dessa abordagem de tarefas e ao invés de programas.

Mesmo sendo coisas totalmente diferentes, seu projeto me lembrou a proposta original do Gnome Zeitgeist - que seria uma interface orientada a conteúdo e não a arquivos.

:vulcan_salute:

2 curtidas

Bacana o seu projeto, @Natanael.755!

Apesar de ser totalmente diferente do que convivemos hoje em dia, é uma interface agradável e que tem referências ao Android. Minha dúvida é: você pretende implementar o modo escuro no tema?

2 curtidas

Obrigado

Wow, que interessante imagino que dê pra implementar uma parte dos recursos… Vou estudar

1 curtida

Obrigado

Pretendo, mas isso é relativamente complicado além do modo escuro eu pretendo adicionar um modo noturno (esse aspecto mais alaranjado) tanto pro tema (nesse caso é um tema) claro quanto escuro, o objetivo disso ser um tema é que assim ele não afetaria imagens

2 curtidas

Estarei acompanhando as futuras atualizações do projeto. Avante!

2 curtidas

Gostei da interface.

1 curtida

Ele é feito em qual linguagem? e o que compõe a interface?

2 curtidas

Rapaz :clap: :clap: :clap: :clap: Parabéns.
Nesse modo de visão por tarefas, file manager acabaria ultrapassado. Afinal os usuários só querem que o sistema execute tarefas mesmo.
Provavelmente, isso era o que Steve Jobs estava buscando quando disse ‘que o modo como gerenciamos as coisas já é ultrapassado’.
Parabéns.


Por exemplo, como no android o aplicativo Fotos, faz o quê, e o que é que vc vai encontrar lá? Fotos, e as opçoẽs de edição ou envio.

Imagino que nesse sistema um App de vídeo também seria nessa pegada com um layout mais multimidia como se fosse o da netflix (ou megafilmeshd), com um editor e player básicos, e algumas funcionalidades de conversão básicas, mas com a possibilidade de adicionar mais plugins, com mais recursos - e o comércio viria daí. (A galera amava um MSN Plus).
Essa idéia serviria para a inclusão de todos os apps e todas as tarefas locais.

Com certeza isso elevaria o linux para o futuro. Como é inicial, a medida que o tempo for passando, vai chegar mais feedbacks de layout. Mas o princípio útil é esse mesmo.
parabéns.


Uma idéia: A indicação dos armazenamentos não poderia ficar na barra superior ao lado da bateria como um ícone com uma barra circular mostrando o principal, e ao clicar ele mostraria dos demais armazenamentos num menu em cascata?

3 curtidas

C++ e Lua para as Runtimes

Na GUI é usado o Qt que o pessoal do KDE mantém, o compositor Wayland por hora é o Weston que é o projeto guia do Wayland + 1 kit de funções bash que eu desenvolvi pra implementar as funções principais do xdotool no Wayland, que são necessários pra acionar alguns recursos de acessibilidade usando cliques

2 curtidas

Obrigado

De fato, eu me expressei mal, o que eu quis dizer é que listar os arquivos e/ou documentos exigem alguns recursos que não fazem muito sentido na caixa Criar/Abrir como trocar de lista para grade, função pra agrupar, classificar por data…

Sim, seria algo nesse nível, mas sem claro perder a coesão visual, eu tô trabalhando para que a “logística” de vídeos funcione para fotos e músicas também

Poderia, eu tô trabalhando nisso pra ver como ficaria

Acabei de implementar que permite escolhar qual “arquivo” (por trás dos “panos” são pastas):

É um mockup funcional, mas algumas coisas não me agradam


Ps: tem um easter egg matemático nesse print, quem se habilita a descobrir?

4 curtidas