Saya paling tidak suka mengerjakan hal-hal yang berulang atau yang langkahnya panjang jika melibatkan tablet, ponsel atau apapun yang melibatkan komputer. Tool otomasi iOS masih cukup terbatas dibandingkan dengan PC dan Android (kecuali jika dijailbreak). Walau demikian ada beberapa aplikasi (Shortcuts, Pythonista, dan iSH) yang bisa mengotomasi cukup banyak hal di iOS/iPadOS tanpa perlu jailbreak.
Contents
Shortcuts
Shortcuts merupakan aplikasi bawaan di iPhone sejak iOS 13, dan juga tersedia untuk iPadOS dan macOS. Kita bisa menyusun perintah-perintah yang akan dikerjakan oleh sebuah shortcut ketika ditekan. Bentuk shortcut yang paling sederhana adalah meluncurkan aplikasi dengan parameter tertentu.
Beberapa shortcut yang saya pakai misalnya:
- Membersihkan clipboard (misalnya setelah copy paste nomor rekening, pasword, atau informasi sensitif lain)
- Membuka Google Map untuk pulang ke rumah
- Membuka Google Translate mode kamera untuk menerjemahkan dari Thai ke Inggris
- Memulai hotspot Wifi (menyalakan mode data, menyalakan Wifi hotspot), dan mematikan hotspot
Sebenarnya ada banyak Shortcut buatan orang lain yang bisa diinstall, tapi kebanyakan menurut saya kurang berguna. Pertama: shortcut sangat lambat, dan kedua: lebih mudah dilakukan dengan program atau website khusus, dan ketiga: kebanyakan shortcut ini akhirnya memanggil website/API external.
Ada bagian Automation di dalam aplikasi Shortcuts. Ini bisa digunakan untuk menjalankan aksi secara otomatis, misalnya jika aplikasi Youtube dibuka, maka set volume menjadi 50%, dan ketika Youtube ditutup maka turunkan jadi 10%.Jika kita punya stiker NFC, maka ini bisa dipakai untuk automation. Jadi cukup dengan tap NFC, kita bisa menjalankan aksi.
Kelemahannya Automation: banyak aksi yang tidak benar-benar otomatis. Misalnya aksi join WIFI perlu konfirmasi. Satu aksi yang terpikir oleh saya adalah: set agar ketika join Wifi kantor agar otomatis mengirim pesan bahwa saya sudah sampai kantor. Sayangnya ini tidak bisa otomatis mengirimkan pesan, tapi akan muncul popup apakah kita ingin menjalankan aksi shortcut ini.
Menurut saya hal tersebut percuma karena saya tetap harus membuka iPhone dan menekan Yes sebelum pesannya dikirimkan. Akan lebih mudah membuat shortcut “Sampai kantor” yang melakukan aksi yang sama, dan kita tekan saja manual ketika sampai kantor.
Shortcuts + Widgets
Kita bisa membuat koleksi shortcuts dalam sebuah folder, lalu menampilkan folder ini sebagai Widgets. Jadi untuk menjalankan shortcut, kita cukup menekan satu tombol besar di homescreen.
Shortcuts + Siri
Dengan mengaktifkan hey siri, kita bisa mengaktifkan shortcut dengan “hey siri” diikuti nama shortcut. Misalnya jika shortcut membuka Google map ke rumah kita beri nama “let’s go home”, maka kita bisa menjalankan shortcutnya dengan: “hey siri, let’s go home”.
Aplikasi resmi ChatGPT bisa dipakai melalui shortcut, jadi kita bisa membuat shortcut agar bisa berkata “hey siri, Quick question”, lalu diteruskan dengan pertanyaan kita. Jawaban ChatGPT biasanya lebih pintar dan lebih berguna dari jawaban default Siri.
Pythonista
Sangat sulit untuk membuat kode yang kompleks dengan Shortcuts. Tidak ada version management, undo dan redo sulit, tipe data kompleks sulit dibuat. Akan lebih mudah membuat kode kompleks dalam bahasa pemrograman seperti Python.
Ada banyak aplikasi untuk coding, tapi yang saya pilih adalah aplikasi berbayar: Pythonista. Aplikasi Pythonista ini fungsi utamanya adalah menjalankan skrip Python, tapi integrasinya dengan iOS sangat baik. Aplikasi ini bisa menerima share teks/dokumen dari aplikasi lain adn memiliki Widget, serta terintegrasi dengan aplikasi Shortcuts.
Pythonista juga memiliki custom keyboard yang bisa dipakai di aplikasi lain (bukan cuma di Pythonista), dari keyboard ini kita bisa menjalankan berbagai skrip Python langsung dari keyboardnya. Skripnya bisa memproses teks yang sedang dipilih, atau teks dari clipboard.
Membuat skrip di iPhone tentunya tidak fun, jadi jika saya butuh skrip kecil, saya akan minta ChatGPT menuliskan fungsinya untuk saya. Contoh kecil yang baru-baru ini saya lakukan: saya sering sekali perlu menghapus parameter tracking dari URL sebelum dikirim. Saya meminta ChatGPT bisa membuatkan fungsi Python untuk membersihkan URL dari tracking parameter, dan ini tinggal dipaste di Pythoninsta.
Walau bisa menyelesaikan masalah yang tidak bisa dikerjakan oleh Shortcuts, kelemahan Pythonista adalah hanya bisa menjalankan skrip Python. Kadang sudah ada banyak program command line yang bisa dipakai, contohnya: konversi dan manipulasi gambar mudah dilakukan dengan ImageMagick, tapi relatif lebih sulit di Python.
iSH
iSH merupakan aplikasi yang fiturnya mendekati Termux di Android: bisa digunakan sebagai shell, dan bisa ditambahi program command line. iSH agak lambat (meski di iPhone terbaru) karena mengemulasikan x86. Fiturnya juga terbatas karena berbagai batasan iOS.
Di iSH Kita bisa menginstall banyak program command line, termasuk juga compiler Go dan Rust. Tool seperti qpdf dan ImageMagick tersedia, jadi bisa dipakai untuk otomasi manipulasi PDF dan file gambar.
SSH server bisa dijalankan dengan mengikuti petunjuk dari sini. Menurut saya agak ajaib bahwa iOS mengijinkan sebuah aplikasi normal untuk melakukan binding terhadap port 22. Defaultnya iSH akan dikill jika idle dan iOS masuk standby, untuk mengakalinya, kita bisa memakai solusi dari: https://github.com/ish-app/ish/issues/249, yaitu dengan:
cat /dev/location > /dev/null &
iSH bisa mengakses folder, jadi berguna untuk memanipulasi file hasil download. Untuk mengakses folder:
mount -t ios sembarang /mnt
Akan muncul popup untuk memilih folder yang ingin kita akses. Setelah itu kita bisa mengakses file-file di direktori yang terpilih.
Penutup
Sebenarnya masih banyak program lain yang bisa menjadi alternatif, atau pelengkap, misalnya Scriptable yang bisa dipakai untuk otomasi dengan menulis kode JavaScript. Tapi 3 program yang saya sebutkan di atas sudah cukup untuk saya.
Sering kali mengerjakan sesuatu di komputer (atau bahkan di Android) jauh lebih mudah, tapi kadang tetap saya kerjakan di iOS karena saya suka mengakali berbagai batasan sebuah device.