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 :: http://kivy.org/docs/gettingstarted/intro.html
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 https://docs.google.com/presentation/d/1zoyqnnDqpXRPmZ1pLYu05cWMg-l9qt2657uGFozZWig/edit#slide=id.g348f44647_061
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.
The presentation will keep evolving till a week before the actual presentation.
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 http://kivy.org/#aboutus You can take a look at my public work here http://github.com/akshayaurora
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 irc.freenode.net
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.
I held a well received workshop last year on pycon 2014 the presentation link is https://docs.google.com/presentation/d/1zoyqnnDqpXRPmZ1pLYu05cWMg-l9qt2657uGFozZWig/edit#slide=id.g348f44647_061
https://in.pycon.org/funnel/2014/220-mobile-application-development-with-python-kivy/ 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 http://github.com/akshayaurora