Showing posts with label google. Show all posts
Showing posts with label google. Show all posts

Saturday, September 13, 2014

Sensorial android app

 
Sensorial on Google Play

Ow, it's been like forever since i write my last post (too bad for me right).
Since it has been too long, don't think that i was doing nothing (actually play PS4 too some time of my life... :P).

Those last months were a blast! I learn java/android programming and thought: "Why not release some app on the Play Store?". So that what i did! This is my first blog post explain some of the core functions i use in my app, so it can help others.

So, let's start with an idea, you must have an idea to build an app, even if that idea has already been implemented for someone else right? The idea behind Sensorial is very simple: Give you data about sensors that we can find in our daily life.


You must thought, "IoT"[1] right? That's one path... why not. But since we are on the IT space, i learn that baby steps is a great thing, so im starting small. For now the app will give you some sensors information available using the hardware you have on your device and some collected over the internet using your geolocation to get the better value for you in that point of time and space.

So that's what is implemented right now, but the original idea was way more simple, my father just wanted to replace he's old app that give him values of speed, distance and altitude. Very simple right? So i implement some other features that in the end he found very usefull.

But enough of history, lets talk "techie".

In this first post im just listing the libraries used to build Sensorial.
The first one was ButterKnife[2], and what a great lib uhm? It takes out all the trouble of writing over and over the famous Android findViewById[3] method of the Activity.
ButterKnife was my choice because it looks very simple to use (but in the end Eclipse Bundle impose some difficult) and have some good documentation. If you don't know the library or know but never used give that a change, it's good.

Ok, said one lib right, just to be clear im using 7 libraries! You are think, "That's too much! It must be a performance killer!". Well... it's not that much actually, the performance of the app is good, and usage is not bad, some of those libraries have more performance that the original android code! You could try for yourself if want to, anyway, all those libraries add some high level interface on the programming make it easy to do some tasks.
The others libraries im using are the following:

  •  GSON[4]: Great lib to work with json format, since some of the internet services that im using to get sensor info return in json, it was a must have. If you look in the internet the performance is much better that the default android parser. Also you could check jackson, it claims to have better performance that GSON!
  • Http-Request[5]: The android code to make a http request is disgusting, this lib is great, it reminds me python request (which i find awesome!).
  • Joda Time[6]: if you work with date on Java you suffer whole life until Joda was created... :D it is excellent when it comes to parser and transform string into date objects and vice versa.
  • SugarOrm[7]: Awesome, i was checking for orm in android and found this precious lib... what it makes speciall? The simplicity... if you are looking for "Simple is better than Complex", use this and be happy. A plus is that the lib is active on github!!!!
  • ListViewAnimations[8]: This was a life saver for me... android has its ListView component, and im using to make the list of sensors in the main activity. But how one can implement some list special operations? Like Drag and Drop, Swipe to dismiss and stuff like that? Well, enter ListViewAnimations... this lib has all!! And some more! If you are using ListView, check this out and be a little more happy when coding for your users and improve their experiences!
All those libraries will help you a little more to build a great and easy to use app, you should check Sensorial to get a little idea what you could build.
Sensorial is a paid app, but im thinking in release a free version also, the problem in release a free version is that one of the service im using is a paid one, and if the app has too much requests to that service, the app could be down for a few hours...

Anyway, in the next posts i will explain some problems and solutions found to build Sensorial, and perhaps my next android app. 
Sensorial is far from finish its development life cycle, im have much more ideas to implement on it to leave there on the Play Store without updates!


Cheers!!!

[1]: Internet of Thins (IoT)
[2]: ButterKnife
[3]: findViewById
[4]: GSON
[5]: Http-Request
[6]: Joda Time
[7]: SugarORM
[8]: ListViewAnimations
[9]: Sensorial on Google Play

Sunday, October 21, 2012

Procurando objetivos no Trabalho


Procurando objetivos no Trabalho

Nos últimos meses tenho me deparado com uma dúvida, qual o objetivo do meu traabalho? Sim, afinal, porque trabalho na área de TI? E porque sou programador?
Pode parecer uma pergunta muito simples para alguns, ou muito difícil de responder para outros, mas a questão fica, você sabe o motivo do seu trabalho?

Durante minha defesa de TCC da pós-graduação, eu li muitos livros sobre motivação e times de alto desempenho, mas uma coisa que me chamou muita atenção nessas obras foi a falta de direcionamento em como encontrar os objetivos dos integrantes (ou pessoas) dos times. Talvez seja polêmico demais o assunto, foi como discuti com um amigo do trabalho: “Como saber os objetivos das pessoas, se muitas vezes nem elas mesmas sabem o que desejam?” Ou ainda pior, devemos ajuda-las a encontrar seus objetivos... Parece simples, mas como ajudar alguém encontrar um objetivo para trabalhar?


Tenho pensando muito e por conseguinte tentarei criar uma luz no fim do túnel para isso. Acredito que o primeiro ponto a se questionar é se a pessoa gosta do seu trabalho, você como líder tem a obrigação de verificar se o integrante do seu time gosta daquilo que faz ou apenas quer ganhar o pagamento no fim do mês. Acredito que chegar para a pessoa e perguntar é algo totalmente inútil, nem todos irão categoricamente afirmar para o chefe que não gostam, ou mesmo odeiam o trabalho que fazem, mas como podemos tirar isso das pessoas? Mas porque devemos descobrir se as pessoas gostam de seu trabalho? Esse ponto é importante caso a empresa espera que seus funcionários melhorem os métodos e processos utilizados ou mesmo criem novas situações de ganhos para a organização. Gostar do que se faz abre um leque de possibilidades e buscas para melhoria. Isso não significa que quem não gosta do trabalho, não perseguirá isto com afinco, entretanto o indivíduo que possui prazer no que esta fazendo tenderá a se esforçar mais para essa melhoria.

Para descobrirmos quais são nossos objetivos, acredito que primeiro devemos ter uma noção de quem somos e quais nossas características, para isso existem dezenas (e talvez centenas) de técnicas para se descobrir isso. Por existirem tantas técnicas muitas acabarão por darem resultados parecidos, algumas que utilizei em mim mesmo (gratuitas ou não) são demonstradas abaixo:


Descobrindo seus Pontos Fortes (Strength Finder).

Tem um livro que achei bem interessante (o qual um amigo me apresentou) chamado StrenghtFinder 2.0. Este livro vai lhe ajudar a descobrir quais são os pontos fortes das pessoas que o cercam e seus próprios. A partir daí podemos começar a analisar se o que fazemos é realmente direcionado a nossos pontos fortes ou “apenas estamos dando soco em ponta de prego”.

Isso não significa que descobrindo quais são os pontos fortes eles irão nos direcionar a nossos objetivos, muito pelo contrário, isso vai apenas nos dizer se o que fazemos no trabalho é algo que nossa personalidade pode absorver como simples e prazeroso. É lógico afirmar que ao realizarmos tais tarefas estamos seguros, temos a facilidade de assimilar o assunto e executar a ação necessária para a resolução do problema.

O livro não coloca quais tarefas são mais simples para cada perfil, entretanto ele apresenta um panorama geral em como cada ponto define algumas das atividades que procuramos exercer. Somos puxados a atividades onde nossos pontos fortes brilham.

Isso pode nortear sua decisão sobre o que perseguir em sua vida e como direcionar estudos e esforços.

Conforme eu disse, realizei o teste, e realmente os pontos fortes colocados pelo programa são muito (se não 100%) correlacionados com minha personalidade. Para se ter uma idéia, eu sou um cara competitivo, isso pode ser um ponto forte, como fraco, tudo dependerá de como utilizo essa informação na execução das minhas tarefas e no dia dia. Um detalhamento maior sobre meus pontos fortes e como eles são apresentados a você pode ser conferido aqui.


Keirsey Temperament Sorter - II (Personality Instrument).

Outro teste interessante e viável de se realizar é o Keirsey Temperament Sorter. Aqui a idéia é receber uma visão geral de como você age e do seu possível temperamento diretamente relacionado ao seu trabalho e sua vida.

According to Keirsey Temperament Theory, there are four basic temperament groups which describe human behavior. Keirsey’s four temperaments are referred to as Artisans™, Guardians™, Rationals™ and Idealists™. These four temperaments can be further subdivided, often referred to as “Character Types”. There are four types of Artisans, four types of Guardians, four types of Rationals, and four types of Idealists.

Todos estes testes dão a você uma visão de si mesmo e como observar aspectos de nossa vida que muitas vezes não nos damos conta pela falta de percepção que temos de nós mesmos.
A possibilidade de ambos os teste revelarem aspectos intrínsecos da sua psique e que são parecidos é muito grande. Realmente em meu caso ambos os testes deram resultados parecidos, na verdade um é complementar ao outro, mas se você olhar em detalhes, mostra um perfil da minha pessoal.


Eu completo meus objetivos?

Ambos os testes podem nos mostrar nosso perfil mas não mostrará quais objetivos podemos possuir ou obter, mas eles nos darão um guia para descobrir objetivos que poderiam estar ocultos.
Apesar de tudo, existe algo muito importante nestes objetivos ou em como alcança-los. Uma pesquisadora americana (Angela Lee Duckworth) “descobriu uma característica” que pode nos dizer se possuímos ou não a atitude mental suficiente para finalizar objetivos a longo prazo. Isso poderá influenciar diretamente o cumprimento ou não daqueles objetivos que traçarmos ou dicidirmos como corretos para nossa vida e trabalho.
Bem, ela nomeou esta nova característica como GRIT (Perseverança e paixão por objetivos a longo prazo), e seu significado transcrevo abaixo:

Definimos grit como perseverança e paixão por objetivos a longo prazo. Grit implica em trabalhar arduamente em desafios, manutenção do esforço e interesse ao longo dos anos, apesar do fracasso, adversidade e plateaus de progresso. O indivíduo com essa característica aborda as realizações como uma maratona; A vantagem dele ou dela é a stamina. Considerando que a desilusão ou tédio são sinais para outros que é hora de mudar a trajetória e cortar as perdas, o indivíduo com grit permanece no curso.

Descobrindo se nossa característica GRIT é alta ou não pode nos indicar o motivo da não conclusão de determinados projetos e objetivos. Mas isso não indica que possuímos uma desculpa, mas sim um ponto de atenção todas as vezes que não terminamos um objetivo, e isso pode nos forçar a não desistir. Afinal devemos utilizar nossos pontos fortes, aceitar nossas fraquezas (mas lutar contra elas mesmo assim).

No site da própria pesquisadora existe um teste online para que você possa verificar se seu nível de GRIT é alto ou não (é uma escala de 1 - 5). Eu recebi um valor de 2.88 no teste de grit, e se observarmos em meu perfil, verifico que possuo um ponto forte chamado Ideation, que tem como característica “... Driven by your talents, you may dream up new tasks to do ...”. Ou seja, todos meus objetivos mesmo os a longo prazo, devem ter tarefas curtas que não demandem muito tempo, pois caso contrário poderei abandonar a tarefa ou objetivo para buscar outras mais interessantes.

E agora?

Toda essa análise de um perfil é importante para nós conseguirmos idealizar possíveis objetivos a serem seguidos. Devemos lembrar ainda, que essa tarefa apesar de poder contar com a ajuda externa (no caso, testes, documentários, biografias e muito mais) é um trabalho totalmente interno e intensivo, que cada indivíduo deve realizar. A organização pode facilitar essa descoberta dando oportunidades de crescimento e inovação para cada um de seus colaboradores.


“We have a strong sense of why we exist and why we do what we do. We believe that our legacy – as a company and as individuals – should be to make a difference in the world around us.” - Think with Google

Uma filosofia na qual se basear é um fato importante para se criar objetivos, assim como o google tem sua filosofia (conforme ja falado em outro post), minha sugestão é que você tente criar a sua filosofia (mesmo que para isso você utilize pedaços das filosofias de outras pessoas ou organizações).



falowaer

Monday, June 25, 2012

Visão, Missão e Valor

Visão, Missão e Valor


Boas, estive longe do blog por estas semanas, para escrever meu TCC da pós-graduação (o qual me tomou muito tempo), cujo tema era: Motivação nas Equipes de TI - Uma abordagem para formação de times de alto desempenho.
Em outro post e assim que ele for defendido, eu coloco o trabalho na integra, mas pretendo tratar de todos os aspectos do mesmo em postagens separadas.
Enfim, mas hoje estou aqui para falar de outro tema, muito importante! A visão, missão e valores das empresas. É um tema muito discutido, mas principalmente, um tema não difundido dentro das empresas, ou talvez até mesmo, difundido, mas não aplicado.
Acredito que eles podem mudar durante o tempo, de acordo com os aspectos objetivos de cada empregador, entretanto eles não devem nunca serem esquecidos ou mesmo não disseminados dentro das organizações!

Esses fatores são relevantes para os empregados e devem ser levados a sério pelos gestores e líderes dentro da organização, por isso mesmo, eles devem ser o mais claro, explicativo e pontual o possível, ficando disponível 24-7 para todos dentro da organização.
E não adianta fazer uma pagininha na internet ou na intranet da emprega, esses pontos devem ser colocados em cada porta, pois são eles que devem nortear a todos dentro da organização, dando as pessoas o senso de responsabilidade, engajamento e alinhamento.

Assim como os funcionários deve seguir esse pontos, os gestores e líderes devem fazer o mesmo! Então a missão da sua empresa é distribuir valor agregado em seus produtos? Nada de gestor vir pedir correndo pra você fazer aquele servicinho rápido, super urgente, para o cliente x. E esse é o ponto mais importante, parece que muitas vezes essas "regras" de como a empresa deve se posicionar, devem apenas ser seguidas pelos pobres escravos dos trabalhadores, enquanto que os gestores e líderes usufruem de sua posição hierárquica para mandar fazer e desfazer trabalhos que não estão alinhados com estes fatores.

Até mesmo o presidente da organização, deveria ler e rever, vez ou outra esses fatores, pois se a empresa é dele, a responsabilidade da visão, missão e valor estarem alinhadas a visão, missão e valores dele próprio é o mais primordial e essencial ponto em questão! Pois caso contrário, se os mesmos não estiverem alinhados e atualizados, os indivíduos que trabalham na organização, vão começar a pensar que não existe organização real no negócio, e que apenas estão ali, para levantar o máximo de dinheiro possível para os benefícios do presidente.

Vou dar um exemplo bonito e clássico, apesar de muitas especulações e reviravoltas na diretoria nos últimos tempos o Google é ainda uma empresa de informática que tenta manter suas raízes intactas, apesar do grande crescimento que obteve.


Esta ae a filosofia da empresa, entendam o Google tem visão, missão e valor, mas acima de tudo eles tem uma filosofia que tenta seguir: http://www.google.com/intl/pt-BR/about/corporate/company/tenthings.html
Será que a filosofia da sua empresa existe? Se existe, ela é BEM aplicada ou esta só no papel (sitezinho da internet e/ou intranet)? Os gestores e líderes buscam diariamente, e estão alinhados e engajados nessa filosofia? E claro, o mais importante de tudo, seus funcionários, sabem dela, aplicam ela e são contratados com características que facilitam eles alinharem seus objetivos a essas filosofias?

Bom, como não pode faltar, use ferramentes para lhe auxiliar a criar sua visão, missão e valor... escrever o que queremos as vezes pode ser bem complicado e difícil, então conte com toda ajuda que conseguir!
  • Use o famoso CANVAS (Business Model Canvas - http://en.wikipedia.org/wiki/Business_Model_Canvas);
  • Use o modelo Delta (http://en.wikipedia.org/wiki/Delta_model);
  • Após fazer isso, distribua esses esquemas, faça a página de visão, missão e valor na internet e intranet;
  • Crie uma filosofia para sua empresa (essa é a parte mais difícil de todas);
  • Contrate pessoas que tenham perfil e características alinhadas com os itens definidos, não coloque qualquer um como gerente de recursos humanos;
  • E por fim, o mais importante, revisite a visão, missão e valor a cada 6 meses a 1 ano, e fiscalize se todos na empresa ainda possuem a mesma visão, missão e valor a qual você prega!
Bom trabalho a todos!