Hoje o dia ta para poesia!

 It’s not easy to be me!

Talvez não seja o primeiro romântico deste mundo, nem o ultimo.
Procuro em cenas obscuras do mundo, esconder o sentimento, no qual paira em meus pensamentos.
Amores são passageiros, ou fakes de sentimentos, no qual se realmente sente por uma pessoa!
Tentamos nos enganar, amenizando a dor, de não ser quem queremos ou fazer oque queremos, porem nada.
É por acaso! Não é fácil ser eu mesmo, também não seria fácil ser a pessoa na qual imagino ser!
Mundo injusto? Talvez, enxergarmos o que queremos ver, agimos bestamente porque conflitos ocorrem em
Nossas mentes. Mas no final, sempre procuramos a melhor forma de resolver oque não foi possível ser.
Resolvido antes! Quando escolhemos em qual lado da linha ficar, isso basta! É eterno!

*tem dias em que você enxerga o mundo com outros olhos, e passa refletir o que está acontecendo em volta dele! Pois bem, hoje é um desses dias. Sempre que possível procuro documentar meus pensamentos! Quem sabe quem ler pense o mesmo!

Sempre que possível, vou postar!

Código de Ética AntiSPAM e Melhores Práticas de Uso de Mensagens Eletrônicas

Considerações Gerais

Este Código objetiva estabelecer regras éticas para as práticas de comunicação comercial via mensagens eletrônicas, em especial correio eletrônico, “sms” e “instant Messenger”.

Os padrões éticos e práticas estabelecidas neste Código devem ser respeitados por quantos estejam envolvidos nas atividades de publicidade, comunicação dirigida, listas de endereços de e-mail, provedor de acesso, provedor de e-mail, sejam empresas Anunciantes, Agências de Comunicação, Veículos, Fornecedores, Profissionais Liberais e outros.

O objetivo deste Código é, ao estabelecer princípios de ética e normas padrão para a prática de comunicação comercial via mensagens eletrônicas, preservar o usuário alvo destas comunicações e estabelecer a confiança do mercado na utilização deste canal.

Este Código se baseia nas práticas do “Código de Ética” do Conselho Nacional de Auto Regulamentação Publicitária – CONAR, do “Código de Ética” da ABEMD – Associação de Brasileira de Marketing Direto, bem como de toda a legislação vigente no país e normas internacionais regulando a matéria.

Código de Ética AntiSPAM

Assunto – é o título do tema objeto da Mensagem Eletrônica, inserido em espaço próprio ou, na falta deste, na primeira linha de texto, e que obrigatoriamente tenha relação de nexo com o conteúdo.

Provedor - é uma empresa prestadora de serviços de acesso, informações ou conteúdo, atividades essas que caracterizam serviços de valor adicionado nos termos e para os fins da Norma 004/95 aprovada pela Portaria SSC/MC nº 148/95 e da Regulamentação expedida pela ANATEL.

“Opt-in” – é a permissão concedida pelo Destinatário, autorizando o envio de Mensagens Eletrônicas de um determinado Remetente.

“Opt-out” – é a opção do Destinatário de ser automática e definitivamente excluído de determinada lista de endereços eletrônicos ou banco de dados eletrônico a partir dos quais são enviadas Mensagens Eletrônicas ou Malas Diretas Digitais.

Mensagem Eletrônica Não Solicitada – é qualquer Mensagem Eletrônica que não tenha sido previamente solicitada pelo Destinatário e que obrigatoriamente deverá ser identificada com a sigla NS (Não Solicitado) no campo Assunto.

Mensagem Eletrônica Comercial – é qualquer Mensagem Eletrônica que objetive despertar o interesse dos destinatários por um produto, serviço, marca, empresa ou pessoa.

Mensagem Eletrônica Institucional – é qualquer Mensagem Eletrônica sem finalidade comercial direta e imediata, mas patrocinada por um produto, serviço, marca, empresa ou pessoa, que objetive prestar informações aos destinatários.

“Newsletter” - é o informativo eletrônico específico de determinado Remetente, de periodicidade variável, encaminhada a Destinatários que tenham previamente se cadastrado junto ao referido Remetente ou quem o tenha contratado.

“Spam” - é a designação para a atividade de envio de Mensagens Eletrônicas e Mala Direta Digital que não possam ser consideradas nem Marketing Eletrônico, nem Newsletter, e nas quais se verifique a simultânea ocorrência de pelo menos 2 (duas) das seguintes situações:
Inexistência de identificação ou falsa identificação do Remetente;
Ausência de prévia autorização (opt-in) do Destinatário;
Inexistência da opção “opt-out”;
Abordagem enganosa – tema do assunto da mensagem é distinto de seu conteúdo de modo a induzir o destinatário em erro de acionamento na mensagem;
Ausência da sigla NS no campo Assunto, quando a mensagem não houver sido previamente solicitada;
Impossibilidade de identificação de quem é de fato o Remetente;

Considerar-se-á Mensagem Eletrônica Comercial, ou Institucional eticamente corretas as que contiverem cumulativamente os seguintes elementos:
Remetente Identificável;
Legenda Comercial, Institucional ou Publicitária no Assunto;
Assinatura com o nome legal e endereço eletrônico do Remetente;
Opções de “opt-in” e “opt-out” visíveis e em plenas condições de utilização eficaz;
Nome da Agência de Publicidade ou de Marketing Direto responsáveis pela remessa;
Nome da Marca ou do Anunciante responsável pela remessa;

Também não será considerada SPAM a atividade de remessa de Mensagens Eletrônicas e Mala Direta Digital que nas quais se verifiquem, em cada caso, alguma das seguintes condições:
Haja a prévia e comprovada relação pessoal ou profissional entre o Remetente e o Destinatário;
Haja a prévia e comprovada autorização do Destinatário, inclusive pela opção “opt-in”, ao Remetente ou para empresas, por este contratadas, para remessa em seu nome e/ou por sua conta;
Seja remetida por qualquer Entidade legalmente constituída, exclusivamente aos respectivos membros e ou associados;
Seja remetida pelos Provedores de Acesso ou Conteúdo a seus usuários com a finalidade de transmissão de quaisquer avisos que digam respeito à prestação de serviços que constitui o objeto da relação comercial entre uns e outros;

Para a Coleta de Informações e Dados de Consumidores ou Usuários de meios eletrônicos, deve ser observado o seguinte:
As informações dos usuários para uso e envio de Mensagens Eletrônicas deverão ser coletadas para esse fim exclusivo através de formulários de cadastramento nos sites e/ou e-mails; participação em concursos ou promoções; formulários de “e-commerce” ou qualquer outra forma que exponha explicitamente a finalidade de captação das informações;
Constará obrigatoriamente do documento eletrônico acima referido a autorização do usuário para o posterior recebimento de Mensagens Eletrônicas e Mala Direta Digital, que jamais poderá ser presumida;
O usuário deverá ter livre acesso e a qualquer tempo ao seu cadastro no Banco de Dados, seja para retirar seus dados do mesmo, seja para editar seus dados, seja ainda para suspender ou cancelar a autorização antes dada para o recebimento de Mensagens Eletrônicas ou Mala Direta Digital;
É vedada a coleta de quaisquer dados que possam expor o usuário a situações de constrangimento de qualquer tipo;
A pessoa física ou jurídica responsável pela coleta de informações deve apresentar ao usuário sua “Política de Privacidade de Dados”;

O Grupo Brasil AntiSPAM apóia e recomenda a observação das seguintes boas práticas para o envio de mensagens eletrônicas:
O remetente deve ser identificável;
A presença de Legenda Comercial, Institucional ou Publicitária no Assunto;
Assinatura com o nome legal e endereço eletrônico do Remetente;
Opções de “opt-in” e “opt-out” visíveis e em plenas condições de utilização eficaz;
Nome da Agência de Publicidade ou de Marketing Direto responsáveis pela remessa;
Nome da Marca ou do Anunciante responsável pela remessa;

Dicas para evitar o SPAM

Crie um webmail, específico para se cadastrar em sites de vendas ou newsletters, diferente do e-mail que você usa profissionalmente ou pessoalmente.

O Código de Defesa do Consumidor (art. 43) confere o seu direito ao acesso às informações existentes a seu respeito em qualquer cadastro, banco de dados, fichas ou de dados pessoais a seu respeito, bem como sobre suas respectivas fontes, podendo exigir a correção de qualquer informação total ou parcialmente equivocada.

Fonte: http://www.brasilantispam.com.br/main/codigo.htm

Desenvolvendo um Player de Vídeo Acessível para leitores de tela.

Com base em estudos na linguagem de programação action script 2, flash, e avaliações feitas pelo Bolsista de teste de acessibilidade – Celio Dal Pizzol, foi desenvolvido um player de vídeo acessível para leitores de tela, que pode ser acessado pelo endereço: http://bento.ifrs.edu.br/ept/video.php

Neste tutorial vamos desenvolver o mesmo player acessível.

1º.    Criamos um arquivo no flash, com as seguintes propriedades: Largura: 400px, Altura: 300px, e 30 fps.



.    Na time line, criamos 5 camadas, denominadas: action, bt_central, streaming, controles, bg_controles, vídeo. Conforme a imagem abaixo:






.    Na camada vídeo, importamos da biblioteca componentes, o seguinte componente: Display. Na camada de vídeo, importamos o componente Display da biblioteca de componentes. Nele vamos colocar as seguintes propriedades: Largura: 400px, Altura: 266px, X 0, Y 0, instancia: video. Conforme a imagem abaixo:



.    Na camada bt_central, criamos um Movie Clip denominado: bt_central. Alinhamos o mesmo ao centro do componente Display, como mostra a imagem abaixo, e setamos sua instancia para: btn_play_central






.    Na camada bg_controles, vamos criar o background do menu de controles. Desenhamos um retângulo com as seguintes propriedades: Largura: 400px, Altura: 34px, X: 200, Y: 284. como mostra a imagem abaixo.





.    Na camada controles vamos criar os controles do Player: São eles btn_play, btn_voltar, btn_avancar, btn_som, btn_full. Todos MovieClips e exatamente nesta ordem, pois ao navegar com o tab, vamos manter uma navegação lógica, onde quem utiliza um leitor de tela vai poder reproduzir seu vídeo, ir até o final do mesmo, retroceder ao começo do vídeo, dar mute no som, e por ultimo maximizar o vídeo. As instancias dos mesmos são seus respectivos nomes. Seu palco deve ficar disposto como a imagem abaixo.


.    No MovieClip do botão btn_play, vamos criar 3 camdas, e 2 frames, são elas: action, label, bt. Na camada action, frame 1, colocamos a seguinte linha de código:

stop();

·         Na camada label, frame 1, inserimos o seguinte label: play

·         Na camada label, frame 2, inserimos o seguinte label: pause

·         Na camada bt, no frame 1, desenhamos o simbolo de play, e no frame 2, o simbolo de pause.

As camadas devem ficar igual a imagem abaixo:



8º.    Para o botão btn_som, seguimos o mesmo esquema anterior, apenas trocamos os labels para:

·         Frame 1: on

·         Frame 2: off

·         E o simbolo do som on e off na camada bt.

.    Agora vamos a camada do streaming, onde criamos um MovieClip chamado loader com instancia: loader. Dentro do mesmo criamos 3 camadas, são elas: ponteiro, loaderbar, loader.

·         Na camada ponteiro criamos um MovieClip de um retangulo, com as seguintes propriedades: Largura: 10px, Altura: 10px, Instancia: ponteiro

·         Na camada loaderbar, criamos um MovieClip de um retangulo, com as seguintes propriedades: Altura: 4px, Largura: 198px, Instancia: loaderbar

·         Na camada loader, criamos um retângulo com as seguintes propriedades: Altura: 6px, Largura: 200px

Os objetos devem estar dispostos como a imagem abaixo:



10º. Agora vamos programar o player. Na camada Action Inserimos o seguinte código:

var video_play = 'seuvideo.flv';
var somVideo:Sound = new Sound();

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);
video.attachVideo(ns);

ns.play(video_play);

var videoInterval = setInterval(videoStatus, 100);
var amountLoaded:Number;
var duration:Number;
var ponteiroInterval;
var tamBarra = 198;//tamanho da barra


ns["onMetaData"] = function (obj) {
duration = obj.duration;
};

function videoStatus() {
amountLoaded = ns.bytesLoaded/ns.bytesTotal;
loader.loaderBar._width = amountLoaded*tamBarra;//numero do tamanho da barra interna
loader.ponteiro._x = ns.time/duration*tamBarra;//vai andar conforme tamanho da barra
}

function ponteiroroit() {
ns.seek(Math.floor((loader.ponteiro._x/tamBarra)*duration));
}

/* -- funcoes dos botoes de controle -- */

loader.ponteiro.onPress = function() {
clearInterval(videoInterval);
ponteiroInterval = setInterval(ponteiroroit, 10);

this.startDrag(false,0,this._y,tamBarra,this._y);
};

loader.ponteiro.onRelease = loader.ponteiro.onReleaseOutside=function () {
clearInterval(ponteiroInterval);
videoInterval = setInterval(videoStatus, 100);
this.stopDrag();
};

btn_voltar.onRelease = function() {//volta ao inicio do video
ns.seek(0);// para o video
ns.pause();
};

btn_avancar.onRelease = function() {//avanca ao final do video
ns.seek(duration);// avanca o video
ns.pause();
};

controle = false;

btn_play.onRelease = function() {
if (controle == false) {
ns.pause();// pausa video
btn_play.gotoAndStop('pause');
controle = true;
} else {
ns.pause();// play video
btn_play.gotoAndStop('play');
controle = false;
}
};

btn_som.onRelease = function() {
if (controle == false) {
somVideo.setVolume(0);//seta o volume do som a 0
btn_som.gotoAndStop('off');
controle = true;
} else {
somVideo.setVolume(100);//seta o volume do som a 100
btn_som.gotoAndStop('on');
controle = false;
}
};

btn_full.onRelease = function() {
Stage["displayState"] = Stage["displayState"] == "fullScreen" ? "normal" : "fullScreen";//maximiza o video em tela cheia
};

btn_play_central.onRelease = function() {
this._visible = false;
ns.pause();
};

ns.pause();//comeca video pausado

/* -- Tabulação -- */

btn_play_central.tabIndex = 1;
btn_play.tabIndex = 2;
btn_voltar.tabIndex = 3;
btn_avancar.tabIndex = 4;
btn_som.tabIndex = 5;
btn_full.tabIndex = 6;


11º.    Agora vamos a base do tutorial, que é deixar o player acessivel. Vamos no menu: Window > Other Panels > Accessibility. Ira abrir uma caixa igual a imagem abaixo. Clicamos no palco e setamos as seguintes propriedades:

    * Com este mesmo painel aberto, selecionamos item por item em nosso palco e rotulamos eles, conforme suas funcionalidades. Como a imagem Abaixo:
    * Com isto podemos compilar nosso fla, e disponibilizar o swf. O resultado final deve ficar como a imagem abaixo:

Os botões estão estrategicamente dispostos dessa forma, pois o leitor de tela ao focar no swf, ele ignora o label do primeiro botão, sendo o botão central de Play, logo o foco cai para o botão menor de play, onde o leitor ira informar sua função. O botão retroceder vem em seguida, pois ao finalizar o vídeo, a pessoa pode em apenas 1 tab voltar o vídeo, ou ir ao final do mesmo. O foco não cai na barra de streaming, para não confundir o leitor de tela podendo fazer o mesmo se perder, automaticamente o foco cai para o botão do som.

Abraços, Jason Scalco Piloti