Android Proguard a General Idea

What is Proguard on android and what does it do?

ProGuard is a tool that comes with the Android SDK. It  shrinks, optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and methods with semantically obscure names. The result is a smaller sized .apk file that is more difficult to reverse engineer. Because ProGuard makes your application harder to reverse engineer, it is important that you use it when your application utilizes features that are sensitive to security.

How to enable it? And is it recommended?

ProGuard is integrated into the Android build system. And to enable it you just have to find the “project.properties” file in your android project and have to uncomment the line which sets the path for the ProGuard. Also Proguard slows the app building sequence.
So you do not have to invoke it manually. ProGuard runs only when you build your application in release mode, so you do not have to wait longer time when debugging the app. Having ProGuard run is completely optional, but highly recommended.

So is that all that we have to do to enable and use ProGuard?

Yes that’s the basic, and it only does the Shrinking, but there are 2 more functions that give more advantages in increasing the security and management of the build.
They are Obfuscation and Repackaging.

So what is Obfuscation and how does it Work

With tools available to extract the contents of APK’s, deodex, and read the class files, it’s important to obfuscate to protect the proprietary aspects of your codebase.

ProGuard generates a mapping file that allows you to map the stack traces of obfuscated code to actual methods. Basically it replaces the methods in meaning full name to something unguessable like a work or letter.

Original Code

public Data(int id, int result, String message) {
       mId = id;
       mResult = result;
       mMessage = message;
    }

Obfuscated Code

public a(int paramInt1, int paramInt2, String paramString)
    {
       this.a = paramInt1;
       this.b = paramInt2;
       this.c = paramString;
   }

 Hope you got an idea on how it works

So what is Repackaging?

Repackaging allows ProGuard to take externals jars and class files and move them to a single container with a common java package location.

For those of you building libraries, repackaging is extremely helpful if you choose to show a simple interface to third party developers while keeping a maintainable and well structured project hierarchy in the source repository. This can also be useful in organizing lower level packages while exposing well defined interfaces!

 Optimizing

There is another function of Proguard which Optimizes the code, where you can specify which part of the code, which type of code needs to be Optimized.  However, there are known incompatibility issues with various Dalvik versions.
But It is good to know this feature, which can be used without issues using some other tools.

Reference : http://www.crashlytics.com/blog/mastering-proguard-for-building-lightweight-android-code/, http://developer.android.com/tools/help/proguard.html

Last Runner – Android, iOS and Windows Phone Game

android game

Last Runner is an Endless runner made for Android and iOS. Unlike Temple run and Subway Surfers, it’s a 2D game similar to Monster Dash by Half Brick studio.

Screenshot_2015-02-05-11-08-17  volcano forest

It got only one function, and that is to tap the screen for jump and double tap the screen for double jump. The Double jump functionality is a bit Tricky, it Does not always double jump when you try to double jump. It some times frustrates the player, but that is the beauty of an Addictive game.

Developer says that
“The One who Masters the Double Jump will conquer this Game”

Another most wonderful and main feature is all the drawings of this game are hand drawn and the scene changes every time you surpass a certain score.

Also the Game is integrated with Google Play Services so the player can log with Google Plus and  compete with their friends and Earn Achievements through the Game.

Google Play Game services feature is only available in the Android version

gplay
The Game starts with a Story where a Volcano is erupting in a beautiful environment, its the first sign of world coming to an end. The two characters, the Professor and the Hero are discussing about collecting Life energy from around the world to create a magical Serum which will help turn a bare planet into another beautiful Earth which the earthlings are planning to migrate. So the hero turns into his Super Mode to Go after them through different environments lands.
last runner Winter Scene last runner

last runner high score
The game is a super good casual one specially when u are waiting for a train or bus. Competing with your friends makes it more Addictive. This is a Must try Game.

Watch the Trailer here

So Go On Guys, Download the Game and start playing
DON’T FORGET to RATE  🙂

You can download it by clicking the Buttons below
google_play_store_icon lat runner ios  last runner windows phone

Whatsapp Web – Desktop App Workaround

Hi guys, its cool to see whatsapp coming to the desktop, at least as a chrome app.
But I know there are a lot of people who use browsers other than Google Chrome, and the people who actually wants a hassle free separate desktop app, rather than opening a browser and going to the specific site to view the messages.

So here I am gona explain how to create a chrome application which, kind of create a dedicated browser app for you which you can place in your browser or task bar just like another app and when you click on it, it directly opens like another desktop app.

Step 1
So to do that first you need a Google Chrome browser. If u are a Google Chrome hater, please don’t worry, it only for the first time, after that you can forget about it . Use this link to download the Google Chrome

Step 2
Open the Google Chrome and get in to the Whatsapp web app, using this link https://web.whatsapp.com/

Step 3
Open your Android Whatsapp app and on the menu select the Whats app Web.
Screenshot_2015-01-26-10-28-42
Scan the QR code in the website you visited now using the QR scanner just opened in the Whatsapp android app. And you have successfully registered and accessed the chat.

Step 4
Now in the google Chrome Menu Go to
More Tools –> Create Application Shortcut
chrome

Now you will see the option to create the short cut in Taskbar Desktop or anywhere you like

app

TA DA , now you have a dedicated Whatsapp Desktop App which you can click open with a single click.

Whatsapp Desktop App

This technique can be used with all other websites as well, like facebook, twitter and many others.

Hope this article is helpful for you free feel to share with you friends
😀

JSConf 2014 Asia

Last year I was sent to training by Exilesoft(Pvt) Ltd for the JSConf 2014 Asia conference held in Singapore.

JSConf 2014 Asia
It was an awesome and informative event, got chance to meet people from some popular companies like PayPal, Spotify, Github, Firefox, King(Candy Crush) and many others.

So I would like to share some information and some useful resources I managed to gather their in the conference.

The Conference was held for 2 Days.
Ill be explaining the important point and the resources in the order of the sessions

Day 1

Building Isomorphic Apps – Spike Brehm, Airnb
Session Video

Slides  – http://www.slideshare.net/spikebrehm/building-isomorphic-apps-jsconfasia-2014
Github – https://github.com/spikebrehm/isomorphic-tutorial
Twitter – @spikebrehm

Pixel Art and Complex System – Vince Allen, Spotify
Session Video –

Github – https://github.com/vinceallenvince/Bit-Shadow-Machine
Samples – http://vinceallenvince.github.io/jsasia2014/
Twitter – @vinceallenvince

Bad FormChris Lienert, Jardine Lloyd Thompson
Session Video

Slides – http://www.slideshare.net/cliener/jsconfx?related=1
Github – https://github.com/cliener/Quaid-JS
Twitter – @cliener

HTTP Headers The Simplest Security – Wei Lu
Session Video

Github – https://github.com/helmetjs/helmet
Twitter – @luweidewei

Fun with Javascript and SensorsJan jongboom, Telener
Session Video

Slides – http://www.slideshare.net/janjongboom/fun-with-sensors-jsconfasia-2014
Github – https://github.com/janjongboom/jsconf-asia
Twitter – @janjongboom

The Art of LessMartin Kleppe, Ubilabs
Session video –

Project Site – http://aem1k.com/雨/
Slides – https://speakerdeck.com/aemkei/the-art-of-less-jsconf-dot-asia
Twitter – @aemkei

QuiverJS :  Rethinking Web Frameworks Soares Chen
Session Video

Slides – http://quiverjs.github.io/jsconfasia-2014/assets/player/KeynoteDHTMLPlayer.html#0
Github – https://github.com/quiverjs
Twitter – @soareschen

Translation Workflow And Formatting Complex TranslationTingan Ho, P1.cn
Session Video

Github – https://github.com/tinganho/l10ns
Twitter – @tingan87

Preparing your NodeJS Application for Scale – Dexter Tan and Laurence Franslay, PayPal
Session Video –

Day 2

Web TorrentFeross Aboukhadijeh
Github – https://github.com/feross/webtorrent
Twitter – @feross

There and back again – A Game Dev’s Tale Peggy Kuo, Atlassian
Session Video

Slides – https://speakerdeck.com/pyko/there-and-back-again-a-game-devs-tale
Twitter – @pyko

Versioning, Syncing & Streaming Large Datasets using DAT+NODEMax Ogden
Session Video

Lint to DAT : http://dat-data.com/
Twitter – @maxogden

IPCluster-Scaling Zopim’s Fronted Node ServersYang Bin Kwok, Zopim
Session Video

Github – https://github.com/zopim/ipcluster
Twitter – @zopim

Reactive Programing Made SimpleSlava Kim, Meteor
Twitter – @imslavako

Gibbering at Algoraves: JS in Live Audiovisual Performances Charlie Roberts, UCLA
Session Video

Github – https://github.com/charlieroberts/Gibberish
Link to Gibber – http://gibber.mat.ucsb.edu/

Lets make a Game with PhaserGabe Hollombe, Neo
Session Video

Github – https://github.com/gabehollombe/phaser-pvz
Twitter – @gabehollombe

Deep Space – A Simulation Drama  –  Simon Swain, Modus Interactive
Session Video

Github – https://github.com/simonswain/deepspace
Twitter – @simon_swain

Future of NodeMikel Rogers, Digital Ocean
Session Video

Site to create NodeConf – http://oneshot.nodeconf.com/
Twitter – @mikeal

The post will be updated till individual video links appears in youtube, mean while you guys can watch this play list of all the sessions

VAM Browser – Award Winning Research

1

This is a Research done by me and my research group back when we were doing our final year BSc in IT. This is kind of a predecessor for the Cortona that’s available for windows phone 8.1 now

Also this research won the “Youth Encouragement Award” in
the eSwabhimani 2012 Sri Lanka

The Research Paper is Published at the GHTC SAS 2013 Conference Held at Thiruvananthapuram India

See the research Here
IEEE_logo

or Use QR Reader
vam

This is what our research stated back in 2012 states

“Technology is growing fast with the time. The days of desktop pcs and laptop pcs’ are disappearing fast. Now the latest and fastest growing technology is smart phone technology. Even though the earlier smart phones did not support much features, now it is been appearing with much more powerful hardware to support latest features. Internet access is a must these days, any smart phones without a web browser is a useless device. So, this research, Voice Active Mobil Web Browser, Assisting Vision Impaired people(VAM Web Browser), is carried out to find the difficulties Smartphone users are experiencing with their mobile web browsers and to provide a solution to it. The main research areas covered in this research project is implementing a web browser which has the feature to read web pages and to accept voice commands from user to execute some functions. Also this mobile web browser will have an advanced downloader feature which will support pausing the download and resume again. . Even though this system is not targeted to blind people the system will facilitate the vision impaired people as it got voice to text, text to voice features.”

Visit the Research Site for more details and Docs
Visit-website-button