Exemplo prático da importância de entender o usuário e seu problema e de fazer rápido um produto mínimo

por em Sem categoria Nenhum comentário

Semana passada, durante o Encontro Locaweb de Profissionais Internet de Porto Alegre, onde fiz uma apresentação sobre o Guia da Startup, fui entrevistado por Barbara Nickel, editora de tecnologia do jornal Zero Hora. Durante a entrevista expliquei que as dicas do Guia da Startup servem também para empresas estabelecidas, uma vez que toda empresa tem ou vai ter um site e algum sistema web. Citei o exemplo do laboratório de análises clínicas que tem um sistema web para consulta de resultados de exames. Quem fizer esse sistema deve falar não só o pessoal do laboratório que está coordenando esse projeto como também com os futuros usuários desse sistema, para garantir que o sistema esteja alinhado não só com os objetivos da empresa, como também com os objetivos dos futuros usuários. Além disso, é necessário fazer rápido um produto mínimo para mostrar aos futuros usuários pois assim fica mais fácil de obter feedback desses usuários.

Nesse momento os olhos da Barbara brilharam e ela contou uma história muito bacana que aconteceu no Grupo RBS e que ilustra muito bem a importância de entender os usuários do sistema e seus problemas e de fazer rápido o produto web. Ela comentou que o sistema antigo de edição de capas dos sites era muito ruim e mudar uma manchete no portal clicRBS ou no site do jornal Zero Hora era muito trabalhoso. O pessoal de TI estava começando a buscar opções no mercado, pois existem vários sistemas prontos para publicação na web, os CMS (Content Management Systems). Nesse meio tempo, dois desenvolvedores do time de TI mostraram para alguns jornalistas um protótipo que eles tinham feito para substituir o sistema atual de publicação, considerando as reclamações que eles sempre ouviam da Redação. A primeira versão era mais simples, mas os jornalistas deram alguns feedbacks que foram incorporados pelos desenvolvedores. Um exemplo de funcionalidade foi a de redimensionamento de imagens: antes, era preciso fazer várias versões da imagem no Photoshop e subi-las para o sistema. Agora, o editor precisa apenas “arrastar” as fotos para espaços menores ou maiores, que a foto se adapta automaticamente, o que dá mais agilidade à edição.Transformar todo o sistema de publicação de notícias do jornal Zero Hora está entre os objetivos. Os jornalistas se sentem co-autores do sistema, que foi feito a partir de um sistema mínimo que evoluiu graças à frequente interação entre desenvolvedores e usuários.

Esse é mais um exemplo prático que mostra a importância de:

  • entender o usuário e seu problema: não basta apenas atender aos objetivos da pessoa que pediu o sistema web. É fundamental entender os objetivos dos usuários do sistema para garantir que esse sistema tenha sucesso. Os dois desenvolvedores da área de TI da RBS estavam antenados nas reclamações da Redação e usaram essa informação para desenvolver o sistema de edição das capas dos sites.
     
  • fazer rápido o produto mínimo: não existe ferramenta de comunicação melhor entre desenvolvedor de um sistema e os usuários desse sistema que o próprio sistema. É muito mais fácil para o usuário, a partir do uso do sistema, dar o feedback correto para que o desenvolvedor faça o melhor sistema. Note que os dois desenvolvedores não fizeram todo o sistema de publicação do site, se focaram apenas no sistema de edição das capas, e num versão bem simples, que sequer fazia ajuste automático de tamanho de imagens.

Empresa que desenvolve software sob encomenda

por em Sem categoria Nenhum comentário

São as empresas que fazem software e site sob encomenda para seus clientes. Esse tipo de empresa pode se beneficiar do Guia da Startup de duas formas. Uma forma é usando as técnicas discutidas aqui para criar um produto que gere uma receita mais constante que o trabalho sob encomenda. A outra forma é usando as técnicas aqui apresentadas para desenvolver sites e sistemas web melhores para seus clientes, eventualmente vendendo serviço não só de desenvolvimento de software e sites, mas tb de gerenciamento de software web e de sites.

Criação de um produto novo

Um dos casos mais clássicos de empresa que desenvolve software sob encomenda que desenvolveu produtos web de sucesso é a 37signals, empresa americana de Chicago que nasceu como uma agência web em 1999, fundada por Jason Fried. Para gerenciar seus projetos com seus clientes eles desenvolveram em 2003 um sistema interno para gestão de projetos, onde era possível manter a comunicação entre os membros dos projetos e os clientes, além de oferecer uma boa visão do andamento desses projetos. Esse sistema era tão elogiado pelos clientes da 37signals que Jason decidiu lançá-lo como um produto web em meados de 2004, com o nome de Basecamp. O sucesso foi tanto que no final de 2005 Jason decidiu não mais fazer trabalhos sob encomenda e se focar somente em produtos web. Desse produto saiu um framework de desenvolvimento web muito conhecido, o Ruby on Rails, que acelera consideravelmente o desenvolvimento de aplicações web por trazer uma série de funcionalidades web prontas. Hoje a 37signals tem 4 produtos web pagos, mais dois gratuitos, além de terem lançado 3 livros, sendo o Getting Real, com versão em português, o mais relevante para o desenvolvimento de produtos web.

Esse caminho seguido por eles é razoavelmente comum para empresas de desenvolvimento de software sob encomenda. Outro caso explicado aqui no Guia da Startup é o da empresa brasileira Caelum, que sempre se focou em ensino e em desenvolvimento de software sob encomenda. De uns tempos para cá eles decidiram não mais fazer software sob encomenda e resolveram se focar apenas em ensino, presencial e online. O ensino online acabou virando o produto web deles. Para conhecer a história toda, veja a entrevista que fiz com eles.

Repare que, em ambos os casos, o produto web nasceu da oportunidade que essas empresas viram em resolver um problema próximo. No caso da 37signals, o problema próximo era visibilidade do andamento dos projetos. No caso da Caelum, o problema próximo era atender à demanda crescente por cursos em localidades onde eles não tinham presença física para oferecer cursos presenciais. Se vc faz software sob encomenda, já tem alguns clientes e pode enxergar alguns padrões de problemas ou necessidades que vc pode conseguir resolver com um produto web.

Outro ponto importante é, faça rápido seu produto web. Além das 3 razões que já discutimos anteriormente, quando vc faz software sob encomenda, é muito difícil trocar receita imediata por receita futura. O trabalho sob encomenda gera receita imediata. O trabalho em desenvolvimento de produto é um investimento, que poderá dar bons resultados, mas só mais pra frente. Se vc demorar muito para lançar seu produto web, vc vai acabar não lançando nunca, pois aparecerão demandas de software sob encomenda com receita imediata que ganharão na prioridade. Faça um produto mínimo para testar sua ideia com usuários reais.

Uso nos projetos dos clientes

Como explicado anteriormente, todo site e sistema web pode e deve ser considerado um produto web e, sendo assim, as técnicas aqui apresentadas podem e devem ser aplicadas em qualquer projeto que vc fizer para seus clientes. Aliás, vc pode até cobrar um valor extra para fazer esses serviços. Imagine-se fazendo um site de ecommerce para seu cliente e oferecendo um serviço mensal de análise de métricas de conversão e de testes A/B. É um serviço mensal que vários de seus clientes terão interesse. Isso não é um serviço de desenvolvimento de site, mas sim de gestão de sistema web que pode te gerar uma receita recorrente.

Por outro lado, imagine-se sendo chamado por um laboratório de exames médicos que lhe pediu para fazer um sistema de consulta de exames via internet, ou então um jornal que pediu para vc fazer um sistema de publicação de notícias online. Claro que vc irá ter que conversar com seu cliente, o laboratório ou o jornal, para entender qual o objetivo deles em fazer esse sistema e entender que problema eles querem resolver com esse sistema. Contudo, além disso, é importante entender os usuários desse sistema e que problemas esses usuários querem resolver. Muitas vezes seus clientes não conhecem o suficiente seus clientes, especialmente no que se refere às suas necessidades online.

O Manifesto para Desenvolvimento Ágil de Software, escrito há mais de 10 anos, foi uma enorme revolução na forma de se fazer software:

Estamos descobrindo maneiras melhores de desenvolver
software, fazendo-o nós mesmos e ajudando outros a
fazerem o mesmo. Através deste trabalho, passamos a valorizar:

Indivíduos e interações mais que processos e ferramentas
Software em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano

Ou seja, mesmo havendo valor nos itens à direita,
valorizamos mais os itens à esquerda.

Esse manifesto melhorou em muito a forma como software é desenvolvido, garantindo maior envolvimento do cliente durante o desenvolvimento do software. Contudo, um ponto fundamental que ele deixa de lado é que nem sempre o cliente é o usuário do software e nem sempre o cliente conhece o usuário do software e o problema desse usuário que o software deve resolver. Essa é peça chave para o suscesso do software, resolver o problema do seu usuário.

As empresas que desenvolvem software sob encomenda que ajudarem seus clientes a entenderem seus usuários e os problemas que esses usuários têm, certamente entregarão software de alta qualidade para seus clientes.

Próximo post

No próximo post, terceiro e último da série de posts sobre Guia da Startup para nao startups, vamos falar sobre as empresas que não têm conhecimento para desenvolver software.

Comentários

O que achou dessas formas de usar as dicas do Guia da Startup para empresas que desenvolvem software sob encomenda? Comente!

Empresa que tem um software não web

por em Sem categoria Nenhum comentário

Existe uma quantidade enorme de empresas de software que fizeram seu software antes de existir a internet. Nessa época, software era vendido em caixas que continham disquetes ou CDs de instalação e o manual do software. O que essas empresas vendem é a licença de uso desse software e, muitas vezes, um valor anual de suporte que dá direito a atualizações de versão durante aquele ano.

Esse software roda nos computadores do cliente, ou seja, todo custo de operação desse software é de responsabilidade do cliente. A empresa que fez esse software recomenda uma configuração mínima de equipamento para rodar esse software e o cliente se preocupa em ter, configurar e manter esse equipamento. Além disso, administrar esse software tb é responsabilidade do cliente. Garantir que o software esteja rodando em equipamento com espaço em disco suficiente, com memória suficiente, que os dados gerados estejam seguros, tudo isso é responsabilidade do cliente.

Com a internet, essas empresas passaram a distribuir seu software via download, com manual disponível online. Contudo, essa não é melhor forma de usar a internet para distribuição de software. A internet trouxe a possibilidade de oferecer softwares para serem usados de forma remota, ou seja, passou a ser possível usar um software que não está mais rodando no equipamento do cliente e que não precisa ser administrado pelo cliente.

Novo modelo de comercialização de software

Nesse novo modelo de comercialização de software, há um aumento de custo pois a empresa passa a ter não somente o custo de desenvolver o software como também o custo de operar esse software. Contudo, há uma diminuição dos custos de distribuição e suporte. No custo de distribuição, a empresa não precisa mais distribuir CDs ou mesmo usar a internet como meio de distribuição, pois o software já estará instalado. E não haverá também o custo de suporte à instalação do software, um tipo de suporte bem trabalhoso, pois é preciso conhecer o ambiente do cliente onde o software é instalado e cada cliente costuma ter suas particularidades. Alguns softwares são tão complicados para serem instalados que algumas empresas acabaram se especializando no serviço de instalação e configuração de software no cliente. Exemplo bastante comum são os software de ERP, como o SAP, que tem uma quantidade enorme de empresas parceiras, chamadas de integradoras, que instalam e configuram o ERP nos servidores do cliente.

Por outro lado, olhando do ponto de vista de receita, quando o software é usado de forma remota, não há somente a venda do software, mas também a venda do serviço de operar esse software. Com isso é possível criar um fluxo de receita mais contínuo, conhecido como receita recorrente.

A internet abre um monte de oportunidades para quem desenvolveu software não web, pois já tem clientes, já sabe que problema esses clientes precisam resolver e já resolveu esse problema com um software não web. Agora é preciso pensar em como resolver esse problema com um software web.

Como fazer a transição de software não web para software web?

Um erro bastante comum de quem tem um software não web e toma a decisão de criar um software web é querer criar na web um software com a mesma cara e as mesmas funcionalidades de seu software não web. São duas as razões para não seguir por esse caminho:

  • web é diferente: um produto web é diferente de um software feito para ser instalado em um computador. Primeiro tem a questão da velocidade de conexão do seu usuário com a internet mais a velocidade de conexão de seu servidor com a internet. Isso pode afetar a performance de seu software. Vc precisa tomar cuidado para não sobrecarregar o trânsito de dados entre o servidor onde está o seu software e o computador de seu usuário. Ninguém consegue usar um software lento. Segundo, a interface de um software feito para web é bem diferente de software feito para rodar localmente. E quando vamos para aparelhos móveis como iPhone, Android e iPads essa diferença fica maior ainda. Por exemplo, o Gmail tem uma interface completamente diferente da interface do Outlook, software não web para leitura de email da Microsoft. E a interface para acesso via iPhone, Android e iPad do Gmail é ainda mais diferente de um Outlook. A própria Microsoft tentou fazer uma versão web para acesso a email, o OWA (Outlook Web Acess), mas dá a impressão de ser uma tentiva de portar a interface do Outlook para a web e não apresenta uma experiência de usuário tão boa quanto o Gmail.
     
  • repetir a história custa muito tempo: refazer todas as funcionalidades de seu software não web dentro de seu produto web vai levar muito tempo e custar muito dinheiro. Normalmente quem tem um software não web, o desenvolveu durante anos e foi aprimorando suas funcionalidades ao longo do lançamento de novas versões. Repetir tudo isso num produto web, mesmo que vc consiga portar todas as funcionalidades para a web, é algo muito trabalhoso. Veja quanto tempo a Microsoft levou para conseguir levar o Office para web, com o Office 365 que foi lançado em junho de 2011. Provavelmente essa demora foi em função da dificuldade em portar todas as inúmeras funcionalidades que o Office, que existe desde 1990, já tinha. Enquanto isso, o Google lançou o Google Docs em meados de 2006. Além do Google, outras empresas investiram em desenvolver e oferecer pacotes tipo office para uso online, sendo um dos mais conhecidos o Zoho Office Suite que foi lançado em 2007.

Então, qual o caminho mais indicado? Aqui vão algumas sugestões:

  • novo produto: vc conhece seus clientes, sabe que problemas eles têm. Seu software não web endereça um ou alguns desses problemas. Então que tal criar um software web resolva algum outro problema desses clientes que não esteja ainda sendo resolvido? A Microsoft começou a experimentar com serviços online desde 1995, quando eles lançaram a MSN (Microsoft Network) que, inicialmente era um serviço de acesso discado com conteúdo exclusivo, o MSN.com, site de conteúdo que competia diretamente com Yahoo!. Esse site de conteúdo acabou sendo aberto e hoje é uma fonte de receita de anúncios para a Microsoft. Outro exemplo da própria Microsoft é o Expedia, site de intermediação de serviços de viagem, que foi criado como uma divisão da Microsoft em 1996 e acabou sendo vendido para a TicketMaster em 2001.
     
  • nova funcionalidade ou módulo: vc deve receber constantemente feedback de seus clientes sobre novas funcionalidades para implementar em seu software não web, não é mesmo? Que tal então pensar numa forma de implementar essas novas funcionalidades como um produto web? Claro que isso depende muito de que funcionalidades são essas e quão independentes elas seriam da operação do seu software não web. Mais uma vez um exemplo da Microsoft, que adicionou ao seu pacote Office algumas funcionalidades ao longo dos anos que eram baseadas em produto web. Uma delas é a possibilidade de fazer reuniões online, o Microsoft Office Live Meeting que é oferecido desde 2003 e permite fazer reuniões online compartilhando documentos Office. Em 2007 a Microsoft lançou o Windows Live Folders, que depois ficou conhecido como Windows Live SkyDrive, para compartilhamento e edição colaborativa de arquivos Office.
     
  • versão “light” ou “web”: crie uma versão web, com menos funcionalidades, mas que já resolva o problema de alguns de seus clientes existentes. Ou então, veja se vc não está deixando de atender pessoas interessadas em sua solução, mas que acham sua solução muito sofisticada. Vc pode fazer uma versão mais simples para esse público e, eventualmente, começar a atender um novo segmento de clientes. Vc pode até lançar essa versão web com um preço menor do que sua versão mais barata não web, e com isso trazer mais clientes. Por exemplo, se seu software não web tem a versão mais barata custando R$ 1.000,00 mais de 15% a 20% disso, ou seja, R$ 150,00 a R$ 200,00 por ano de taxa de manutenção, vc poderia ter a sua versão web custando R$ 50,00 por mês. Fazendo as contas de um cliente que fica com vc por dois anos, ou seja, lifetime de 24 meses, no software não web sua receita total será de R$ 1300,00 a R$ 1400,00. Na versão web, sua receita total será de R$ 1200,00. Se vc cobrar R$ 60,00 por mês, sua receita total sobe para R$ 1440,00. Se esse cliente ficar 3 anos, na versão não web ele paga para vc ao longo desses 3 anos de R$ 1.450,00 a R$ 1.600,00. Na sua versão web, a R$ 50,00 por mês, em 3 anos vc teria R$ 1.800,00. A R$ 60,00 por mês seriam R$ 2.160.

Então não perca tempo! Já vimos como é importante desenvolver rápido seu produto web. Agora é hora de por a mão na massa para que vc, que tem um software não web, tire proveito da web para criar seu próximo produto!

Próximo post

No próximo post vamos falar sobre empresas estabelecidas que desenvolvem sites e aplicações web sob encomenda e como elas podem usar o que temos conversado aqui no Guia da Startup para o seu dia-a-dia.

Comentários

Vc tem um software não web e já se aventurou no mundo web? Como foram os resultados? Compartilhe!

@Las Vegas 2012

por em General Nenhum comentário
Hi there, big projects going on, and not much time to blog theses days, but I hope to fix this soon… This entry is just to tell you that next week, I should be in Las Vegas (from sunday to friday). So, if you have the time to chat a little about “anything“, and for [...]


Batch Acknowledged Pipelines with ZeroMQ

por em Sem categoria Nenhum comentário

"Parallel processing with a task ventilator is a common pattern with ZeroMQ.  The basics of this pattern are outlined in the “Divide and Conquer” section of the ZeroMQ guide.  The pattern consists of the following components:

  • A task ventilator that produces tasks.
  • A number of workers that do the processing work.
  • A sink that collects results from the worker processes..." 

http://blog.aggregateknowledge.com/tag/pyzmq

Permalink | Leave a comment  »

Alchemy Database: A Hybrid RDBMS/NOSQL-Datastore

por em Sem categoria Nenhum comentário

"Alchemy Database is a low-latency high-TPS NewSQL RDBMS embedded in the NOSQL datastore redis. Extensive datastore-side-scripting is provided via deeply embedded Lua. Unstructured data, can also be stored, as there are no limits on #tables, #indexes, #columns, and sparsely populated rows use minimal memory.

AlchemyDB believes OLTP traffic's needs are best served by extending SQL and has recently added the following experimental functionalities:

  • LuaTable - A column type that is a Lua Table, that single handedly adds both Document-Store & Object-DB functionality by mixing Lua into SQL.
  • GraphDB - so brand new it is not even fully documented :) A GraphDB was created on top of AlchemyDB using SQL for indexes and Lua for graph-traversal logic. AlchemyDB is a customizable data platform.
  • AppStack - AlchemyDB uses a REST API and already had Lua embedded, creating a dynamic HTTP server, serving Lua webpages was a logical step, and it is the fastest dynamic webserver I have ever benchmarked (probably because it can only make internal AlchemyDB calls, i.e. NO backend calls :)

Alchemy Database is optimised for top notch memory efficiency and top notch TPS for OLTP requests:

  • Speed is achieved by being an event driven network server that stores 100% of data in RAM, achieving disk persistence by using a spare cpu-core to periodically log data changes (i.e. no threads, no locks, no undo-logs, no disk-seeks, serving data over a network at RAM speed)
  • Storage data structures w/ very low memory overhead and data compression, via algorithms w/ insignificant performance hits, greatly increase the amount of data you can fit in RAM
  • Optimising to the SQL statements most commonly used in OLTP workloads yields a lightweight RDBMS designed for low latency at high concurrency (i.e. world class speed/thruput).

RAM is CHEAP these days

RAM is now affordable enough to be able to store ENTIRE OLTP Databases in a single machine's RAM (e.g. Wikipedia's English DB is 30GB and a Dell T610 w/ 32GB RAM costs $2100). Data can be asynchronously replicated over the wire (providing high availability) and written to disk via snapshots and appending log files (providing durability) and data I/O is done at RAM speed.

FAST ON COMMODITY HARDWARE:

Client/Server using 1GbE LAN to/from a single core running at 3.0GHz, RAM PC3200 (400MHz)

  • 95K INSERT/sec, 95K SELECT/sec, 90K UPDATE/sec, 100K DELETE/sec
  • Range Queries returning 10 rows: 40K/sec
  • 2 Table Joins returning 10 rows: 20K/sec
  • Lua script performing read and write: 85K/sec

MEMORY EFFICIENT:

  1. Each row has very little overhead when stored (20-30bytes) and Insert speed does not significantly degrade as more indices are added
    • Simple row (PK+TEXT->16 bytes), 1GB stores 40 million rows, insert speed: 70K/sec
    • Complex row (10 Indices+TEXT->48 bytes), 1GB stores 9 million rows, insert speed: 40K/s
    • TEXT fields are compressed. If a 100 character column compresses down to 80 bytes, the row can be stored w/ ZERO storage overhead (e.g. 1million rows of 100 chars will take up 100MB)
  2. Sparse-Rows: tables w/ 1000s of columns, that are sparsely populated, use a serialised hash table in the row's stream to store column offsets. Sparse-Rows can be Orders-Of-Magnitude smaller than full rows ... more info

EASY TO USE:

http://code.google.com/p/alchemydatabase
https://github.com/JakSprats/Alchemy-Database

Permalink | Leave a comment  »

Entrevista: produtos web da Locaweb

por em Sem categoria Nenhum comentário

A Locaweb é uma empresa muito conhecida por seus produtos de Hospedagem de Sites, Servidores Dedicados e Cloud Server. São produtos que, apesar de não requererem um técnico, necessitam de algum conhecimento mais específico para poderem ser utilizados. A Hospedagem de Sites foi o primeiro produto da Locaweb, lançado em 1998. A partir de 2006 ela começou a diversificar sua linha de produtos para começar a oferecer produtos web, com foco em atender diretamente empresas que precisavam de serviços web tais como Email Marketing, PABX virtual, Loja Virtual, Construtor de Sites entre outros.

Vamos ver nessa entrevista com Gilberto Mautner, fundador e CEO da Locaweb, como foi essa inclusão de produtos
web no portfólio de produtos da empresa. Esse é mais um exemplo de uso das técnicas de criação e gerenciamento de
produtos web apresentadas aqui no Guia da Startup em uma empresa já estabelecida.

Guia da Startup: Como surgiu a ideia de começar a fazer software?

Gilberto Mautner: Acabou surgindo da necessidade de diversificação de portfólio de produtos da Locaweb. Toda empresa tem que ter produtos novos em seu portfólio para evitar o problema de colocar “todos os ovos na mesma cesta”, ou seja, se toda a receita da empresa vem de um único produto, qualquer problema que vc tiver com esse produto irá afetar a saúde financeira da empresa. Por outro lado, se sua receita vem de diferentes produtos, se um deles tiver um problema, o impacto na empresa tende a ser bem menor. Eu acompanhava de perto os provedores de acesso discado que, no final da década de 1990, sofriam com a concorrências dos provedores de acesso gratuito. O Google é outro exemplo disso, até hoje mais de 95% de sua receita vem de seu produto principal, anúncios na busca. Isso é um risco, pois se alguém inventar alguma forma mais eficiente de anúncio, as chances de os anunciantes migrarem para essa nova forma é muito grande.

GS: E por que vc quis fazer produtos web? Afinal o expertise da Locaweb era gestão de infraestrutura, não?

GM: É verdade, nosso expertise sempre foi gestão de infraestrutura, primeiro com hospedagem de sites e de email, depois com servidores dedicados. Contudo, já desenvolvíamos software. Nosso sistema de cobrança foi desenvolvido internamente. É um software que é operado pelos nossos funcionários via browser. Nosso sistema de helpdesk para registro dos chamados dos clientes, também foi desenvolvido internamente e é um sistema web. Nosso painel de controle, que os clientes acessam para ver e configurar os serviços contratados conosco, também foi desenvolvido internamente, assim como o painel de controle de email e o webmail. Ou seja, tínhamos o conhecimento dentro de casa sobre como desenvolver software web. E pensamos: Por que não fazer um software web que resolvesse algum problema dos clientes e que eles estivessem dispostas a pagar por isso?

Além disso, tínhamos experiência em lançar produtos de internet. Outros produtos de infraestrutura que lançamos antes de nosso primeiro produto web foram:

  • Gateway de Comércio Eletrônico: uma API que disponibilizávamos para desenvolvedores de site que queriam fazer lojas virtuais. Junto com esse produto, vendido por R$ 60,00 por mês, dávamos o código de uma loja para que o desenvolvedor não precisasse sair do zero.
  • FTP Multi-usuário: permite que o nosso cliente crie pastas e subpastas em sua área de FTP para que ele pudesse compartilhar com terceiros o acesso a partes de sua área de FTP.
  • Revenda de Hospedagem: para que empreendedores, agências e desenvolvedores web pudessem revender serviços de hospedagem de sites usando nossa infraestrutura.
  • Servidor Virtual: antecessor do Cloud Server, onde conseguíamos oferecer, em 2003 bem antes de virtualização de servidor virar um trending topic, um servidor mais em conta que os Servidores Dedicados para nossos clientes que buscavam ter um servidor exclusivo para suas aplicações.

Todos esses serviços tinham algum painel de controle web, que era desenvolvido por nós.

A partir daí, para começar a fazer produtos web foi um passo natural.

GS: E qual foi o primeiro produto web que a Locaweb lançou?

GM: O primeiro foi o PABX Virtual, uma solução de PABX que pode ser usado via internet e não precisa de nenhum equipamento instalado na empresa.

GS: Por que vc escolheu fazer esse produto?

GM: Porque PABX físico era – e ainda é – muito caro! Em 2003 estávamos num período de forte exapansão no nosso time de atendimento e o custo de equipamentos de telefonia era um absurdo.

GS: Então você quis resolver um problema da própria Locaweb?

GM: Exato, mas desde o princípio já imaginávamos que, se conseguíssemos resolver o problema da Locaweb, certamente isso seria útil para outras empresas, que certamente estariam dispostas a pagar por essa solução.

GS: E como foi o processo de desenvolvimento?

GM: Foi bastante longo, tivemos muitas idas e vindas. Desde a ideia, até ter o produto pronto com clientes usando, passaram-se 3 anos… Começamos em meados de 2003 e o produto foi lançado em meados de 2006. Aprendemos muito no processo. No início do desenvolvimento tínhamos uma mentalidade de fazer tudo em casa. Na primeira versão, que nunca foi lançada, codificamos toda a pilha de comunicação VoIP. Foi um trabalhão. Só que nessa época já existia um software open source chamado Asterisk, criado em 1999 e que teve sua versão 1.0 lançada em setembro de 2004. Quando descobrimos o Asterisk, mudamos radicalmente o curso de desenvolvimento. Adotamos o Asterisk como nossa pilha de comunicação VoIP e nos focamos em desenvolver o configurador amigável via web.

GS: E depois do PABX Virtual?

GM: Dentre os chamados que recebemos de clientes, tem uma categoria de chamados que muito importante para nortear nosso desenvolvimento de produtos, a categoria “sugestão”. Recebemos muitas sugestões de clientes sobre os produtos existentes e sobre ideias de novos produtos. Um que estava no topo da lista era Email Marketing. Usamos o aprendizado de buscar soluções open source e criamos um serviço baseado no MailMan, open-source de gestão de lista de emails. Redesenhamos a interface para ficar com cara de produto Locaweb e lançamos no final de 2005. Esse desenvolvimento foi bem rápido, levou uns 3 meses, mas ainda não atendia às necessidades de nossos clientes. Depois de um tempo, ouvindo o feedback dos clientes, descontinuamos o produto feito com o MailMan e redesenhamos nosso produto de Email Marketing que, num período de dois anos, passou a representar 8,1% da receita mensal da Locaweb.

GS: O que veio depois do Email Marketing?

GM: Acabamos criando uma área de produtos web que chamamos de SaaS (Software as a Service – Software como Serviço) que hoje conta com mais de 20 pessoas, entre desenvolvedores, especialistas em experiência do usuário, marketing de produtos e coordenadores de produto. Além do PABX Virtual e do Email Marketing, fizemos também a WebStore, sistema de loja virtual, o WebChat, sistema para atendimento por chat via web e o WebDesk, sistema de tickets para atendimento e, nossos dois últimos lançamentos em março de 2012 foram, o Criador de Sites e o ERP Flex, sistema de gestão de empresas totalmente via web.

Todos esses produtos têm como público alvo as empresas, mas em todos eles buscamos forma de ter os desenvolvedores e profissionais de internet envolvidos, afinal nosso primeiro produto, a Hospedagem de Sites, têm as empresas como público alvo, mas entendemos que precisamos dos desenvolvedores e profissionais de internet para que os produtos sejam ser plenamente utilizados. Por esse motivo, esses produtos têm API, opção de configuração avançada, edição de CSS e HTML.

Para cada produto utilizamos uma forma diferente de desenvolver. Alguns, foram completamente desenvolvidos dentro de
casa. Outros, pegamos um open-source e adaptamos. Alguns produtos, terceirizamos o desenvolvimento, mantendo a gestão de produtos e design de interação sendo feitos por nós. Em um dos produtos, fizemos uma parceria onde o parceiro desenvolveu todo o produto, sendo que a apresentação deste para o mercado ficou à cargo da Locaweb. Enfim, o que nos importa é apresentar o quanto antes o produto os clientes, pois com isso temos o feedback necessário para saber se estamos no caminho certo.

GS: E qual a importância hoje dos produtos SaaS para a Locaweb?

GM: Hoje os produtos SaaS representam 17% da receita total da Locaweb, com um excelente crescimento ano a ano. Os produtos SaaS são hoje uma peça muito importante na missão da Locaweb de “Fazer negócios nascerem e prosperarem através da tecnologia”.

GS: Parece então que a estratégia de diversificação do portfólio de produtos está dando certo, não?

GM: Sim, está. Queremos ter ainda mais produtos para diversificar ainda mais nossa receita. Veja o caso da Microsoft, que tem um portfólio super diversificado. Por mais que ela tenha alguns solavancos no caminho, como o do Office 365, ou mesmo a dificuldade de entrar no mercado de sistema operacional para smartphones, sua receita continua crescendo numa média de 6% ao ano nos últimos 5 anos. Isso se deve à diversificação do portfólio deles.

GS: Mais algum produto no forno?

GM: Sim, com certeza! Mais produtos SaaS serão lançados ainda em 2012. E, enquanto isso, continuamos trabalhando forte nos outros produtos de infraestrutura para web, cloud computing e internet, onde teremos novidades também. Um que já posso contar, pois vamos lançar agora em maio, é a nova versão do Gateway de Pagamentos, cheia de novidades, incluindo integração com a loja open source Magento.

GS: Parabéns pelo sucesso da sua estratégia e boa sorte com seus novos produtos!

GM: Obrigado!

An implementation of Clojure in pure Python

por em Sem categoria Nenhum comentário

"Why Python?

It is our belief that static virtual machines make very poor runtimes for dynamic languages. They constrain the languages to their view of what the "world should look like" and limit the options available to language implementors. We are attempting to prove this by writing an implementation of Clojure that runs on the Python VM. We believe that with a proper dynamic JIT (like pypy) a version of clojure running on a dynamic VM can outperform its JVM and CLR counterparts.

Aside from that, there are many Python libraries like PySide (Qt GUI), numpy, scipy, and stackless that do not have JVM counterparts, or at least the Python implementations are easier to use and learn. clojure-py will integrate tightly with thy Python VM and will be able to use all of these libraries..."

https://github.com/halgari/clojure-py

Permalink | Leave a comment  »

Modeling Time Series Data on top of Cassandra

por em Sem categoria Nenhum comentário

"At RockMelt they collect data from various sources: server logs, web site logs, browser metrics, etc. Data from these sources gets processed via Hadoop, Splunk or Hive and permanently stored in HDFS or as compressed files in Amazon EBS storage. As it turns out, almost all of our performance, product and business metrics are time-based, and different metrics have different data types/structures. One common use case arises: we need to store and retrieve time series data on any schema. We use this to drive various dashboards displaying the latest metrics, data trends and other interesting numbers.

For example, our crash dashboard displays the number of crashes per hour per browser version for the past 60 days. We use this to track the stability of new releases and to help drive down crashes over time.

Tumblr_lz1h4xszmj1qdhm0a

Why not use RRD?

RRD is a commonly used tool for storing time series data. One major limitation of RRD is that it deals only with numerical values. As you can see in the above example we would like the flexibility to store and retrieve time series data on any schema, be it an array or a complex JSON object..."

http://engineering.rockmelt.com/post/17229017779/modeling-time-series-data-on-top-of-cassandra

 

Permalink | Leave a comment  »

Switch to our mobile site