sunnuntai 20. toukokuuta 2012

iPhonen kuvanrajaus yllättää

iPhonea kehutaan niin helppokäyttöiseksi, ettei ohjekirjaa tarvitse lukea (eikä sitä puhelimen mukana tulekaan). Ehkä pitäisi? Esimerkiksi valokuvan rajaaminen voi tarjota yllätyksen.

Otetaan iPhonella valokuva ja rajataan siitä ylimääräiset pois rajaustyökalulla:



Painetaan sen jälkeen Rajaa ja Tallenna, jolloin iPhone tallentaa kuvasta tiukemmin rajatun version:


Kun tulosta katsotaan iPhonen näytöllä, kuvassa näkyy vain koira.

Jos kuva lähetetään Facebookiin, ohjelma näyttää valitun kuvan ja pyytää nimeämään siinä esiintyvät henkilöt, sen jälkeen se lähetetään palveluun:



Kuva näkyy Facebookin ikkunassa neliömäisenä (kuten kaikki, myös alkuperäiset 3:2-suhteella olevat kuvat):


Mutta sitten tulee yllätys: Facebookissa kuva näkyykin alkuperäisenä, rajaamattomana versiona:


Mitä ihmettä? Koiraesimerkki on harmiton, mutta...  kuvitellaan että olet ottanut valokuvan ja rajannut siitä pois ympäristöä tai vääriä henkilöitä. Kaikki näyttää olevan kunnossa, mutta kun kuva ilmestyy Facebookiin huomaat, että poistetut alueet ovatkin palanneet takaisin -- ja mitään kerran nettiin päätynyttä ei saa varmuudella poistettua.

Itse asiassa törmäsin ilmiöön ensi kerran juuri tällaisessa tapauksessa. Vaikka itse olisi miten tarkkana, ohjelmat ja palvelut muuttuvat itsekseen ja varoittamatta.

Yritin googlata ilmiölle selitystä, mutta sitä ei löytynyt joten aloin penkoa asiaa itse. Miksi iPhonessa tehty kuvan rajaus ei olekaan todellista?

iPhone näyttää tallentavan rajatun kuvan, mutta todellisuudessa kuva säilyy alkuperäisenä -- jatkossa se vain näytetään rajattuna. Mistään ei käy ilmi, että kuvassa on muutakin. Tämä on mielestäni paha käytettävyyspuute. Asia paljastuu vain, jos kuvaa editoidaan uudelleen iPhonessa. Silloin rajausalue ilmestyy uudelleen näkyviin ja kuvaa voi rajata vaikka isommaksi. Ominaisuus on tuore, sillä se tuli vasta iOS 5:n mukana.

Rajaus muuttuu todelliseksi, jos kuva lähetetään iPhonesta kamerasovelluksen omilla toiminnoilla esimerkiksi lisäämällä se sähköpostiin tai tviittaamalla eteenpäin. Mutta jos kuva luetaan tiedostona toiseen ohjelmaan, tulos voi olla kumpi tahansa. Instagram ottaa rajatun version käsittelyynsä sellaisenaan, EyeEm alkuperäisen version.

Virtuaalinen rajaus on kuvankäsittelyohjelmista tuttu toiminto, mutta tässä yhteydessä se yllättää. Etenkin kun Androidissa vastaavassa toiminto on todellinen. Mielenkiintoista kyllä, edes Applen oma PhotoStream ei näytä rajausta vaan alkuperäisen kokonaisen kuvan.

Jos iPhonella rajatun kuvan siirtää Adoben Lightroomiin, se näyttää rajauksen ja myös tiedon siitä, että kuvaa on rajattu:


Ja nyt ollaankin jo jäljillä! Kuvan rajaaminen iPhonessa lisää siihen Adoben xmp-määrityksen mukaisen metadatan. Has Crop = True kertoo rajauksesta, jonka koordinaatit selviävät desimaaliluvuista Crop Top, Crop Bottom, Crop Left ja Crop Right. Rajatun version mitat ovat kentissä Crop W ja Crop H. Photoshopin tuoreet versiot avaavat xmp-rajatut jpeg-kuvat Camera raw -lisäosaan, vaikka kuvat eivät raakakuvia olekaan.

Kaipasin vastaavaa tekniikkaa jo kymmenen vuotta sitten. Pohdin, miksei digikuvaan voisi lisätä tietoa siitä, mikä kohta kuvasta halutaan rajata näkyviin. Nimitin sen softcrop-asetukseksi. Nyt se on näköjään toteutettu.

Valitettavasti kaikki ohjelmat eivät lue xmp-metadatan rajaustietoja. Mielenkiintoista nähdä, lisätäänkö tuki Androidiin ja Windows Phoneen sekä muihin kuvankäsittely- ja katseluohjelmiin.

Sitä odotellessa on luvassa monia noloja tilanteita varsinkin sosiaalisessa mediassa! Mokailu kuuluu someen.

14 kommenttia:

katchu kirjoitti...

Mielenkiintoinen huomio. Ehkäpä edes muutama lukija onnistuu välttämään nolon sudenkuopan.

Itse en nää kuvailtua toimintoa hyödylliseksi älypuhelimeen. Sen sijaan että kuvaa rajattaisiin leikisti, voitaisiin rajaus totteuttaa oikeasti ja tallentaa kuva uutena kuvana niin, että lähdekuva jäisi koskemattomana talteen.

Petteri Järvinen kirjoitti...

Tämä olisi loogisin ja vaivattomin ratkaisu. Jostain syystä Apple on valinnut turhan teknisen ja mutkikkaan tavan.

Osmo kirjoitti...

Tuohan on vähän samanlaista, kuin mitä Picasa tekee, joskin se tallentaa tiedon omiin tietokantoihin. Samoin Nokian puhelimissa, kun editoi musiikin tageja, se tallentuu omiin tietokantoihin. Näkisin tuossa hyötynä sen, että jos vaikka vaakakuvasta leikkaa kännykkään sopivan pystykuvan, voi sitten kuvan lähettää tai siirtää kokonaisena. Silti olisi hyvä, jos olisi toiminto, jolla rajauksen voisi tehdä lopullisena.

Antaako puhelin mahdollisuuden tallentaa kuva uudella nimellä? Tekeekö se silloinkin noin? Loogista olisi, että silloin rajaus olisi pysyvä, kun kyse on uudesta kuvasta.

Sinänsä olisi ihan kiva, jos samaan kuvaan voisi laittaa useita kroppialueita erimuotoisia näyttöjä varten. Näin kuva näkyisi erilaisilla näytöillä optimaalisesti

Petteri Järvinen kirjoitti...

Kuvaa ei voi tallentaa toiselle nimelle. Rajaus on ainoa vaihtoehto, ja sen jälkeen kamera sanoo tallentavansa kuvan.

jaska kirjoitti...

Puhelimen kannalta juuri tämä on vaivattomin ratkaisu. Ei tarvitse kuin lisätä pieni tekstin pätkä kuvan metadataan, eikä tarvitse manipuloida itse kuvadataa ollenkaan.

Timo Ylikännö kirjoitti...

"Tämä olisi loogisin ja vaivattomin ratkaisu. Jostain syystä Apple on valinnut turhan teknisen ja mutkikkaan tavan."

Siis hetkinen, eikö Apple toimi tässä oikein? Alkuperäistä dataa on turha lähteä muuttamaan ja vielä turhempaa olisi tehdä puhelimen rajalliseen muistitilaan useita kopioita samasta kuvasta. Lisäksi käyttäjälle jäisi tehtäväksi turhien versioiden manuaalinen poistaminen.

Mielestäni tästä "bugista" on ihan turha Applea syyttää vaan kummallinen toimivuus on pelkästään Facebookin vika. Jos kerran kuviin on mahdollista lisätä tälläistä metadataa niin sen tukematta jättäminen on puute, ei tukeminen. Vähän tämä kirjoitus antaa vaikutelman, että markknajohtajasta ihan hakemalla haetaan negatiivista uutisoitavaa...

Mikko Parviainen kirjoitti...

Ei tuo minustakaan mikään outo ratkaisu ole. Metadata on hyvä paikka rajaukselle, mutta ihmettelen, miksi Facebook ei sitä tue.

Puhelin on muutenkin hankala kapine kuvankäsittelyyn: ruutu on pieni ja kontrollit huonot. Toki puhelinkin voisi tarjota vaihtoehdon joko "oikeaan" rajaukseen tai rajausdatan tallettamiseen metadataan, mutta käyttöliittymästä tulee helposti sekava.

Esimerkkinä N9:ssä voi tallettaa kuvan uudelle nimelle ja muokata kopiota, mutta käyttöliittymä kuvanmuokkaukselle ei ole kauhean selkeä. Itse en osaa sitä käyttää kovin, mutta en toisaalta myöskään yleensä jaa kuvia sosiaalisessa mediassa, ja muokkaan mieluummin pöytäkoneella, joten en ole opetellutkaan.

Oikea, kuvaan tehty rajaus olisi sinänsä hyvä - jos rajausta käytetään esimerkiksi juuri poistamaan ei-toivottuja osia kuvasta, mutta rajaus tehdään metadataan, kaikki kuvadata jää silti jaettavaksi, mikä ei ehkä ole tarkoitus.

Petteri Järvinen kirjoitti...

Mielestäni tästä "bugista" on ihan turha Applea syyttää vaan kummallinen toimivuus on pelkästään Facebookin vika.

Tämä ei ole bugi, mutta käytettävyyttä ja helppoutta korostavalle Applelle huono ratkaisu. Juuri siksi, että mobiilikäyttäjät eivät ole mitään kuvankäsittelyn tai metadatan ammattilaisia, toimintojen pitäisi olla selkeitä ja loogisia.

Vähintäänkin Applen pitäisi kertoa, että rajaus on vain metadataa. En löytänyt asiasta dokumentaatiota edes webistä, saati että puhelin kertoisi siitä.

Facebookia tuskin voi syyttää siitä, ettei se tue Adoben xmp-metadataa (jota ilmeisesti mikään toinen mobiililaite ei käytä).

katchu kirjoitti...

Ongelmahan ei koske vain Facebookkia vaan kaikkia härveleitä johon kuvan tahtoo ladata. Yleensä kuva rajataan syystä. Jos rajaus toteutetaan pelkkänä metadatana, jää muille mahdollisuus poistaa metadata ja palauttaa alkuperäinen kuva.

Nykyisten älypuhelinten tehon ja levytilan kanssa ei pitäisi olla minkäänlaista ongelmaa joten niihin vetoaminen on erikoista.

On myös erkoista vaatia kaikkia nettipalveluita tukemaan Adoben metadataa.

Anonyymi kirjoitti...

Vainoharhaista tai ei niin minusta tuo "ominaisuus" on enemmänkin valmistautumista tehokkaampaan yksityisyyden suojan rikkomiseen ja urkintaan.

Minusta tuo on kertakaikkisen ongelmallista. Et nopealla tumpuloinnilla saa piilotettua sitä faktaa, että vieressäsi, takanasi ympäristössäsi tapahtui jotain joka saattaa kiinnostaa tulevaisuuden tiedustelupalveluita varsinkin "naamatunnistamisen" yleistyessä.

Myönnetään, hiukan vainoharhaista, mutta..

Anonyymi kirjoitti...

Minä olen yhtä pihalla iPadin iphoton kanssa että miten ja minne se tallentaa muokatun kuvan..löytyykö jostain rautalankaohjeita?

androidsuomi kirjoitti...

Tervetuloa android maailmaan vuodelle 2009.

Anonyymi kirjoitti...

iPhonea kehutaan niin helppokäyttöiseksi, ettei ohjekirjaa tarvitse lukea (eikä sitä puhelimen mukana tulekaan). Ehkä pitäisi?
ja
Vähintäänkin Applen pitäisi kertoa, että rajaus on vain metadataa. En löytänyt asiasta dokumentaatiota edes webistä, saati että puhelin kertoisi siitä.

Eli jouduit nyt lukemaan manuaalin lopulta?

Timo Ylikännö kirjoitti...

"Facebookia tuskin voi syyttää siitä, ettei se tue Adoben xmp-metadataa (jota ilmeisesti mikään toinen mobiililaite ei käytä"

No vähintään Facebook app (tai mikä tahansa muu app joka kuvia lähettää) voisi metadatan tunnistaa ennen kuvan lähetystä. App voisi vaikka kysyä kumpi versio vähetetään. Näin säästyisi levytilaa, eikä käyttäjä pääsisi yllättymään. Metadatan tunnistaminen ei ole edes vaikeaa, api kokoelmista löytyy siihen välineet. Facebookin tapauksessa en edes ylläty että näin ei tehdä, koska niiden app on muutenkin harvinaisen huono.

Website Security Test