This blog is the product

Pikapostaukset blogiin

Varoitus: tämä postaus sisältää do-it-yourself-muokkausohjetta Vuodatus-blogille joka vaatii hieman osaamista HTML:stä ja CSS:stä. Eli jos et koe olevasi hardcore-blogihakkeri, ei ehkä kannata yrittää tätä. Muokkaukset blogiin omalla vastuulla.

Kiitos Pompon idean, päätin kokeilla väsätä Vuodatus.net:ssä pyörivälle blogille mahdollisuuden tehdä "pikapostauksia". Pikapostauksen idea on julkaista lauseen, parin pituinen juttu blogissa, joka ei ihan ole tarpeeksi pitkä eikä sisältörikas että sille kannattaisi tehdä ihan oma kirjoituksensa. Myöskään pikapostausta ei näytetä blogissa ihan samalla tavalla kuin normaalia, vaan pikapostaus esitetään hieman eri tavalla.

Tämän saa aikaan muokkaamalla blogipohjaa (jos käytössä on uudenmallinen pohja) tai kirjoitusten asettelua (jos käytössä on vanhanmallinen pohja). Esimerkki tässä on nyt tehty uudenmalliselle pohjalle, mutta jos käytät vanhanmallista, muuta $muuttuja$ -> <#muuttuja#>.

Eli alla on esitetty oletusblogipohjan kirjoitusten asettelu:

     <vuodatus:entry-template>
      <div class="entry">
       <h2><a href="/blog/$id$/$seotitle$/">$otsikko$</a></h2>
       <div class="subline">$julkaisuaika$
        <vuodatus:categories> / {Kategoriat}: $kategoria$</vuodatus:categories>
        <vuodatus:author-info> / {Kirjoittaja}: $kirjoittaja$</vuodatus:author-info>
       </div>
       <div class="entryBody">
        $kirjoitus$
       </div>
       <vuodatus:comment-links>
        <div>
         <table border="0" width="100%" align="center" cellpadding="0" cellspacing="0">
          <tr>
           <td width="103">
            <div class="commentsButton"><a href="/blog/$id$/$seotitle$/#comments">$kommentit$</a></div>
           </td>
           <td width="103">
            <div class="addCommentsButton"><a href="/blog/$id$/$seotitle$/#commentform">{kommentoi}</a></div>           
           </td>
           <td> </td>
          </tr>
         </table>
        </div>
       </vuodatus:comment-links>
      </div>
     </vuodatus:entry-template>

Lisätään <div class="entry"> -kohdan sisään uusi div-tägi:

<div class="$kategorianimet$">
   <!-- Muu sisältö jää tämän sisään -->
</div>

Tämä tuottaa blogikirjoitukseen div-elementin jonka class-attribuutin arvoksi määritellään blogikirjoituksen kategoriat. Täten voimme määritellä minipostaukset tekemälle niille oman kategorian, esim. "pikapostaus".  Kun julkaisemme blogikirjoituksen kategoriassa "pikapostaus", päätyy tuonne CSS-luokka samalla nimellä, ja voimme tehdä eri esityssäännöt pikapostauksille. Nopein vaihtoehto on käyttää vain display: none -määrettä ja piilottaa ne asiat mitä ei haluta. Kuitenkin monipuolisempi pikapostaus-systeemi saadaan aikaan jos kirjoitusten asetteluun määritellään pikapostauksille omat kohtansa:

   <vuodatus:entry-template>
    <div class="entry">
     <div class="$kategorianimet$">
      <div class="normaalipostaus">
       <h2><a href="/blog/$id$/$seotitle$/">$otsikko$</a></h2>
       <div class="subline">$julkaisuaika$
        <vuodatus:categories> / {Kategoriat}: $kategoria$</vuodatus:categories>
        <vuodatus:author-info> / {Kirjoittaja}: $kirjoittaja$</vuodatus:author-info>
       </div>
       <div class="entryBody">
        $kirjoitus$
       </div>
       <vuodatus:comment-links>
        <div>
         <table border="0" width="100%" align="center" cellpadding="0" cellspacing="0">
          <tr>
           <td width="103">
            <div class="commentsButton"><a href="/blog/$id$/$seotitle$/#comments">$kommentit$</a></div>
           </td>
           <td width="103">
            <div class="addCommentsButton"><a href="/blog/$id$/$seotitle$/#commentform">{kommentoi}</a></div>           
           </td>
           <td> </td>
          </tr>
         </table>
        </div>
       </vuodatus:comment-links>
      </div>
      <div class="minipostaus">
<div><a href="/blog/$id/">$kirjoitus$ - $julkaisuaika</a></div>
</div>
     </div> </div>    </vuodatus:entry-template>

Tässä hyvin yksinkertaisessa esimerkissä minipostaukseen tuodaan minipostaus CSS-luokan sisään kirjoitusteksti ja julkaisuaika jotka ovat kokonaisuudessaan linkki yksittäiseen kirjoitukseen. Kun tästä nyt suoraan tätä käytettäisiin, näkyisi jokaisessa kirjoituksessa sekä normaali kirjoitus että pikapostausmuoto kirjoituksesta, joten tarvitaan hieman CSS:ää:

.entry .minipostaus {
    display: none;
}
.entry .pikapostaus .minipostaus {
    display: block;
}
.entry .pikapostaus .normaalipostaus {
    display: none;
}

Tämä CSS siis määrittelee oletuksena minipostaus-CSS-luokan piiloitetuksi. Kun taas dokumenttipuusta löytyy pikapostaus CSS-luokka, piilotetaankin kirjoituksen normaali versio ja näytetään vain pikapostaus.

Jaa kirjoitus: Share on Facebook Tweet this Digg this! Save on Delicious

Varoitus: tämä postaus sisältää do-it-yourself-muokkausohjetta Vuodatus-blogille joka vaatii hieman osaamista HTML:stä ja CSS:stä. Eli jos et koe olevasi hardcore-blogihakkeri, ei ehkä kannata yrittää tätä. Muokkaukset blogiin omalla vastuulla.

Kiitos Pompon idean, päätin kokeilla väsätä Vuodatus.net:ssä pyörivälle blogille mahdollisuuden tehdä "pikapostauksia". Pikapostauksen idea on julkaista lauseen, parin pituinen juttu blogissa, joka ei ihan ole tarpeeksi pitkä eikä sisältörikas että sille kannattaisi tehdä ihan oma kirjoituksensa. Myöskään pikapostausta ei näytetä blogissa ihan samalla tavalla kuin normaalia, vaan pikapostaus esitetään hieman eri tavalla.

Tämän saa aikaan muokkaamalla blogipohjaa (jos käytössä on uudenmallinen pohja) tai kirjoitusten asettelua (jos käytössä on vanhanmallinen pohja). Esimerkki tässä on nyt tehty uudenmalliselle pohjalle, mutta jos käytät vanhanmallista, muuta $muuttuja$ -> <#muuttuja#>.

Eli alla on esitetty oletusblogipohjan kirjoitusten asettelu:

     <vuodatus:entry-template>
      <div class="entry">
       <h2><a href="/blog/$id$/$seotitle$/">$otsikko$</a></h2>
       <div class="subline">$julkaisuaika$
        <vuodatus:categories> / {Kategoriat}: $kategoria$</vuodatus:categories>
        <vuodatus:author-info> / {Kirjoittaja}: $kirjoittaja$</vuodatus:author-info>
       </div>
       <div class="entryBody">
        $kirjoitus$
       </div>
       <vuodatus:comment-links>
        <div>
         <table border="0" width="100%" align="center" cellpadding="0" cellspacing="0">
          <tr>
           <td width="103">
            <div class="commentsButton"><a href="/blog/$id$/$seotitle$/#comments">$kommentit$</a></div>
           </td>
           <td width="103">
            <div class="addCommentsButton"><a href="/blog/$id$/$seotitle$/#commentform">{kommentoi}</a></div>           
           </td>
           <td> </td>
          </tr>
         </table>
        </div>
       </vuodatus:comment-links>
      </div>
     </vuodatus:entry-template>

Lisätään <div class="entry"> -kohdan sisään uusi div-tägi:

<div class="$kategorianimet$">
   <!-- Muu sisältö jää tämän sisään -->
</div>

Tämä tuottaa blogikirjoitukseen div-elementin jonka class-attribuutin arvoksi määritellään blogikirjoituksen kategoriat. Täten voimme määritellä minipostaukset tekemälle niille oman kategorian, esim. "pikapostaus".  Kun julkaisemme blogikirjoituksen kategoriassa "pikapostaus", päätyy tuonne CSS-luokka samalla nimellä, ja voimme tehdä eri esityssäännöt pikapostauksille. Nopein vaihtoehto on käyttää vain display: none -määrettä ja piilottaa ne asiat mitä ei haluta. Kuitenkin monipuolisempi pikapostaus-systeemi saadaan aikaan jos kirjoitusten asetteluun määritellään pikapostauksille omat kohtansa:

   <vuodatus:entry-template>
    <div class="entry">
     <div class="$kategorianimet$">
      <div class="normaalipostaus">
       <h2><a href="/blog/$id$/$seotitle$/">$otsikko$</a></h2>
       <div class="subline">$julkaisuaika$
        <vuodatus:categories> / {Kategoriat}: $kategoria$</vuodatus:categories>
        <vuodatus:author-info> / {Kirjoittaja}: $kirjoittaja$</vuodatus:author-info>
       </div>
       <div class="entryBody">
        $kirjoitus$
       </div>
       <vuodatus:comment-links>
        <div>
         <table border="0" width="100%" align="center" cellpadding="0" cellspacing="0">
          <tr>
           <td width="103">
            <div class="commentsButton"><a href="/blog/$id$/$seotitle$/#comments">$kommentit$</a></div>
           </td>
           <td width="103">
            <div class="addCommentsButton"><a href="/blog/$id$/$seotitle$/#commentform">{kommentoi}</a></div>           
           </td>
           <td> </td>
          </tr>
         </table>
        </div>
       </vuodatus:comment-links>
      </div>
      <div class="minipostaus">
<div><a href="/blog/$id/">$kirjoitus$ - $julkaisuaika</a></div>
</div>
     </div> </div>    </vuodatus:entry-template>

Tässä hyvin yksinkertaisessa esimerkissä minipostaukseen tuodaan minipostaus CSS-luokan sisään kirjoitusteksti ja julkaisuaika jotka ovat kokonaisuudessaan linkki yksittäiseen kirjoitukseen. Kun tästä nyt suoraan tätä käytettäisiin, näkyisi jokaisessa kirjoituksessa sekä normaali kirjoitus että pikapostausmuoto kirjoituksesta, joten tarvitaan hieman CSS:ää:

.entry .minipostaus {
    display: none;
}
.entry .pikapostaus .minipostaus {
    display: block;
}
.entry .pikapostaus .normaalipostaus {
    display: none;
}

Tämä CSS siis määrittelee oletuksena minipostaus-CSS-luokan piiloitetuksi. Kun taas dokumenttipuusta löytyy pikapostaus CSS-luokka, piilotetaankin kirjoituksen normaali versio ja näytetään vain pikapostaus.

Vuodatus <3 Facebook

Sain vihdoin ja viimein otettua askelen pidemmälle Facebook-integraation suhteen. Viimeisen kuukauden olen selaillut satunnaisesti dokumentaatiota Facebook Connectista ja sen API:sta, mutta viime viikon lopulla sain tehtyä asian eteen jotain konkreettisesti.

Toteuttaessani FB Connect -ratkaisua Vuodatukseen, huomasin yllättyväni: FB Connect on ratkaisuna aivan loistava!

Ottamalla käyttöön FBConnectin sisäänkirjautumisvaihtoehtona, pystyin poistamaan rekisteröitymisvaiheesta usean vaiheen ja toivonmukaan bounce rate -rekisteröitymisessä pienenee. Jos verrataan normaalia rekisteröitymisprosessia FB Connect -malliin, on ero aika selkeä.

Normaalin rekisteröitymisprosessin merkittävin ongelma on aktivointi, joka tuottaa n. 10% kaikista yhteydenotoista aktivointiviestin jäätyä matkalle tai aktivoinnin epäonnistuttua. FBConnectin avulla pystytään ohittamaan rekisteröintitietojen syöttö sekä aktivointi ja muutamalla klikkauksella viedään käyttäjä yksinkertaiselle lomakkeella jolla blogi voidaan luoda.

Rekisteröitymisen lisäksi Vuodatus.net mahdollistaa nyt myös kirjoitusten julkaisemisen Facebookin profiiliin.

Sen lisäksi että tämä on käyttäjille "nice-to-have" -ominaisuus, on sillä kaksi merkittävää tehtävää palvelun kokonaiskehityksen kannalta:

  • Liikenteenohjaus
    Facebookin osuus tällä hetkellä Vuodatus.net:n liikenteenlähteistä on hyvin alhainen, vain 0,7% kaikesta liikenteestä. Tuomalla kirjoitukset profiiliin, voi Facebookin osuus nousta merkittävästi, sillä Vuodatus.net käyttäjäkyselyn perusteella 45% kävijöistä käyttää Facebookia (lähde: Interquest Spot-tutkimus, 01/2009 [PDF]).
  • Uusien käyttäjien houkuttelu
    Jokaisessa julkaistussa kirjoituksessa on myös linkki "Luo oma blogi" joka ohjaa suoraan Vuodatus.net:n rekisteröitymissivulle. Rekisteröitymissivulla FB Connect tuodaan selkeästi esille, joten matka Facebookiin julkaisusta kirjoituksesta oman blogin luomiseen on vain muutama klikkaus.

Tarkoitus on nyt seurata hieman tarkemmin liikenteen lähteitä ja mistä uudet käyttäjät tulevat, joten analyysia Facebook-integraation tuloksista voi odottaa loppuvuodesta.


Jaa kirjoitus: Share on Facebook Tweet this Digg this! Save on Delicious

Sain vihdoin ja viimein otettua askelen pidemmälle Facebook-integraation suhteen. Viimeisen kuukauden olen selaillut satunnaisesti dokumentaatiota Facebook Connectista ja sen API:sta, mutta viime viikon lopulla sain tehtyä asian eteen jotain konkreettisesti.

Toteuttaessani FB Connect -ratkaisua Vuodatukseen, huomasin yllättyväni: FB Connect on ratkaisuna aivan loistava!

Ottamalla käyttöön FBConnectin sisäänkirjautumisvaihtoehtona, pystyin poistamaan rekisteröitymisvaiheesta usean vaiheen ja toivonmukaan bounce rate -rekisteröitymisessä pienenee. Jos verrataan normaalia rekisteröitymisprosessia FB Connect -malliin, on ero aika selkeä.

Normaalin rekisteröitymisprosessin merkittävin ongelma on aktivointi, joka tuottaa n. 10% kaikista yhteydenotoista aktivointiviestin jäätyä matkalle tai aktivoinnin epäonnistuttua. FBConnectin avulla pystytään ohittamaan rekisteröintitietojen syöttö sekä aktivointi ja muutamalla klikkauksella viedään käyttäjä yksinkertaiselle lomakkeella jolla blogi voidaan luoda.

Rekisteröitymisen lisäksi Vuodatus.net mahdollistaa nyt myös kirjoitusten julkaisemisen Facebookin profiiliin.

Sen lisäksi että tämä on käyttäjille "nice-to-have" -ominaisuus, on sillä kaksi merkittävää tehtävää palvelun kokonaiskehityksen kannalta:

  • Liikenteenohjaus
    Facebookin osuus tällä hetkellä Vuodatus.net:n liikenteenlähteistä on hyvin alhainen, vain 0,7% kaikesta liikenteestä. Tuomalla kirjoitukset profiiliin, voi Facebookin osuus nousta merkittävästi, sillä Vuodatus.net käyttäjäkyselyn perusteella 45% kävijöistä käyttää Facebookia (lähde: Interquest Spot-tutkimus, 01/2009 [PDF]).
  • Uusien käyttäjien houkuttelu
    Jokaisessa julkaistussa kirjoituksessa on myös linkki "Luo oma blogi" joka ohjaa suoraan Vuodatus.net:n rekisteröitymissivulle. Rekisteröitymissivulla FB Connect tuodaan selkeästi esille, joten matka Facebookiin julkaisusta kirjoituksesta oman blogin luomiseen on vain muutama klikkaus.

Tarkoitus on nyt seurata hieman tarkemmin liikenteen lähteitä ja mistä uudet käyttäjät tulevat, joten analyysia Facebook-integraation tuloksista voi odottaa loppuvuodesta.


Mainos