Marketing Digital cresce 10%

Em 2010, 84% das empresas brasileiras planejam realizar algum tipo de marketing online, o que representa um crescimento de 10% em relação a 2009. A constatação é da pesquisa Marketing Visão 360º realizada pela TNS Research International em parceria com o portal Mundo do Marketing. Além disso,...

Ler mais

Google apresenta experimento de HTML5 com clipe musical

Postado por Hystalo | Postado em Novidades | Postado 03-09-2010

0

O vídeo musical, também conhecido como videoclipe, nasceu para ser exibido na televisão. Já parou para pensar se ele poderia ser de alguma maneira diferente se tivesse sido concebido para os dias atuais e novas formas de apresentação de mídia que a internet nos proporciona?

O diretor Chris Milk, a banda canadense Arcade Fire e a empresa Google fizeram esse exercício de imaginação, e o resultado é o que eles definiram como “uma experiência musical feita especificamente para o navegador”.

Chamado The Wilderness Downtown (algo como “a selva no meio da cidade”), esse projeto apresenta um clipe da música We Used To Wait (do Arcade Fire, obviamente), mas em uma abordagem diferente da tradicional, utilizando-se do navegador e de muito HTML5 (nenhuma gota de Flash aqui) para mostrar vídeos e animações em várias janelas que surgem em sua tela, com elementos que interagem entre uma janela e outra.

Há até uma certa interação com o usuário. Antes de começar, o site pede para que o usuário escreva o nome da rua em que cresceu. Quem deu a sorte de ter crescido em uma rua que hoje é coberta pelo Google Maps e pelo Google Street View, a verá aparecendo como parte do clipe, com elementos engenhosos como sombras de pássaro sobrevoando a rua e outras coisas mais que é bem melhor que ele assista por si mesmo do que ficar lendo uma descrição em palavras.

Clique neste link para assistir. É necessário estar usando um navegador plenamente compatível com os mais recentes padrões do HTML5 (como Chrome ou Safari) e, de preferência, fechar abas e programas desnecessários – o vídeo exige bastante de seu computador.

De: Juarez lencioni Maccarini – Imasters

O futuro do Shopping

Postado por Hystalo | Postado em Novidades | Postado 22-08-2010

0

Formatar data Javascript

Postado por Hystalo | Postado em Desenvolvimento | Postado 03-08-2010

0

var dateFormat = function () {
var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|”[^"]*”|’[^']*’/g,
timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
timezoneClip = /[^-+\dA-Z]/g,
pad = function (val, len) {
val = String(val);
len = len || 2;
while (val.length < len) val = “0″ + val;
return val;
};

// Regexes and supporting functions are cached through closure
return function (date, mask, utc) {
var dF = dateFormat;

// You can’t provide utc if you skip other args (use the “UTC:” mask prefix)
if (arguments.length == 1 && Object.prototype.toString.call(date) == “[object String]” && !/\d/.test(date)) {
mask = date;
date = undefined;
}

// Passing date through Date applies Date.parse, if necessary
date = date ? new Date(date) : new Date;
if (isNaN(date)) throw SyntaxError(”invalid date”);

mask = String(dF.masks[mask] || mask || dF.masks["default"]);

// Allow setting the utc argument via the mask
if (mask.slice(0, 4) == “UTC:”) {
mask = mask.slice(4);
utc = true;
}

var _ = utc ? “getUTC” : “get”,
d = date[_ + "Date"](),
D = date[_ + "Day"](),
m = date[_ + "Month"](),
y = date[_ + "FullYear"](),
H = date[_ + "Hours"](),
M = date[_ + "Minutes"](),
s = date[_ + "Seconds"](),
L = date[_ + "Milliseconds"](),
o = utc ? 0 : date.getTimezoneOffset(),
flags = {
d: d,
dd: pad(d),
ddd: dF.i18n.dayNames[D],
dddd: dF.i18n.dayNames[D + 7],
m: m + 1,
mm: pad(m + 1),
mmm: dF.i18n.monthNames[m],
mmmm: dF.i18n.monthNames[m + 12],
yy: String(y).slice(2),
yyyy: y,
h: H % 12 || 12,
hh: pad(H % 12 || 12),
H: H,
HH: pad(H),
M: M,
MM: pad(M),
s: s,
ss: pad(s),
l: pad(L, 3),
L: pad(L > 99 ? Math.round(L / 10) : L),
t: H < 12 ? “a” : “p”,
tt: H < 12 ? “am” : “pm”,
T: H < 12 ? “A” : “P”,
TT: H < 12 ? “AM” : “PM”,
Z: utc ? “UTC” : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, “”),
o: (o > 0 ? “-” : “+”) + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
};

return mask.replace(token, function ($0) {
return $0 in flags ? flags[$0] : $0.slice(1, $0.length – 1);
});
};
} ();

// Some common format strings
dateFormat.masks = {
“default”: “ddd mmm dd yyyy HH:MM:ss”,
shortDate: “m/d/yy”,
mediumDate: “mmm d, yyyy”,
longDate: “mmmm d, yyyy”,
fullDate: “dddd, mmmm d, yyyy”,
shortTime: “h:MM TT”,
mediumTime: “h:MM:ss TT”,
longTime: “h:MM:ss TT Z”,
isoDate: “yyyy-mm-dd”,
isoTime: “HH:MM:ss”,
isoDateTime: “yyyy-mm-dd’T'HH:MM:ss”,
isoUtcDateTime: “UTC:yyyy-mm-dd’T'HH:MM:ss’Z'”
};

// Internationalization strings
dateFormat.i18n = {
dayNames: [
"dom", "seg", "ter", "qua", "qui", "sex", "sab",
"Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sabado"
],
monthNames: [
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
]
};

Date.prototype.format = function (mask, utc) {
return dateFormat(this, mask, utc);
};

var dateFormat = function () {
var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|”[^"]*”|’[^']*’/g,
timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
timezoneClip = /[^-+\dA-Z]/g,
pad = function (val, len) {
val = String(val);
len = len || 2;
while (val.length < len) val = “0″ + val;
return val;
};

// Regexes and supporting functions are cached through closure
return function (date, mask, utc) {
var dF = dateFormat;

// You can’t provide utc if you skip other args (use the “UTC:” mask prefix)
if (arguments.length == 1 && Object.prototype.toString.call(date) == “[object String]” && !/\d/.test(date)) {
mask = date;
date = undefined;
}

// Passing date through Date applies Date.parse, if necessary
date = date ? new Date(date) : new Date;
if (isNaN(date)) throw SyntaxError(”invalid date”);

mask = String(dF.masks[mask] || mask || dF.masks["default"]);

// Allow setting the utc argument via the mask
if (mask.slice(0, 4) == “UTC:”) {
mask = mask.slice(4);
utc = true;
}

var _ = utc ? “getUTC” : “get”,
d = date[_ + "Date"](),
D = date[_ + "Day"](),
m = date[_ + "Month"](),
y = date[_ + "FullYear"](),
H = date[_ + "Hours"](),
M = date[_ + "Minutes"](),
s = date[_ + "Seconds"](),
L = date[_ + "Milliseconds"](),
o = utc ? 0 : date.getTimezoneOffset(),
flags = {
d: d,
dd: pad(d),
ddd: dF.i18n.dayNames[D],
dddd: dF.i18n.dayNames[D + 7],
m: m + 1,
mm: pad(m + 1),
mmm: dF.i18n.monthNames[m],
mmmm: dF.i18n.monthNames[m + 12],
yy: String(y).slice(2),
yyyy: y,
h: H % 12 || 12,
hh: pad(H % 12 || 12),
H: H,
HH: pad(H),
M: M,
MM: pad(M),
s: s,
ss: pad(s),
l: pad(L, 3),
L: pad(L > 99 ? Math.round(L / 10) : L),
t: H < 12 ? “a” : “p”,
tt: H < 12 ? “am” : “pm”,
T: H < 12 ? “A” : “P”,
TT: H < 12 ? “AM” : “PM”,
Z: utc ? “UTC” : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, “”),
o: (o > 0 ? “-” : “+”) + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
};

return mask.replace(token, function ($0) {
return $0 in flags ? flags[$0] : $0.slice(1, $0.length – 1);
});
};
} ();

// Some common format strings
dateFormat.masks = {
“default”: “ddd mmm dd yyyy HH:MM:ss”,
shortDate: “m/d/yy”,
mediumDate: “mmm d, yyyy”,
longDate: “mmmm d, yyyy”,
fullDate: “dddd, mmmm d, yyyy”,
shortTime: “h:MM TT”,
mediumTime: “h:MM:ss TT”,
longTime: “h:MM:ss TT Z”,
isoDate: “yyyy-mm-dd”,
isoTime: “HH:MM:ss”,
isoDateTime: “yyyy-mm-dd’T'HH:MM:ss”,
isoUtcDateTime: “UTC:yyyy-mm-dd’T'HH:MM:ss’Z'”
};

// Internationalization strings
dateFormat.i18n = {
dayNames: [
"dom", "seg", "ter", "qua", "qui", "sex", "sab",
"Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sabado"
],
monthNames: [
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
]
};

Date.prototype.format = function (mask, utc) {
return dateFormat(this, mask, utc);
};

Clone em Javascript

Postado por Hystalo | Postado em Desenvolvimento | Postado 03-08-2010

0

function Clone_Object(obj) {
if (typeof obj !== ‘object’ || obj == null) {
return obj;
}

var c = obj instanceof Array ? [] : {};

for (var i in obj) {
var prop = obj[i];

if (typeof prop == ‘object’) {
if (prop instanceof Array) {
c[i] = [];

for (var j = 0; j < prop.length; j++) {
if (typeof prop[j] != ‘object’) {
c[i].push(prop[j]);
} else {
c[i].push(Clone_Object(prop[j]));
}
}
} else if (prop instanceof Date) {
c[i] = new Date(prop.getTime());
} else {
c[i] = Clone_Object(prop);
}
} else {
c[i] = prop;
}
}

return c;
}

Como ignorar um certificado invalido no WebService C#

Postado por Hystalo | Postado em Desenvolvimento | Postado 30-07-2010

0

System.Net.ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(RemoteCertValidate);

static bool RemoteCertValidate(object sender, System.Security.Cryptography.X509Certificates.X509Certificate cert, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
return true;
}

Por que ter uma Loja Virtual?

Postado por Hystalo | Postado em Loja Virtual | Postado 14-07-2010

0

Por que ter uma Loja Virtual?

O Brasil alcançou a marca histórica de 40milhões de pessoas com acesso à Internet, ao final de 2007. Esse número é 21% maior do que os 32,2 milhões de pessoas registradas no mesmo período do ano passado. E todos estudos apontam que em 2008 este número deve chegar perto dos 50 milhões.

A lojas virtuais desempenham um papel estratégico para qualquer negócio na Internet. É nas lojas virtuais que o visitante será apresentado aos produtos e, claro, vai se sentir motivado para realizar a compra. Partindo-se da premissa que os produtos são de interesse do visitante e estão sendo oferecidos a um preço justo, a decisão de compra vai depender da qualidade da loja virtual em transmitir informações precisas ao comprador; além da confiabilidade, segurança e facilidade de navegação encontrada.

A venda pela Internet e as Lojas Virtuais surgiram em meados dos anos 90, pouco tempo depois do surgimento da Web, e é uma das maiores revoluções do Comércio Mundial. Nas lojas virtuais não há necessidade da presença física nem do comprador, nem do vendedor; lojas virtuais não necessitam do manuseio de papel moeda e, tampouco, necessitam da mercadoria no momento da transação. Nas lojas virtuais, a relação ocorre entre um comprador e um computador localizado em qualquer lugar do planeta, que é programado para realizar processos de compra.

A rigor, lojas virtuais são uma série de sistemas que vão interagir com o usuário; de tal forma que ele possa realizar ações que, preferencialmente, culminem com uma compra. Dando respostas ágeis e eficientes aos usuários 365 dias por ano, 24 horas por dia. Você pode estar em um barco em Cancun comemorando o reveillon, mas suas lojas virtuais deverão estar no ar atendendo seus clientes.

O correto funcionamento das lojas virtuais, 24 hs por dia, 360 dias por ano depende primordialmente de um bom provedor de serviços de hospedagem. Não vale a pena economizar aqui. Mesmo porque, o custo desse tipo de serviço está bem acessível no Brasil, graças a grande concorrência de fornecedores de infra-estrutura.

No Ramos do Comércio, costuma-se dizer que nada é 100% seguro, tanto assim que nas lojas tradicionais existe uma margem de perdas considerada aceitável pelos comerciantes. Na Internet esse princípio também é válido mas é importante se precaver para minimizar o risco. Os problemas que ocorrem com mais freqüência no caso das lojas virtuais são a Clonagem da loja, Invasão de sistemas e acesso a informações sigilosas. Problemas que são evitados com a contratação de empresa seguras, “desconfie de preços baixos em hospedagem”.

As Lojas Virtuais devem disponibilizar aos seus clientes diversas opções de pagamento. Tradicionalmente, o boleto bancário e o cartão de crédito são os dois meios mais disponibilizados pelos lojistas. Na venda pela Internet, assim como no comércio tradicional, quanto mais opções de pagamento houver, melhor para os clientes, porém, existem considerações relacionadas a custos durante a montagem dos sistemas de pagamento e a escolha do banco e operadora de cartões que devem ser consideradas pelo lojista.

A Hystalo conta com 2 plataformas de loja virtual e case de aumento de faturamento de 53% em 3 meses e 215% em 2 anos.

Entre em contato conosco para solicitar um orçamento.

Loja Virtual – De Graça \ Gratis

Postado por Hystalo | Postado em Novidades | Postado 05-07-2010

0

Nos da Hystalo apartir de agora iremos iniciar uma campanha social e dar a oportunidade de qualquer pessoa iniciar suas  vendas na internet.

Claro que isso vai estar mais detalhado nas proximas comunicações, mas a ideia é a seguinte.

Nos da Hystalo vamos dar uma loja virtual (com algumas limitações de visitas e pedidos que ainda vamos definir) e em troca a empresa tem que fazer uma doação a um atleta que nos iremos indicar no valor de 10 a 20 reais.

Aguardem mais novidades.

Se voce ja tive interesse, entre em contato conosco: contato@hystalo.com.br

Desafiando Gigantes – Motivacional

Postado por Hystalo | Postado em Pensamentos | Postado 05-07-2010

0

ReplaceAll – Javascript

Postado por Hystalo | Postado em Desenvolvimento | Postado 05-07-2010

0

String.prototype.replaceAll = function (OldValue, NewValue) {
var returnValue=”";
returnValue = this;
while (returnValue.indexOf(OldValue) >= 0) {
returnValue = returnValue.replace(OldValue, NewValue);
}
return returnValue;
};

Formatacao de Data – Javascript

Postado por Hystalo | Postado em Desenvolvimento | Postado 05-07-2010

0

var dateFormat = function () {
var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|”[^"]*”|’[^']*’/g,
timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
timezoneClip = /[^-+\dA-Z]/g,
pad = function (val, len) {
val = String(val);
len = len || 2;
while (val.length < len) val = “0″ + val;
return val;
};

// Regexes and supporting functions are cached through closure
return function (date, mask, utc) {
var dF = dateFormat;

// You can’t provide utc if you skip other args (use the “UTC:” mask prefix)
if (arguments.length == 1 && Object.prototype.toString.call(date) == “[object String]” && !/\d/.test(date)) {
mask = date;
date = undefined;
}

// Passing date through Date applies Date.parse, if necessary
date = date ? new Date(date) : new Date;
if (isNaN(date)) throw SyntaxError(”invalid date”);

mask = String(dF.masks[mask] || mask || dF.masks["default"]);

// Allow setting the utc argument via the mask
if (mask.slice(0, 4) == “UTC:”) {
mask = mask.slice(4);
utc = true;
}

var _ = utc ? “getUTC” : “get”,
d = date[_ + "Date"](),
D = date[_ + "Day"](),
m = date[_ + "Month"](),
y = date[_ + "FullYear"](),
H = date[_ + "Hours"](),
M = date[_ + "Minutes"](),
s = date[_ + "Seconds"](),
L = date[_ + "Milliseconds"](),
o = utc ? 0 : date.getTimezoneOffset(),
flags = {
d: d,
dd: pad(d),
ddd: dF.i18n.dayNames[D],
dddd: dF.i18n.dayNames[D + 7],
m: m + 1,
mm: pad(m + 1),
mmm: dF.i18n.monthNames[m],
mmmm: dF.i18n.monthNames[m + 12],
yy: String(y).slice(2),
yyyy: y,
h: H % 12 || 12,
hh: pad(H % 12 || 12),
H: H,
HH: pad(H),
M: M,
MM: pad(M),
s: s,
ss: pad(s),
l: pad(L, 3),
L: pad(L > 99 ? Math.round(L / 10) : L),
t: H < 12 ? “a” : “p”,
tt: H < 12 ? “am” : “pm”,
T: H < 12 ? “A” : “P”,
TT: H < 12 ? “AM” : “PM”,
Z: utc ? “UTC” : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, “”),
o: (o > 0 ? “-” : “+”) + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
};

return mask.replace(token, function ($0) {
return $0 in flags ? flags[$0] : $0.slice(1, $0.length – 1);
});
};
} ();

// Some common format strings
dateFormat.masks = {
“default”: “ddd mmm dd yyyy HH:MM:ss”,
shortDate: “m/d/yy”,
mediumDate: “mmm d, yyyy”,
longDate: “mmmm d, yyyy”,
fullDate: “dddd, mmmm d, yyyy”,
shortTime: “h:MM TT”,
mediumTime: “h:MM:ss TT”,
longTime: “h:MM:ss TT Z”,
isoDate: “yyyy-mm-dd”,
isoTime: “HH:MM:ss”,
isoDateTime: “yyyy-mm-dd’T'HH:MM:ss”,
isoUtcDateTime: “UTC:yyyy-mm-dd’T'HH:MM:ss’Z'”
};

// Internationalization strings
dateFormat.i18n = {
dayNames: [
"dom", "seg", "ter", "qua", "qui", "sex", "sab",
"Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sabado"
],
monthNames: [
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
]
};

Date.prototype.format = function (mask, utc) {
return dateFormat(this, mask, utc);
};