Minggu, 21 Juni 2015

Kajian Artikel Ilmiah IMK - On the Benefits of Providing Versioning Support for End Users: An Empirical Study

On the Benefits of Providing Versioning Support for End Users: An Empirical Study
SANDEEP K. KUTTAL, ANITA SARMA, and GREGG ROTHERMEL, University of Nebraska-Lincoln

ABSTRACT
End users with little formal programming background are creating software in many different forms, including spreadsheets, web macros, and web mashups. Web mashups are particularly popular because they are relatively easy to create, and because many programming environments that support their creation are available. These programming environments, however, provide no support for tracking versions or provenance of mashups. We believe that versioning support can help end users create, understand, and debug mashups. To investigate this belief, we have added versioning support to a popular wire-oriented mashup environment, Yahoo! Pipes. Our enhanced environment, which we call “Pipes Plumber,” automatically retains versions of pipes and provides an interface with which pipe programmers can browse histories of pipes and retrieve specific versions. We have conducted two studies of this environment: an exploratory study and a larger controlled experiment. Our results provide evidence that versioning helps pipe programmers create and debug mashups. Subsequent qualitative results provide further insights into the barriers faced by pipe programmers, the support for reuse provided by our approach, and the support for debugging provided.
Categories and Subject Descriptors: D2.9 [Software Engineering]: Management—Software configuration management; D2.5 [Software Engineering]: Testing and Debugging—Debugging aids; H1.2 [Models and Principles]: User/MachineSystems—Human factors; human information processing; H5.2 [Information Interfaces and Presentation]: User Interfaces—Evaluation/methodology
General Terms: Human Factors
Additional Key Words and Phrases: End-user software engineering, versioning, Mashups, Yahoo! Pipes, reuse, debugging, programming barriers
ACM Reference Format:
Sandeep K. Kuttal, Anita Sarma, and Gregg Rothermel. 2014. On the benefits of providing versioning support for end users: An empirical study. ACM Trans. Comput.-Hum. Interact. 21, 2, Article 9 (February 2014), 43 pages.

Pengkaji: Zahratul Rahmi, G64120066

Ulasan
End-user programming menjadi fenomena yang meluas. Sejumlah end-users membuat aplikasi perangkat lunak untuk kebutuhannya sendiri dengan menggunakan alat pemrograman dan lingkungan seperti Scratch, Labview, web macros, and web mashup environments. Para reasearcher end-user programming fokus pada penggunaan prinsip-prinsip rekayasa perangkat lunak dan teknik yang menyediakan dukungan tersebut dengan tujuan membantu end-users dalam usaha mereka. Version support memungkinkan developer untuk menelusuri alternatif sumber daya, menentukan versi ini berbeda dengan yang lain dan memilih versi tertentu atau kembali ke versi sebelumnya. Dalam sebuah penelitian, mengamati bahwa terdapat kebutuhan untuk version control untuk meningkatkan pemeliharaan dan penggunaan kembali visual, domain-specific languages. Dukungan versioning dapat membantu pengguna dalam eksplorasi melalui versi di repositori serta eksplorasi perubahan itu sendiri. Artikel ini menyelidiki apakah versioning support dapat membantu end-user programmer dalam pembuatan program dan debugging. Mashup web adalah aplikasi yang menggabungkan data, fungsi dan elemen antarmuka dari dua atau lebih sumber untuk menciptakan layanan baru. Mashup populer karena peran dalam tren utama, dimana end-user dapat membuat konten dinamis untuk web, membangun aplikasi perangkat lunak situsional, serta membangun dan berbagi aplikasi melalui repositori host publik.

Yahoo! Pipes adalah salah satu lingkunan penciptaan mashup paling populer yang tersedian dan digunakan oleh profesional dan end-user programmer. Mashup ini berbasis web visual programming yang dikenalkan oleh Yahoo! dengan tujuan memungkinkan para pengguna untuk rewire web, dan juga cocok untuk solusi dataflow berbasis masalah pemrosesan dengan menggabungkan perintah sehingga salah satu output berindak sebagai input untuk yang lainnya, serta menfasilitasi menghubungkan modul dan transfer data. Pipes Plumber adalah pendekatan yang digunakan untuk kemampuan versioning pada Yahoo! Pipes, termasuk fitur, arsitektur, dan antarmuka yang digunakan.  Fitur Versioning, versioning support disediakan oleh sistem manajemen konfigurasi yang dibangun untuk profesional yang mengharuskan untuk mempelajari perintah dan konsep tertentu. Untuk mendapatkan versioning support Yahoo! Pipes mempertimbangkan setiap fitur versioning yang tersedia pada profesional sistem manajemen konfigurasi dan membuat  fitur analog yang cocok. Sistem arsitektur, untuk implementasi versioning support dibuat sebuah proxy wrapper menyadap kode JSON yang dapat transmisi user’s client dan Yahoo! Pipes server. Hal ini memungkinkan Pipes Plumber akan beroperasi pada sebagian web browser. Pada sistem arsitektur ini menggunakan sebuah proxy server untuk mengatur komunikasi antara web browser dan Yahoo! Pipes server. Penggunaan Internet Content Adaptation Protocol (ICAP), sebuah proxy wrapper memodifikasi respon pesan yang diterima dengan memasukkan widgets yang terhubung dengan versioning dan debugging kedalam UI sebelum mengirim pesan ke client. Interface (antarmuka), UI Pipe Plumber menambahkan 4 widget pada antarmuka Yahoo! Pipes client, yaitu Undo, Redo, Tested dan History. Undo dan Redo adalah tombol yang memungkinkan user untuk menelusuri antara version yang bertalian pada pipe. Tested adalah tombol yang memungkinkan user untuk mengidentifikasi yang mereka percaya pada kebenaran pipes. History of pipe menampilkan modul tambahan atau dihilangkan pada pipe per version sehingga user dapat melihat perbedaan antara version dan diimplementasikan dalam bentuk drop-down list.

Empirical studies, terdapat 2 pembelajaran user. Pertama, eksplorasi studi melibatkan 9 partisipan dan fokus pada pipe creation dan memahami tugas dalam ketiadaan dan kehadiran versioning support. Kedua, ekperimen yang dikontol, melibatkan 24 partisipan dan fokus pada pipe creation dan debugging tugas dalam ketiadaan dan kehadiran versioning support. Analisis kualitatif penggunaan versioning, investigasi kualitifitas peran dan dampak versioning pada memperbolehkan user untuk penggunaan kembali dan debug program pada sebuah domain web mashup. Secara keseluruhan tujuannya adalah untuk investigasi reasearch bagaimana versioning bermaanfaat bagi programer dalam reduksi hambatan pembelajaran, membantu dalam penggunaan kembali bagian pipe dan memperbaiki kemampuan debug. Proggramming barriers, studi utama end-users membuat mashup untuk observasi tantangan penting yang dihadapi user, dengan menentukan tantangan yang muncul pada Yahoo! Pipes dan memahami kemampuan asal pipe dan kemampuan untuk mengubah ke tipe awal dari pipe yang akan dikurangi tantangannya. Reuse, ditemukan menjadi mekanisme utama bagi end-users untuk membuat program baru,  tetapi reuse bukan tugas yang mudah maka dilakukan investigasi bagaimana end-users menunjukkan penggunaan kembali pada Yahoo! Pipes. Debugging, adalah bagian integral programming. Debugging membutuhkan waktu yang lama dan tidak mudah dan sebaiknya dibantu pada programming lingkungan dengan cara menyusun observasi dengan menggunakan klasifikasi framework dari strategi debugging.


Kesimpulan, artikel ini menunjukkan perluasan Pipes Plumber menjadi Yahoo! Pipes yang menyediakan versioning support untuk programer mashup menggunakan lingkungan. Hasil empirikal studi penggunaan lingkungan pada penciptaan mashup dan tugas debugging menyediakan bukti yang versioning support dapat membantu programer mashup menciptakan dan debug mashup. Analisis kualitatif mengungkapkan tambahan wawasan yang hambatan  alamat versioning dihadapi oleh programer mashup, penggunaan kembali masalah dan masalah debugging.

3 komentar:

  1. Saya setuju dengan ulasan penulis, dan bahasannya juga menarik. Pipes merupakan salah satu lingkungan penciptaan mashup paling populer yang tersedia bagi profesional dan end-user programmer.

    BalasHapus
  2. Ulasan yang cukup menarik tentang pipes dan banyak istilah baru yang saya baca dalam ulasan tersebut

    BalasHapus
  3. Dari ulasan yang disampaikan bisa dimengerti dengan sangat baik, pembaca bisa mengerti fungsi dan manfaat dari Yahoo! Pipes

    BalasHapus