Profile

Cover photo
Paresh Mayani
Attended Gujarat University
1,770 followers|466,035 views
AboutPostsPhotosYouTubeReviews

Stream

 
#Help   #Suggestions  required.
 
To all Android folks, do let me know which Beacons work best with Android. I have some use cases that I want to try out, do have a dev phone running KitKat. I want to purchase the Beacons but a little bit of advice from folks will help me here. It seems that the leading vendors are Estimote and Kontact. Any tips will do. I just want them to work smoothly with an Android API. I am not looking at any deployment for now. 
2
Add a comment...
 
Turkey, Yeah I'm coming!

Looking forward to deliver talk and to meet all the awesome android experts. Jay Ho!

http://www.androiddeveloperdays.com/

#AndroidDevDays   #ADD2014  
17
1
GDG India's profile photo
Add a comment...

Paresh Mayani

Shared publicly  - 
 
Go Go go!
 
Android UI/UX (Re)Design Challenge 2.0 is here!

After so many inquiries and requests to make another design challenge after last years', I have managed to pull some of my awesome friends and sponsors to make the second one happen! 

Simple Rules
- Anyone can participate
- It can be a brand new app design or a redesign of an existing app
- Must have at least 5 screens and must provide comparison/explanation/justification on these screens
- You can post your work at Google+ as public post for discussion and remember to use these tags

#androiduiux   #androiddesign   #ADiA   

Submission
- Submission of the final entry must be sent to the email address androiduiux [at] gmail [dot] com (so I know which is the final entry if you have multiple revisions) by 18th April 2014
- The title of the email should be Entry for Android UI/UX (Re)Design Challenge 2.0
- Send me the link to the final entry in a public Google+ post (or any link that can be viewed publicly)
- I will then send you the confirmation email to acknowledge your design entry

Prize
With some sponsorships available, this time we are able to throw in a little bit more things for the 5 best entries! You can walk away with a Domo Arigato Mr. Roboto T-Shirt (http://teespring.com/roboto) and a 10USD Google Play Store Gift Card!

Excited already? Start (re)design to enter the design challenge! Do help to spread around this if it's possible :)

For more details:
http://androiduiux.com/2014/04/08/android-uiux-redesign-challenge-2-0/ 
7
6
Mohamed Elkady's profile photoNsubuga Hassan's profile photo
Add a comment...
 
Awesome job as always by +Taylor Ling for the Android UI/UX community.
 
Android Design Mock Up Preview Kit for Photoshop and Powerpoint

I was working on a client request for a realistic screen preview in a device for marketing purpose, and I realized while there are so much love for the iPhone/iPad mock up, there are rarely such mock up preview kit for Nexus devices for free. So while I am working on that request, I also made the Android Design Mock Up Preview Kit (Nexus 5) freely available for any use.

You can get it at the below link. I also show some examples using this mock up preview kit. Enjoy!

http://androiduiux.com/2014/04/06/android-design-mock-up-preview-kit-for-photoshop-and-powerpoint-free-download/

#Android   #AndroidDesign   #Mockup
11
1
GDG India's profile photo
Add a comment...

Paresh Mayani

Shared publicly  - 
 
 
#androidprotip  When using the ActionBar from the Support Library, you may find that the bar will switch from tabs to a spinner if it runs out of room, such as when you rotate the device. When that happens, you'll want to save the currently selected nav item. This little gem from the ADT ActionBar Spinner template will do the trick:

private static final String STATE_SELECTED_NAVIGATION_ITEM = "selected_navigation_item";


@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
// Restore the previously serialized current dropdown position.
if (savedInstanceState.containsKey(STATE_SELECTED_NAVIGATION_ITEM)) {
getSupportActionBar().setSelectedNavigationItem(
savedInstanceState.getInt(STATE_SELECTED_NAVIGATION_ITEM));
}
}

@Override
public void onSaveInstanceState(Bundle outState) {
// Serialize the current dropdown position.
outState.putInt(STATE_SELECTED_NAVIGATION_ITEM, getSupportActionBar()
.getSelectedNavigationIndex());
}

Unfortunately, it's not yet included in the ActionBar Tabs template, so if / when your tabs automatically become a spinner, you'll be looking for this code...
7
Add a comment...
 
#JustBlogged  Part 4 of "Lazy Android developers: Be proudctive" series where I discussed about Card UI and some open source Cards libraries (e.g. Cardslib by +Gabriele Mariotti), using either of any library we can develop card UI, card list or card grid rapidly without writing boiler plate code again.

#AndroidDev
Ever wondered about Google play store UI which is built around cards. Develop the same kind of card UI using the cardslib library.
18
18
Manish Patel's profile photoSalvador Gómez's profile photoRomin Irani's profile photoPaulo Khouri's profile photo
2 comments
 
 the problem with the card libraries are there restrictions !! I use a custom card UI that works for me !!

Take the example which you give, I am tied to the library implementation, i need to create a Card then add header then add content then add thumb etc !!
Add a comment...
Have him in circles
1,770 people

Paresh Mayani

Shared publicly  - 
 
Bluetooth LE was originally introduced under the name Wibree by Nokia in 2006. Interesting!
6
Add a comment...
 
#JustBlogged  one more part for the Lazy android developers: Be productive series :)

In this part, I have talked about Staggered GridView and 2 widely used libraries for the same. We can integrate either of any library and we can achieve the same UI as of Pinterest or Expedia.

#AndroidDev
Staggered GridView is nothing but a GridView having multiple columns with rows columns of varying sizes. Check it in Pinterest, Expedia or Etsy android app.
6
Add a comment...
 
Superb....mind blowing as always!

Thank you +Cyril Mottier.
 
Android App Polishing: Show UI State Through Icons

With the release of Capitaine Train for Android[0], several people recently asked me how we implemented some of the tips & tricks available in the application (some of these tricks are barely visible but remember, I love details :p). In order to showcase some of the most interesting application bits of code, I thought it could be helpful to Android developers to start a small series of posts. Feel free to comment this article if you want me to describe something you found nice in the Capitaine Train application.

As some of you may have noticed, we put a lot of attention to the search form in the Capitaine Train Android app. As I explained in my previous article[1], I'm not a huge fan of long texts. While often offering a great explanation, text requires a lot of parsing time. Icons are often a great alternative to text because they allow user to understand what's going on more rapidly.

When creating the search form, we thought about leveraging icons to help user better understand the current "form state". As a consequence, the form heavily relies on icons:

  • The "To" icon changes whether the search is round trip or not
  • Mandatory fields (i.e "From", "To" and "Passengers") icons turn red when missing
  • A red icon turns grey in edit mode while animating back to red if the field is not set when exiting the edit mode
  • The "Passengers" icon changes depending on the current number of selected passengers (see screencast)

As you can see in the screencast, the change is done as smoothly as possible simply fading between the different states. This can be done fairly easily thanks to a LevelListDrawable[2]. Here is the XML we use in Capitaine Train Android for the "Passengers" icon.

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- The error icon -->
    <item
        android:drawable="@drawable/ic_search_passengers_0"
        android:maxLevel="0"
        />

    <item
        android:drawable="@drawable/ic_search_passengers_1"
        android:maxLevel="1"
        />

    <item
        android:drawable="@drawable/ic_search_passengers_2"
        android:maxLevel="2"
        />

    <item
        android:drawable="@drawable/ic_search_passengers_several"
        android:maxLevel="10000"
        />

</level-list>

Starting API 11, you can animate changes in a LevelListDrawable or more globally in any DrawableContainer. Unfortunately, the framework only exposes the XML attributes in <selector /> (I really don't know why it has not being exposed to all DrawableContainer :s). Fortunately for us, you can tweak the fading duration values in your Java code with the set[Enter|Exit]FadeDuration(int) methods (yep I also don't know why the duration is an 'int' rather than a 'long').

In our code, we simply update the icon whenever there is an impacting change (an error occurred, the number of selected passenger changed, etc.). Here are some notes about the following snippet of code:

  • mFieldErrorState is a bit mask gathering all of the fields that are currently in error
  • mEditMode contains the current "edit mode" ("Passengers", "From", "To", etc.).
  • LEVEL_ERROR is 0 & LEVEL_NORMAL is 1

private void updateIcons(boolean animated) {
    final int animationDuration = (int) ANIMATION_DURATION;

    // Update the "From" icon...

    // Update the "To" icon...

    final Drawable passengersIcon = mPassengersView.getCompoundDrawables()[TextViewAdditions.INDEX_LEFT];
    if (passengersIcon != null) {
        if (passengersIcon instanceof LevelListDrawable) {
            ((LevelListDrawable) passengersIcon).setEnterFadeDuration(animationDuration);
            ((LevelListDrawable) passengersIcon).setExitFadeDuration(animationDuration);
        }
        int level = LEVEL_ERROR;
        if ((mFieldErrorState & ERROR_PASSENGERS) == 0 || mEditMode == EDIT_MODE_PASSENGERS) {
            level = Math.max(LEVEL_NORMAL, mPassengerIds.size());
        }
        passengersIcon.setLevel(level);
        if (!animated) {
            passengersIcon.jumpToCurrentState();
        }
    }
}

[0]: https://play.google.com/store/apps/details?id=com.capitainetrain.android
[1]: https://plus.google.com/118417777153109946393/posts/FABaJhRMCuy
[2]: http://developer.android.com/reference/android/graphics/drawable/LevelListDrawable.html
6
1
Jimmy Leonardo's profile photo
Add a comment...
 
#JustBlogged  Part 5 of Lazy Android developers: Be productive series where I have discussed about widely used and popular Image loading libraries like Picasso, Universal Image loader, Volley and UrlImageViewHelper, with their pros and cons. 

Do read it and share your views on using particular Image loading library.

http://www.technotalkative.com/lazy-productive-android-developer-part-5-image-loading-library/

#AndroidDev   #Android
Post is all about Image loading libraries for android, libraries which could help to load and download images asynchronously, e.g. Picasso, Volley, etc.
10
9
Vladimir Bjelakovic's profile photoLeonid Olevsky's profile photoSalvador Gómez's profile photoMichael Byers's profile photo
 
Nice comparison. One note:

"Picasso doesn’t provide a way to prepare and store thumbnails of local images." that is not true. picasso loads images from any url. Incl. assets folder for example.
Add a comment...
People
Have him in circles
1,770 people
Work
Occupation
Android developer
Basic Information
Gender
Male
Story
Tagline
Passionate Android developer
Bragging rights
>40,000 Reputation and Android Gold badge holder on Stackoverflow, Invited to speak at DevFest Kathmandu, Invited to speak at Android developer days (Ankara)
Education
  • Gujarat University
    Computer, 2007 - 2010
    Master in Computer Application (MCA)
  • Gujarat University
    Computer, 2004 - 2007
    Bache in Computer Application (BCA)
Best facility and great service.
Quality: ExcellentFacilities: ExcellentService: Excellent
Public - a year ago
reviewed a year ago
1 review
Map
Map
Map