Wednesday, December 03, 2014
Message Counter 3.0 Beta
Material Love gets extended to Message Counter, after Random Contact. A fresh coat of paint, a new icon and use of some Material Design Principles is a start for the Beta version. This version is code named "Talisman" which follows "Silversun" and "Silvermoon". The updated code is available in GitHub as well.
As per Google Play regulations, only members of a test community are able to test these apps. So the community link is https://plus.google.com/communities/110966372903178356479.
From a technical standpoint, support has been added for AppCompat libraries, replaced ActionBar with a Toolbar. Using Toolbar should extend the experience to users with API less than 11 (Honeycomb). Use of padding, vibrant colors and card view are highlights of this build.
The first thing you will notice from the screenshot below is the use of Cards and a redesigned Counter screen. This will be the "hero screen" for the app.
Note that this is a work in progress and there may be some bugs or issues and do send them in. You can post them in the community or raise issues in the GitHub page for the project.
https://github.com/midhunhk/message-counter
Wednesday, July 02, 2014
Material Design Wallpapers
Up above you can see my current home screen, you may be able to spot a widget for MessageCounter which is in development as well. So without any wait, here are 2 images. Click on them for a full screen version and download to use them as you like.
The following images are licensed under Creative Commons license. http://creativecommons.org/licenses/by-sa/3.0/. You are free to use these images subject to the terms of this license.

Material design Wallpapers by midhunhk is licensed under a Creative Commons Attribution 4.0 International License.
Update: One more artwork is here. This one is my current wallpaper.
Update 2: The complete wallpapers and as well as future updates can be found at : https://plus.google.com/photos/114665288998361746888/albums/6121148941176472961
Thursday, November 21, 2013
Design evolution of Random Contact app
Just this week I published an app on Google Play Store called Random Contact. It all started when I was learning the Android Contacts API. I wanted to make an app myself that made use of the Contacts API so that I could learn and see it working in a real environment. Especially as I had a Google Nexus S, it was even more an incentive to develop and experiment my own apps and see them running on my phone.
Random Contact
So that was the reason for developing this app. There seemed no point in making another contacts app as the stock(default) one was very good and many third party apps available. So I thought of making an app that shows a random contact details. It has a surprise element to it.
Warning: This app is not meant to be a replacement for your Contacts / Dialer app. This is a fun app with no real use. The main reason this app is considered as part of "Useless Apps" internally.
The development started with an old version of Android API (2.2 to be precise), so I wasn't keeping in mind the latest design guidelines and the result was an ugly looking app with very little user experience
Redesign and Rewrite
After the Holo design came out solid Android Design guidelines became the De-facto standard, I went about researching on how to create a better User experience (UX) keeping in mind that this app has no special value to a user.
After going through brainstorming and multiple drawings on paper, came up with the new design. And in keeping with the time, rewrote most of the code against Android 4.3 APIs and is now available on the Play Store. Along the way some optimizations and new features were added.
Few people might have seen the original app, so below you can find a screen shot of initial screen, design on paper and the present day app.
![]() |
| Left : First version, Middle : redesign on paper, Right : Completely redesigned UI |
Apps Library
I will touch on this in a future post, but one of the side effects of development this app was an Android library app that I created which makes use of mostly my research and studies. This will be an ever growing library which is open sourced and publicly available on GitHub. Any new Android projects can make use of this library to achieve similar functionality.
Try out the app
So if you are still interested in checking out this app, follow the link below to get it from the Play Store.

Friday, June 28, 2013
Bing Image Parser
It was then that I had an idea to see if there was a way to automate the way to see different images that are provided by Bing. After a search, done ironically, on well "Google" (Searching on Google is like second nature for me), I was able to get an RSS feed URL for the Bing images, and able to parse it using a small Java application.
The reason behind choosing a source which gives data as RSS is that it is a standard. What the core of this application does is parse an RSS Feed. The other functionality like console, ability to save image and other settings are built around this core. So essentially this can be reused to parse other RSS Feeds.The UI is not very fancy, it is a invoked via command line and there is a windows shell script that can be used to run it easily. (Make sure you have Java runtime installed). If you don't want the source code, you can grab a build file (zip file with the application and shell script file) from GitHub.
After getting the build file, extract it to a folder, edit the "settings.properties" file and run the "run-biotd.cmd" file. If you are opting to save the images to disk, make sure that the folder specified exists.
The entire eclipse project is now available at GitHub and licensed under the "Apache License Version 2.0" at the link below.
https://github.com/midhunhk/the-bing-image-of-the-day-parser
Build no 0.4.5 is available at
https://github.com/midhunhk/the-bing-image-of-the-day-parser/blob/master/BIotD/builds/BIotD_0.4.5.zip
Make sure to check these out and watch out for future updates. You can use this source code to parse any other RSS feed response and make an awesome app, so don't wait up.
Sunday, August 14, 2011
PNRStatus App 1.6
![]() |
| Redesigned Main State |
![]() |
| Status Histories |
You can access the download link at the end of this page.
Changelog :
PNR Status App 1.6 [Aug 2011]
- [CHANGED] PNRInfoRenderer Layout and UI.
- [ADDED] Button to copy the PnrNumber to the clipboard.
- [CHANGED] PNRInfo List not updated when a note is added / updated.
- [CHANGED] PNRNo is not editable in the PNRInfoRenderer.
- [ADDED] Each time a PNR Status is checked, it is stored in StatusHistory.
- [ADDED] Last successful Status is displayed on startup.
- [ADDED] StatusHistoryWindow lists all the StatusHistory of a PNRNumber.
- [FIXED] Bug while reading back StatusHistory items.
- [ADDED] Added option to clear StatusHistories.
- [ADDED] Info Message if More Info clicked without checking the PNRStatus.
- [ADDED] Style for PNRRow based on the last check.
- [FIXED] Bug of Booking status text also getting updated when the note is updated.
- [CHANGED] Removed the StatusBar.
- [FIXED] Bug in PNRNumber equals method.
- [FIXED] Bug in check for duplicate PNRNumber.
- [ADDED] Alert is shown if trying to add a PNRNumber that already exists.
Download from here (http://www.mediafire.com/?3miq5dfjzrwjuuq)
Friday, July 08, 2011
Triton Player 1.3 : Themes are here
| Triton Player with Theme Minty Green |
![]() |
| Change Theme |
Saturday, May 21, 2011
Cryptx 6
Cryptx 6.0.7 [Apr 2011]
- Explorer integration for Rap File Type.
- BugFix for FileInfoVo.
- ProcessTime in Log file processed properly.
Cryptx 6.0.8 [Apr 2011]
- BugFix for invalid Decrypted file naming.
- After decryption, the decrypted file's info are updated in the UI.
- Using AeLogger 0.4.9.
- BugFix for UI not reflecting updated Destination Location.
Please download the latest version of CryptX 6 :from here (http://www.mediafire.com/?png0da1boqw46of)
Saturday, May 14, 2011
Triton Player 1.2
| Triton Player 1.2 |
The major visible change is the much awaited addition of a SeekBar for the player. Some under the hood changes have also taken place which includes Storing the Settings in binary format from the previously used XML format for improved speed and performance. The core of the application, the ‘sndbarlib’ has been updated to version 1.1 with some performance optimizations. So what are you waiting for? Checkout the latest version now itself!
The full changelog for this release follows :
Triton Player 1.2 [May 2011]
- [REMOVED] Logging platform as it seemed surplus.
- [ADDED] Save settings and default playlist on ALT + F4.
- [CHANGED] Localization String in en_US updated.
- [FIXED] Null Pointer Exception fixed in PlaylistManager.
- [ADDED] Seekbar for player.
- [CHANGED] Application settings stored as a binary file to speed up
startup time and increase performance.
- [ADDED] SeekBar functionality on Paused state.
- [CHANGED] sndbarlib updated to 1.0.
- [OPTIMIZED] Several Code Optimizations.
- [ISSUES] Clicking on Seekbar position might not always doSeek properly.
- [FIXED] Mute icon was not toggling properly.
- [OPTIMIZED] Updating of TrackInfo on UI.
- [CHANGED] sndbarlib updated to 1.1, with optimizations.
- [OPTIMIZED] Removed many unnecessary function calls.
Download Triton Player 1.2 here : (http://www.mediafire.com/?r1z8iea8hq217cy)
Saturday, April 23, 2011
CryptX 6 Beta!
Like its predecessor, this version does encryption using the AES Algorithm. Some more work will be done on the application before it is liberated from the Beta Label. But most planned features have been implemented. We are expecting user reviews and suggestions to better understand the product. Checkout some screen shots of the application revealed for the first time.
| Initial Screen |
| File Selected |
| Encrypting! |
| Encryption complete! |
Sunday, March 06, 2011
PNTStatusAPP 1.5
Wait theres more, the Reservation Reminders section helps you to plan ahead and make note of the day on which the advanced reservation begins (90 days).

So dont wait up and check out this app if you think its useful to you.
Download the 1.5 Version from here (http://www.mediafire.com/?h7nbea6wz3g79)
Saturday, May 22, 2010
Extract Audio from FLV file and save as MP3 with FFmpeg
I had to extract MP3 from an flv video a few days back. Luckily i had FFmpeg. Since i had the command line version only, i had to dig deep to find the commands to get my task done.
The command that i used is :
D:>ffmpeg.exe -i
This will process the video file and out put the audio at a rate of 64kbps. Although the flv contained audio at 128kbps, the result i got was only at 64kbps.
In order to copy the sound channel directly and save it as mp3, we can use this
D:>ffmpeg.exe -i “D:\testVideo.flv” -acodec copy “D:\audio_from_video.mp3”
The option "-acodec copy" results in FFMPEG copying the audio stream present to the output file without processing it.
About FFmpeg
FFmpeg is a collection of software libraries that can record, convert and stream digital audio and video in numerous formats. It includes libavcodec, an audio/video codec library used by several other projects, and libavformat, an audio/video container mux and demux library. The name of the project comes from the MPEG video standards group, together with "FF" for "fast forward".
FFmpeg takes care of all the hard work of video processing by doing all the decoding, encoding, muxing and demuxing for you. This can make media applications much simpler to write. It's simple, written in C, fast, and can decode almost any codec you'll find in use today, as well as encode several other formats.
Tuesday, July 29, 2008
Cryptx 5 Beta 1 Release
the download link for the CR5-B1 is as follows :
http://www.mediafire.com/?d5n7331z40y
Screen shot
-------------
Please understand that this release is not fully complete and has some bugs and problems in it. Some known issues are
* No Help included
* Encryption writes log incorrectly
* Decryption does not write a log
* Need to optimise code for execution pipelines
* command line arguments might be needed to be formatted again
* encrypted file size is larger than original or decrypted file.
Features that are already there include :
-----------------------------------------------
* Rich HTA based GUI
* Work History denoting the various steps that went through the development of the project
* CTimer class to follow time taken for processing the data.
* AES 128 bit encryption
* Encrypted data is stored as HEX for added protection.
* Password is not stored in the encrypted file, only a hashed string. (MD5 can be implemented easily for extra protection of the pasword. It can be done from within the HTA interface).
Updates available at : http://www.cryptx5.co.nr
Hoping for some favourable reply ....
Saturday, May 24, 2008
FileSplitter 1.9 Beta - Download with Source
To have a look at the main features, look at the promotional poster given below :

The interface is done with the HTA technology which will be discussed here soon.
File Name : FileSplitter_1.9.zip (415.19 KB)
Download link : http://www.mediafire.com/?un2zjr3oz9m










