Copiado!

Workestra transforma seu celular Push Notifications em tarefas organizadas


Um novo aplicativo chamado Workestra para iOS, Android e Windows Phone transforma suas notificações push a partir de vários aplicativos e serviços em tarefas que você pode "soneca" ou Marcar como feita. A idéia é oferecer uma ferramenta mais caixa de entrada, como para gerir as várias atualizações de seus aplicativos, permitindo que você controle melhor quais os tipos de notificações que você quer ver, e quais as contas que você quiser vê-los a partir de, entre outras coisas.
De acordo com  Workestra fundador Omid Borjian , uma das maiores vantagens de se utilizar este serviço é o seu suporte para múltiplas contas, eo controle que oferece mais atualizações dessas contas.
Por exemplo, se você está gerenciando várias contas de mídia social para a sua organização ou clientes, muitas vezes você tem que entrar e sair de suas contas diferentes em cada app, a fim de ver todas as atualizações.
iphone2Além disso, quando você tocar na notificação de envio enviada para o seu telefone para ver a atualização, a própria notificação desaparece.Workestra vez permite manter o controle dessas notificações de forma mais centralizada, organizada onde você também pode controlar o tipo de notificações aparecem em primeiro lugar.
Por exemplo, você não pode se preocupar sobre a obtenção de atualizações sobre os aniversários dos seus amigos no Facebook, mas você pode querer ser notificado sobre pedidos de amizade.Ou, para algumas contas relacionadas com o trabalho, você pode apenas querer ser notificado quando é necessária uma ação de sua parte.
Mais longo prazo, maior objetivo da Workestra é apoiar aplicações corporativas e serviços que não podem mesmo estar disponíveis em um formato móvel nativo, ou não oferecem suas próprias APIs.
"Muitas empresas têm todos esses aplicativos lá fora, que ninguém quer para entrar em", explica Borjian. "E já estamos atolados com todos esses aplicativos que temos em nossos telefones.Para que você obtenha todas essas notificações, e é muito difícil controlá-lo hoje em dia, porque você começa notificações sobre o que você não precisa nem se preocupam. "
Este problema levou-o a pensar em uma maneira diferente de gerenciar notificações.
Com Workestra, os usuários podem escolher actualmente de cerca de 50 diferentes "canais" (pense: Instagram, Twitter, Slack, Facebook, MailChimp, Salesforce, etc.), bem como que tipode notificações que eles querem ver a partir desse canal. Estes são então enviados para o app Workestra, onde eles podem ser tratados como tarefas marcadas como feitas ou guardar para mais tarde.
android1Você também pode ativar as notificações por completo, conforme necessário - como não se você está determinado a trabalhar durante suas férias, por exemplo.
Além disso, através da API Workestra , os desenvolvedores podem enviar qualquer coisa para Workestra, incluindo atualizações de serviços que não foram projetadas para a nuvem, ou para plataformas móveis. Atualmente, os desenvolvedores podem escolher a partir de Java, Python, PHP, Ruby, Node.js e bibliotecas de terceiros .Net para fazer essa integração possível.
O aplicativo é direcionado principalmente para usuários corporativos, e, em uma versão futura, irá apoiar a capacidade de TI para gerenciar as notificações de um grupo ou grupos de pessoas.Isso também será útil para as empresas onde se mantêm uma conta de terceiros (por exemplo, Twitter, LinkedIn) sem dar senhas para toda a equipe, mas ainda querem os membros da equipe para saber quando a conta recebeu uma atualização.
Também em breve, os usuários também estará prestes a realizar ações relacionadas ao tipo específico de notificação que receber diretamente no app Workestra, também.
Borjian, que atualmente trabalha como designer / interação UX com ServiceNow empresa nuvem, foi bootstrapping Workestra no lado desde março passado. Até o momento, o aplicativo está em teste beta privado, com apenas 100 usuários até agora desde o primeiro lançado no Android um mês e meio atrás. Hoje, o app também é suportado no iOS, Windows Phone e web.
O modelo de negócio para a empresa consiste em oferecer um certo número de streams gratuitos e notificações por mês gratuitamente, em seguida, pedindo aos usuários que pagar para atualizar para mais. Preço ainda está em andamento, mas contas gratuitas receberá 3 córregos e 500 notificações por mês para começar.
Agora, o plano é fazer com que o aplicativo disponível para o público no prazo de uma semana. Os usuários interessados ​​podem se inscrever aqui para um convite.
Web3

Conheça DataMapper ORM, o rubi interface unificada para armazenamentos de dados

A capacidade de ficar "na zona" é uma característica fundamental de qualquer desenvolvedor produtivo, com a distração mais ínfimo capaz de fazer picadinho de um dia de trabalho de outra forma bem-sucedida. A distração freqüentemente discutido é externo, o resultado de um colega ou de passagem de bombeiros extraordinariamente falador. No entanto, distrações internas são igualmente abundantes. Uma das distrações mais notáveis ​​ocorre quando o desenvolvedor é obrigado a se entrelaçam várias bibliotecas juntos, com cada um oferecendo suas próprias peculiaridades sintáticas.

Neste artigo vou apresentar DataMapper, mostrando-lhe como integrá-lo em um aplicativo de Sinatra.Mesmo se você não estiver familiarizado com Sinatra , o código Ruby demonstrado ao longo vai ser simples o suficiente para até mesmo um início programador Ruby para acompanhar muito bem.

Instalando DataMapper

DataMapper está disponível como uma jóia Ruby, ou seja, você pode instalá-lo usando RubyGems:
$ Gem install data_mapper
Buscando: data_mapper-1.1.0.gem (100%)
Instalado com sucesso data_mapper-1.1.0
1 gema instalado
Instalando a Documentação ri para data_mapper-1.1.0 ...
Instalando documentação RDoc data_mapper-1.1.0 ...
Depois de instalar DataMapper, você deve instalar um adaptador de banco de dados. Mais de 30 adaptadores estão disponíveis; ver o wiki DataMapper para uma lista completa. Para os fins deste artigo, vou instalar o adaptador MySQL:
$ Gem install dm-mysql-adaptador
Buscando: dm-mysql-adaptador-1.1.0.gem (100%)
Instalado com sucesso dm-mysql-adaptador-1.1.0
1 gema instalado
Instalando a Documentação ri para dm-mysql-adaptador-1.1.0 ...
Instalando documentação RDoc para dm-mysql-adaptador-1.1.0 ...

laro, você vai além disso precisam ter acesso a um servidor MySQL, a fim de seguir junto com esses exemplos.


Criando um Modelo DataMapper



DataMapper interage com os dados subjacentes de um recurso por meio de um modelo, que permite funcionalidade específica de dados nitidamente separada do resto da aplicação. Suponha que queria usar o fantástico quadro Sinatra em conjunto com DataMapper para criar um aplicativo da Web, que geria a nossa biblioteca de vídeo game. Ajogos esquema de tabela que conterá os jogos se parece com isso:



mysql> CREATE jogos de mesa (
id inteiro sem sinal NOT NULL AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR (255) NOT NULL,
VARCHAR plataforma (10) NOT NULL,
created_at DATETIME NOT NULL
);
Mas ao invés de criar e gerenciar separadamente os esquemas de tabela, você pode contar com recursos de migração de esquema internas do Datamapper para realizar o trabalho manual para você (mas você vai precisar para criar o banco de dados utilizado para armazenar as tabelas). Depois de criar o diretório do projeto, crie um diretório chamado modelos que reside no diretório do projeto, e dentro do modelos diretório crie um arquivo chamado Game.rb :
Jogo classe
incluem Resource DataMapper ::

propriedade: id, Serial
propriedade: nome, String
propriedade: plataforma, String

fim
Esse modelo simples define uma chave primária chamada id , e duas propriedades baseadas em string adicional chamado nome e plataforma . Embora parece que qualquer outra classe, DataMapper vai saber tratá-la de forma diferente por causa da referência ao DataMapper :: Resource .
Com o modelo definido, criar um app.rb arquivo no diretório do projeto Sinatra, e adicione o seguinte conteúdo a ele:
require 'rubygems'
require 'Sinatra'
require 'data_mapper'
require 'erb'

# Incluir os modelos
require 'models / Jogo'

# Connect para MySQL
DataMapper.setup (: por defeito, "mysql: // usuário: senha @ localhost / dev_gamelibrary")

# Certifique-se que as tabelas de banco de dados corresponder aos modelos
DataMapper.auto_migrate!
Em seguida, o fogo até o app Sinatra por usual:
$ Ruby app.rb
== Sinatra / 1.2.6 tomou o palco em 4567 para o desenvolvimento com a cópia do conteúdo do Mongrel
O Jogo modelo será analisado e uma tabela correspondente nomeado jogos criado dentro do banco de dados, ou modificados para coincidir com a versão mais recente do Jogo modelo:
mysql> descrever jogos;
+ ---------- + ------------------ + ------ + ----- + ------ --- + + ----------------
| Campo | Tipo | Null | Key | Padrão | Extra |
+ ---------- + ------------------ + ------ + ----- + ------ --- + + ----------------
| Id | int (10) sem assinatura | NO | PRI | NULL | auto_increment |
| Nome | varchar (50) | SIM | | NULL | |
| Plataforma | varchar (50) | SIM | | NULL | |
+ ---------- + ------------------ + ------ + ----- + ------ --- + + ----------------
Tente fazer alterações ao modelo e reiniciar o aplicativo Sinatra; você vai ver as mudanças de forma transparente propagar para o jogos de mesa!
Aliás, inteiros e strings baseado em varchar são apenas alguns dos muitos tipos de dados suportados pela DataMapper. Além disso, é fácil de ajustar propriedades para substituir os padrões, como o limite de VARCHAR 50 caracteres utilizados na jogos de mesa. Consulte a documentação DataMapper para todos os detalhes.