why Android's search bar is dumb


Pardon the rant but...
Google's idea of a search bar is pretty darn useless.
A search bar is supposed to be ready for text input the second you touch it.

But no! it is too complicated for all-mighty G to create such a simple thing.
Instead, when you touch that widget up there, it just opens the search app!
Why waste so much space for what is essentially just a fucking icon!?!?!?

I've been waiting on Google for 3 years to fix this, but now I'm putting my foot down!

Google - you don't want to fix this?
I'll fix it myself!

Hello mrQuery
mrQuery is a home button replacement that takes the solution to this problem to the next level.
When you set mrQuery as your launcher it makes your android act like it's on cocaine.

  • Tap the home button, and get the keyboard open right away, start keying a name of an app and it launches immediately.
  • Access your favorite contacts and various system settings from the same box.
  • Every app you launch is added to a small "history" view above the search-bar for even faster access.


Check it out on the play store.

FAIL entrepreneurship

F.A.I.L entrepreneurship:

Fail
Analyse
Iterate
Learn


Fail
As soon as you can, you are nothing without failures, they are the fuel for everything: motivation, learning and change. more...

Analyse
Analyse! Analyse! Analyse! set sensors on every possible data and decision point, every user click, tap and interaction. more...


Iterate
Repeat and try again, get into the FAIL loop, do the shortest iterations possible, every time you do a long iteration it's like running with your eyes closed. You have to zoom-out and re-iterate. more...


Learn
From your analysis and failures, commit to learning ahead of time. "If we fail at this, we learn that". more...

Adding a jar to Android Studio

Should be pretty simple right?
Well, the UI doesn't support it right now but it is pretty simple to handle manually, so you'll have to open your build.gradle file that should be in:
/projectName/

And add the following:
dependencies {
    compile files('libs/jarFileName.jar')
}


Example:

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('libs/MixpanelAPI.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}

Android layout shadow without 9 patch

Applying shadows to android layouts without using a 9-patch on android 4.3 and below! (4.4 changed toast design)

Using a 9-patch is (sometimes) too much of a pain in the buttocks, when all you want is just a simple shadow, CSS has it, so why doesn't android??? Grrrrr...!

I found a hack.

While working on Mr.Query, I was looking for a built-in android icon because I was too lazy to design a new one.

Then, I stumbled upon:
                android:background="@android:drawable/toast_frame"

                android:background="@android:drawable/dialog_frame"



I tried it on a few different layouts and buttons, and it's not bad!

Here are a few examples:




<TextView
            android:layout_width="fill_parent"
            android:text="I am a simple textview with a shadow"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:padding="16dp"
            android:textColor="#fff"
            android:background="@android:drawable/toast_frame"
            />

    <LinearLayout
            android:layout_height="64dp"
            android:layout_width="fill_parent"
            android:gravity="center"
            android:background="@android:drawable/toast_frame"
            android:padding="4dp"
            >
        <Button
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="Button shadow"
                android:background="#33b5e5"
                android:textSize="24sp"
                android:textStyle="bold"
                android:textColor="#fff"
                android:layout_gravity="center|bottom"
                />

    </LinearLayout>

    <LinearLayout
            android:layout_height="64dp"
            android:layout_width="fill_parent"
            android:gravity="center"
            android:background="@android:drawable/toast_frame"
            android:padding="4dp"
            >
        <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="color textView with LinearLayout shadow"
                android:background="#f2eee8"
                android:textSize="18sp"
                android:padding="4dp"
                android:textColor="#111"
                android:layout_gravity="center|bottom"
                />

    </LinearLayout>


Made with hilite

Run Lint on Android Studio

Android Lint is a tool that scans Android project sources for potential bugs.
For example, it can find unused resources.
To run it on Android Studio:
Top menu-> Analyze-> Inspect code

To run it on a specific module, make sure the specific module is selected in the Project tab.

Re-enable smart app banner in ios after clicking x close button

It is pretty simple actually, to re-enable smart app banner in ios after clicking the x (close button), just click "Clear Cookies and Data" in Safari settings under iOS settings.

Sustainable engines of growth


Sustainable engines of growth in startups are ways in which old customers bring new customers

There are 4, according to "The Lean Startup":
  1. Word of mouth.
  2. Side effect of product usage (viral).
  3. Funded advertising, acquiring a customer should be lower than its revenue.
  4. Repeat purchase or use.