Apr 27

Pada 25 April 2007 lalu framework Flex berubah menjadi Opensources (Mozilla Public License).
Status ini tidak hanya untuk source code dari framework saja tetapi juga Flex SDK termasuk MXMLC, COMPC, ASC, Flex Debugger, Flex Components, dan ini yang menarik : ActionScript 3 Libraries juga ikut opensources

Baca press release di Adobe Press Room
Baca Info tambahan di Labs
Baca FAQ Flex Opensources di sini
gabung dengan groups diskusi Flex Opensources di http://groups.google.com/group/flex-open-source/

Sayangnya Flex Charting tidak berubah statusnya, tetap tertutup.
Demikian juga dengan Flex Data Services, tetap tertutup. Kabarnya FDS (Flex Data Services) akan di-integrasikan dengan produk Adobe lainnya : Adobe LiveCycle ES (enterprise suite) sebagai LiveCycle Data Services.

Apr 27

Traits

Sebelumnya di blog ini sudah pernah di-posting artikel tentang Just in Time Compiler sebagai salah satu cara untuk meningkatkan performance (kecepatan) eksekusi kode Actionscript 3.0 oleh Flash Player 9 (baca di Bookmark April 19 2007).

Masih ada mekanisme lain yang membantu proses peningkatan performance tersebut, yaitu Traits.

Konsep Traits diciptakan di Actionscript 3.0 untuk menanggulangi permasalahan yang kerap terjadi di Actionscript versi sebelumnya.

Pada Actionscript 1.0 / 2.0 proses pencarian nama suatu object merupakan sesuatu yang melelahkan dan memakan waktu bagi Flash Player terutama pencarian object termasuk dengan property-nya (termasuk dengan semua variable, function dan methode yang terdapat di object tersebut) dari dalam suatu framework yang mempunyai package raksasa yang terdiri dari banyak object class.

Sedangkan di Actionscript 3.0 proses tersebut berlangsung lebih efisien dan lebih hemat waktu karena segala properties yang berasal dari superclass (inherited) telah di-copy-kan kedalam traits yang terdapat disetiap subclass. Pemahaman traits itu sendiri sepertinya akan terasa abstract bagi setiap programmer. Sekilas traits lebih mirip sebagai properties, tetapi tidak akan dapat diakses/ viable di daftar properties suatu object class.

Traits di AVM 2 (virtual machine untuk Flash Player 9 - AS 3.0) berfungsi untuk menyediakan segala informasi detail tentang layout dan isi dari suatu class. Dengan informasi tersebut AVM 2 dapat mengurangi waktu eksekusi kode secara signifikan karena dapat menginstruksikan langsung suatu properties/ methode object ke machine tanpa menghabiskan waktu mencari ulang representasi superclass yang mewariskan properties tersebut.

Kehadiran Traits ini terasa dengan peningkatan performance dan pengurangan pemakaian memory (memory usage) Flash Player 9. Dan “penampakan” suatu object di memory system akan lebih kecil secara nyata dibanding dengan “penampakan” object serupa di versi terdahulu dari Actionscript. Contohnya : jika suatu class dideklarasikan secara non dynamic (sealed) maka instance dari class tersebut tentu tidak memerlukan hash table sebagai penampung properties yang ditambahkan secara dynamic, sehingga akan lebih sedikit menampung pointer ke traits yang ada di object tersebut. Hasilnya sebagai perbandingan, bila di Actionscript 2.0 object tersebut memerlukan 200 bytes untuk me-representasi-kan dirinya maka cukup 20 bytes saja yang diperlukan di Actionscript 3.0 untuk melakukan hal yang sama.

Catatan :

  • Dari beberapa sumber disebutkan tidak ada jaminan bahwa feature Traits ini akan tetap digunakan atau diganti/ dibuang pada AVM generasi selanjutnya.
  • Referensi lain tentang hasil benchmark perbandingan waktu eksekusi antara Actionscript 2.0 vs Actionscript 3.0 bisa dicari melalui search engine. Benchmark lain diantaranya yang pernah dibahas oleh Grant Skinner tentang perbandingan loop dengan type Number di AS 2 vs AS 3.0, atau loop antara int, uint dan Number pada Juni lalu.
  • Apr 26
    Mungkin gerah juga karena Apollo banyak dibanding bandingkan
    dengan Zinc, akhirnya Jaspal Sohal [CEO, Multidmedia Ltd] angkat bicara
    untuk menjelaskan perbedaan keduanya (Nggak enak ati sama Mike Chamber
    kali..)
    Berikut tabel perbandingannya :

    Zinc™ vs Apollo™
     
    Zinc
    Apollo
    100% Standalone (No Plug-Ins/Runtimes required)
    Does not Require Installation to Run
    Can run from CD-Rom/DVD/USB
    Alpha Transparency
    File IO Commands
    Browser Commands
    Database Connectivity
    Play External Video (MPEG, AVI, MOV)
    Distribute via DRM Solutions
    Connect to External 3rd Party DLL’s

    Sumber : MDM Newsletter - April 2007
    Baca artikel lengkapnya di http://www.multidmedia.com/support/developers/articles/?action=show&id=33

    Tentang Apollo™ sampai saat ini kita tidak bisa terlalu dini memberi penilaian khusus karena masih versi alpha.
    Paling tidak janganlah Apollo sama nasibnya dengan saudara tuanya (Central) yang langsung layu / kurang diminati, [alasan Adobe : Central hanya diperuntukkan di Actionscript 2.0]

    Apr 24

    Agak kaget juga sewaktu googling dengan keyword ‘flash remoting‘ , khusus untuk pencarian di Indonesia ternyata menemukan url di babaflash : http://www.babaflash.com/forum/listreply.asp?katutid=1&katutname=BabaShare&katid=5&threadid=633&fc=1

    Link diatas adalah salah satu posting di forum Babaflash tertanggal 8 May 2004, hampir 3 tahun yang lalu.
    Yang bikin kaget aku merasa jarang banget posting di forum babaflash pada tanggal tanggal segitu, dan lebih prefer posting di milis Babaflash di yahoo saja.

    Ternyata posting tersebut berasal dari milist babaflash yang bertanggal 7 May 2004, kemudian oleh moderator babaflash.com dimasukkan ke forum. Ya nggak apa apa sih, semoga ada manfaatnya.
    Mestinya dari dulu aku banyak posting juga di forum babaflash.com ya, biar gak sepi ^_^ [becanda babaji :)].
    Tapi bagaimanapun lebih praktis dimilis kali ya?

    Apr 22

    FLV (Flash Video)

    FLV adalah salah satu format video di internet dengan menggunakan Adobe Flash Player.
    Format FLV adalah proprietari dari Adobe (Macromedia).
    Flash Player bisa menghantarkan format flv dimulai sejak Flash Player versi 6.

    Dengan kemampuan diputar oleh swf atau diembed kedalamnya, flv menjadi salah satu format video yang bisa diputar hampir disemua sistem operasi.
    Browser yang sudah mempunyai plug in flash player akan langsung bisa memutar flv.
    Ini adalah salah satu kunci keuntungan dibanding dengan format video lain yang biasanya memerlukan plug in di browser yang lebih besar (ukuran installer plug in-nya).
    Didukung juga dengan keuntungan lain seperti distribusi penyebaran Flash player yang sangat luas.

    Format Video
    Umumnya flv menggunakan stream bit video yang merupakan salah satu varian dari standar video H.263 (Sorenson Spark).
    Pada Flash Player 8 keatas terdapat fasilitas dukungan untuk memainkan stream bit video On2 TrueMotion VP6 yang mempunyai keunggulan seperti kualitas visual yang lebih tinggi serta kemampuan dalam penggunaan lower bit rates, tetapi karena memerlukan proses render dengan tingkat komputasi yang lebih tinggi maka diragukan format ini dapat berjalan lancar di komputer low end (tua).

    Flv dibuat (encoding) dengan tool yang terdapat di Macromedia Flash 8, atau bisa menggunakan On2’s Flix encoding tools, Sorenson Squeeze, FFmpeg dan tool-tool dari pihak lainnya.

    Format audio
    Audio di flv biasanya di encode sebagai MP3, sedangkan audio yang berasal dari mikropon user akan di encode dengan Nellymoser codec (proprietary format).
    Flv juga mendukung audio yang tidak terkompress atau nama lainnya ADPCM format audio.

    FLV sebagai alasan utama Adobe mengakuisisi Macromedia.
    Dari semua produk unggulan Macromedia dari Coldfusion, Dreamweaver, Firework, Jrun, Authorware, Flash, dan lain-lain. Yang menjadi alasan (nilai beli) yang menggoda Adobe bukanlah produk - produk laris seperti yang disebutkan diatas. Bukan pula Teknologi Animasi flash yang mengubah internet itu, tetapi adalah Flash Video.
    Dikutip dari Mike Downey (Senior Product Manager Adobe Flash) :
    “At the highest levels of Adobe’s corporate agenda is the Flash Video platform, it was officially called out by our CEO that it was one of the main reasons Adobe wanted to acquire Macromedia.”

    Tonggak FLV yang fenomenal : Youtube
    Kisah Youtube bermula dari empat orang (Chad Hurley, Steve Chen, and Jawed Karim) yang sebelumnya adalah karyawan PayPal.
    Domain Youtube.com sendiri baru diaktivasi pada February 15, 2005.
    Pada pertengahan 2006, youtube adalah salah satu site yang paling pesat pertumbuhannya dan menduduki peringkat 5 besar site yang paling terkenal diInternet.
    Pada 9 Oktober 2006 Google mengakuisisi Youtube dengan nilai US$1.65 billion.
    Dari 4 orang pendiri yang bermarkas di garasi, kini Youtube mempunyai 67 karyawan, 100 juta flv yang diakses tiap hari, 65.000 flv baru yang diupload tiap per 24 jam. Diakses 27 juta pengunjung tiap bulan.
    Dengan statistik di atas tidak berlebihan majalah Time memberikan penghargaan ke Youtube sebagai “Invention of the Year” tahun 2006.
    Semua tidak lepas dari keterkaitan dan penggunaan teknologi flv.
    Hal lain yang cukup menggelitik adalah 3 kunci perkembangan flash yang dipaparkan Mike Downey :
    1. IDE (Integrated Developing Tool) / Authoring Flash yang lebih baik.
    2. Flash Mobile device (Flash lite).
    3. Flash Video.
    Ketiga aspek diatas kini masing masing mempunyai ratusan proyek-proyek internal yang terus menerus menggodok flash menjadi lebih matang di release versi berikutnya.

    Bagaimana dengan flv didalam negeri? Salah satu portal yang mengadopsi teknologi flv adalah indonesia.sc , dan tampaknya akan semakin besar karena mempunyai konsep dan konsumen yang jelas.

    Sekali lagi Flash mengubah Internet, kali ini tidak dengan animasi vektornya yang kadang membuat programmer antipati dengan usabiliti flash site yang buruk )*, tapi dengan penghantaran video dengan lebih efisien dan lebih efektif dibanding teknologi sejenis dari pihak lain.

    Note :
    *. Bukanlah flash mempunyai usability yang lebih buruk dibanding html page, tetapi jadilah desainer yang lebih bijak dalam usability dengan flash.
    *. Kadang banyak anggapan programmer tidak bisa menjadi desainer yang baik, demikian pula sebaliknya. Syukurlah bila kita merasa baik - baik saja sebagai keduanya.

    Apr 21

    Masih ingat Livemotion?
    Kineticfusion?
    Xamlon?
    Avalon?
    Microsoft Expression?
    Belum berhenti juga..?

    Sekarang mulai banyak yang melirik ke Silverlight (codename WPF/E)
    Hmm..
    Catch Flash if you can!!
    Besok bila masih sempat kita bahas mereka satu-satu.
    Sekarang sudah malam!

    Apr 20

    Sekarang ini, lazimnya untuk penyebutan bilangan bisa di bagi menjadi dua sistem. Sistem pertama dianut oleh Amerika dan Prancis. Sistem kedua dianut oleh kebanyakan negara Eropa (selain Prancis), seperti Inggris dan lainnya. Bagaimana dengan negara kita? Indonesia cenderung mengikuti sistem yang pertama.

    Ditempat kita untuk menyebut angka diatas 1 milyar dengan menggunakan kelipatan perseribuan, misalnya satu milyar ( 1 bilyun) adalah seribu juta.
    Yang agak repot adalah penulisannya. Kita terbiasa menulis desimal dengan koma, pengelompokkan digit dilakukan tiap perseribuan dan ditandai dengan titik. Untungnya di setiap sistem operasi komputer yang telah mapan sudah tersedia menu setting untuk mengganti / kustomisasi aturan regional ini.

    Kembali ke sistem penyebutan bilangan, sistem kedua yang dianut oleh Inggris menyebut bilangan diatas 1 milyar dengan kelipatan persejutaan, misalnya satu milyar adalah sejuta juta. Agak aneh bagi kita ya? Untungnya pilihan katanya tetap sama dari juta, milyar, trilyun, kuadrilyun, kuintilyun, sekstilyun, septilyun, oktilyun, nonilyun, desilyun, dan seterusnya.

    Dibawah ada swf untuk demo penyebutan nominal rupiah dengan menggunakan library yang tadinya dibuat sewaktu ada proyek dari klien (Perusahaan Pembiayaan) tahun 2006.
    Library ini digunakan di Flex 2.0.1 untuk penyebutan bilangan (nilai nominal uang) di salah satu modul yang diperlukan di aplikasi klien tersebut. Anda dapat menggunakannya dalam project anda dengan mendownload swc-nya.
    Terdapat 2 class utama dalam swc yaitu : RupiahTerbilang dan RupiahFormatter.
    Class RupiahTerbilang untuk menyebutkan nominal rupiah ke dalam suatu bentuk kalimat. Misalnya diberikan argument 12345. Oleh Class ini akan di-return-kan string berupa “Duabelas ribu Tiga Ratus Empat puluh Lima ”
    Class RupiahFormatter untuk memformat bilangan yang diberikan menjadi terformat ke bentuk standar penulisan nominal rupiah. Argument 12345 oleh class RupiahFormatter akan di-return-kan string berupa “Rp12.345,00 ”

    Catatan :
    Pada Class RupiahTerbilang, penyebutan bilangan dibatasi hanya sampai 10 Kwadrilyun untuk menghindari kesalahan representasi tipe Number oleh Flash Player untuk angka lebih besar dari 10 Kwadrilyun. Karena Flash Player hanya menggunakan 52 bit dari total integer yang diberikan dan beberapa special hidden bit sisanya dalam merepresentasikan suatu integers dari -9,007,199,254,740,992 (-253) sampai 9,007,199,254,740,992 (253).

    Anda bisa mencobanya di aplikasi dibawah ini (Flash Player 9 required)
    Bila anda hanya melihat kotak kosong saja, update flash player anda

    Masukkan di kotak pertama angka nominal (bila terdapat desimal tuliskan dengan titik bukan koma) kemudian tekan enter. Bila anda menulis angka dengan benar di kotak kedua akan langsung tertera bilangan yang sudah diformat oleh class RupiahFormatter, dan bila anda menggerakkan mouse ke kotak kedua akan muncul tooltip yang berisi kalimat hasil dari penyebutan angka oleh class RupiahTerbilang.

    Download swc component
    Download source

    « Previous Entries