Thursday, December 12, 2013

Disable Dashboard on Start Up in Spring Tool Suite


If you are a new user to the Eclipse based IDE Spring Tool Suite (STS). If like me, you are getting annoyed when the Dashboard opens up every time the application is started, this is how you can disable it.

After some research and some searching through the preferences, I finally found out how to get it done on the latest version of STS (3.4.0 the one I am using now). Apparently they moved this around from previous versions.

In the STS application, navigate to "Window -> Preferences", and start typing "Dash" inside the text box located at the top left. Click on the "Dashboard" item and uncheck the "Show DashBoard On Startup" item on the right. Click "Apply" and "OK".

You can look at the above image to see how the preference screen for this will look like. Once done, the DashBoard should be gone for ever, unless you want it back in which case you can bring it back by checking the same option in the Preference.



Thursday, November 21, 2013

Design evolution of Random Contact app

Background
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.
Get it on Google Play

Wednesday, November 06, 2013

RandomContact - New App Announcement


After being in an internal Proof of Concept project, one more Android app will soon be seen by the external world. I was learning to work with the ContactsContacts API. This API is a contract between the Contacts provider and applications.


Most of the code related to accessing the API is done as part of a library project called aeappslibrary, the code for which is open source and already available in GitHub. This library can be reused by other projects to work with the API. There have been hours spent on studying the API while developing this library. MessageCounter is an application that already utilizes this library.

It was near the end of 2012 that I started learning about the Android's ContactContract API. In order to learn the various parts of the API, I decided to create an Android App. That turned out to be a simple app called Random Contact. The UI was very basic and not very attractive - the sole reason it has lived its life as an internal app.

The Random Contact application shows you a Contact randomly picked from your contacts list. It will list all the contact numbers and easily allow you to call or text them. Other details that we can get using the API are the times that person has been contacted and the last date of contact. While you may think these features as boring, we think there could be fun uses.

When can you see the app live? Work on version 2, a completely redesigned version, is on steroids for the past few days. As much as the challenges are exciting, I shall provide here, for the first time, an internal road map for any app's development. A Beta release on Google Play is not too distant as of now.



The source code for this app is expected to be released under Apache Licence Version 2.0 on GitHub.

With the supported features as explained earlier, I would appreciate to see some rough drawings on how you expect the UX for the app.

Wednesday, October 23, 2013

Age of Logo Redesign

The past few months have seen some slight to major redesigns of some major websites. The fact that these have come months apart maybe a coincidence.

Google Logo

The new Google design including logo was mentioned in this post earlier. Above you can see the old logo on the left with the updated flat style logo to its right. The change was from a logo with 3D look with shadow to plain and flat look.

Yahoo Logo

It all started when Yahoo! CEO Marissa Mayer announced a "30 days of Change", with a new logo for 30 days. At the end of which Yahoo! released their new logo - the same Yahoo and an exclamation mark as shown above. It can easily be noted that the logo has slimmed down and they have used a sans serif font instead. The old logo looked funky, but the new one sporting a darker purple has an elegant look. You can also see it has a slight 3D look and feel to it.

Bing Logo

Bing - Microsoft's answer to Google was the last to do the overhaul. But the change to Bing is more vivid. They have a new logo, which looks like Google Drive's. Then the font has been simplified to follow the new Microsoft logo. And at last it is all golden color now from a blue shade.

In a space of few months, some major websites have tinkered with their logos. What do you think of these changes?

Wednesday, October 16, 2013

Tips on Improving Productivity with Eclipse


For many tasks Eclipse IDE provides a key board shortcut of some type. When working with medium to large projects, I find using keyboard shortcuts to be a significant time saver. They let me find or get things done very fast. Compared to using a menu option or using the mouse, key board shortcuts can improve one's productivity.

ShortCutWhat it Does
F3Open Declaration
CTRL + SPACEAuto Complete
CTRL + DDelete current Line
CTRL + GSearch for declaration in Workspace (after highligting a word)
CTRL + LJump to Line Number
CTRL + OQuick Code Outline/ Structure
CTRL + TOpen Heirarchy
CTRL + ESwicth Editor
CTRL + QLast Edit Location
CTRL + SHIFT + ROpen Resource
CTRL + SHIFT + IInspect (Evaluate an expression while in debug mode)
CTRL + SHIFT + PFind matching brace
CTRL + SHIFT + LKey Assist

Bonus Tip
Double clicking to the immediate right of an opening brace selects all the code between two braces.

Feel free to add any more shortcuts in the comments.

Saturday, October 12, 2013

Aim of Google redesign

This post is my speculation on the aim for the latest Google navigation redesign.

The ugly black navigation bar at the top of the Google Home Page was pretty difficult to use with touch devices like smart phones or tablets. So this could be a reason for coming up with the App Launcher.


With the App Launcher, it becomes easy with a touch based interface to go to that application faster.

Its true that most of the buttons in Google applications are bigger and space around them so as to be easy to touch without having to worry about clicking on something else.
Buttons in Blogger
One more thing that I would like to add is the tabs in Google Image search, although they are just text the extra spacing between lets the user choose what they really want.


If you have any other views, feel free to add in the comments.

Sunday, September 22, 2013

New Google Logo and Navigation bar

Google is starting to rollout a new logo and navigation bar.
New Flat Google Logo


Ironically the new logo looks flat and simple - following the iOS7 paradigm.The previous logo is shown below. For now some people might see the old logo, but I guess they are rolling the changes slowly, probably looking for early feedback from the users.

The old logo
And the much disliked black band across the top with links to all Google services is gone. It is now replaced with an App drawer button.Next to the Sign in button below, you can see what looks similar to the Android app drawer button from which you can launch google apps.

New home page with app drawer.
Check if you are able to see the new design..

Sunday, August 04, 2013

Opera

Long time followers if this blog might know the fact that I have a particular soft corner towards the web browser Opera. (One among a few percent of opera fans in three world, I guess).

Opera has always been the innovation maker in the field of web browsers. I started using opera (version 7 or 7.5) at a time when internet explorer had killed off Netscape and a budding Firefox was in the market. It will be difficult to convince me that Firefox is a superior browser but I will choose it any day over Internet Explorer. IE is in my case gives the worst user experience. IE has successfully made a bad name for itself that even when sone reviews say version 10 and 11 are good and stable, I no longer bother.

So taking about Opera's innovations, I think it was the first browser to offer multiple tabs. That was very ingenious and useful. Other browsers followed and IE in particular took a long time to  implement.
Mouse gestures, voice control (you can ask Opera to item a new tab etc.) Themes, plugins / extensions (not sure if opera or Firefox was first for these).

For a long time I never saw Google's home page thanks to Opera, as I could do all my searches from the
address bar using "g ", you will bypass the home page and go directly to the search list.This can be extended to any search engine as well as create our own custom search terms and everything.

Opera introduced a new menu system, which was straightaway copied by Firefox. This dispensed with the normal menu system on old windows and added an Opera button at the top left which opened down the main menu.

Opera included a mail client (removed in version 15), a torrent down loader, integrated notes, password manager (which is encrypted, I learnt that Firefox used to store them encrypted).



A couple of features exclusive to Opera are Turbo which speeds up browsing on slow networks.


Later came Speed Dial, Tab Stacking, Private browsing and private tabs (I haven't seen private tab in any other browser yet), ability to pin tabs etc.

The most striking innovation that I felt useful as a Web Developer was "Opera Dragonfly". It was the first time that such a tool was available to see how web pages are handled by browsers. 

The list is almost endless with the features given by Opera, that it would easily over whelm  a novice user. Still I recommend using Opera as your secondary browser, if you prefer using Chrome or FireFox as your primary one.

Check out InFewBytes on Facebook or Opera : InFewBytes for more tips on using Opera. Opera offers a lot of stuff under the hood which might baffle a new user, so look out for tips and tricks from the e-book mentioned in the above link.

Additional Read
Check out the Best Desktop Browser and Opera 10 Alpha for other posts on Opera in this blog.

Message Counter 2: Open source android app

Message counter 2 is an open source android app which displays the count of sms received from each contact. The development on this app is basically for educational purposes



The app is developed by a single developer during his free time, among other projects. So there is not much dedicated support but all efforts will be made to add new features and fix any issues.

The latest update includes features, improvements and optimizations. As well as experimental support for French language.

Download the Android app from the Play Store.
Get the Source code from GitHub.
Facebook Page

Monday, July 29, 2013

Message counter privacy policy

Message counter (the "app") does not collect offer share any personal information.

For displaying the data, the app accesses your contacts and message databases stored in the phone. However these information is not stored or shared.

The privacy policy for the app has been updated on 29 July 2013.

If you have any questions or concerns, please submit a comment or send an email to aeapplabs-support at live.in

Friday, June 28, 2013

Bing Image Parser

How many people have noticed the different images that are displayed on the home page of the search engine Bing? I used to visit the Bing homepage just to check the image each day. As an aside you can get some trivia on the US version of the site.



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.

Saturday, June 22, 2013

Mobile App vs Desktop application Development

The app development and release cycle for mobile (or tablet) and desktop applications differ vastly.

A desktop application is expected to be feature complete at the time of launch and may have undergone years of development (in the case of large applications like an Office Suite) before a major version is released. Only minor fixes for bug and security are expected till the next major release.Unless it is a major security related update, most of the time I ignore application updates for my desktop applications. This is because if there is no change in user experience or performance, it doesn’t seem work to go over the procedure of doing an update (A system restart for some applications if on Windows adds to this misery). I keep my graphics driver software up to date without seeing any significant performance improvements.

On the other hand, most users expect their mobile apps to get regular updates. It has sort of become a norm. This could be an addition of a new feature, improvement in user experience or a bug fix. Updating an app is seamless and there is little or no data loss and you can start using the updated app as soon as it is updated.

So while developing a mobile app, in my view, it is important to launch the first version with the most important and basic features that an app is concentrating. And add additional features upon each updates in short cycles. This would keep give the users a feeling that the app developer is constantly developing the app on improving the user experience. Most importantly this would keep the app fresh. If it stops evolving, users might get bored and may try out another app.

The advantages of this kind of release cycle are that the developers can get feedback from the users early and take into account feature suggestions or changes.

It should, however be noted that these views may not apply to all scenarios, there are exceptions. For e.g.: there is no scope or need for a short release cycles in the case of an app like Calculator.Desktop browsers like Google Chrome and Firefox have short release cycles, although there may be some minor change in a version.


To conclude, the approach for mobile app development is different from that followed for conventional software releases. This should be researched from a marketing as well as technical stand point before being finalized.

Friday, May 10, 2013

Google Play Store updated to Version 4

After glimpses of screen shots on the web, I finally received the update for Google Play Store and it is a major version jump this time, to 4! When you launch the updated Play Store, a redesigned Page greets you.


There is a lot of white space and padding between icons and doesn't feel cluttered a bit. You can Purchase or install an app directly from this screen by clicking on the vertical 3 dots next to the app name without having to go into the app description page.


A set of movies from  Play Movies also appears on the main page of the store in a similar style.


The list of installed apps page is also tweaked slightly.


Friday, May 03, 2013

Message Counter for Android

Development has been going on a simple Android application called "Message Counter".

How the Message application works on an Android phone will vary greatly based on the OS Version as well as any modification done by the manufacturer like HTC, Samsung etc.

So as the message details are stored on a device using SQLite and whose contents can be accessed programmatically, I decided to write up an app called MessageCounter. The first version was completed quite fast, but in order to support Android 2.3 and up, some sacrifices were made regarding the UI and performance.

Taking advantage of Fragments, ActionBar etc introduced in later versions of Android (3.0, Honeycomb), a new version was created re using code from the first version.

The V2 of Message Counter was completed in a matter of hours and improves on performance and UI. Below are the screenshots of the app. You can find an update to this post if and when the app is made available on Google Play Store.

There are plans of making the source code open source and will be hosted at GitHub. An update to this post will include the details.

Update 1 : The project is now available on GitHub at this address : https://github.com/midhunhk/message-counter. The source code is licensed under the Apache License Version 2.0