Uncategorized

Pritrūko vietos? Trinkit Adobe Media Cache failus

0

Šiandien diskas C man pareiškė “low disk space”. Keista, nieko ypatingo nedariau… Praėjau sisteminį “Disk CleanUp”, padėjo nežymiai… Užėjau į “C:\Users\%UserName%\AppData\Roaming\Adobe\Common\Media Cache Files” ir OMG – per metus CS5 man prirašė 75 GB laikinų failų… Juos galima saugiai trinti ir nieko baisaus neatsitiks. Patariu ir kitiems ten žvilgtelėti:)

Naujos eros mitai

0

Kuo žmonės mažiau žino, tuo labiau TIKI ir BIJO. Kartais gandai, aklas kažko neišmanymas gimdo mitus.

1 mitas – Google AdWords skaito jūsų laiškus.

Šiandien pasistebėjau vienu straipsniu, rastu kažkur užsienio internetinėje žiniasklaidoje. Žmogus dėsto savo pamąstymus apie tai, kodėl mes atseit leidžiame Googl’ui tiek daug: vieną gražią dieną jis atidaro gmail pašto dežutę ir mato “intuityvę” reklamą. Sako, Google’as toks negeras, serveris automatiškai skanuoja jo laiškų turinį, išrenka raktažodžius ir pagal juos rodo reklama. Nesaugu. Ir negražu skaityti “svetimus” laiškus, o gal automatiškai dar kažkokia informaciją renka?

Žmonės jau pradeda rašyt apie tai ko neišmano. Nors, manau, jis pats galvoja kad žino pakankamai ir laiko save protingu, nes jam kyla mintys apie informacijos saugumą. Kažkokia paranoja. Googlas kaip Dievas, atsimena kiekvieną tavo žodį ir visur tave mato. O gal antras Chakas Norisas?

Visų pirmą tas žmogus neteisus. Kad parodyt reklamą, atitinkančią laiško informacijos tūrinį, jokie Jūsų privatūs meilės prisipažinimai kaimyno žmonai nėra siunčiami į google serverius. Informacija analizuojama jūsų naršyklėje. Javascript’as skanuoja atvaizduojamos svetainės ar jos dalių turinį ir jau pagal rezultatus užklausia google reklamos serverį parodyti tam tikrą skelbimą.
Kita vertus, turinys visgi yra analizuojamas, tik kitoje stadijoje – kai laiškai tikrinami spam filtro. Tai tikrai daroma google serveriuose. Bet turbūt būtų kvailą priekaištaut, ar ne?:)
Na o jau visai bendrai žiūrint – visų pirmą gmail laiškai tai duomenys, kurie guli ne pas jus, o google saugyklose ir jei nori visiško saugumo, tegu kaimyno žmona pati užeina pas tave. Nepamirškit užtraukt užuolaidų.

2 mitas – Skype saugo visus pokalbius

Ne, ne audio įrašus. Tai tikrai būtų net per daug ambicinga pagalvot, kokių pajėgumų prireiktų tokiam duomenų kiekiui laikyti.
Mitas sako jog Skype saugo serveryje susirašinėjimų chat’e istoriją. Žmogus, kuris tai vienam lietuviškam forume nuoširdžiai tvirtina, grindžia sekančiu pavyzdžiu:
Naujas švariai suinstaliuotas kompas. Jis įdeda Skype, parašo kam nors ir lange po mažu atsiranda senoji susirašinėjimo su tuo žmogumi istorija.
Žmogaus logika – jis aiškina, kad viską, ką mes rašom yra saugoma Skype serveriuose. Ir jis tuo tiki nepaisant bandymų paaiškinti jam kad taip nėra. Kaip gi gali atsirasti mano senoji istorija, jei įdėjau Skype į visiškai naują kompą? Na gi labai paprastai, iš to žmogaus su kuriuo kalbi!!! Jis gi netryne savo log’ų. O ten saugoma ne vien ką pats rašai juk, o ka rašo ir tau. Visiškai akivaizdus dalykas, atrodytų, bet ne visiem..

Kuriame “teisingus” flash banerius

2

Daugelis kurdami Flash banerius atsainiai žiūri į kai kuriuos dalykus, kurie gali stipriai sumažinti reklaminio skydelio naudingumą paprasčiausiai dėl to, kad vartotojas negalės paspausti jame esančią nuorodą. Keli pamąstymai ir pastebėjimai, kaip to išvengti:

AS2 vietoj AS3

Visų pirmą reklaminį skydelį taisyklingiau būtų kurti AS2 versijai o ne AS3. Kodėl? Eksportuojant flash failą AS3 versijai Internet Explorer naršyklėje (nuo IE7) paspaudus baneryje esančią nuorodą, bus iškviestas pop-up blocker’io pranešimas:

Savaime aišku didelė dalis vartotojų nesivargins spausti dar kelis kartus (o kartais ir nemokės to padaryti) kad pereiti prie nuorodos. Šis apsauginis pranešimas atsiranda, jei swf failas įterpiamas į HTML su bet kokiu kitu wmode parametru, nei “window” bei nuoroda atidaroma naujame lange (_blank).

Reikia turėti omenyje, kad dažniausiai baneriai nusiunčiami didžiosioms interneto reklamos kompanijoms, administruojančioms milžinišką kiekį reklamos plotų (pvz www.adclick.lt). Portalų savininkai įdeda jų unifikuotą kodą į savo svetainės ir neturi jokio priėjimo prie flash parametrų kaip wmode, allowScriptAccess ar grotuvo versijos patikrinimo.

Kaip apeiti blocker’į? Oficialiai niekaip. Bet yra “workaround”.

Didieji advertiser’iai kaip adocean.pl HTML kode naudoja window mode “opaque”. Jų klientams tai be abejo teisingas sprendimas, nes tai leidžia lengvai pozicionuoti flash elementą puslapyje, jis daugiau nebėra rodomas virš visų kitų elementų (z-index) ir neišdarko svetainių dizaino. Taigi wmode “window” nėra įšeitis, nes šio parametro savo kode jie tikrai nekeis. Tikrinti naršyklės versiją ir nuorodai naudoti ExternalInterface nevisada pavyks, nes dažnai baneris rodomas iframe’e, kur paprasčiausiai nesuveiks javascript’inis naujo lango iškvietimas. Vis gi šioks toks būdas apeiti blocker’į yra: įkrauti AS2 swf klipą su button’u į mūsų AS3 banerį dinamiškai. Kaip tai padaryti žr. žemiau. Tai neduos 100% tikimybės, nes nevisi reklamos platintojai pagal savo Security Policy leidžia įkrovinėti į banerius ką nors iš išorės.

Export for Flash 8

Pagal šiuo metu (2010 metais) esančią Flash grotuvų versijų internete paplitimo statistiką 8 grotuvo versija yra plačiausiai paplitusi, tuo labiau jei mes darom as2 kalbos failą, lieka labai mažai priežasčių kodėl turėtume eksportuoti klipą aukštesnei versijai. Flash 8 palaiko net kai kurios mobiliųjų telefonų naršyklės ir kiti prietaisai (dauguma jų palaiko ir flash 9, bet žymiai rečiau 10).

Tačiau NEreikia saugoti failo žemesnei nei 8 versijai. Kodėl? Vėl gi dėl pop-up blokavimo. 5, 6 ir 7 swf versijose getURL funkcija iššaukia perspėjimą apie nuorodą kai kuriuose naršyklėse (dėl pasikeitusio adobe security modelio).

Local Playback Security: Access Network Only

Ir vėl prisimename Internet Explorerį, kuris kartais rodo perspėjimą, kai spaudžiama swf failo, publikuoto su “Access local files only” nustatymu, nuoroda. Kadangi mūsų baneris visada bus tik tinkle ir jokių lokalių failų nekraus, laisvai galime jį saugoti su Network Only nustatymu (File -> Publish Settings -> Flash)

FPS 20-40

Flash programos versijose iki CS4 frames per second (FPS) arba kitaip swf klipo grojimo greitis buvo nustatytas pagal nutylėjimą 12 kadrų per sekundę. Be abejo tai mažai, matosi kadrų trūkčiojimas. Optimalus greitis 24-25 fps. Jeigu to nepakanka, galima jį didinti. Bet pagailėkit vartotojų procesorius, nekurkit banerių grojančių 100 kadrų per sekundę. Keletas tokių šedevrų gali net “pakabinti” naršyklės langą.

clickTag

Tai kintamoji, kuri perduoda nuorodos adresą iš HTML į flash’ą. Bet vienos sistemos naudoja clickTAG, kitos clickTag, dar kitos ClickTAG ir pan. Nuo Flash 8 versijos didžiosios ir mažosios kintamųjų raidės turi reikšmės. Unifikuotas clicktag kodas atrodytų taip:

as2:

function getClickTag() {
    for (key in this)
        if (key.toLowerCase()=="clicktag" && (this[key].substr(0,5)=="http:"||this[key].substr(0,6)=="https:"))
            return this[key];
    return "http://www.weaxdesign.com";
}
button.onRelease = function() {
    getURL(getClickTag(), "_blank");
}

kur button būtų mūsų Button tipo klipas nuorodai. Ją reikėtų įrašyti pirmajame freime pagrindiniame (_root) lygyje. Šį funkcija tikrina visus cLicKtaG rašymo variantus. O jei neranda clickTag reikšmės, naudoja vidinę nuorodą pagal nutylėjimą. Taip pat tikrina ar url prasideda http (ar https) protokolu, kaip siūlo Adobe, kadangi teoriškai įmanoma įterpti kenkėjišką javascript kodą vietoj nuorodos.

as3:

Padarome tuščią AS2 klipą, sakykim 1024×1024 px, kad užtikrintai uždengtų betkokio dydžio banerio plotą. Jį mes įkrovinėsim į AS3 banerį ir perdavinėsim clickTag’ą jau į AS2. Kad nekiltų jokių nesklandumų, perduodamai clickTag nuorodai padarysim escape() ir šiek tiek ją užkoduosim, kad neprarastų jokių simbolių.

AS3 banerio skriptas atrodo šitaip:

function getClickTag():String {
    for (var key:String in root.loaderInfo.parameters)
        if(key.toLowerCase()=="clicktag" && (root.loaderInfo.parameters[key].substr(0,5)=="http:"||root.loaderInfo.parameters[key].substr(0,6)=="https:"))
            return root.loaderInfo.parameters[key];
    return "http://www.weaxdesign.com";
}
var escapedURL:String = escape(getClickTag());

var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("http://www.weaxdesign.com/files/as2button.swf?clickTag="+escapedURL);
mLoader.load(mRequest);
addChild(mLoader);

AS2 klipe sukuriame permatomą mygtuką, uždedame ant jo aukščiau aprašytą skriptą AS2 mygtukams, bet su nedideliu pakeitimu, kadangi turime atkoduoti nuoroda:

getURL(StringUtil.unescape(getClickTag()), "_blank");

Deja escape() AS2 kalboje veikia kitaip nei AS3, todėl panaudojau StringUtil klasę, kad unescape’int mūsų tekstą su AS2 teisingai.

Imam failą StringUtil.as ir dedame jį šalia AS2 mygtuko .fla failo prieš jį kompiliuojant.

Spėju, kad šis “mygtuko krovimo iš išorės” metodas veiks tik su allowScrptAccess “always” HTML parametru.

Objektų eksportas iš Flash CS5 į Illustrator’ių

0

Po CS5 paketo instaliacijos Flash’e pasigedau .ai (Adobe Illustrator) ir daugelio kitų failų formato eksporto. Atliekant Copy->Paste į Illustrator’ių įterpiamas jau nebe vektorinis, bet rastrinis objektas. Ką daryti? Viskas pasirodė labai paprasta: Adobe įvedė naują, protingesnį formatą – FXG. Jis skirtas source failų apsikeitimui tarp Flash, Illustrator ir Catalyst programų.

Taigi Flash’e einam į File->Export->Export Image (arba Export Selection, jei norime išeksportuoti pasirinktą objektą) ir pasirenkam .fxg formatą.
Illustrator’iuje CS5 darom Open, pasirenkam eksportuotą .fxg failą ir jis kuo puikiausiai atsidaro.

Kaip panaikinti baltą foną Photoshop’e “layer mask” pagalba

4

Kartais tik toks būdas gali padėti greitai atsikratyti balto fono. Trumpai ir aiškiai kaip tai veikia:

1. Atidarom paveikslėlį. Lange “Layers” du kartus spaudžiame ant “Background” sluoksnio, kad jis taptų “Layer’iu”.
2. Ctrl+A pažymime visą paveikslėlį, Ctrl+C nukopijuojame jį į laikiną atmintį.
3. Sukuriam sluoksnio kaukę (mask). Kaip tai padaryti parodyta čia:

4. Prie sluoksnio miniatiūros atsiras baltas kvadratas, tai ir bus sluoksnio kaukė. Laikydami Alt mygtuką spaudžiame ant kaukės su pele. Dabar galime redaguoti jos tūrinį.
5. Ctrl+V kad įklijuoti mūsų anksčiau išsaugotą atmintyje vaizdą į mask’ę.
6. Ctrl+I  kad invertuoti įklijuoto vaizdo spalvas.
7. Dabar išeinam iš kaukės redagavimo režimo tiesiog spausdami ant sluoksnio (layer) miniatiūros.

Viskas! Štai, ką gavome:

Įsivaizduokite, kiek laiko užtrūktų ranka trinti visas baltas vietas.
Jeigu rezultatas nelabai tenkina, galima žaisti toliau: vėl paspausti ant sluoksnio kaukės (juodas kvadratas, “prisegtas” prie sluoksnio miniatiūros) . Ctrl+L kad iškviesti “Levels” redagavimo lentelę. Jos pagalba galima pastorint arba pasiaurint objekto kontūrus.
Jeigu originaliame paveikslėlyje buvo šviesesnių pustonių ir po fono panaikinimo tose vietose paveikslėlis per daug permatomas, galime tiesiog padaryti keletą sluoksnio kopijų, kas sumažins pustonių permatomumą.

Go to Top