"Letter of Heroes" in a Samsung Galaxy Tab 2 - Showing Captain America when you pressed the letter "K" (because we read it as Kapten Amerika in Indonesia tongue)

Previously we already have a nice installation of Kivy whether it sit in our development machine or within a pre-configured Linux Ubuntu Quantal VirtualBox machine pre-built with Python for Android environment, to ease the process of packaging Kivy into Android APK. After playing around with Kivy examples code, I found that Python programmers would not have any difficulty in doing mobile application Android development. "Why?", well, because, it simply Python! It just get runs on Android using Python for Android. The core of the problem may lies in the Android integration part of Kivy : e.g. accessing camera, using GPS, Accelerometer, etc. But thanks to Pyjnius, that issues seems to simply fade away. Sure more work must be done before a unifying API for both iOS/Android can be achieved, but from what I see from Kivy progress in the recent years, it looks very good! As for iOS implementation itself, Kivy have Pyobjus that making it easier to access iOS API. Things are pretty interesting there...

In this article we are going to develop our own Python application using Kivy and deploy it in a Samsung Galaxy Tab 2 device. Lets have a look!

As with any boys, my 3 years son is very fond of any fictional Superhero characters : whether it's coming from Marvel or DC universe (or else for that matter). Actually, I highly responsible for this : I intentionally introduce them to it by watching superhero movies every Saturday night. He loves all of them!

After he already love them, now is the perfect time to use that love, in encouraging him learning how to read. In this article, I am going to guide you on developing a teaching aid for kids in learning alphabet using Kivy. Let see how well Kivy can support us in obtaining our goal!

Okay, for a quick background, you may skim on my previous article : How to Choose The Best Python 2D Game Engine?. I pointed out, "Although currently I am working with the Cocos2D python version, I am flirting Cocos2d-x due to its wider target platform". And my experience on working with Cocos2D Python was really impressive, but sadly .. it didn't satisfy my requirement. I need to develop an isometric game engine for my current Python teaching aid for kids, ProgrammedMe. And the current Cocos2D didn't support isometric map type that I longed for. I have tried to implement it actually, but as the forum itself is not that active (or may I say rather freeze?), I don't think I want to pursue my exploration in the Cocos2d Python field. Another reason is also about Cocos2D that only targeting desktop platform, which is a deal breaker for me (would love to develop for Android/iOS!). So, a natural direction would be to explore Cocos2D-x and try my best to implement a Python binding for it. Once it's settled, I can start developing ProgrammedMe using the aforementioned binding, named PyCocos2d-x.

A very common question for newcomer when entering IT software development industry is, "Which programming language should I learn, or focus on?". Most of the time, if not all, you will get answer resemblance to, "Depend on what application you would like to built". It's true. First, you got to decide what area of software development that you really have the passion on. Or, what kind of a application that you like to build : Game? e-Commerce? Education? You can have a look at software categorization listed in Wikipedia for this. For example, once you know that you have the passion to develop your own video game, the next logical step is to do some research in what programming language does your game can be programmed with, or to be exact , what library/framework you have to use?

Answering the last question may seems rather difficult. Why? Simply because it's a moving target. An answer for this question last year, may become obsolete in these recent days. This is the nature of software industry itself : fast paced with sometimes unpredictable momentum in the near future that will change the fate of a technology mercilessly. You simply can not bet for specific technology/platform to exist forever. You got to prepare for the worst.

Figure 1 - From this Panda Tutorial, we can create an attractive Python teaching aid for the kids

To be honest, I failed in my first CoderDojo opening. Sigh.. that's the sad truth.

Yeah, the kids got excited about seeing that they can calculate area of triangle and print the result. Yeiy! But.. what's next? I kinda feeling dumb trying to explain those marvelous Python concept using just a plain black BASH console. I know I really love console (or DOS Prompt to be exact). But as I remember it, at that time of my early introduction to computer programming (circa '95) , there are not much left to explore other than console application. Thinking it further, it's not the console actually that get me excited. But its the game! I love programming because I love seeing I can programmed .. Digger using QuickBasic.