"Sepertinya saya harus pergi berbaring sebentar."
(twitter.com/multikev)- Kesan setelah mencoba demo Make Real dari TLDraw
- Alat yang menggunakan AI untuk mengubah gambar menjadi perangkat lunak yang dapat dijalankan
- Menggunakan OpenAI's GPT-4V untuk mengonversi gambar vektor menjadi HTML/TailWind CSS dan Javascript
1 komentar
Komentar Hacker News
Saya Steve dari tldraw. Maaf, ini adalah proyek mainan dengan pola keamanan yang buruk. Kalau ingin menjalankannya secara lokal atau melihat source code-nya, ada di sini: https://github.com/tldraw/draw-a-ui
Contoh lain bisa dilihat di https://twitter.com/tldraw. Saya bisa menjawab pertanyaan tentang tldraw atau proyek ini. Ini bukan sesuatu yang akan menghilangkan pekerjaan orang, tapi sangat menyenangkan untuk dimainkan, dan ada contoh yang lebih kompleks di sini: https://twitter.com/tldraw/status/1725083976392437894
Ada juga license server yang baru saja dirilis dengan lisensi MIT. Ditulis dengan Elixir dan menjalankan https://go.robocoder.app. Jika butuh bantuan untuk setup, silakan hubungi saya: https://github.com/emcmanus/robocoder-server/
Saya menemukan jawabannya di README GitHub. Isinya: “untuk memakai API key sendiri, Anda memerlukan akses usage tier 1, dan tier saat ini serta cara menaikkannya bisa dilihat di pengaturan OpenAI”
System prompt di repositorinya seperti ini:
Saya kurang paham kenapa "creative license" disebut di sini. Untuk setiap generasi, prompt pengguna adalah sebagai berikut:
https://github.com/tldraw/draw-a-ui/blob/8a889bf36afc06fbb0c...
Kelihatannya cukup sederhana untuk mengambil screenshot kanvas tldraw biasa dan mengirimkannya ke API bersama prompt ini agar bisa dijalankan “secara privat”
Saya memasukkan model yang berasal dari pertanyaan wawancara Facebook. Isinya dua daftar checkbox, dan dua tombol untuk memindahkan item yang dicentang di antara keduanya, dan hasilnya berhasil: https://gist.github.com/milesrichardson/2a2f77d4bfb19c3b28dc...
toList.appendChild(item.closest('li'));akan memindahkan item tersebut. Selalu belajar hal baru setiap hariTanpa pemberitahuan apa pun, pengguna tidak bisa tahu apakah benar-benar terjadi sesuatu ketika tombol ditekan. Halaman uji: https://output.jsbin.com/jixoqur/quiet
Demo-demo terbaru seperti ini menunjukkan betapa mengesankannya kemajuan machine learning/AI belakangan ini, sekaligus memperlihatkan betapa jutaan developer di seluruh dunia terus mengimplementasikan ulang pekerjaan yang sangat repetitif dan kurang orisinal
Kebanyakan layar UI bisa dijelaskan dengan tepat hanya dalam satu atau dua paragraf, jadi tidak aneh jika itu bisa direpresentasikan cukup rinci dalam vektor embedding yang relatif kecil
Orang nonteknis yang belum pernah benar-benar memakai AI secara intens dalam pekerjaan nyata sangat rentan terhadap hal ini. Orang yang mengalaminya langsung biasanya melihatnya dengan lebih bernuansa. AI sangat berguna, tetapi juga sering salah, dan untuk mendapatkan hasil setingkat produksi perlu dipoles dengan teliti. Sebagai seorang optimis AI, saya tetap melihat nilainya nyata dan demo yang mengesankan memang menunjukkan arah yang akan kita tuju, tetapi hasil rata-ratanya masih butuh waktu untuk menyamai ekspektasi yang dibesar-besarkan
Dalam demo ini, secara harfiah hanya ada dua slider yang mengatur dua properti CSS, jadi tidak banyak informasi dalam spesifikasi UI-nya. Jika ada bahasa spesifikasi UI yang tepat, ini mungkin hanya akan menjadi kode tiga baris. Kesulitannya muncul karena harus mengelola boilerplate UI web
Yang aneh, di HN orang mudah menyadari keterbatasan skalabilitas dan maintainability ketika membahas platform no-code tradisional, tetapi begitu ada AI, tiba-tiba seolah masalah-masalah itu terselesaikan dan kita tidak perlu mengkhawatirkan spaghetti yang dimuntahkan oleh kotak hitam
Yang sebenarnya kita inginkan adalah memisahkan fungsi dan presentasi. Ironisnya, web HTML murni tahun 1996 justru seperti itu. Ada sesuatu yang salah secara mengerikan dengan cara yang nyaris tak terbayangkan bodohnya, dan tak ada seorang pun yang membuatnya lebih baik. Yang tersisa malah hanya efek bayangan dan flexbox internal semacam itu
Sebagian besar pekerjaan kantoran adalah mengulang hal yang sama terus-menerus, dan di banyak perusahaan orang yang berbeda sering mengulang pekerjaan yang pada dasarnya sama
Ini terlihat seperti alat yang membuat desainer UI, atau mungkin product owner, tampak cerdas dan kompeten. Tetapi pekerjaan yang sesungguhnya akan tetap jatuh ke programmer seperti sekarang
Desainer UI mungkin bisa memberikan “demo”, tetapi bagaimana fungsi dasar ini akan terhubung dengan bagian lain dari aplikasi? Tidak akan bisa
Bahkan sebelum GPT, sudah ada argumen bahwa prototipe atau mockup yang sangat awal harus dibuat dengan tingkat penyelesaian visual yang rendah, sebanding dengan level fungsi internalnya. Prototipe UI yang cantik dan tampak “berfungsi”, meskipun sudah dijelaskan dengan jelas, tetap menciptakan ekspektasi yang tidak realistis dan meningkatkan kemungkinan proto-duction, yaitu prototipe yang berubah langsung menjadi produksi
Saya sudah beberapa kali melihat proyek di mana rancangan sistem yang buruk dibebankan kepada engineer karena adanya batasan dari desain Figma yang sudah disetujui seorang eksekutif. Tentu, organisasi seperti itu punya masalah yang lebih besar juga, tetapi mockup fidelity tinggi yang mudah dibuat memperparah masalah ini dibanding wireframe
Kalau mau dibuat lebih bagus, tambahkan juga "it's very important for my career"
Para developer yang membuat demo memperbesar dan memutar kotak sekarang tampaknya akan kehilangan pekerjaan
Saat berdiskusi dengan klien tentang cara mengintegrasikan perangkat lunak kami ke perangkat lunak mereka, klien mengirimkan screenshot form utama
Saya memasukkan screenshot itu ke ChatGPT dan berkata, “buatkan form React seperti ini dengan Bootstrap.” Setelah beberapa penyesuaian saya sambungkan perangkat lunak saya, dan beberapa jam kemudian klien terkejut melihat proof of concept bahwa sistem bisa diintegrasikan secepat itu. Saat ada masalah layout CSS dalam pengembangan web, saya kadang mengunggah screenshot ke ChatGPT dan menanyakan cara menyelesaikannya, dan demo di tweet itu juga tampak sangat mirip
Terus bermunculan framework yang hebat untuk use case mencolok tetapi berlebihan untuk tugas-tugas umum dan mendasar. Sesekali memang ada pengecualian, tetapi kebanyakan developer web tidak menyukai hal seperti itu. Tidak terlihat keren di CV, dan jujur saja, siapa yang ingin menghabiskan seluruh kariernya hanya membuat form web
Pada akhirnya ini seperti kura-kura di atas kura-kura :+)
Untuk coding, saya lebih sering memakainya daripada ChatGPT untuk memproses data dengan cepat lewat command-line pipe atau skrip Bash. Jika saya memberinya output perintah lalu meminta Bash untuk formatting, agregasi, pengurutan, atau ekstraksi yang saya inginkan, hal-hal yang tadinya tidak akan saya lakukan, seperti debugging atau memeriksa hipotesis, jadi lebih mudah. Sebenarnya bisa juga dilakukan secara manual, tetapi lebih lambat dan untuk mengingat opsi serta argumennya biasanya perlu mencari di web atau membuka man page. Untuk kode, saya terutama memakai GH Copilot
Silakan sebut saya skeptis, tetapi saya tidak percaya pada masa depan solusi no-code. Anda tetap harus menyelaraskan tombol pada resolusi perangkat kecil, menyisakan ruang agar tampil bagus dalam bahasa lain, dan masih ada berbagai kebutuhan lain yang terus muncul
Paling-paling, ini hanya akan membantu membuat aplikasi lebih cepat dengan bahasa yang lebih terabstraksi. Ini mungkin cocok untuk hal yang sangat dasar dan umum seperti tic-tac-toe, tetapi tidak cocok untuk pekerjaan yang orisinal
Bayangkan puluhan orang yang hanya sedikit paham teknologi membuat sketsa lalu menekan tombol “tolong buatkan ini sungguhan” untuk menambahkan fitur. Masing-masing menghasilkan ratusan baris kode. Di akhir hari, seseorang harus memahami output itu, tetapi karena output-nya non-deterministik, hanya itu yang tersisa bagi kita
Pada saat yang sama, orang-orang baru yang tidak pernah belajar atau tidak ingin belajar bernyanyi dengan nada yang tepat akan menciptakan genre musik yang sepenuhnya baru dan pop arus utama dengan usaha yang jauh lebih sedikit. Para ahli juga sesekali akan memakainya untuk memperkuat sebagian workflow, meningkatkan kualitas akhir, dan mempercepat pekerjaan
Rasanya alat seperti Canva dan Figma akan secara agresif mengadopsi fitur seperti ini dan sangat meningkatkan wireframe serta demo berfidelitas tinggi
Squarespace, Wix, dan lainnya sudah mengambil bagian bawah pasar, dan kalau tidak, outsourcing ke India yang akan mengambilnya
Ini adalah evolusi alami dari konsep yang sama. Jika saya adalah manajer produk untuk website builder, saya akan langsung mengejar integrasi AI builder seperti ini. Ini jelas tidak akan berhasil untuk pekerjaan bisnis kompleks yang definisinya pun belum jelas, tetapi untuk kalkulator biaya bagi bisnis fotografi misalnya, ini mungkin bisa membuatnya dengan baik
Perangkat lunak workflow proses bisnis cukup populer. Ada banyak aplikasi tempat orang melakukan hal serupa lewat drag-and-drop atau editor widget interaktif, dan bisa menangani form yang kompleks, relasi parent-child, serta transisi state. Dengan sesuatu seperti GPT Vision, Anda bisa melewati drag-and-drop widget dan memakai alat menggambar yang lebih bebas atau sketsa tangan. Contoh paling populer saat ini mungkin Notion, dan sudah ada contoh yang lebih kompleks jauh sebelum itu
Sekarang saya merasa tua. Rasanya beberapa dekade lalu kita sudah bisa melakukan hal yang hampir sama secepat ini dengan VB atau Delphi. Hanya saja hasilnya sedikit lebih deterministik, alih-alih alatnya menyimpulkan dari nama label
Kita dulu sebenarnya sudah punya hal seperti ini, dan melupakannya karena ternyata kita bisa melakukannya tanpa mendorong semuanya ke browser dan tanpa memakai komputasi masif dari model AI generatif. Rasanya seperti orang tua yang berteriak ke awan
Tentu saja kode Dreamweaver jelek dan nyaris tak bisa dipakai, dan kode hasil AI kadang tidak seburuk itu. Meski begitu, rasanya kita dulu sudah cukup dekat dengan posisi sekarang
VB adalah alat yang sangat opinionated, dan hanya membuat UI bergaya Windows native. Tidak ada orang yang mengambil mockup acak dari desainer lalu mereplikasi tampilan dan nuansa yang sepenuhnya dikustomisasi sampai tingkat piksel di VB. Saat ini, GUI kebanyakan produk adalah bagian dari merek. Baik atau buruk, semua perusahaan menginginkan look-and-feel dan perilaku UI yang unik. Karena itu, alat untuk membuatnya harus jauh lebih kompleks. Anda bisa mereproduksi VB di browser, dan banyak orang memang sudah membuat sesuatu yang mirip, tetapi itu tidak banyak dipakai dalam pengembangan produk karena perusahaan tidak menginginkan UI yang membosankan dan generik
Pada dasarnya, cara kerjanya adalah mengirim screenshot diagram ke GPT-4 lalu berkata, “tolong implementasikan ini”
Sepuluh tahun setelah itu, ada sesuatu bernama Visix Vibe yang selama sekitar satu atau dua tahun menawarkan hal yang sama untuk Java, yang saat itu masih bahasa yang relatif baru. Setiap beberapa tahun, kira-kira setiap 4–5 tahun atau 10 tahun sekali, seseorang ingin membuat semua kompleksitas menghilang. Namun pada akhirnya, mereka malah membuat sistem operasi
Dan itu benar-benar berfungsi dengan baik, berinteraksi dengan sisa toolkit sebagaimana mestinya, serta internasionalisasi dan aksesibilitasnya juga bekerja dengan konsisten. Tidak ada alasan HTML tidak bisa melakukan jauh lebih banyak hanya dengan bawaan dasarnya, dan jika demikian, itu bisa mengurangi banyak sekali waktu pengembang dan frustrasi pengguna setiap tahun. Hanya saja, itu tidak dilakukan