Python on your Mobile Phone(advanced concepts)

Akshay Arora (~akshayaurora)




The main objective would be to ::

Showcase advanced features and good practices for mobile development using Python(Kivy Framework).

We will write a application that Uses all the hardware features of your mobile::

  • Accelerometer, Camera (taking picture), GPS, Notifications
  • Text to speech, Email (open mail client), Vibrator
  • Sms (send messages), orientation
  • Compass, Unique ID (IMEI or SN), Gyroscope, Battery

We will extend this application to takes advantage of some of these features to modify it's interface and behavior on the fly. We will try to handle blocking operations using Threads/Subprocess/Service, to keep the app responsive.

We will see how easy it is to use EffectWidget taking advantage of your mobile GPU to add shaders to your application.

We will see where to use kv design language for UI design and where to avoid it for repetitive tasks. How to incorporate a responsive UI design in the app based on which device it is running on.

We will showcase how the same application can be deployed to linux, windows, android, iOS, Mac without the user having to change anything.


This work shop is for intermediate developers willing to learn advanced concepts for Mobile Development. You are expected to be familiar with python.

You are expected to be familiar with some basic concepts of kivy like it's property system and kv language.

You can go through some basic tutorials of python and kivy mentioned here ::

This tutorial is supposed to be a second step after the basic first steps you have taken into kivy and mobile development.

I'd suggest people to go through my earlier tutorial which has it's slides up here

Hardware/Software Required:

One fairly recent Laptop, anything with a gpu that supports OpenGL ES 2.0 or above.

Even integrated Intel gpus from the last 4+ years usually support this feature.

Android device only if you want to test and deploy to a mobile.

People interested in testing on iOS can bring a their iOS device. iOS devices will only work if you have a developer license from Apple and a mac device that is running latest Xcode.

Willingness to learn and a ability to laugh on my bad jokes.

We will be providing a VirtualBox vm using linux in usb pen drives. This will have kivy and it’s sister projects pre-installed for allowing you to follow the tutorials and to easily deploy to your devices.

Content URLs:

The presentation will keep evolving till a week before the actual presentation.

Speaker Info:

I have been working with linux, open source off and on since the last 13+ years, I only got into contributing back open source with kivy since the last 4+ years.

I am one of the core devs at kivy You can take a look at my public work here

The project has a amazing open community always open to help and to embrace new comers. Don't hesitate to come join us at #kivy on

I have been a mentor for gsoc projects around kivy for the last three years, this being my fourth year.

Professionally I have been freelancing around mobile development and other projects around and using kivy for the last few years.

Speaker Links:

I held a well received workshop last year on pycon 2014 the presentation link is Unfortunately they had issues while setting up video recording the day I held the workshop; so there is no video of it.

My open source contributions can be looked at using my github account

Section: Others
Type: Workshops
Target Audience: Intermediate
Last Updated:

Just in case this was not clear.

This proposal is a second step to the one I did last year, It's supposed to teach advanced concepts and design patterns to be used in mobile development.

The slides are right now a copy of what we had last year with minor changes. I am adding new content every day to it to include advanced concepts inside it instead of the old content.

I have the basic outline of the presentation mentioned in the proposal above. The slides will be updated based on that.

Akshay Arora (~akshayaurora)

it would be really great if we could do a meetup in Bangalore. I am sure there are lot of developers willing to use Kivy. I am one of them. I missed last year's con. I will try to go through the docs link that you have added. And thanks, this is one of my interest since java is not in cup.

rakesh manohar (~rakesh)

Hi Rakesh,

I would love to do a workshop in Bangalore in one of your meet-ups. Btw for people who didn't get to be a part of the original workshop, I would be available the entire day of the workshop. We have a section for kivy in dev sprints if you want to come over and try to follow the old workshop material yourself I will be available to help out if you have any problems.

Akshay Arora (~akshayaurora)

That's great Akshay, I have purchased this workshop ticket. as you said i will attend the Kivy dev sprints too. I have filled the registration form too and I have not gotten the confirmation. should I be waiting of should I contact some one else.

rakesh manohar (~rakesh)

@rakesh The dev sprints were just finalized, let's wait for one more day, if you still don't get a confirmation then you can e-mail me and I will ask the organizers to get in touch with you.

Akshay Arora (~akshayaurora)

Thanks akshay, I got the confirmation and i am selected for Dev Sprints. At what time is the Kivy dev sprints?

rakesh manohar (~rakesh)

@Rakesh, I guess they will start at the time other dev sprints do start. I will try to make it by 9:30pm.

Akshay Arora (~akshayaurora)

@Akshay, you mean 9.30 A.M right not 9.30 P.M :)

rakesh manohar (~rakesh)

yes, 9:30 am :)

Akshay Arora (~akshayaurora)
The comment is marked as spam.

The comment is marked as spam.

jack smith (~jack)

Login to add a new comment.