Quranesia: Beautiful quran for mac

Quran for mac

Searching Quran on the Mac App Store will only give you 1 page as there are no other choices to download. The top downloads Quran app mostly made with web app, indicated how slow they are and not responsive enough to scroll. Based on this thing Rimbunesia made a new Quran app for mac, we called it Quranesia.

What makes Quranesia special?

Quranesia is native

By native means the app is fast. Scrolling the ayats is fast unlike many other apps on the mac app store. The only problem is the Quran data is quite large, it consist from 6236 ayats and 114 surah, and it need not more than 1 minute to install the data to the app.

Quran text sizing

I am sure there are someone out there hoping to have a bigger text to read, so instead to make it fix size, I am putting a configuration to make it bigger, or smaller. Depending on how the user wanted it to be.

Quran audio

Quranesia has 19 reciters, and could be added more from the server-side. The only requirement is, the reciter has to have an audio on each ayat separated file by file. Because with the Audio recite, Quranesia highlighted the ayats that currently being played.

89 Translations

Albanian, Arabic, Azerbaijani, Bengali, Czech, Dutch, English, French, German, Housa, Hindi, Indonesian, Italian, Japanese, Korean, Kurdish, Malaysia, Malayalam, Maldivian, Norwegia, Persian, Polish, Portugeese, Romanian, Russian, Sindhi, Somali, Spanish, Swahili, Swedish, Tajik, Tamil, Tatar, Thai, Turkish, Uighur, Urdu, Uzbek. See? most of the languages available in the world.

Download the Quran app for mac now! We are planning to make the free version with limited feature as well.

Facebook SDK for iOS now using Safari Web Controller to authenticate

Facebook SDK is one of the worst SDK I have implemented. They constantly changing their APIs on each version, and its driving me nuts as developer.

When you are using iOS9 with SDK 4.6+, you are no longer get fast-app switching. It will open the Safari instead. The bad thing with this behaviour is, user will need to enter his username and password again. This is one other reason not to use Facebook SDK anymore in my next project. Unless the client asked it.

I am not sure why we should put few of their URL Schemes on our plist file if they couldn’t use the fast-app switching. You may need to read this in detail on this Stackoverflow post.

Bye-bye Facebook SDK!

Seminggu di Kuwait

Kemarin saya baru sampe lagi di Malang, setelah kira-kira seminggu berada di Kuwait untuk mengurus ijin tinggal dan kerja keras. Ini adalah kunjungan kedua saya setelah resmi keluar dari Kuwait dan memulai hidup di Indonesia.

Nah loh?

Jadi menurut hukum Kuwait, ijin tinggal yang ada akan otomatis kadaluarsa ketika orang yang mempunyai ijin tinggal meninggalkan tanah Kuwait lebih dari 6 bulan terhitung sejak dia keluar. Dengan kata lain, untuk tetap mempunyai ijin tinggal di sana, saya harus hadir di Kuwait tiap 6 bulan sekali.

Dan kenapa saya masih saja kembali ke sana ketika sudah balik ke Indonesia? Yang ini panjang ceritanya. Dan tidak akan saya bahas di sini, karena judulnya adalah Seminggu di Kuwait. Hehe.

Yang berubah?

Tidak banyak perubahan yang bisa saya lihat. Tapi ada satu mall baru yang sudah selesai dan saya punya kesempatan melihat-lihat. Tidak ada yang menarik, semua tampak seperti mall seperti biasa. Kebiasaan dan perilaku orang arab juga sama saja. Tidak ada yang berubah sama sekali. Saya sungguh harus bersyukur tinggal di Malang.

Ada satu perubahan yang jelas kentara pada saya sendiri. Kini bahasa inggris saya mulai pudar karena jarang terpakai. Walaupun masih bisa ngomong dan masih lumayan lancar, tapi lebih sering keseleo. Ngomong masih tercampur dengan bahasa Indonesia, walaupun sedikit sekali. Cukup mengkhawatirkan, tapi gak apa-apalah.

Harga-harga?

Tinggal di Malang ini benar-benar membuat semua harga di luar Malang jauh terlihat lebih mahal. Ketika dulu saya tinggal di Kuwait dan pergi ke Istanbul dan Seoul, saya berpikir semua harga di sana terlihat lebih murah.

Dan selama setahun tinggal di Malang, saya melihat harga-hara di Kuwait sudah tidak lagi bersahabat dengan hati saya. Jangankan Kuwait yang sudah di luar negeri sana, dibanding dengan Jakarta saja saya sudah mikir beberapa kali.

Kesimpulannya, bersyukur saja saya tinggal di Malang. Tiap pagi bisa menikmati udara pagi yang sejuk sambil lari-lari cari keringat. Malamnya bisa keliling naik sepeda sekadar membeli sesuatu dengan harga yang sangat bersahabat.

Teringat ibu saya bertanya beberapa hari lalu, enak mana, tinggal di Malang apa Kuwait? Tentu saja, jawabannya enak di Malang!

Facebook Graph no longer give you friend list

Since the Graph API 2.0, you will no longer get the friend list of the user. For developer like me, this is bad move from Facebook. Sending me/friends to Graph API will give you a an empty data.

So, move on Developers, no need to use Facebook Connect anymore. Use Twitter or Instagram instead.

Twitter login on iOS with Social Framework

There are many library to get authentication with Twitter. Most of them using oAuth, and others don’t provide the easy access. As you might know, Social Framework support Twitter since iOS 5. So its been 4 major version update and I think we should use that instead.

In short, I couldn’t find any on github and then I created for my self. It has been used and working as expected. The library is self-explaning, you will have no worry using it. Download the library on my Github profile and follow these steps below.

Put these below on your .m file:

#import "DTTwitterLogin.h"

Then when the user clicked on some button, put these below:

[DTTwitterLogin loginWithCompletion:^(NSDictionary *twitterDetail, ACAccount *twitterAccount) {
    
    [DTTwitterLogin requestLoginWithAccount:twitterAccount completionBlock:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
        
        dispatch_sync(dispatch_get_main_queue(), ^{
            
            if (error == nil) {
                NSError *jsonError;
                NSDictionary *item = [NSJSONSerialization JSONObjectWithData:responseData
                                                                     options:NSJSONReadingMutableLeaves
                                                                       error:&jsonError];
                NSLog(@"Item: %@", item);
            }
            
        });
        
    }];
    
} andError:^(NSError *error) {
    NSLog(@"Error: %@", error);
}];

If you have multiple account, the library will ask a user which account he wanted to use. Then it will ask Twitter API to get the details of that user.

Happy coding!