Jobs

Android Engineer

Requirements

  • At least 1 year of Android experience

  • Solid fundamental Java skills

  • Have solid understanding on Android anti-design patterns and UX principles

  • Great team player & value flexible hours

  • Must be initiative (There will be a bunch of peers to help you)

Good to have

  • Git knowledge
  • Keen design eye

Compensations

  • 300,000ks to 500,000ks
  • 13" Macbook Retina + 23" external display
  • Required test devices on request
  • Personal Nexus 5

iOS Engineer

Requirements

  • At least 1 year of iOS experience
  • Solid fundamental Objective-C skills
  • Have solid understanding on anti-design patterns and UX principles
  • Great team player & value flexible hours
  • Must be initiative (There will be a bunch of peers to help you)

Good to have

  • Git knowledge
  • Swift knowledge
  • Keen design eye

Compensations

  • 300,000ks to 500,000ks
  • 13" Macbook Retina + 23" external display
  • Required test devices on request
  • Personal iPod touch

Web Engineer

Requirements

  • At least 2 years of web development experience
  • Must be able to handle both backend & frontend
  • Database knowledge
  • Great team player & value flexible hours
  • Must be initiative (There will be a bunch of peers to help you)
  • Must be able to pick up Rails and Node.js

Good to have

  • Git knowledge
  • Keen design eye
  • Rails and Node.js knowledge
  • Coffeescript knowledge

Compensations

  • 300,000ks to 500,000ks
  • 13" Macbook Retina + 23" external display

Notes

  • There will be a 3 months probation period with 50% salary.
  • Applicants must be wiling to sign 1 year contract.

Send your resume to hello@nexlabs.co if you are interested.

Creating Delightful User Experience with Contextual Action Mode in your Action Bar

Action Bar is a great place to provide the user with certain set of interactions. It is the de facto place for developers to expose functionalities in a much predictable way. It also can be used for branding your app and giving it an identity. But, Action Bar can be so much more than that.

Action Bar can also be used to provide temporary context to enhance an experience of a sub-task. Let's look at an example -

Contextual Action Mode

Contextual Action Mode

The above example illustrates a Contextual Action Mode. The Contextual Action Mode is provoked when the user long-clicks on a list view item in order to select multiple items and perform certain actions such as deleting selected items. It's a great way to expose additional contextual actionable sub-tasks with Contextual Action Mode.

Now, let's look at how the code works. Firstly, create a new menu item inside your res/menu/ folder.

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/action_delete"
        android:title="@string/action_delete"
        android:icon="@android:drawable/ic_menu_delete"/>
</menu>

Secondly, attach the code to start Action Mode in any event. For example, let's say I would like the Action Mode to be provoked upon tapping a text field -

myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if (hasFocus) {
            mActionMode = startActionMode(new ActionMode.Callback() {
                @Override
                public boolean onCreateActionMode(ActionMode mode, Menu menu) {
                    mode.setTitle("Selected");

                    MenuInflater inflater = mode.getMenuInflater();
                    inflater.inflate(R.menu.action_mode, menu);
                    return true;
                }

                @Override
                public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
                    return false;
                }

                @Override
                public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
                    switch (item.getItemId()) {
                        case R.id.action_delete:
                          deleteClicked();
                          return true;
                        default:
                            doneClicked();
                            return false;
                    }
                }

                @Override
                public void onDestroyActionMode(ActionMode mode) {
                    doneClicked();
                }
            });
        }
    }
});

That's it. It's extremely easy to set it up. Furthermore, you can also theme your Contextual Action Bar using a stylesheet.  For example - 

<item name="android:actionModeBackground">@color/primary_color</item>

We think these Action Modes are an integral part of polishing your app's experience. It can certainly be useful in creating forms and exposing list view actions. Capitaine Train is one of the apps that makes the best use of Contextual Action Mode.


How to Setup your First Blog - the Geeky Way

How to Setup your First Blog - the Geeky Way

Today, I am going to show you how you could setup a cost without a single cent.

Sounds good? In this tutorial, we'll be using the awesome static blog generator, Octopress. I assume you already have some basic Git knowledge. You can also learn more about Git here.

But first, you will need to have a ruby version manager installed on your machine as well as a GitHub account. For me, I am using rvm for managing my ruby versions.