Expert blogs on Android, iPhone, .NET, QA and UX development, research and analysis.
Jun 05
Logistic VS SVM which to use when

by- Nitin Gautam

I think these days a lot of people have come to know about the common off the shel machine learning algorithms. SVM and LR are just two of those. Anybody who has some idea about Machine Learning will know that SVM is touted as a much more powerful thing that LR. And why not SVM enjoys a lot of properties which make it a very stable algorithm. The solution it finds is very robust and the predictions it makes tend to be an average more accurate.

So why bother with the simpler stuff then. Just use SVM everytime you want classification. Unfortunately that is not how things work in the industry. SVM does have certain limitations. First, and this is about the basic nature of the problem, SVM solves a very tough optimization problem. This means the time it takes for the SVM algorithm to find the optimal decision plane is higher. This further scales when the size of the data set increases. In contrast simpler algorithms like LR can be trained faster.

If speed is not an issue then the other bigger problem is the complexity in terms of interpreattion. In the industry it is just not enough to provide results of the prediction but also be able to explain them. In this context SVM is a little bit tricky with all the fancy concepts of kernels and maximum margin hyperplane, atleast for someone who does not have a background in analytics. In my personal experience there has been a case where people chose other LR over SVM simply becuase it was easy to expalin, even though SVM was giving a better accuracy. Alas this is not a F1 race where margins in points of seconds matter.

So what is the conclusion should we not choose SVM. Well my answer is choose wisely. Ok everyone says that but what does that mean. Well the answer is if a simple thing makes your customer happy why to go for fancier things and make things complicated. Also SVM has its limitations but non the less its a powerful algorithms and provides a lot of options for tuning. It can handle more complex scenarios. To use it wisely the simple requirement is get wiser :) 

May 28
Our New App Launch - Well Done!

Well Done - Daily To-Do List Task Planner Schedular.pngWell Done - Daily To Do List



Well Done - Daily To-Do List Task Planner Schedular.jpg


“The shortest way to do many things is to do only one thing at a time’

Well Done is a very simple day planner. It helps you to improve your daily productivity. It helps you to return to your daily goals amid multiple distractions.

Application provides functionality to classify your To-Do items as
1.    Start of the Day Tasks – These are urgent and important tasks/to-do items which you want finish early in the day.
2.    Communication Tasks – These are communication tasks/to-do items which you should finish so that you are request for updates/delegate work so that you can get output by end of the day.
3.    Later in the day Tasks – These are the tasks/to-do items which you need to carry out independently. It makes sense to focus on these tasks/to-do items once you are done with start of the day activities.
4.    End of the day Tasks – These are tasks/ to-o item which you should finish before day end. These tasks/to-do items will help you prepare for next day.

Application provides followings workflows
1.    Add/Edit/Delete To-Do item
2.    Change Category of To-Do item
3.    Track progress and update status of To-Do item
4.    Move To-Do item across categories
5.    Copy in-completed To-Do item from yesterday to current day
6.    Send To-Do items list as an email to your email id

Finally, it gives you simplest way to manage your activities throughout the day. As all the tasks listed are to be completed/reviewed/progressed on the same day, we have not added functions like alerts, reminders, sync etc.

In order to keep the app 100% free, you will receive the following –
Search shortcut icon on your home screen,
Search shortcut on your bookmarks and browser homepage.
This will help us bring you more cool apps like this in the future.
You can delete the search shortcuts easily (Drag & Drop to the garbage), this will not affect the application in any way.


Well Done - Daily To-Do List Task Planner Schedular 1.pngWell Done - Daily To-Do List Task Planner Schedular 2.png

May 23
Mobiles to Smartphones – Control your universe using “Power of Touch!”

Mobile technology has undergone dramatic change. A decade ago mobile devices were predominately used for voice calls. Today, they are largely used for data.  Availability of innovative smartphones at every price points, millions of Android and iOS applications and falling data charges have propelled this growth. Smartphone have simply revolutionized day to day interactions. 

Now we are talking about using mobile technology for better control or remote control.  This again is going to open plethora of opportunities. We believe increased use of mobile technology for "Smart Controls" will improve quality of life for individuals. You will literally be able to control everything and do away with numerous mechanisms/devices you are using now.

This presents significant opportunity as well as challenges to every enterprise. Every enterprise needs to think innovatively ahead of time and re-engineer their existing products/services and launch solutions which will provide complete control at fingertips.  This will also give an opportunity to closely connect with customer and gather pain points in real time and solve them before they could think of other options! 

Wait and watch for amazing evolution of mobile technology!

May 01
Mobile Applications and Indian Languages: Solve the problem of typing in Indian Languages

How many times you have sent a SMS or chat message in Indian language keyboard using your smartphone (Android or iPhone) ? Barring few exceptions, most of us do not use Indian language keyboard. Off course, I am proud of my language. I want to read as well as write in local language using my smartphone. To great extent reading in local language is possible. But when it comes to writing/typing, solutions available in the market (iOS and Android) do not offer exactly same level of convenience as available for typing in the English.

You might argue that typing in Indian language is inherently complex due to complexity of the script. But that’s the exact problem which end users want technocrats to solve for them.

End users want an innovative solution which will simply offer convenience of typing in Indian language.

Possible Translation Solutions:

1.       Voice to Text

Solution will use voice recognition and accurately translate into script of desired language. Experience of using these types of solutions is not great. You need yell out multiple times so that software understands what you are trying to say. Can you yell out in a movie hall or public place to send a sms?

2.       Text to Text ( English to Local Language )

Type pronunciation in English and solution will convert into script of desired language. These solutions are relatively better. You need to keep trying multiple combinations to arrive at correct word.  At times, gets very boring when you cannot figure out exact English character combinations.

3.       Gesture to Text

Solution will convert end users typing gestures into script of desired language. I have not seen solutions in this area. I feel this type of solution will be much better simply because it will offer more control and ease to user.

In the end, we need fully developed “Gesture to Text” solutions for all Indian languages.

Apr 18
Mobile Applications: Look at security features before your download apps

With millions of free android and iPhone applications available on Google play/Apple store, it is not hard to fall prey to the applications which are not safe. We normally look at application rating and make a choice whether to download or not. Application rating is just a function of overall response to the applications value from user community. (Off course many users do not rate application at all ! )
I think time has come when you need to make choice based on application rating as well "security features" of the application. After all, you do not want risk all your personal data!

Mar 01
Steve Jobs- Everybody in this country should learn how to program a computer..that teaches you how to think
Nov 22
What's New?

Android 4.2(latest version of android)

Below are some of the interesting features of android 4.2 

  • Multiple User Profiles.

Android 4.2 adds the ability to have multiple user profiles on a tablet, meaning you can maintain a firm line of separation between your apps and files and your kid’s apps and files.

  • Improved Google Now functionality.

Google Now was already a killer Jelly Bean feature, and Google’s made it even more handy with the inclusion of cards containing flight information, restaurant reservations, hotel confirmations, and shipping details. You’ll also find Google Field Trip-esque cards identifying nearby movie times, attractions, photogenic locales, and concerts by your favorite artists.

  • 360-degree panoramic pictures.

The new Photo share feature lets you take 360-degree, snapshots of the world around you, View your photo spheres right on your phone, share them on Google+ with your friends and family, or even add them to Google Maps for the world to see.

  • Gesture Typing.

Swipe users will already be familiar with what Google’s calling Gesture Typing; the ability to move from letter-to-letter on your virtual keyboard without having to lift a finger, eliminating the need to hunt-and-peck.

  • Sharing.

 Once those nifty new Miracast enabled-HDTV’s start popping up, they’ll be able to wirelessly mirror the displays of Android 4.2-equipped devices. You can share movies, YouTube videos, and anything that’s on your screen on an HDTV. Just connect a wireless display adapter to any HDMI-enabled TV to mirror what’s on your screen quickly and easily.

Nov 01
Mobile Applications QA Tools

Fone Monkey


Testdroid Recorder/Cloud

The Monkey is a command-line tool that that you can run on any emulator instance or on a device.

Robotium is a test framework created to make it easy to write powerful and robust automatic black-box test cases for Android applications.

An Eclipse plugin for recording user actions, generating reusable test cases and running them in Testdroid Cloud.

You can restrict Monkey to run only for a certain package and therefore instruct Monkey to test only your application.

With the support of Robotium, test case developers can write function, system and acceptance test scenarios, spanning multiple Android activities.

Online service for testing an application on 140+ Real Android devices hosted by Bitbar.

If you have constrained the Monkey to run in one or more specific packages, it watches for attempts to navigate to any other packages, and blocks them.

Robotium has full support for Activities, Dialogs, Toasts, Menus and Context Menus.

Check and analyze screenshots, statistics and reports


Powerful and robust record and playback functions for mobile applications.

New functionality includes -clickOnView(View view, boolean immediately), scrollDownList(AbsListView list), scrollUpList(AbsListView list), scrollListToBottom(AbsListView list), scrollListToTop(AbsListView list), getCurrentNumberPickers()

Record your Actions -You don't have to write tests manually. Its solution lets you record actions on object level when using the app on the phone.

Fully cross platform - record on iOS and playback on Android and vice versa.  Supported platforms include iOS, Android,

Flex, desktop web browsers, and mobile web.

Allows you to develop powerful test cases, with minimal knowledge of the application under test.

From source or from APK -Testdroid Recorder gives you an opportunity to record tests for Android application - it doesn't matter whether you have its sources or only the APK file

Powerful IDE - a single unified IDE for recording, editing, and debugging tests based on the Eclipse platform.

Multiple Activities - The framework handles multiple Android activities automatically.

Test online on real devices -

Testdroid Cloud is the simplest way to test your application against various real Android devices – from different

Manufacturers, with different HW platforms, OS version and screen resolutions. Run your tests on devices from Testdroid


Run on real hardware - both phones and tablets are supported, either tethered or over the network.

Time -Minimal time needed to write solid test cases.

See test result trends -

On Testdroid Cloud service every test run is saved for later analysis. You can browse test result trends and everyone in the whole organization can see the status of testing. Finally it is possible to easily follow application evolution over

the time.

MonkeyTalk - a new high-level functional testing language.

Readability of test cases is greatly improved, compared to standard instrumentation tests.

View screenshots, logs and exceptions -You can view captured screenshots, check failed tests and fetch full log-cats for detailed OS level analysis. The images from different devices are shown side-by-side for easy comparison to see lay-out issues on different devices.

Javascript scripts - generate JavaScript from MonkeyTalk if a full programming language is necessary.

Remote control - Have your Robotium test cases run on a PC, in order to improve turn-around times.

This feature will be released soon.

REST API access:

Use our REST API to integrate our cloud service as part of your build process. Using the API, you can also fetch all the test data, including screenshots and log-cats for deeper analysis. It really is like Amazon cloud for Android devices testing.

Readable scripts - MonkeyTalk is simple and easy to learn, generating scripts that the average person can understand.



Keyword-driven scripts -MonkeyTalk scripts can be easily extended, even by non-programmers, with custom user-defined commands.



Data-driven scripts - any command can be looped using a CSV data file.



JUnit-compatible XML reports - test suites output the standard XML report, making MonkeyTalk easy to integrate into existing systems.




Used for both iOS and Android

Integrates smoothly with Maven or Ant to run tests as part of continuous integration. 

Save effort -

Saves your testing time as you are able to run the tests on multiple devices at the same time without any manual work.

HTML reports - pretty, human readable reports including screenshots of the app under test after every failure.

Test Execution -Blazing fast test case execution.

Online and API access -

Testdroid Cloud is accessible online, so you are able to test your Android applications whenever you want. No need to reserve devices or prepare for the test runs. For Enterprise customers we also have REST API further reducing the manual work needed for testing on real devices.

CI ready - run test suites in a fully automated fashion, from the commandline, perfect for integration into any continuous integration environment.

You can develop powerful test cases, with minimal knowledge of the application under test.

Target larger audience for your application -

Tackle differences in the various Android devices by regression testing. Continuous functional testing will help you sustain the high quality of your application.

No jailbreaking needed - runs on stock hardware without alterations.

Test cases are more robust due to the run-time binding to GUI components.

Tests on new devices -

Regular functional testing on newly introduced devices will help you sustain the high quality of your application. Every time there is a new device, just hit a button and your app is tested on it. Users can create own device clusters, for example test app on set of devices based on the API level or memory.



No programming or configuration needed -

Upload your APK and instrumentation test APK and they will be run automatically on Bitbar Device clusters.


Nov 01
Web Hosted Server: Get back into it!


- You are using a web hosted server

- Due to your own mistakes or hacking, if you are nomore able to access your very own paid hosted server


* Install mRemote, Get the default user settings from your Host, Add Connection to your remote server thrugh SSH - SSP1/2

* Get connected to Command prommpt of the system

* See the list of current network connections
netsh interface ip show config

* Enable LAN
netsh interface set interface name="Local Area Connection" admin=enabled

*Set TCP IPv4 IP Address and DNS Settings to dynamic allocation by DHCP
netsh interface ip set address “Local Area Connection” dhcp
netsh interface ip set dns “Local Area Connection” dhcp

*Enable Remote Desktop
reg add "hklm\system\currentControlSet\Control\Terminal Server" /v "AllowTSConnections" /t REG_DWORD /d 0x1 /f

Oct 31
Its all you need to be Windows Mobile 8 developer!

Visual Studio 2010 SP1:
1.    At the very first you need to get the final version of Visual Studio 2010 SP1.
2.    Any version of Windows Phone SDK’s need Visual Studio 2010 SP1 installed on your machine.
3.    Download Link: http://www.microsoft.com/en-us/download/details.aspx?id=23691
Once you installed visual studio 2010 SP1 you will get many frameworks installed on your machine such as Silverlight, Silverlight for Windows Phone.
Windows Phone 8 Requirements:
SDK 8:
The Windows Phone SDK 8.0 enables you to develop apps for Windows Phone 8 and Windows Phone 7.5 devices.
Supported operating systems: Windows 8, Windows 8 Pro
o    Windows 8 64-bit (x64) client versions
•    Hardware:
o    4 GB of free hard disk space
o    4 GB RAM
o    64-bit (x64) CPU
•    Windows Phone 8 Emulator:
o    Windows 8 Pro edition or greater
o    Requires a processor that supports Second Level Address Translation (SLAT)
Download link: http://www.microsoft.com/en-us/download/details.aspx?id=35471

 ‭(Hidden)‬ Blog Tools

 About this blog

About this blog
Welcome to Mahiways Blogs. Meet our Experts in Android, iPhone, .NET, UX, Research fellows and Analysts!