segunda-feira, 31 de março de 2014

Os navegadores de internet atualmente estão cheios de recursos, sçao capases de executar arquivos em diversos formatos como imagens, vídeos, músicas arquivos de texto como PDF, e diversos outros arquivos, porém ocorre que por necessidade do desenvolvedor e para facilitar a vida do usuário as veses precisamos que o arquivo seja baixado para o computador do usuário e não aberto no navagador, pois muitos usuários não saberam salvar um arquivo aberto no navegador, abaixo apresentarei um método de resolver esse problema.

Em um arquivo download.php coloque o seguinte conteúdo:
<?php
   $arquivo = $_GET["arquivo"];
   if(isset($arquivo) && file_exists($arquivo)){ //testa se o arquivo e a variavel não esta vazia e se o arquivo realmente existe
      switch(strtolower(substr(strrchr(basename($arquivo),"."),1))){ // verifica a extensão do arquivo para pegar o tipo
         case "pdf": $tipo="application/pdf"; break;
         case "exe": $tipo="application/octet-stream"; break;
         case "zip": $tipo="application/zip"; break;
         case "doc": $tipo="application/msword"; break;
         case "xls": $tipo="application/vnd.ms-excel"; break;
         case "ppt": $tipo="application/vnd.ms-powerpoint"; break;
         case "gif": $tipo="image/gif"; break;
         case "png": $tipo="image/png"; break;
         case "jpg": $tipo="image/jpg"; break;
         case "mp3": $tipo="audio/mpeg"; break;
         case "php": // deixar vazio por seurança
         case "htm": // deixar vazio por seurança
         case "html": // deixar vazio por seurança
      }
      header("Content-Type: ".$tipo); // informa o tipo do arquivo ao navegador
      header("Content-Length: ".filesize($arquivo)); // informa o tamanho do arquivo ao navegador
      header("Content-Disposition: attachment; filename=".basename($arquivo)); // informa ao navegador que é tipo anexo e faz abrir a janela de download, tambem informa o nome do arquivo
      readfile($arquivo); // lê o arquivo
      exit; // aborta pós-ações
   }
?>
Como é possível ver acima um case ficar resposável por definir o tipo do arquivo à partir da extensão, caso você queira adicionar mais tipos, é só adicionar mais um case com a extensão e o tipo do arquivo.

Depois faça um arquivo com o nome index.html e coloque nele o seguinte conteúdo.
<!--
  Este será o link que apontará para o nosso script PHP.
  Use no href "baixar.php?arquivo=" + caminho de seu arquivo;
  No Exemplo abaixo utilizei uma imagem com o nome "imagem.jpg" que esta dentro da pasta "arquivos".
-->
<a href="download.php?arquivo=arquivos/imagem.jpg">Baixar Arquivo</a>
No código acima passamos como um parâmetro via GET o diretório do arquivo que se deseja baixar.
Como foi dito se você quiser adicionar mais algum case segue abaixo uma lista te extensões e tipos que são chamados de Mime types.

ai     application/postscript
aif     audio/x-aiff
aifc     audio/x-aiff
aiff     audio/x-aiff
asc     text/plain
atom     application/atom+xml
au     audio/basic
avi     video/x-msvideo
bcpio     application/x-bcpio
bin     application/octet-stream
bmp     image/bmp
cdf     application/x-netcdf
cgm     image/cgm
class     application/octet-stream
cpio     application/x-cpio
cpt     application/mac-compactpro
csh     application/x-csh
css     text/css
dcr     application/x-director
dif     video/x-dv
dir     application/x-director
djv     image/vnd.djvu
djvu     image/vnd.djvu
dll     application/octet-stream
dmg     application/octet-stream
dms     application/octet-stream
doc     application/msword
dtd     application/xml-dtd
dv     video/x-dv
dvi     application/x-dvi
dxr     application/x-director
eps     application/postscript
etx     text/x-setext
exe     application/octet-stream
ez     application/andrew-inset
gif     image/gif
gram     application/srgs
grxml     application/srgs+xml
gtar     application/x-gtar
hdf     application/x-hdf
hqx     application/mac-binhex40
htm     text/html
html     text/html
ice     x-conference/x-cooltalk
ico     image/x-icon
ics     text/calendar
ief     image/ief
ifb     text/calendar
iges     model/iges
igs     model/iges
jnlp     application/x-java-jnlp-file
jp2     image/jp2
jpe     image/jpeg
jpeg     image/jpeg
jpg     image/jpeg
js     application/x-javascript
kar     audio/midi
latex     application/x-latex
lha     application/octet-stream
lzh     application/octet-stream
m3u     audio/x-mpegurl
m4a     audio/mp4a-latm
m4b     audio/mp4a-latm
m4p     audio/mp4a-latm
m4u     video/vnd.mpegurl
m4v     video/x-m4v
mac     image/x-macpaint
man     application/x-troff-man
mathml     application/mathml+xml
me     application/x-troff-me
mesh     model/mesh
mid     audio/midi
midi     audio/midi
mif     application/vnd.mif
mov     video/quicktime
movie     video/x-sgi-movie
mp2     audio/mpeg
mp3     audio/mpeg
mp4     video/mp4
mpe     video/mpeg
mpeg     video/mpeg
mpg     video/mpeg
mpga     audio/mpeg
ms     application/x-troff-ms
msh     model/mesh
mxu     video/vnd.mpegurl
nc     application/x-netcdf
oda     application/oda
ogg     application/ogg
pbm     image/x-portable-bitmap
pct     image/pict
pdb     chemical/x-pdb
pdf     application/pdf
pgm     image/x-portable-graymap
pgn     application/x-chess-pgn
pic     image/pict
pict     image/pict
png     image/png
pnm     image/x-portable-anymap
pnt     image/x-macpaint
pntg     image/x-macpaint
ppm     image/x-portable-pixmap
ppt     application/vnd.ms-powerpoint
ps     application/postscript
qt     video/quicktime
qti     image/x-quicktime
qtif     image/x-quicktime
ra     audio/x-pn-realaudio
ram     audio/x-pn-realaudio
ras     image/x-cmu-raster
rdf     application/rdf+xml
rgb     image/x-rgb
rm     application/vnd.rn-realmedia
roff     application/x-troff
rtf     text/rtf
rtx     text/richtext
sgm     text/sgml
sgml     text/sgml
sh     application/x-sh
shar     application/x-shar
silo     model/mesh
sit     application/x-stuffit
skd     application/x-koan
skm     application/x-koan
skp     application/x-koan
skt     application/x-koan
smi     application/smil
smil     application/smil
snd     audio/basic
so     application/octet-stream
spl     application/x-futuresplash
src     application/x-wais-source
sv4cpio     application/x-sv4cpio
sv4crc     application/x-sv4crc
svg     image/svg+xml
swf     application/x-shockwave-flash
t     application/x-troff
tar     application/x-tar
tcl     application/x-tcl
tex     application/x-tex
texi     application/x-texinfo
texinfo     application/x-texinfo
tif     image/tiff
tiff     image/tiff
tr     application/x-troff
tsv     text/tab-separated-values
txt     text/plain
ustar     application/x-ustar
vcd     application/x-cdlink
vrml     model/vrml
vxml     application/voicexml+xml
wav     audio/x-wav
wbmp     image/vnd.wap.wbmp
wbmxl     application/vnd.wap.wbxml
wml     text/vnd.wap.wml
wmlc     application/vnd.wap.wmlc
wmls     text/vnd.wap.wmlscript
wmlsc     application/vnd.wap.wmlscriptc
wrl     model/vrml
xbm     image/x-xbitmap
xht     application/xhtml+xml
xhtml     application/xhtml+xml
xls     application/vnd.ms-excel
xml     application/xml
xpm     image/x-xpixmap
xsl     application/xml
xslt     application/xslt+xml
xul     application/vnd.mozilla.xul+xml
xwd     image/x-xwindowdump
xyz     chemical/x-xyz
zip     application/zip

domingo, 30 de março de 2014

EPOC

É um dos sistemas operacionais para dispositivos móveis mais antigos que vamos tratar, desenvolvido pela Psion, sendo que os primeiros aparelhos lançados com o sistema operacional eram de 1989, é um sistema dedicado a PDAs.

Versões
EPOC16
Os dispositivos que usavam essa versão do sistema usavam processadores da família Intel 8086 de 16bits, os seus programas eram escritos em Assembly e C, a interface gráfica dessa versão era controlada por teclado, a Psion lançou vários dispositivos com o sistema como o MC200, MC400, Series 3a e Series 3c, os aparelhos são tão antigos que hoje ocupam lugar em museus de tecnologia.

Series 3a da Psion e visual do sistema EPOC16

EPOC32
A primeira vez em que o EPOC32 apareceu foi no modelo Series 5 da Psion em 1997, o 32 no nome do sistema indicava que ele era um sistema para processadores 32bits, essa versão do sistema usava uma base completamente nova, a interface usada por essa versão do sistema era chamada Eikon e dava possibilidade aos desenvolvedores de criarem suas próprias interfaces com base nos elementos da Eikon, esse sistema contava também com proteção de memória. Para evitar confusões com o nome EPOC16, o EPOC32 passou a ser chamado de Symbian OS e é chamado assim até hoje, sendo muito usado em celulares da Nokia, o Symbian OS também será tratado em nossa série de sistema operacionais móveis.
Series 5 MX PRO da Psion e visual do sistema EPOC32
 Brew MP
O Brew MP é um sistema pouco conhecido, desenvolvido pela Qualcomm e lançado em setembro de 2001, seu foco está em dispositivos de baixo custo, ele não tem a intenção de equipar smartphones de alto poder de processamento, para poder desenvolver para esse sistema é necessário ter conhecimento em linguagem de programação C ou C++. É difícil encontrar mais informações sobre o sistema pois ele não recebe muito destaque, infelizmente não consegui sequer encontrar em qual versão ele se encontra.
Existem vários modelos com esse sistema no mercado, a sua interface é adaptada de acordo com a necessidade do fabricante, um exemplo de aparelho que usa o sistema é o LG T385, que é um aparelho de baixo custo mais com vários recursos, ao procurar sobre o celular percebemos que o sistema nem recebe destaque, pois e o Brew MP é uma solução de baixo custo para as fabricantes.
Visual do Brew MP com interface modelada pela LG, modelo de celular LG T385
Ao fazer um trabalho para faculdade sobre o software de otimização GLPK percebi que a quantidade de conteúdo é pequena então, eu com a ajuda de meus colegas de faculdade Maurício Galdino e Vinícius Hastenreiter estamos disponibilizando o conteúdo de nosso artigo, esperamos que possa ajudar muitas pessoas.


1. INTRODUÇÃO
Para solucionar problemas de otimização é usado a programação linear que é um método eficiente de um algoritmo simplex. A programação linear é muito usada para solucionar problemas na área financeira e outros segmentos. Para solucionar problemas de programação linear são disponíveis várias ferramentas.
Uma destas ferramentas é o GLPK que é um software livre que faz parte do projeto GNU. O GLPK consiste em um pacote de softwares que possui várias funções escritas em ANSI C para a resolução de problemas. Duas aplicações são usadas, GLPSOL e TSPSOL. O GLPSOL é responsável por resolver problemas de programação inteira mista e programação linear, enquanto o TSPSOL resolve o problema do caixeiro viajante.
2. DEFINIÇÃO
O GLPK é um biblioteca open source desenvolvido em linguagem de programação C, sua sigla significa GNU Linear Programming Kit usado para solucionar problemas de otimização, como foi dito ele é uma biblioteca e não possui uma função main que é um programa principal, o seu código implementa o algoritmo simplex, ponto interior primitivo-dual, de ramificação e de ligação, bem como muitos outros algoritmos. No GLPK podemos usar o GUSEK como interface gráfica.
3. FUNCIONAMENTO
O GLPK é um software utilizado para resolver problemas de programação linear, programação inteira mista e problemas correlacionados, que utiliza a linguagem GNU MathProg modeling language, que tem funções escritas em ANSI C que auxilia na resolução dos problemas, com objetivo de fazer a modelagem. Suas principais informações para otimização do problema, são:
  • Função objetiva;
  • Restrições;
  • Informações de variáveis;
  • Limites;
  • Variáveis.
Com essas informações inseridas no programa, o GLPK executa um método simplex para resolução do problema. É um método simples que caminha pelos vértices a procura da melhor solução e para quando é encontrado uma solução vizinha com o valor menor, essa seria a solução ótima do problema. Em dois casos pode não existir a solução ótima, uma quando não se encontra uma solução viável para o problema, isso ocorre devido as restrições incompatíveis; ou quando não existe máximo ou mínimo, ou seja, uma ou mais variáveis tendem ao infinito e as restrições continuam sendo satisfeitas, fornecendo resultados com valores sem limites para a função objetiva (SOUZA, 2009).
A duas formas de se utilizar o GLPK, uma é como solver (aplicação glpsol) ou utilizando aplicativo em C (GUSEK) que é a forma mais simples, os dados são inseridos e ao compilar os resultados são mostrados numa janela, pois ele trabalha com as bibliotecas que o pacote oferece para resolver os problemas dinamicamente. A outra forma de se resolver o problema através do solver glpsol, os dados deve ser descrito em arquivo texto que é utilizado como entrada para a aplicação, é escrito na linguagem de modelagem GNU Math Prog, essa linguagem possui um conjunto de declarações e dados que são descritos no documento lang.pdf4 que acompanha o pacote. Depois o texto é traduzido de forma que as informações são lidas, logo os resultados são apresentados no console.
4. FORMATOS UTILIZADOS PELO GLPK
GLPK é muito utilizado, pois ele suporta vários formatos para entrada dos modelos a serem resolvidos preferencialmente deve ser escolhido os seguintes:
  • GNU (MathProg modeling language): (modelo descrito por meio da Linguagem Mathpro), Modelo tem o objetivo de resolvedor sendo invocado externamente (comando system). Isto é, uma das tarefas do seu programa será construir dados a partir das instancias fornecidas, sua função é escrita em ANSI C, que ajuda na modelagem do problema.
  • LP CPLEX LP File Format: é uma ferramenta para solucionar problemas de otimização linear, geralmente referidas como problemas de Programação Linear (LP). CPLEX LP, um formato orientado a linha que muitos usuários podem achar mais natural. A entrada interativa (usando o formato CPLEX LP) também é uma possibilidade para pequenos problemas.
Programa linear descrito no formato CPLEX LP. Neste caso, seu programa deverá gerar o arquivo LP a partir das instâncias e invocar externamente o resolvedor.
Componentes:
  • Função-objetivo.
  • Restrições.
  • Informações de variáveis.
  • Limites.
  • Variáveis inteiras genéricas.
  • Variáveis binárias.
Algumas Vantagens de usar CPLEX LP:

  • Padrão criado para uso com o resolvedor CPLEX;
  • Mais fácil e prático do que o formato MPS;
  • Aceito nos principais resolvedores modernos
  • Arquivos podem ser convertidos para MPS.
Outros formatos podem ser aceitos desde que o código correspondente esteja muito bem comentado, de modo a explicitar as variáveis e restrições do seu modelo.
5. EXEMPLO DE PROBLEMA DE PL
A Giapetto’s Woodcarving Inc. fabrica dois tipos de brinquedos de madeira: soldados e trens. Um soldado é vendido por $ 27 e utiliza $ 10 de matéria-prima. Cada soldado que é fabricado aumenta os custos de mão-de-obra e de despesas gerais variáveis do Giapetto em $ 14. Um trem é vendido por $ 21 e utiliza $ 9 de matéria-prima. Cada trem construído aumenta os custos de mão-de-obra e de despesas gerais variáveis do Giapetto em $ 10. A fabricação de soldados e trens de madeira requer dois tipos de mão-de-obra qualificada: carpintaria e acabamento. Um soldado requer 2 horas de mão-de-obra de acabamento e 1 hora de mão-de-obra de carpintaria. Um trem requer 1 horas de mão-de-obra de acabamento e 1 hora de mão-de-obra de carpintaria. A cada semana, o Giapetto pode obter toda a matéria-prima necessária, mas somente 100 horas de acabamento e 80 horas de carpintaria. A demanda para trens é ilimitada, mas no máximo 40 soldados são comprados a cada semana. O Giapetto deseja maximizar os lucros semanais (receita – custos).
Informações
  1. Dois tipos de brinquedos de madeira: soldados e trens.
  2. O soldado é vendido por $ 27, utiliza $ 10 de matéria-prima e aumenta os custos de mão-de-obra e despesas de $ 14.
  3. O trem é vendido por $ 21, utiliza $ 9 de matéria-prima e aumenta os custos de mão-de-obra e despesas em $ 10.
  4. Um soldado requer 2 horas de mão-de-obra e acabamento e 1 hora de mão-de-obra de carpintaria.
  5. Um trem requer 1 hora de mão-de-obra de acabamento e 1 hora de mão-de-obra de carpintaria.
  6. Só são permitidos 100 horas de acabamento e 80 horas de carpintaria estão disponíveis por semana.
  7. Por semana tem uma demanda ilimitada de trens e soldados no máximo 40 serão vendidos.
Objetivo
Encontrar o número máximo de soldados e trens para maximizar o lucro semanal.
Modelagem
Primeiramente devemos estabelecer as variáveis de decisão. Na loja do Giapetto a função objetivo é o lucro que é a quantidade de soldados e trens produzido por semana.
Variáveis de decisão
  • X1: Número de soldados produzidos por semana.
  • X2: Número de trens produzidos por semana.
A função objetivo deste problema é receita menos o custo para cada brinquedo, como a função X1 e X2.
  • Z = (27 – 10 - 14)x1 + (21 – 9 - 10)x2 = 3x1 + 2x2
Como os soldados e os trens requerem tempo de acabamento, os dois precisam ser levados em consideração. Vamos supor que 10 soldados e 20 trens foram contruidos. A quantidade de horas de acabamento necessárias seriam de 10 vezes 2 horas (para soldados) mais 20 vezes 1 hora (para trens) para um total de 40 horas de mão-de-obra de acabamento. A restrição geral em termos das variáveis de decisão é:
  • 2x1 + x2 ≤ 100
A restrição de horas de carpintaria é descoberta da mesma forma:
  • X1 + x2 ≤ 80
Restrição da demanda de soldados que poder haver no máximo 40 soldados produzidos por semana:
  • X1 ≤ 40
A demanda de trens é ilimitada e por isso nehuma restrição pode ser escrita. Por tanto o modelo está construido com as equações:
  • 2x1 + x2 ≤ 100 (restrição de acabamento);
  • max z = 3x1 + 2x2 ( objetivo da função);
  • X1 ≤ 40 (demanda de soldados);
  • X1 ≥ 0, x2 ≥ 0 (restrições);
  • x1 + x2 ≤ 80 (restrição de carpintaria).
5.1 UTILIZANDO O GLPK PARA SOLUCIONAR O MODELO
A fórmula matemática para solucionar o problema de Giapetto nessecita ser escrita com a linguagem MathProg do GNU. È necessário declarar:
  • As variáveis de decisão
  • A função objetivo
  • Os limitadores
  • O conjunto de dados do problema
A primeira etapa no MathPro é declarar as variáveis de decisão. As linhas 8 e 9 declaram x¹ e x². As variáveis de decisão começam com a palavra chave var. A cada sentença no MathProg do GNU deve terminar com um ponto e vírigula (;) Lembrando que x¹ são os números de soldados e x² o número de trens.
Na linha 12 é declarado a função de destino (objetivo). A função de objetivo z é denominada representando 3x¹ + 2x². Observe que:
  • O caractere (:) é usado para separar o nome da função de objetivo e sua definição.
  • O caractere (*) representa a multiplicação
As linhas 15,16 e 17 são os limitadores e são seguidos de s.t. que não é obrigatoriamente necessário mas ajuda na capacidade de leitura.Os três limitadores do código foram representados por : Acabamento, Carpintaria e Demanda.
A imagem abaixo ilustra o código para solucionar o Giapetto com MathProg.



Saída do glpsol
O relatório de solução estará em giapetto.sol com informações sobre o tempo e a memória que o GLPK consumiu. O relatório mostra que glpsol lê o modelo e em seguida chama a função de API do GLPK para gerar a função de objetivo e, em seguida, chama outra função de API para gerar os limitadores. Após o modelo ter sido gerado, o glpsol explica brevemente como o problema foi tratado internamente pelo GLPK. No final, há informações sobre a solução e os recursos utilizados pelo GLPK para soluciona-lo.
A imagem abaixo ilustra o relatório do glpsol.

Solução para o problema do Giapetto.sol

A solução e dividida em quatro partes:
  • Informações sobre o problema e o valor ideal da função de objetivo.
  • Informações precisas sobre o status da função de objetivo e sobre os limitadores.
  • Informações precisas sobre os valores ideais para as variáveis de decisão.
Para esta solução podemos ver que ela é OPTIMAL e que o lucro semanal é de no máximo $ 180.
O status da restrição de acabamento é nu (coluna st). NU significa que existe uma variável não-básica no limite superior para essa restrição.
A demanda de carpintaria e de soldados são semelhantes. Para a restrição de carpintaria é um limite superior. Portanto um atenuação de uma unidade nessa restrição faz com que o valor marginal 1 e torna-se 181.
6. CONCLUSÃO
A programação Linear possui vários softwares para modelar, construir e resolver problemas de Programação Linear, fazendo uso de linguagem de modelagem que possui funções que auxiliam na resolução dos problemas, com objetivo de fazer modelagem para chegar na solução testando as variáveis e as restrições até chegar numa solução ótima.

domingo, 23 de março de 2014

No computador de alguns usuários do Lubuntu 13.10 a tecla print screen não funciona, para resolver o problema abra o terminal como root, acesse sua pasta de usuário(por exemplo /home/romario/) e execute comando:
leafpad .config/openbox/lubuntu-rc.xml
Então pesquise por Print ou print no arquivo, então você encontrará:

<!-- Take a screenshot of the current window with scrot when Alt+ Print are pressed -->
<keybind key="A- Print ">
lxsession-default screenshot window

E

<!-- Launch scrot when Print is pressed -->
<keybind key=" Print ">
lxsession-default screenshot

No primeiro caso mude a linha de `lxsession-default screenshot window` para `scrot -u -b`, e no segundo caso mude a linha `lxsession-default screenshot` para `scrot'.
Salve o arquivo e deve funcionar agora, caso não funcione reinicie o sistema operacional.

segunda-feira, 10 de março de 2014

BlackBerry OS
É um sistema operacional móvel proprietário desenvolvido pela RIM, destinado a linha de smartphones BlackBerry da própria empresa, ele é adaptado de acordo com as necessidades de hardware dos dispositivos da empresa, como o uso de trackwheel, trackball, trackpad e touchscreen, o sistema é desenvolvido em C++ e oferece suporte para aplicações em Java, HTML5, Adobe Air, atualmente ele é capaz de rodar aplicações de Android.
Na ultima década a BlackBerry foi provavelmente a maior fabricante de smartphones e a detentora do sistema operacional mobile mais popular do mundo, mas com o aumento de popularidade do iPhone e Android ele foi perdendo espaço, um dos motivos foi a demora para implantar o uso do popular touchscreen em seus aparelhos, pesquisas dizem a utilização dos aparelhos equipados com BlackBerry OS hoje no EUA é de menos de 1%.
 Logo da BlackBerry

Versões
BlackBerry OS 1.0
A primeira versão do BlackBerry OS foi lançada em 1999, era apresentado em uma tela monocromatica, e oferecia funções de email, calendário, agenda e capacidade de exibir algumas paginas web, algo revolucionário para a época.
BlackBerry 580 e visual a versão 1.0 do BlackBerry OS

BlackBerry OS 2.0
Lançado em 2000 apresenta as mesmas funções da primeira versão e ainda trouxe alguns jogos.
 BlackBerry 957 e visual a versão 2.0 do BlackBerry OS

BlackBerry OS 3.0
Trouxe o suporte a aplicações escritas em Java.
  BlackBerry 5810 e visual a versão 3.0 do BlackBerry OS

 BlackBerry OS 4.x
Essa versão foi lançada em 2004 trazendo ao mercado os primeiros smartphones com tela colorida, com isso foram feitas várias melhorias no sistema principalmente na navegação de internet, outra novidade foi o aplicativo Gallery para ver fotos e um aplicativo para bate-papo, é o sistema da RIM com o maior suporte tendo as versões 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 e 4.7 que foi lançada em 2008. 
BlackBerry Curve 8300 e visual a versão 4.0 do BlackBerry OS
BlackBerry OS 5.0
 Com o BlackBerry OS 5.0 ela alcançou o seu auge, ele trouxe um visualizador de emial eficas, um visualizador de documento, sincronização de calendário com o PC, o sistema de mapas BlackBerry Maps e os primeiros smartphones com tela touchscreen.
 BlackBerry Torch 9860 e visual a versão 5.0 do BlackBerry OS

BlackBerry OS 6.0
Em 2012 com o crescimento do iPhone o BlackBerry OS apresentou várias melhorias relacionadas a redes sociais, como um navegador com uso de abas, um sistema de busca integrado ao SO, um sistema de notificações push para redes sociais e um app nativo para o YouTube.
 BlackBerry Torch 9800 e visual a versão 6.0 do BlackBerry OS

BlackBerry OS 7.0
 Lançado em 2011 a penúltima versão e a mais usada atualmente, trouxe algumas novidade como o compartilhamento de WiFi, rádio FM, NFC e atualização de apps nativos.
  BlackBerry Torch 9720 e visual a versão 7.0 do BlackBerry OS

BlackBerry OS 10.0
Lançado em 2013 com o grande desafio de tornar a empresa uma das mais populares novamente, e recuperar o espeço perdido no mercado, trouxe vários recursos bons e realmente tem tudo para trazer a empresa de volta, nele é possível ter vários perfis para cada momento do seu dia, o BlackBerry HUB para conectar várias redes sociais e provavelmente e função mais atraente de todas a compatibilidade com apps de Android.
BlackBerry Torch 9720 e visual a versão 7.0 do BlackBerry OS

Minhas conclusões
Os aparelhos da BlackBerry e consequentemente seu SO são ótimos, oferecem vários recursos interessantes por um preço justo, seus aparelhos com design limpo encantam, a falta de apps não é mais um problema graças a compatibilidade com apps do Android, mas uma coisa devemos levar em consideração, a BlackBerry vem apresentando prejuízos após prejuízos, está economizando ao máximo para não falir, já anunciou que não vai lançar um próxima versão do seu sistema se ela não se recuperar financeiramente mas continuará dando suporte para os usuários e as versões correntes, de certo modo é incrível como a BlackBerry ainda consegue se manter no mercado.

sexta-feira, 7 de março de 2014

Bada
Bada é um sistema operacional desenvolvido pela Samsung, focado em dispositivos móveis, foi criado em 2010 com a intenção de ser usado em aparelhos de baixo custo, para clientes que não estão dispostos a pagar muito por um smartphone. A própria Samsung diz que o Bada não é um sistema operacional e sim um plataforma de desenvolvimento configurável, ele é baseado no kernel do linux e usa códigos do FreeBSD, NetBSD e OpenBSD, aplicações nativas são desenvolvidas com o uso da linguagem C++ e o Bada SDK(ambiente de desenvolvimento), hoje já existem aplicações que permitem portar aplicações de Bada para Tizen.
Logo do sistema móvel Bada

Os aparelhos equipados com o sistema eram apenas da Samsung, e todos possuem o nome Wave, como por exemplo o Wave I.

Versões do Bada
Bada 1.0, 1.1 e 1.2
Foi a primeira versão do sistema Bada, o primeiro aparelho a vir com o sistema foi o S8500 Wave da própria Samsung, ao longo do tempo correções de bugs foram feitas.
Samsung S8500 Wave primeiro smartphone a usar o Bada

Bada 2.0
Lançado em 2011 a nova versão do sistema trouxe várias melhorias, como o suporte total ao HTML5, compatibilidade com o WAC, sistema multitarefa completo, Adobe Flash Lite 4, Dolphin Browser com gerenciador de downloads, leitura de texto automática, escrita de texto atravéz da voz, comandos de voz, notificações ao estilo push, NFC, novo gerenciador de câmera, nova interface do usuário, suporte a OpenAL e adição de novas aplicações.
Visual da versão 2.0 do Bada
Em 25 de fevereiro de 2013 a Samsung anunciou que irá descontinuar o Bada e focará no Tizen.
Inscreva-se no Feed RSS Follow me on Twitter!