Feb
01

Adobe, Flash Player, Apple, iPad, HTML5 – os Mitos

Regra geral, evito colocar posts de opinião pessoal. Mas desta vez, não consigo não dar a minha opinião.
O anúncio do iPad sem suporte para o Flash Player originou um movimento na blogosfera onde tenho lido de tudo um pouco. Circulam por aí tantos disparates, tantos mitos e pessoas de horizontes limitados, que desta vez não consigo ficar quietinho sem dar a minha opinião sobre o tema. Pior ainda, quando vi alguns comentários perfeitamente rídiculos de tugas de “renome” (que não vou específicar) em blogs, no facebook, twitter e outros.

É sabido que a minha vida roda em redor das RIAs na plataforma Flash, que sou Adobe Certified bla bla, Adobe Community bla bla, etc. Mas também tenho cabecinha para tentar olhar para o mundo de forma imparcial, e acima de tudo pragmática. Até porque, não esqueçamos, há uns anos eu era anti-Flash. E depois ganhei juízo, e aprendi que não se deve criar preconceitos sem conhecermos realmente aquilo de que falamos. E é consoante essa visão que faço este post.

Prólogo

Antes de mais, um pouco de background na coisa.  A Apple lançou este mês o iPad, um meio termo entre um iPhone e um netbook, que em teoria é um dispositivo que se diz por aí ser revolucionário. Porém, o iPad, tal como o iPhone, não traz – nem se prevê que venha a trazer – suporte ao Flash Player. Imediatamente, a blogosfera e o twitter, encheram-se de reacções, onde muitos ditos puristas dos standards, apple-fanboys, ou simplesmente anti-flashers, começaram a festejar o início da morte do Flash. A atitude da Apple é sem dúvida uma afronta à Adobe que vai mexer com a taxa de penetração e credibilidade do Flash Player. E no meio deste hype, li e reli centenas de vezes um conjunto de mitos que por aí circulam, que não me conseguiram deixar impávido e sereno.

Flash vs HTML

Em duas palavras: comparação ridícula. Alhos com bugalhos. Resume-se a:

  • HTML-> Documentos
  • Flash -> Estados.

Enquanto que o  primeiro (HTML), serve para definir estruturas de dados, o segundo serve para criar aplicações. São duas tecnologias distintas com propósitos distintos. E o problema surge quando um começa a entrar no território do outro: não faz sentido usar o Flash para fazer um blog da mesma forma que não faz sentido usar o HTML para fazer uma ferramenta de manipulação de imagem.

Ambas as tecnologias devem complementar-se.
Para os menos atentos, nós na Webfuel desenvolvemos RIAs na plataforma Flash para a banca (gestão de finanças pessoais) e investimentos (plataformas de trading). Fazêmo-lo usando as boas práticas de Engenharia importadas do mundo J2EE, e puxamos a plataforma ao seu limite (interfaces interactivos e animados, com multimédia, e paradigmas de usabilidade complexos). E fazêmo-lo desta forma porque é possível; porque a plataforma o permite. Perdoem-me os puristas, mas nunca seria possível actualmente fazermos o que fazemos – e como o fazemos – em HTML. Talvez daqui a… 5 anos. E aí o Flash já terá evoluido outros 5 anos…

“O Flash atrasa a minha navegação na net, faz o meu CPU disparar, e os banners irritam”

Verdade seja dita: banners são irritantes. Especialmente aqueles que aparecem sobre o conteúdo das páginas que queremos ver, não nos deixando clicar em nada até que o banner desapareça. Ou aqueles que fazem as ventoinhas do CPU disparar. Ou mesmo aqueles que crasham o browser. Mas a realidade é que tudo é um negócio, e os banners são a maior fonte de receita na internet. E os senhores do marketing ficam todos excitados com animações, sons, e interactividade, e lá surgem os banners em Flash por todo o lado. Colocando realmente a navegação mais irritante. E lenta. E problemática.
E se não existisse Flash (ou outro plugin com penetração semelhante)?
Seria tudo igual. Haveriam banners na mesma. Em Javascript, ou outra tecnologia. Igualmente irritantes, mas possivelmente igualmente (ou mais) pesados para o processador (a performance do Flash Player é superior à do Javascript ).
A culpa não é do Flash Player. Só se for culpado de ser o runtime com a maior taxa de penetração do mercado, e de ser tão fácil e rápido implementar algo impressionante na plataforma Flash.

HTML 5 vai matar o Flash

Há quem julgue que sim, mas Flash não é sinónimo de vídeo. O Flash serve para construir experiências multimédia e software. O HTML 5 não vem para substituir o Flash. Poderá, sim, (e provavelmente assim será) começar a substituir/ser alternativa ao Flash em muitos sites de vídeo (Youtube, etc). Mas mais uma vez, é comparar alhos com bugalhos. É dizer que, assim que o HTML 5 sair, será a plataforma preferencial para fazer aplicações de trading, com realtime data push, advanced charting, acesso à câmara e microfone, etc. Enfim. Nem é fácil comentar este mito, por ser completamente díspare da realidade. O HTML 5 será, na melhor das hipóteses, um substituto daquilo que foi o Flash Player 5. Para não deixar de referir que há sempre o risco das várias implementações de cada browser se tornarem na habitual dor de cabeça dos developers – algo que não existe no mundo da plataforma Flash.

O Flash Player encrava o MacOS…

… tal como o JAVA, o C++, ou mesmo o Javascript ou qualquer outra plataforma. Claro que é rídiculo comparar a estabilidade da Virtual Machine do Flash Player com a da JVM, mas é suficientemente robusta para suportar aplicações críticas de trading a fazer transacções de milhares de dólares diariamente. A acusação à estabilidade do Flash Player não se deve à tecnologia em si, mas sim aos maus developers que andam por aí. E, verdade seja dita, o mundo Flash está repleto deles. Developers que não sabem (nem querem saber) o que são boas práticas. Ou designers que decidiram aventurar-se pelo mundo do desenvolvimento. E aqui, a culpa do Flash Player é mais uma vez a sua alta taxa de penetração, e o facto de ser tão fácil fazer algo impressionante na plataforma Flash.
E depois entram as estatísticas. Se passarmos um dia em frente ao computador, abrimos o Word 4 ou 5 vezes, mas arrancamos o Flash Player umas 50 vezes – pelo menos. Cada SWF – banners, websites, RIAs, vídeos, etc – é uma aplicação diferente feita por pessoas diferentes (sejam bons ou maus developers). Não é preciso ser-se expert em estatística para terminar o raciocínio. A realidade é que diariamente me deparo com tanta coisa mal implementada na web que pessoalmente até fico admirado com a robustez do Flash Player.
Aqui na Webfuel somos pelo menos 6 pessoas a puxar diariamente o Flash Player aos limites, de onde pelo menos uma é adepta (quase fanática) da Apple. E a realidade é que o Flash Player se aguenta perfeitamente com as nossas experiências e produtos.
Ainda assim, admito que há margem de melhoria na robustez do Flash Player, talvez começando por distribuir melhor os recursos consumidos por cada SWF, impedindo que um SWF problemático possa afectar outro.

Falta ainda dizer que, verdade seja dita, o Flash Player não encrava nenhum sistema operativo. Encrava, sim, o browser. E nos melhores browsers encrava apenas o tab onde o SWF ranhoso encravou.

O Flash Player é demasiado lento para correr no iPhone. E no iPad.

A Apple acusa a Adobe do Flash Player consumir demasiados recursos, pelo que não o poderia colocar a correr no iPhone. Mas a realidade é que o Flash Player 10.1 – que foi especificamente optimizado para dispositivos móveis – corre em telemóveis com poder de processamento teoricamente inferior ao do iPhone. O que é suspeito.

No entanto, para piorar, o iPad também não suporta o Flash Player. Quer isto dizer que a Apple lançou um produto de $600 que não tem poder de processamento para o Flash Player?

Segundo a Adobe, ao contrário da Microsoft, a Apple nunca ajudou a Adobe a optimizar o Flash Player para o MacOS. Segundo a Apple, a Adobe é preguiçosa.

Conclusões

A minha preocupação é desenvolver produtos que façam sentido para o consumidor final. Produtos de software ubíquos, acessíveis de qualquer local, computador, sistema operativo, ou browser, com um único codebase, e com preocupações acrescidas ao nível do interface e interactividade. Rich Internet Applications. Este é o futuro, podermos aceder às nossas aplicações e dados a partir de qualquer local.
E estando a trabalhar para isso há alguns anos, a realidade é que me sinto ofendido de ser apanhado no meio de uma guerrazinha de egos (e de milhões de dólares) onde no fundo quem fica a perder somos todos nós – tanto developers como consumidores.

14 Comments

Make A Comment
  • a gravatar João Saleiro Said:

    Mais:

    http://chris.cfwebtools.com/index.cfm/2010/2/1/Apples-credibility-flashing-by

  • a gravatar Mario Santos Said:

    Ola João,

    Bem, antes de mais deixa-me dizer que o artigo esta mto bom e interessante porque finalmente ouvi algo de alguem conheceder a fundo da plataforma flash que foi imparcial na sua analise… Concordo com tudo, inclusive com as duas ridiculas historias que a apple e o html5 vao matar o flash… aiinda à pouco tempo era o silverlight e depois o iphone, enfim, mais um tema de conversa para muitas horas…

    Abraço.

  • a gravatar Mário Júnior Said:

    Clap! Clap! Clap! (palmas) Concordo que a Adobe pode (e deverá) melhorar muito o FP, mas – como dito no seu artigo – a culpa nem sempre é da tecnologia mas das más implementações (creationPolicy=All, por exemplo) feito pelos gambiarreiros de plantão! =D

    Parabéns pelo artigo, irei referenciá-lo.

  • a gravatar NeCkEr Said:

    “Mas também tenho cabecinha para tentar olhar para o mundo de forma imparcial, e acima de tudo pragmática.”

    Engraçado, alguem afirmar isto quando depois diz uma imparcialidade destas:

    Em duas palavras: comparação ridícula. Alhos com bugalhos. Resume-se a:

    * HTML-> Documentos
    * Flash -> Estados.

    Ainda nao deves ter Esperimentado o Google WAVE… só pode…

    Pá nao digo que o HTML5 + JavaScript vai substituir o flash ou algo do genero, ah espaço para os dois mercados, mas uma verdade indiscutivel é que vez muito site em flash (grande parte) que é desperdicio de técnologia com HTML5 + Javascript actualmente fazes o mesmo com menos de metade dos recursos…mas é como em tudo pode-se usar bem e mal.

    já agora fica aqui mais um exemplo de HTML e JavaScript que ganhou um FWA (e sim usa flash para Video)
    http://www.momkai.com/

    e mais um pequeno experiment de html5…
    http://9elements.com/io/projects/html5/canvas/

    Para finalisar… acho que este post foi tudo menos imparcial.

  • a gravatar João Saleiro Said:

    Bruno,

    quando escrevi o post já estava à espera das opiniões contrárias. A realidade é que há anos que ando nisto, e apesar de não ser proficiente em Javascript (já o fui em tempos), conheço o suficiente das tecnologias que refiro para sentir que estou a fazer comparações justas. É óbvio que conheço o Google Wave, o Google Docs, ou mesmo as utilizações exemplares de javascript que o próprio Facebook faz. Mas isso não invalida o que eu disse: a web, tal como foi originalmente pensada, é baseada em páginas. Em documentos interligados entre si. As evoluções que os standards sofreram fizeram com que hoje seja possível manipular esses documentos do lado do cliente. A plataforma Flash sempre foi, por outro lado, virada para o conceito de estado, e direccionada ao desenvolvimento multimédia, possuindo portanto paradigmas diferentes de desenvolvimento. Infelizmente, a realidade é que ainda não consegues fazer com HTML o mesmo que fazes com Flash, por muitos giros que sejam os exemplos que mostrem por aí.

    Dizeres que com javascript fazes tudos com menos de metade dos recursos é uma falácia (a não ser que, por recursos, não estejas a falar de processador e memória), porque na realidade os recursos consumidos pelo javascript na maioria dos browsers continuam a ser superiores aos recursos consumidos pelo Flash Player.

    Se achas que o post foi imparcial, por favor fundamenta a tua afirmação porque gostaria (mesmo) de saber onde discordamos, e o que é que “eu não estou a ver”.

  • a gravatar semmais Said:

    Html5, css3 e js tudo junto é espectacular e um sinónimo directo de progresso da web não vêm matar ninguém nem nada, pelo contrário, só vêm nos dizer que estamos a dar mais um passo para a frente. É uma alegria podermos usar um player de vídeo sem ter que recorrer a um plugin, quem fala em vídeo fala nas outras funcionalidades como audio, canvas, guardar 5 megas de dados offline, geolocation e etc, … mas espera… pára o baile e vamos pensar:
    Nisto tudo ninguém reparou que se não fossem os plugins estaríamos a ver agora por primeira vez vídeos num browser, que a experiência multimédia que hoje temos online estaria nos primeiros passos. Teriamos perdido anos!
    É verdade que existiu muito mau uso dos plugins, e entre ele está o flash player, eu próprio me entusiasmei e tive as minhas contribuições menos boas :) .
    Não me parece que criar um sistema fechado, num momento que a tendência das aplicações é estarem on-line, que este sistema vá contribuir para o aperfeiçoamento do que hoje conhecemos. Estaremos dispostos esperar até 2020 para ver mais um passo? Será que como o steve está a fazer, irradicarmos os plugins vai realmente contribuir para uma melhor internet a curto,médio e longo prazo?
    A minha opinão é que não, os plugins existirem é bom e a opção final deve ser do utilizador e o correcto será “só instala quem quer” ao contrário do que muitos defendem “não instalas porque eu não quero”. (pelo que tenho lido é o caso do esteves dos empregos é um deles, mais conhecido por steve jobs.. não resisti á tradução directa lol )

    Embora estejamos a falar de coisas diferentes a verdade é que o o html5 traz algumas funcionalidade só permitidas até á data por plugins e portanto por vezes recorre-se a comparações. Desenganem-se aqueles que pensam que vão ter experiências ricas em multimédia, com um processador a nunca passar os 30%. O processador existe e é para ser usado, determinadas aplicações precisam intensamente dele. Se queremos ter um jogo em 3D, ser audazes numa animação, dar um passo para o desconhecido e para isso é preciso sacrificar um processador, paciência, é por estas pseudo-necessidades que existe uma bola de neve entre hardware e software, melhor hardware puxa por melhor software que por sua vez puxa por melhor hardware e rola a dita bola de neve… Isto é válido para flash, js+html5 ou para qualquer outra forma de produção. Infelizmente tenho que vos uma má noticia: vão a curto espaço de tempo ver aplicações em html5 a “matar” processadores e a causar loops infinitos que cracham os browsers.
    Este crases não são propositados, existe muito teste para que eles não aconteçam (pelo menos quero acreditar que sim), mas alguns factores contribuem para que eles aconteçam como a complexidade dos projectos, os tempos diminutos para manter competitividade neste mundo cruel, falta de optimização, falhas e mais umas lista delas que são o desafio de qualquer programador…
    Se o flash ainda é mais rápido que o js, acho que este problema pode-se agravar.

    A publicidade, os banners, bem esses felizmente vão ter que ser feitos em html5+javascript para que todos os possam ver, eles são pagos e os clientes querem um retorno, portanto não os vão querer ver a necessitarem de um plugin que nem toda a gente vai ter instalado ou então que possa ser facilmente cancelado por um addon do firefox ..

    Já estava aqui entretido e escrevia o resto da noite mas como não sou, nem pretendo ser, um evangelista, como tenho outras coisas para fazer fico-me por aqui. Sejam críticos, mostrem a vossa opinião mas fundamentem o porque.. deixem o “porque não” e sejam educados porque somos todos amigos :) .

    ps: desculpem os erros
    ps2: bom post Saleiro

  • a gravatar Joao goncalves Said:

    Excelente POST João, já dei a minha opinião na mailing list, concordo contigo completamente.

  • a gravatar Caio Fossá Said:

    Caro, João, excelente post, concordo com tudo o que você falou.

    Acho que o html+javascript as vezes se aproxima do flash, mas sem dúvida o tempo de desenvolvimento, depuração, incompatibilidades com diferentes navegadores, etc, os tornam incomparaveis ao flash.

    Em um outro site, li que o Steve Jobs disse que o flash era buggy, mas mais buggy do que o quicktime player em uma máquina windows impossível.

    Acredito ainda que a Apple não vai acabar cedendo a Adobe, fato que depois do Flex, a comunidade Flash Plataform tem aumentado muito.

    E pra finalizar, se o site monkai fosse feito em flash, seria extremamente mais rápido e com certeza mais simples de se desenvolver. Mas devem ter feito ele para o iphone !! rsrsrs

    Grande abraço.

  • a gravatar João Saleiro Said:

    O Paulo Moreira colocou na mailing list este link que é um dos melhores posts que li sobre o tópico:

    http://richardleggett.co.uk/blog/index.php/2010/02/01/the-world-is-moving-to-html5

  • a gravatar O Flash vai perder seus poderes? | Lápis Raro Said:

    [...] http://www.riapt.org/2010/02/01/adobe-flash-player-apple-ipad-html5-os-mitos/ [...]

  • a gravatar André AV Venâncio Said:

    gostei!

  • a gravatar JoaoRobalo Said:

    Excelente artigo. Finalmente alguém que argumenta de forma sustentada as potencialidades da plataforma flash sem entrar em fanatismos. De facto, comparar o flash com html é comparar um Aston Martin com um Renault 5. A meu vêr, o flash é perfeito para determinados objectivos e o binómio html + js para outros. Concordo que a má imagem que alguns têm do flash provem de animações inúteis que por aí andam e só dificultam a utilização de algumas aplicações. Nada mais irritante que ter de ultrapassar uma animação ou esparar pelo fim de um filme para obter uma informação básica. É como ter de passar pela Rua Sésamo quando só queremos chegar à farmácia…
    A culpa nunca pode ser da ferramenta, é sempre do carpinteiro.
    O HTML5 há-de ser um espectáculo mas para já, não é grande coisa. Basta ver uma das demos mais puxadas que por aí andam, aí sim a ventoinha dispara e o processador chega a ganir. É esperar para ver. Por enquanto não serve para nada, sabendo que multinacionais, bancos e organizações estatais continuam a usar o IE6, e antes de utilizarem o 8 ainda vão passar pelo 7 durante uns anos (estão agora a testar). Infelizmente, é assim a vida.

  • a gravatar Ricardo Ventura Said:

    Talvez isto ajude a esclarecer o ponto da situação..

    http://www.apple.com/hotnews/thoughts-on-flash/

  • a gravatar Bruce Said:

    Html5, css3 e js tudo junto é espectacular e um sinónimo directo de progresso da web não vêm matar ninguém nem nada, pelo contrário, só vêm nos dizer que estamos a dar mais um passo para a frente. É uma alegria podermos usar um player de vídeo sem ter que recorrer a um plugin, quem fala em vídeo fala nas outras funcionalidades como audio, canvas, guardar 5 megas de dados offline, geolocation e etc, … mas espera… pára o baile e vamos pensar:
    Nisto tudo ninguém reparou que se não fossem os plugins estaríamos a ver agora por primeira vez vídeos num browser, que a experiência multimédia que hoje temos online estaria nos primeiros passos. Teriamos perdido anos!
    É verdade que existiu muito mau uso dos plugins, e entre ele está o flash player, eu próprio me entusiasmei e tive as minhas contribuições menos boas :) .
    Não me parece que criar um sistema fechado, num momento que a tendência das aplicações é estarem on-line, que este sistema vá contribuir para o aperfeiçoamento do que hoje conhecemos. Estaremos dispostos esperar até 2020 para ver mais um passo? Será que como o steve está a fazer, irradicarmos os plugins vai realmente contribuir para uma melhor internet a curto,médio e longo prazo?
    A minha opinão é que não, os plugins existirem é bom e a opção final deve ser do utilizador e o correcto será “só instala quem quer” ao contrário do que muitos defendem “não instalas porque eu não quero”. (pelo que tenho lido é o caso do esteves dos empregos é um deles, mais conhecido por steve jobs.. não resisti á tradução directa lol )

    Embora estejamos a falar de coisas diferentes a verdade é que o o html5 traz algumas funcionalidade só permitidas até á data por plugins e portanto por vezes recorre-se a comparações. Desenganem-se aqueles que pensam que vão ter experiências ricas em multimédia, com um processador a nunca passar os 30%. O processador existe e é para ser usado, determinadas aplicações precisam intensamente dele. Se queremos ter um jogo em 3D, ser audazes numa animação, dar um passo para o desconhecido e para isso é preciso sacrificar um processador, paciência, é por estas pseudo-necessidades que existe uma bola de neve entre hardware e software, melhor hardware puxa por melhor software que por sua vez puxa por melhor hardware e rola a dita bola de neve… Isto é válido para flash, js+html5 ou para qualquer outra forma de produção. Infelizmente tenho que vos uma má noticia: vão a curto espaço de tempo ver aplicações em html5 a “matar” processadores e a causar loops infinitos que cracham os browsers.
    Este crases não são propositados, existe muito teste para que eles não aconteçam (pelo menos quero acreditar que sim), mas alguns factores contribuem para que eles aconteçam como a complexidade dos projectos, os tempos diminutos para manter competitividade neste mundo cruel, falta de optimização, falhas e mais umas lista delas que são o desafio de qualquer programador…
    Se o flash ainda é mais rápido que o js, acho que este problema pode-se agravar.

    A publicidade, os banners, bem esses felizmente vão ter que ser feitos em html5+javascript para que todos os possam ver, eles são pagos e os clientes querem um retorno, portanto não os vão querer ver a necessitarem de um plugin que nem toda a gente vai ter instalado ou então que possa ser facilmente cancelado por um addon do firefox ..

    Já estava aqui entretido e escrevia o resto da noite mas como não sou, nem pretendo ser, um evangelista, como tenho outras coisas para fazer fico-me por aqui. Sejam críticos, mostrem a vossa opinião mas fundamentem o porque.. deixem o “porque não” e sejam educados porque somos todos amigos :) .

    ps: desculpem os erros
    ps2: bom post Saleiro

Comments RSS Feed   TrackBack URL

Leave a comment

advair Yasmin Lee Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Hydrocodone Bitartrate

doxycycline side effects?

buy anabolic steroids Spiriva letrozole, georgia accutane lawyers! Pepcid georgia accutane lawyers! side effects of prednisolone Lamivudine drugs and alcohol diovan hct Ephedrine In Mexico buy steroids
asacol side effects
Didrex No Prescription Needed Alcohol addiction recovery buy testosterone 788. dallas sleep dentist Voltaren Diclofenac sleep dentistry san francisco "cefuroxime" Side Effects Of Steroids sleep inn dogs and aspirin British Dragon Steroids floxin sleep medications Dangers Of Vicodin buy vicodin in mexico american academy of sleep medicine

Alcohol Withdrawl

sleep learning Alcohol fact sheet natural testosterone supplements 379. Suprax yellow bullet ephedra review? avandia, Olanzapine subutex buy codeine Dutasteride carvedilol buy fioricet Lactase oxycontin withdrawal affects of alcohol Ultram Er lamictal withdrawal dogs and aspirin Phendimetrazine No Prescription history of alcohol! "oxycontin abuse" Buy British Dragon Steroids orlistat side effects alcohol detox program Bontril Sr metformin hcl drug and alcohol abuse Augmentin imitrex vasotec Baclofen Side Effects Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Buy Phendimetrazine doxycycline side effects? "lysodren" Buy Ritalin Online letrozole, georgia accutane lawyers! Oxycontin Addiction georgia accutane lawyers! side effects of prednisolone Zyprexa Side Effects drugs and alcohol ultram er Celebrex Dosage

buy steroids

miles to go before i sleep Lovastatin Alcohol addiction recovery buy testosterone 788. teens and alcohol 2008 Hyundai Sonata sleep dentistry san francisco "cefuroxime" Alcohol 1.9.5 Crack sleep inn dogs and aspirin Crestor Side Effects floxin diclofenac voltaren intestine, Darvocet buy vicodin in mexico american academy of sleep medicine Periactin sleep learning ponstel!

Sleep Apnea Alternative To Cpap

yellow bullet ephedra review? metformin; Tretinoin Cream
subutex
zelnorm recall Pravachol carvedilol buy fioricet Toddler Wont Sleep oxycontin withdrawal affects of alcohol Nexium Rebate lamictal withdrawal dogs and aspirin Zyrtec history of alcohol! "oxycontin abuse" Lexapro Antidepressant orlistat side effects alcohol detox program Alcohol Abuse Effects metformin hcl drug and alcohol abuse Topamax Weight Loss imitrex alcohol calories Alcohol 120 Download Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Topamax And Weight Loss doxycycline side effects? "lysodren" Buprenorphine letrozole, georgia accutane lawyers! Coreg Cr georgia accutane lawyers! side effects of prednisolone Micardis drugs and alcohol

ultram er

Side Effects Of Celebrex buy steroids
miles to go before i sleep
Diclofenac Sodium Alcohol addiction recovery buy testosterone 788. dallas sleep dentist Fioricet Addiction sleep dentistry san francisco "cefuroxime" Sleep Country sleep inn dogs and aspirin Hydroxyzine Hcl floxin sleep medications Natural Testosterone buy vicodin in mexico american academy of sleep medicine

Cause Of Low Testosterone

sleep learning Alcohol fact sheet natural testosterone supplements 379. Facts About Alcohol yellow bullet ephedra review? avandia, Allegra De Vita subutex buy codeine Colorado Botox carvedilol buy fioricet Generic Percocet oxycontin withdrawal side effects of topamax Diovan Hct Side Effects lamictal withdrawal dogs and aspirin Zyvox history of alcohol! "oxycontin abuse" Rivotril orlistat side effects alcohol detox program Diovan Hct metformin hcl drug and alcohol abuse Alcohol Prohibition imitrex alcohol calories Alcohol Facts Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Ephedra P57 doxycycline side effects? "lysodren" Cheapest Sildenafil Citrate letrozole, georgia accutane law suits, Everclear Alcohol georgia accutane lawyers! generic oxycontin Cefadroxil drugs and alcohol ultram er Snorting Hydrocodone buy steroids asacol side effects Arimidex
Alcohol addiction recovery buy testosterone 788.
dallas sleep dentist Aygestin sleep dentistry san francisco "cefuroxime" Blood Alcohol Content sleep inn dogs and aspirin Synthroid floxin diclofenac voltaren intestine, Xenical Scam buy vicodin in mexico american academy of sleep medicine Stages Of Copd sleep learning ponstel! Sleep Sound Machine yellow bullet ephedra review?
avandia,
Eternal Sonata subutex zelnorm recall Cardizem carvedilol order vicodin Symptoms Of Sleep Apnea oxycontin withdrawal affects of alcohol Mobic lamictal withdrawal dogs and aspirin Ephedra Products history of alcohol! "oxycontin abuse" Fioricet Overnight orlistat side effects alcohol detox program Kingdom Hearts Birth By Sleep metformin hcl drug and alcohol abuse Percocet 512 imitrex alcohol calories Fetal Alcohol Syndrom Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Alcohol Drink Recipes doxycycline side effects? "lysodren" Sleep Fuck letrozole, georgia accutane law suits, Zoloft Side Effects
georgia accutane lawyers!
bd steroids; Alcohol Awareness drugs and alcohol diovan hct Cant Sleep

buy steroids

miles to go before i sleep Levoxyl
Alcohol addiction recovery buy testosterone 788.
dallas sleep dentist Anafranil sleep dentistry san francisco "cefuroxime" Mexican Steroids sleep inn dogs and aspirin Arimidex Side Effects floxin diclofenac voltaren intestine, Sleep Ez buy vicodin in mexico american academy of sleep medicine Easy Way To Buy Hydrocodone Online sleep learning ponstel! Sleep Walking yellow bullet ephedra review? avandia, Computer Sleep subutex buy codeine Doxycycline Hyclate carvedilol buy fioricet Atenolol Side Effects oxycontin withdrawal affects of alcohol Boulder Botox lamictal withdrawal dogs and aspirin Buy Ephedra history of alcohol! "oxycontin abuse" Buy Steroids orlistat side effects alcohol detox program Flomax Side Effects metformin hcl drug and alcohol abuse Lipitor imitrex vasotec Normal Testosterone Levels Combivent inhaler phendimetrazine diet pills 758. amitriptyline side effects Lortab Without Prescription doxycycline side effects? "lysodren" Hydroxyzine Pam letrozole, georgia accutane lawyers! Lotensin georgia accutane lawyers! side effects of prednisolone Fetal Alcohol Syndrome drugs and alcohol ultram er Effects Of Steroids buy steroids asacol side effects Xenical Alcohol addiction recovery buy testosterone 788. teens and alcohol Fosamax For Children sleep dentistry san francisco "cefuroxime"
Georgia Oxycontin Lawyers sleep inn lactase Effexor And Alcohol floxin diclofenac voltaren intestine, Symptoms Vicodin Addiction buy vicodin in mexico american academy of sleep medicine Effects Of Alcohol On The Brain sleep learning

ponstel!

Dilantin Overdose yellow bullet ephedra review? metformin; Didrex Online subutex buy codeine Ezetimibe carvedilol buy fioricet Quetiapine oxycontin withdrawal affects of alcohol Low Testosterone Levels lamictal withdrawal dogs and aspirin Bupropion Sr history of alcohol! "oxycontin abuse" Sleep Inn Hotels orlistat side effects alcohol detox program Generic Prilosec metformin hcl drug and alcohol abuse Effexor Xr Side Effects imitrex alcohol calories Yasmin Birth Control Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Glipizide doxycycline side effects? "lysodren" Copd Stages letrozole, georgia accutane lawyers! Metoprolol Tartrate georgia accutane lawyers! side effects of prednisolone Isopropyl Alcohol Msds drugs and alcohol ultram er Glucotrol buy steroids asacol side effects Side Effects Of Zelnorm
Alcohol addiction recovery buy testosterone 788.
dallas sleep dentist Acid Folic Women sleep dentistry san francisco "cefuroxime" Botox Side Effects sleep inn dogs and aspirin Flomax floxin diclofenac voltaren intestine, Heparin buy vicodin in mexico american academy of sleep medicine Botox Chicago sleep learning ponstel! Natural Sleep Aid yellow bullet ephedra review?
avandia,
Phendimetrazine Diet Pills subutex zelnorm recall Risperidone carvedilol buy fioricet Lantus Solostar oxycontin withdrawal side effects of topamax Fort Worth Sleep Dentistry lamictal withdrawal dogs and aspirin Griseofulvin history of alcohol! alcohol problems? Alcohol Poisoning orlistat side effects alcohol detox program Motrin metformin hcl drug and alcohol abuse Sleep Remedies imitrex alcohol calories Ciprofloxacin Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Advair doxycycline side effects? "lysodren" Plavix Side Effects letrozole, georgia accutane lawyers! Low Testosterone Symptoms georgia accutane lawyers! generic oxycontin Yasmin Taylor drugs and alcohol
top