Karena Internet cukup banyak di mana-mana, dapatkah kita sebagai pengembang menganggap bahwa semua pengguna memiliki akses Internet? Sekarang saya tidak bermaksud bahwa kode tersebut ditulis sedemikian rupa sehingga jika tidak ada koneksi maka seluruh program crash karena kurangnya kode kesalahan. Maksud saya adalah, dapatkah program saat ini dikembangkan berdasarkan asumsi bahwa para penggunanya akan selalu memiliki akses ke Internet?
Anda mungkin bertanya, "Apa yang kita dapatkan dengan menganggap itu?" Alasan mengapa saya bertanya adalah karena di Uni kami menggunakan beberapa program yang memerlukan akses Internet karena cara memeriksa lisensi (memeriksa alamat IP Anda - jika itu bukan alamat di kampus, maka Anda Anda tidak diizinkan menggunakannya). Perhatikan bahwa program itu sendiri harus berfungsi dengan baik tanpa akses Internet; itu hanya diperlukan untuk pemeriksaan lisensi.
EDIT: Saya sedang berbicara tentang aplikasi desktop di sini.
EDIT2: Dari beberapa jawaban saya merasa dituduh mengeksploitasi pengguna dengan cara yang tidak etis. Saya tidak mendukung apa yang telah saya jelaskan dalam pertanyaan ini - saya hanya bertanya tentang hal itu karena pengembang dari beberapa program yang kami gunakan di uni telah melakukan ini. Secara pribadi saya pikir melakukan ini jelas-jelas bodoh dan salah.
sumber
Jawaban:
Gagasan buruk, karena tiga alasan. Pertama, meskipun setiap orang memiliki akses Internet hari ini, yang pada dasarnya benar, mereka tidak selalu selalu tersedia setiap saat. Mesin utama saya adalah laptop, dan itu sering terhubung, tetapi tidak ketika saya berada di bus, misalnya.
Kedua, dan jenis yang terkait dengan yang pertama, adalah metode Anda memeriksa. Bagaimana jika seorang siswa mendapatkan salinan program yang sah, meletakkannya di komputer laptopnya, dan kemudian pergi belajar dengan seorang teman yang tinggal di luar kampus? Anda baru saja memperkenalkan heck dari kondisi positif palsu ke dalam pemeriksaan lisensi Anda.
Ketiga, ada masalah etika dengan lisensi memeriksa di tempat pertama. Jika seseorang memilih untuk menempatkan program di komputer mereka, Anda tidak berhak menyebabkan komputer mereka menganggapnya tidak valid. Dalam konteks lain apa pun yang disebut peretasan dan itu dapat membuat Anda terkena segala macam air panas, dan hanya karena undang-undang hak cipta kami telah dibajak oleh pemilik hak cipta untuk membuat pengecualian kasus khusus untuk skenario ini, itu tidak menjadikannya benar .
Menegakkan hukum adalah tugas penegakan hukum, dan orang-orang pribadi sangat tidak dianjurkan untuk mengambil penegakan hukum ke tangan mereka sendiri (main hakim sendiri) karena mereka cenderung melakukan semuanya salah. (Lihat saja Sony rootkit!)
Tindakan terbaik Anda adalah mengasumsikan bahwa pengguna memiliki koneksi Internet yang tersedia untuk fitur yang benar-benar membutuhkannya, tetapi tidak memerlukannya untuk fitur yang dapat bertahan tanpanya, dan tentu saja tidak memerlukannya hanya untuk meyakinkan program yang itu bukan salinan tidak sah!
sumber
Tidak semua pengguna memiliki akses internet yang dapat digunakan. Misalnya, di luar kota kecil dan menengah (dan pinggiran kota) dan kota-kota universitas, AS hampir tidak memiliki infrastruktur broadband. Pengguna kota kecil dan pedesaan umumnya menggunakan satelit atau dialup (dan saluran telepon mereka tidak selalu yang terbaik, sehingga dialup sering di bawah 50k / dtk).
Pengguna dengan akses internet yang baik di rumah / kantor sering beroperasi di tempat lain: taman, pesawat terbang, kafe, tempat konferensi, dll. Yang biasanya kurang memiliki akses internet yang dapat diandalkan.
Banyak pengguna berinvestasi dalam daya cadangan karena suatu alasan: sehingga mereka tidak mengalami waktu henti selama pemadaman. Jika Anda melumpuhkan aplikasi Anda ketika internet turun, Anda baru saja merampok investasi mereka.
Koneksi internet gagal, ISP (atau tempat kerja, atau universitas) memblokir lalu lintas dengan kemauan mereka sendiri, pengguna rumahan salah mengkonfigurasi NAT mereka ... itu benar-benar bodoh untuk membuat buatan (yaitu bukan konsekuensi teknis dari membangun hal itu) titik kegagalan dalam perangkat lunak Anda.
Alasan di atas saja sudah lebih dari cukup untuk tidak menggunakan model DRM "panggilan rumah"; tetapi bahkan jika tidak satupun dari mereka benar, saya masih menyarankan untuk tidak melakukannya karena, seperti yang sudah coba ditunjukkan oleh Mason, secara etis salah mengeksploitasi pengguna Anda dengan cara ini.
Anda tidak bisa memaparkan informasi tentang pengguna Anda hanya untuk kepentingan pikiran Anda sendiri. Anda tidak berhak memantau kapan dan dari mana mereka menggunakan perangkat lunak Anda. Melakukan hal semacam ini melanggar kepercayaan pengguna Anda.
sumber
Tidak!
Semua program harus mempertimbangkan akses ke internet sebagai skenario terbaik, dengan mode mundur ketika komputer mungkin tidak terhubung.
Dengan begitu banyak laptop di luar sana, dan dengan sifat sebagian besar jaringan nirkabel publik untuk tetap membayar, sebagian besar pengguna laptop akan secara teratur mengalami kondisi di mana mereka perlu menggunakan komputer dan program mereka tanpa koneksi ke internet. .
Seperti jawaban lain juga diposting, aman untuk mengasumsikan bahwa komputer akan terhubung di beberapa titik di masa depan. Banyak aplikasi tipe sinkronisasi yang memiliki mode offline berfungsi seperti ini. Tapi, sebagai rasa hormat kepada pengguna, jangan beroperasi dengan cara ini kecuali itu adalah layanan untuk pengguna . Saya tidak berpikir pemeriksaan lisensi termasuk dalam kategori itu.
sumber
Tidak
Tidak termasuk aplikasi web, aplikasi desktop seharusnya tidak menganggap saya memiliki akses internet.
sumber
Versi singkatnya adalah TIDAK, Anda tidak dapat menganggap semua pengguna memiliki akses internet. Seperti yang telah disebutkan orang lain, ada sejumlah besar orang dengan akses internet terbatas atau tidak ada di rumah.
Skema lisensi Anda harus dapat menangani kasus di mana komputer tempat perangkat lunak akan berjalan tidak akan pernah memiliki akses ke internet. Bukan hal yang aneh bagi perusahaan untuk memiliki jaringan yang terisolasi dari internet (terutama ketika berhadapan dengan masalah keamanan). Ini terutama benar jika Anda ingin dapat menjual perangkat lunak Anda kepada agen pemerintah. Sisi lain adalah bagaimana Anda menangani pembaruan? Jika Anda ingin menjual kepada perusahaan / pemerintah Anda harus mendukung peluncuran Perusahaan dari pembaruan.
sumber
Ya dalam arti bahwa kebanyakan orang yang bekerja dengan komputer dapat mengakses koneksi internet (jadi mungkin tidak masalah untuk mendistribusikan perbaikan bug melalui manajer paket atau FTP atau yang serupa).
Tidak dalam arti bahwa kebanyakan orang tidak selalu memiliki akses yang konsisten, andal, berkinerja ke internet sepanjang hari (jadi dengan asumsi bahwa setiap pengguna Anda dapat menarik 20mb / s secara konsisten mungkin merupakan ide yang buruk. Orang juga secara berkala menggunakan bus dan pesawat terbang di mana Anda dijamin tidak memiliki konektivitas).
sumber
Saya pikir masuk akal untuk mengasumsikan bahwa semua pengguna akan memiliki akses internet sebagian besar waktu , atau setidaknya pada waktu pemasangan. Namun, jika saya membawa laptop saya di pesawat, ke kabin di hutan, atau di kapal di laut, saya akan mengharapkan apa pun yang jelas tidak memerlukan akses internet untuk bekerja dengan baik.
sumber
Jawabannya tentu saja, itu tergantung. Jika Anda membangun perangkat lunak untuk lantai pabrik ada kemungkinan mereka tidak akan memiliki akses internet. Untuk aplikasi konsumen kemungkinan besar mereka akan melakukannya.
sumber
Mungkin tidak diinginkan memiliki koneksi internet, seperti dalam kasus pengguna yang menggunakan Sistem Manajemen Pegadaian saya (aplikasi desktop berbasis RDBMS). Mereka hanya tidak percaya internet terhubung ke komputer yang sama yang menyimpan semua informasi pribadi pelanggan mereka dan transaksi pegadaian. Jika mereka ingin mengakses web, mereka menggunakan komputer terpisah yang tidak memiliki info pribadi di dalamnya!
sumber
Server lisensi mengambang adalah konsep serupa. Saya menggunakan kompiler pada AIX IBM, yang terus-menerus diperiksa terhadap server lisensi. Karena itu lambat dan kami akhirnya porting kode ke gcc.
Ini rapuh dan menjengkelkan. Saya pikir itu masuk akal untuk perangkat lunak yang sangat mahal oleh perusahaan yang hampir monopolistik.
sumber