My recommendation would be to start with a Pimsleur course. Don't worry about writing and vocabulary at first, just get a feel for the language. With Arabic, you have a different alphabet to learn - do that before you try learning written vocabulary, or you will be forever hamstrung by romanized transliteration messing with your pronunciation. For vocabulary, spaced repetition is the way to go. There are lots of sites and systems for this. Go with the ones that give you a high level of control over what you are studying, and train only production (i.e. going from English to Arabic), recognition will take care of itself. For grammar, here's a cute idea I had some success with in Japanese which has highly regular grammar (I don't know about Arabic): as you learn the grammar rules, write code to produce them. E.g. write a function to conjugate the past tense. When it's working, you have the basis of a game to test yourself. Use your powers of abstraction to bypass rote memorization.
Don't be down about the fact you don't manage to keep studying religiously. As long as you get some studying done, no matter how little, you are making progress. There is a lot of snake oil out there - if you find something isn't fun or isn't working for you, don't try and force yourself. Most of us learnt languages the wrong way in school, and learned a lot of bad study habits and worst of all, got the idea that it's supposed to be hard and take a long time. Not true - use your experience of learning programming as a template for what your experience of learning a real language should be like. (assuming you are a programmer, apologies if not)