Tuesday, December 31, 2013

Alternative to Fragments

Square is doing a different approach that is an alternative to fragments, called Mortar. The idea is thin views paired with controllers and using their Flow library to describe screens and Dagger for fast dependency injection.

At this point not everyone is using Mortar at square and Mortar is still very alpha. But its interesting that someone is attempting to solve MVC patterns in android by suggesting a non fragment route.

Monday, December 30, 2013

New Device

It is somewhat surprising if you  have not shopped for an android device recently, that you can get a quality android smartphone that comes very close to Samsung high line android devices for under $50. Bill Gates use to have a saying that a desktop computer for everyone, he might have missed an accurate prediction by a bit.

Friday, December 13, 2013


I think the Eclipse ADT 23 with gradle builds might be coming soon as I just discovered that if you convert a project to the gradle nature in Eclipse 4.3 than it does trigger a build through gradle sort of in that I see the gradle cache created.

Thursday, December 12, 2013

Managing Classpath, EclipseAndroidGradle

In Intellij and Android Studio Gradle is more of first class citizen than in Eclipse. Thus, we have to find a way to manage the Eclipse classpath rather than create a whole lot of extra work.

Thus, first get IVYDE plugin from ASF as it setsup an Ivy Cache container for Eclipse, in other words you can load project libs for project via the ivy.xml file during IDE setup which takes care of code completion, etc.

Gradle build script wise rather than write the whole file again in groovy terms you can make use of this new gradle plugin by Blaine Simpson, gradle-ivyxml-plugin.

The jar is at maven2 repo. Because IVY can handle maven that means it also can handle aar android project library files as well.

Wednesday, December 11, 2013

EclipseAndroid Gradle

Okay, so working on hacking up gradle/groovy to enable Android Gradle Builds with Eclipse. If you want  to follow along with me, you should complete some of these steps before my next post with details..

1. Download and install artifactory that way I can instruct you on how to do local mane and ivy repos so you can do everything offline.  Artifactory is easier than Nexus or Archiva.

2. Not required, but it makes it easier if you move your note taking and project page creation to one entire system. Fro myself I am moving all my project page creation and note taking stuff to using TiddlyWikiFive as it supports mobile out-of-box and twitter bootstrap and can be accessed and used on mobile and can create big MB and GB sized files without major problems.

Saturday, November 16, 2013

Eclipse ADT Gradle

Still  no word on when we will see Eclipse ADT work with gradle. Hmm, maybe time for an experiment hack up the classpath/project files to get a gradle style build of android projects in Eclipse.

Wednesday, November 6, 2013

Web APP vs Mobile App

The core of this is often overlooked or missunderstood. Let me boil it down.
The limitation of screen size combined with the immediatacy of needing to
do something else contribute to the need to lower cognitive loads.
In plain English, help the mobile user get the information with less
thinking because you have a smaller screens and limited resources on a
mobile device. What does this mean?

Navigation, menu items are no longer lists of sections in an area.
you should be using less menu items. That also means you should be using
those visual and other cues that indicate possible actions in a
section of your application with a cohesive set of common actions
that mean the same across all areas of your application.

Another way to rememebr is you see the phrase, give the user the
real object to manipulate. In the case of most mobile applications that real object
happens ot be content within the application.Balance input loads. On desktop the action of clicking a menu or scrolling a page was small as the mouse input system takes a tiny small movement of the
hand and translates that to a large movement on the desktop screen.
Because of the screen space limitations you have no similar input translation on moible and thus
you want to reduce extra user touch movements whenever possible. If you can reduce
7 clicks to do something to 2 than you should strive to do that optimization.

Do not be afraid of experimentation. In the Web application world there is an web application that defies UX conventions, its not pretty visually. It looks like something from the 1990s web in fact. What is hidden is the behind-the-scense appliction of modern html5/css3 to deliver something that works well both in web application form and mobile application form. The web application I am referringto is in fact Craigslist.org.

Craigslist team used the organization of links within their menu system to reduce cognitive loads and eliminate the use of the dreaded dropdown which freed them up to have a UI that is future proffed no matter what new internet tecnlogy comes down the rod as far device form factor, etc.

Saturday, November 2, 2013

KitKat Design change

The big design change I see is not only having the UI highlights match app including the circle of touch color you get when touching something but also the changes to the status bar and actionbar that allow you to more easily make actionbar and status bar transparent and thus revealing your app background. Relax, some already did some thinking on it with work arounds.

The Android PulltoRefresh for native actionbar library already  adjust headerview for the transparency of actionbar so probably have to extend it further. For status bar transparency I guess we need to look at the section for status bar styles in styles.xml for android itself.

Thursday, October 31, 2013

Basketball Startup Mentality

The two top winning NCAA coaches server at Indiana colleges getting those wins that is Bobby Knight with Indiana University and Gene Keady with Purdue University. What is often forgotten or not highlighted as much is the results of their dedicated to preparation off the courts.

Coach Knight while at IU has a 98% of players graduating with a 4 year degree, the average for the NCAA is 42%. While Keady when at PU has a 78% of players graduating with a 4 year degree. Both are records with the NCAA.

I see daily startup people miss-use the pivot term so lets correct that with preparation:

BasketballHoop= Market and Customer Fit potential
Basketball = startup idea
Center Pivoting=startup non tech founder pivoting for a better angle of attack on idea
Guard Receiving The Pass= tech founder with different viewpoint unobstructed by obstacles
Opponent=obstacles to market and customer fit

Pivot only works if team can accept new viewpoints to get a better unobstructed view of market and customer fit. In the case of one idea, one viewpoint that never works and soon burns out after a weak effort towards market and customer fit.

Prepare for startups like preparing for winning basketball both on the court of startups and off the court of startups.  Over prepare...and if you cannot over prepare than damn effing stop using a basketball term you fail to understand.

Wednesday, October 30, 2013

KItKat Oct31 or Nov 1?

Google updated the Google apps in the Play Store and uploaded a new bugdroid kitkat animation to youtube. Thus it appears that KitKat, Android 4.4 OS will launch on either Oct 31 or Nov 1.

Saturday, October 26, 2013

KitKat Delayed?

Supposedly KitKat is delayed until November. But let's clear the air, Nexus 5 will be delayed until probably Nov1st.

KitKat the Android OS 4.4 will still be demoed on Monday and released as wells as Nexus5. The interesting part will be what new UI components Google added to the UX design.

Tuesday, October 22, 2013

OOP MVC android

There is one pattern that fits android as far as MVC is concerned.  Its called Passive MVC as it gets all the crud and crap out of the activity class file. Karina Sokolova's examples cover both activities and fragments.

Thursday, October 17, 2013

TO Managers of VC funds

To Managers of VC funds:

When you do a keyword search to find developers to bother to interest in a tech cofounder position in a far away city rather than do some analysis of fit of that potential lead you do both a disservice to profession of sales and the profession of recruiting.

PLEASE FUCKING STOP It!  And the savvy developer is going to challenge you anyway to fly to their city and talk them because we as developers are not FUCKING RETARDED!

Not to mention the brand damage you do that startup you are attempting ot help in the first place.


Secure Preferences

I found this project Secure Preferences, it obfuscates shared preferences using 256 bit AES. Does not fully stop illegal hacking of apps but does make an incremental step towards making that much harder.

Wednesday, October 16, 2013

FourAndroid UX code

I have not put up FourAndroid code yet at github. So while I get some more coding completed to do that, you can start looking at the progression of the example application class, GWSApp.java. Right now image caches have been added.

Both memory and L1 caches using OkVolley and VolleyImageCache example.

FontLoader, customfont directions

Okay, the directions on how to use HoloEverywhere FontLoader is as this gist.  If you want to make use of adding RawLazyFont to add more styles just follow the template and you will see where to add them but you probably should have a regular font style for the font that you adding simulated font styles to at least.

Tuesday, October 15, 2013

What A Mobile Dev/Designer Is

Why go through coding/curating a UX/UI library for android? Other than obvious need to use it to prototype several applications must be a reason other than its not there, right?

I am looking for the startup founder that gets what a designer/developer on the front end is. Some of you have peers or friends in web design/development and you see the pattern of becoming adapt with a front end stack by playing around with libraries and developing new ones. Its the same on the mobile native front end as well.

Someone that processes stuff and never builds and never immerses themselves with the build process never gets this. This is why I avoid recruiters as there is nothing in it for me or you to spend time explaining it to them.

The other reason is that it feeds the api changes of the different android versions into something that I will remember and use again and again.  This is also why you should be wary of those who ask for an application example as the whole process is half the equation and without the understanding that aspect of the equation you get a mismatch of results and expectations...ie the old dictate wrong design to the developer or designer.

NetFlix bimbos-RXJAVA4Android

So why did I react to Netflix bimbos lying to me in a recruiter email when they stated that my android exp overlapped what they were doing?Well, I specifically knew some things Netflix has worked on in the java area that disprove that point.

RXJava is different than say AKKA's application of functional programming to android java and java in that AKKA hooks into a scala toolkit that runs on server side whereas RXJava stands completely alone to allow you to concurrency in java.

Android article link and this is the full github link to rxjava-android. Its convince me nough that I am switching over to using it. The only word of caution is that the lifecycle hooks have not been added yet. But I think most of us can hand roll our own quite easily.

Monday, October 14, 2013

Netflix Bimbos FUCKYOU

Every once in awhile a firm will earn a spamlist entry due to overzealous Bimbo head recruiters who do not think but rather decide to do such things as lie in emails, etc.Amazon earn their spot on such a list for auto adding my email to spam infused internal recruiting system.

Netflix now earns that honor for just effing Fuck not listening when I said no over and over again... NETflix fuck you ANd YOUr BIMBO reCRUITRS!

Maybe after a few google bombs firms will sie the fuck up.

Better than ViewHolder

Garvelink authored a post Better CustomViewGroup and put up a github repo showing why the ViewHolder pattern is considered harmful. Its a must read post for those designing UIs for android applications.

Sunday, October 13, 2013

Chicago Android Expert

You ask Chicago Android Developers these things;

1. Can we Load Custom fonts from res/raw?
        Their answer is no.(Wrong just have to keep in mind that you want to reduce the font loading to 2.5 megs or less using a static and to cache it properly)

2. Can we set kerning on text?
NO we cannot.(Wrong again, extend textview and use spannable)

This is why I get so pissed off at iphone first because of design as its a sack of shit sold by iphone lazy ass developers who do not know the internals of android.

Custom Fonts

Loading custom fonts at application startup needs to be light and fast. Obviously you should not try load 10 megs in custom fonts.

But how to do it and not loose any nice typographical control over your design?  If you look at FontLoader from HoloEverywhere you will find that if you customize it you can reduce your custom font set as the basic fonts kept per font family are:


Mine own will get reduced to about 1.7 megs.

Friday, October 11, 2013


This applies for api 11 to api 19 for android. It seems that to get this right as far as an font stack to use for all human language scripts that you would set typeface in themes per human language and have separate text controls for both headers and content in order to have different typefaces.

The stacks I have come up with are this pairings:

Full Noto
Full Droid

You can get the full droid stacks from


Its extra work but gives you full typographical control across all the human languages and scripts.

Noto comes from ChromeOS and you can find it at code.google.com just search for it.

Startup Asking for Code or App

If you are a startup that asks for code or app as proof of skills do not make these mistakes:

1. do a job ad in a major startuphub forum and than do a bait and switch to project bid, worse if you oh gosh pay for the damn job ad.
2. Most developers have a no lie policy when hey turn over app code as proof of skills. Its not hard, understand effing NO PART people.
3. Every interaction with a potential developer your startup is being interviewed, ACT LIKE IT AND MAKE AN effort to SUCCEED IN thAt INTErVIEW.

DO I HAVE To TALK TO YOU LIKE YOU ARE EFFING FIVE YEARS OLD!  Chicago startups are the worse as they use the Groupon, lying/cons as examples to emulate.

Is this a new Android Font?

So in my explorations of typography, fonts, design, and android I came to this link of a project a few days ago:


While it does have signs that it maybe a web font, Ican help wondering if it might be a new font for either android 4.4 or android 5.0. The indication that its is a web font is the inclusion of both arimo and cousine in the downloads as pairing fonts.

The indication that it maybe a new android font, the inclusion of  tinos, arimo, and cousine together. You get a better clue if you review Steve Matteson's previous font designs.

Thursday, October 10, 2013


My UI lib, now named FourAndroid, is somewhat a fast prototyping library. Part of that fast prototyping is having font family stacks that are easily changed.

For those not in design, its the difference between a rich story line emphasized by music of a Pink Floyd album and something of pop garbage by Miley Cyrus.Or Led Zepplin, Black Sabbath, etc.

While the roboto fonts are an improvement in the typography of an android application. Its just not enough of a rich palette. But there are some tricks and extra classes you can add that enlarge that roboto font palette to something more robust and easy to use.

The UI library will be larger with more fonts but you will be able to cycle through different font palettes in the IDE on the fly to see which way your app design should go which is neat feature to have.

Tuesday, October 8, 2013


When requesting talk time to ask me about becoming a tech cofounder for a Chicago startup please respect my time since you are wanting to make a short cut and choose someone in days rather than take months.  We as developers have a vocation in which we choose problems to solve by writing code and write the code as our daily vocational habit.

When you as a startup disturb that habit because you cannot figure out what a digital calendar and invite system is in relation to setting up an meeting or interview than most of us have to say that your startup execution becomes somewhat questionable to say the least.

This is not your freshmen's year of college. Its somewhat like you are asking someone to marry you blind, its not going to happen by itself you will have to earn the trust of the developer by doing those things that denote trust. And if you cannot respect the developers skills by understanding that developer is getting asked daily to do things for firms than maybe you should not talk to that developer.

Monday, October 7, 2013

Four Android

If you have not looked at lately:


Froyo is at less than 3%.  Thus, most of us should be switching to supporting Gingerbread through JellyBean.

But is that the right decision? Why not a more radical approach? Just altogether forget other version and just focus on Android 4.x versions.

If you are a startup you want your app on new android devices anyway and focusing on the older version ramps up the cost in dev time. Besides you can do all the new Ui effects that put iOS to shame.

Are you Four Android?

Saturday, October 5, 2013

Design Crap

Nothing pisses me off than design crap trying to be awesome design. So here is a typical design agency of Chicago website:


Go to the site for a little bit..now notice what is missing yet?

Now if you a real designer its somewhat obvious right away what is missing.  That magical application of the numerical relationship 1.618.

This effing why I do not go through recruiters as recruiters cannot tell the fakes from the reals. 1.618 is the reason we have grids as a design tool. You do not have one without the other, unless you want to fake it.

Friday, October 4, 2013

When I give Developer Reerrals

Another stupid startup, another stupid clusterfuck..

When I Give Developer Referrals.

1.Firm asking is required to buy my meal at my location as I am interviewing the firm to see if they will treat the developer I refer to them right.

You startup founders are old enough adults to understand that you have to get hod of transport to meet the requirements of that meeting. If you cannot touch shit Sherlock. And if I have to give a speech about being adult to a startup founder than FUCK YOU!

Wednesday, October 2, 2013

UI obssessing

So android.support.v8 got released so now I can put together fully the UI library have been obsessing about for awhile. Screenshots to be forthcoming.

The interesting thing is I have all these damn emails from recruiters; got to see an updated resume, got to go to their location, etc. None of that matters to UI application development on android. What matters on android is using that java knowledge and digging through android source code and learning internals of android to craft new solutions to UI challenges.

And I am sorry I can pretend I like other programming just as much as I do figuring out how to solve an UI challenge on android, but its still somewhat lying. For example, one aspect I have found is the aspect of increasing callbacks seems to negatively impact the butter fast speed of the UI.

The anti-pattern idea is to extend the bus concept in that you are not just doing java classes that represent events but also represent commands in a MVC-MVVP set of patterns as we have two or more things in that we can scope the event objects on the bus by lifecycle of the fragment itself or the fragment activity or the lifecycle of the application itself.

Back to code, screenshots and videos coming soon.

Tuesday, October 1, 2013

RoR Hard Way,startups

I got my wish to one of Lon Chow's startup investments is looking for a backend geek with ruby for a tech cofounder in Chicago and the have agreed to a working app as proof.
Its my two favorite areas local and mobile.

The interesting part is that I have not touched RoR in awhile so I have to bootstrap. In my case I am porting an app/backend from 1.9 ruby and rails 3 to ruby 2 and rails 4 and adding some stuff. Should be some fun exciting days ahead.

Saturday, September 21, 2013

Social Startup Engineering

Okay so you want to do a social network app as a startup. Lets educate you.

What is the first example of a Social graph on internet?  Give up? Its that little search engine you use, yes tha tis right whne the search engine ranks an indexed page its creating a graph of nodes just like a social network and its the first disovery user interface for your app.

That measns you are smart enough to put in unclaimed accounts with information and than use a page that lists thaty as the search engine SEO landing page for your startup.  Anglelist did it so can you.

Once you have that completed you know understand that automating the process to place select high qualified SEO in both the share post title and the first sentence of the share content. Notice that its not visual, yeah that is the foundation not the visual candy on top or say reading the social network api and calling that a product.  Its the underlying system to get stuff in the social graph for a SPECIFIC purpose that is the PRODUCT.

Saturday, September 14, 2013

LinkedIN The Startup api

The most interesting thing a startup could discover is a developer with a top linkedin viewed profile. Why?

Because the core component of developer product for a startup is not the developer code. Its can that developer discover out of all the features of a startup what the product might be that attracts users.

So what are my linkedin profile figures given that I am one of the top viewed developer profiles on linkedin?

Lest give the search first, that is about 140 appearances in LinkedIN search daily. Now for the profile views daily number, that is hovering around 50. Or to put it another way, that is 35% click-through-rates. If you are a startup would you not like to know how to get 35% click through?

With social platforms and mobile platforms becoming the foundation pillars of user arbitration, especially new users would it not be a wise move by a startup to find out how this is done?

Thursday, September 12, 2013

Playing Tiddlywikifive

TiddlywikiFive has been updated so you will see some posts from me in the coming weeks about how to customize it. I somewhat need some notebook whereas I can make notes on mobile application design and with TW5 including jquery, nodejs, etc I can finally use it to make that happen.

Sunday, September 8, 2013


In the linked article there is no implementation, but the diagram should give you an idea how to implement in that
Tablet in landscape gets expanded card and tablet in portrait gets a summary card and regular card following the summary detail pattern and mobile gets two screens following the same pattern.

Also pay attention to the information flow as its dynamic and personalized rather than search and aggregated.


NSA summary:

1. There is an INSECURE NSA key on MS WINDOWS, probably need to stop running windows.

2. Obviously you want avoid services using MS IIS as in how do you think NSA is getting those SSL keys?

3 We do not yet know whether NSA found a way to reverse the knapsack problem for encrypting  and packaging keys.

4. Assume non open source crypto systems as having backdoors.

The biggest take away is to secure your end-point, if you can get off of MS Windows than you probably should. This NSA spying is driven by the Military Industry complex. This means that because they need money there will be mission creep and NSA will use it to spy on on NON Terrorist, namely you and me thus the danger is very real.

Thursday, September 5, 2013

StartUp recruiters

Yes this a rant..

Do you believe an actual startup recruiter tried to use the line..

American Express yourself..

Two problems:

1. Kanye West's quote or line is African American Express yourself.

2. You can guess what the other problem might be..

This is why we hate startup recruiters..

You do not now what the f*ck you are talking about and your skills in trying to fit in are some wath f*cking lame..

Do us all a favor and just f*cking move to a different industry.

Why not instead recruit for NSA, as I hear they are in dire need of recruiting help.

Wednesday, September 4, 2013

UX the droid way

The problem with starting UX innovation is that where do you stop?  So I am implementing blurred background in a certain manner and using some listeners to allow me to change the view background and actionbar background, etc upon changes in UI component states.

But If I want to do this right why not go all the way?  The Yahoo weather app uses a trick of overlaying imageviews and changing the background and adjusting the alpha. But this assumes that you are using a Flat graphics style.

See I want to expand that and use another imageview layer overlaid on top that allows me to change the visual tint or tone if you will and thus indicate another set of visual UI component states. For example, if the app depends upon getting data over a network connection than why not change the tint or tone of the UI visually to a light or medium red. Somewhat subtle in that we still use an alpha so it looks like red glass like.

What about overdraw? Its early in the experiment lets worry about that later.  See this is the problem I do not like staying within the rules, not if we can get to something more exciting.

StartUpBlues, Android

Frustrated, with startups that want android developers. I am coming up with a new Design language that fits android mobile development rather than some clone of iOS UX.

Part of it is figuring out what roles the actionbar, scrollbars, view backgrounds, etc can serve in visualizing states of the view UI components and application states. And on top of that being able to it in an across all android OS versions way.

The startups I seem to run into are a bit not fully aware where they are at progress wise and where they need to be. And to top it off they want to put shackles on the developers efforts towards anything resembling defining product and improving product.

The problem is UX is all about using the application user story as a way to improve the product the user interface. How can a startup as a startup even consider putting shackles on that  and yet have that in the job description?

See those drones up there in that picture? I do not want a user of an android application to ever become one of those drones. And I do not want to be shackled by a startup founder in producing a product that shackles any android device user.

I do not want an iphone and do not want any android application to look, feel and deliver an iOS UX experience to an android device user. I want to deliver an Android UX experience that is full of possibilities, freedom, and this visceral  and visual reaction to the UI reacting to the visual UI component state and the application state.

Where is the startup that wants this?

Tuesday, September 3, 2013

KitKat Marketing

Brilliant move on Google's part to enlist the maker of KitKat to become Android's marketing partner. Let's have a look.

1. Apple has no counter, snide stuff offered to trade journals will not work unless Apple starts offering snide comments about Kitkat to candy industry journals..not very likely.

2. KitKat as a brand in the US has as much love among its consumers as Apple.

3. Demographics of the KitKat consumer also corresponds to the demographics of the android device buyer from early teens to mature adults.

4. Keeps Android 4.4 in people's minds for the next few months leading up to some holidays.

Monday, September 2, 2013

No actionBar

No ActionBar

I have a dream, a dream where the android UI of an application reacts to its user changing its visual styling to indicate its application state.

A dream in which a menu is reachable with one hand gesture operations with the device in my hand rather than having to juggle the device with two hands.

A dream in which the G-Bar(gesture based menu) visual styling both in hidden and reveal mode reflects the iconic brand implementing the android application.

Time to play and make it happen.

Monday, August 26, 2013

Startups Seeking Adroid Devlopers

This will be a small rant. If you are a startup wtih a market fit of statistically ZERO 2 years after first seed capital funding round be bright enough to not effing lie and put on false android devloper seeking prodcesses to get free UX consulting.

Everyone the effing hell sees that trick a mile away as the information about your dire startup situation gets to us before we full respond to you in the first place and we walk  you around a wild goose chase of false UX help when that happens. And please understand that set of tricks indicates that you as a startup founder have ZERO professional skills as a founder., the street phrase is that YOU HAVE NO GAME..I have no respect fo your dumb Mfers...PERIOD. Want respect from a mobile developer stop being a dumb MFer.

And Chicago startups do not let Groupon's lack of ethics mislead you, ends never justify the means.

Monday, August 19, 2013

Blur View like iOS

Okay folks, want the only hint you need to implement it? Obviously, we are using renderscript, not  the alpha android.support.v8 lib if below 11.

Okay, first do not do the full background image. 2nd, do not downscale it. 3d, parallel it as in compute the blur one line at a time. Detect the scroll and than start the blur operation and set it up to do so many lines per iteration and than change background per iteration.

Now, smile as you have the yahoo weather android app blur effect on android.

Sunday, August 18, 2013

Integrating with a Social Network for Startups

Okay, startups since you do not get this..Now the YELLING...

The advertising currency of a social network in order for your startup's mobile application to get huge user increases is the social status artifact of that social network. If your mobile application is not producing that artifact to include in a share post to a social network than your STARTUP IS ScreWEd..kind of simple is it not?

What are the social status artifacts or icons? Picture is the top one overall.  Picture and text is another assuming that the social status of the people commenting on said post adds to the visitor traffic. Than it degrades in visitor count effects depending upon the activity of the mobile application and the social network used.

For instance an events mobile application that posts shares of event pictures, event slides, event talks,etc will do better on Linekdin than some of the other social networks because linkedin's social status artifacts are a different mix than say facebook. If you do not even have this levle of marketing understanding as a startup than listen to the mobile developer and let them transform the ap pinto an actual product rather than just a feature set hoping for someone else to save the startup.

Friday, August 16, 2013


With the trend of Smartphone sales surpassing feature phones and 3 out of every 4 phones being sold being android its time for Android UX to rise above and be first rather than second and a clone of an IOS application. There is no excuse for someone claiming that if one concentrates in Android UX that someone does not know design.

Google could lead this with the right set of developer advocates. Google should led this s we do not want iOS application clones but a full android application experience.

That ability to develop a good android UX for an application extends to two areas, not just design but also android java coding.  Thus, I am wondering what an Android UX Google encouraged class may look like.

Sometime in September the best practices in android UX will be pushed out via my Google Drive account. DroidUX will have both the apk at my Google Drive account and some source code and its using ActionBarCompat rather than ActiionBarSherlock.

Wednesday, August 14, 2013

AndroidStudio customize Gradle Classes

In its current implementation, android gradle plugin 5.6, you cannot use androidStudio to customize gradle classes for code quality enabling to handle the fact that the gradle code quality plugins do not recognize the android sourcesets.  So what to do?

You modify a task that uses the antbuilder to call the ant task and than use before and after stuff to put in the right build lifecycle task sequence. Supposedly the integration with jetGradle via the android gradle plugin will happen soon to eliminate having to do this hack not to mention Gradle project itself changing the code quality plugins to recognize android sourcesets sometime in the next release of Gradle.

Monday, August 12, 2013

AndroidStudio Gralde lesson 3

Seth Rylan teaches us that if its not in gradle right now, than write it with his post on how to rewrite tasks to recognize android sourcesets for the gradle code quality plugins at here. Note, he hard wires config and reports in his urls which you might not want to do that and use the Gradle variables to represent hose directories so it can recognize both the defaults and user settings.

Friday, August 9, 2013

AndroidStudio101 Gradle lesson 2

Not so much a gradle lesson as an AndroidStudio/IntelliJ lesson.  Some times you will get the Gradle error that it cannot delete classes during the clean task.

Instead of running rebuild project run Make Project under the build menu.

Wednesday, August 7, 2013

Android Studio Gradle 101 First Lesson

Okay, the first lesson. You need to load the local.properties file and set debug keystore location in the file...

ant { property(file:'../local.properties') }

Than in rest of it: signingConfigs { debug { storeFile file(ant.properties['debug.keystore']) storePassword 'android' keyAlias 'androiddebugkey' keyPassword 'android' } }

Tuesday, August 6, 2013

AndroidStudio lives

Okay so Android Studio seems better now:

The gradle plugin documentation and android studio documentation is playing catch-up. But, for now most of the time you can hand edit the gradle build file and get it set up as the gradle sample zip  has hints. The main thing is the project stuff as the UI wizards in the IDE or not finished/enabled yet.

BTW, if migrating from eclipse in the global settings change the compiler setting to ecj as it android studio and Intellij come bundled with it and it decreases your build time by about 45%.

Thursday, August 1, 2013

ActionBar Compat Ready for Prime time?

At GoogleIO Google updated the ActionBarCompat to be able to use it for API 7 and up. Is it ready to replace SherlockActionBar?

It does have CompatThemes for apis below HoneyComb..hmm I think its time for test to see if it can..maybe a UX/UI patterns app.

Friday, June 28, 2013


Roman Nurik in Mid May re-announced ActionBarCompat but did not give an ETA on the new version. However, if you examine the source code of IOSched APP your will the directory of actionmodecompat.

It appears that on can use it with the old version of ActionBarCompat, ABS,and 3rd party ActioBarCompat versions.

Monday, June 17, 2013

Offtopic:We The People

Many of Americans like myself at some point in their lives took an oath to protect the constitution as part of their military enlistment. We took it and still take it seriously.

Than we have the Obama and US congress jackasses committing perjury in pursuit of making the NSA scandal go away. The same excuses used to set up policies to pretend the spirit of the law to achieve some objective to nullify fear rather than preserve the constitution during the financial crises are once agin used to hide both the President's and US Congress failure to protect the US Constitution.

We cannot let this tragedy stand and we cannot let our Democracy of Freedom in the International arena be sullied by a bunch of perjury-infused cowards who have no back-bone to choose justice over approving illegalities.  Mr President Obama and US Congress you make want to wretch. This is not over Mr President, and you better hope that history is kind to you as I think history will not be so kind as in the past when someone trampled the constitution it came back to bite them on the ass.

Mr P{resident, we are somewhat of tired of being lied to as like we are children lacking in the complexities of language. And most of us with technical training can spot the lies about what is technologically possible and when it does not match policy. If this set of trends continues Mr president you will serve to destroy the only bright spot of the US economy the Internet Industry and it will never recover from the betrayal of privacy and trust.

Mr President, you offer of a false choice of giving up the US Constitution to save less than 0.1% of the US population when in actuality by defending the US Constitution you are able to save 99.99 percent of the US population. It works this way because despite Bush stating that extremists abhorring freedom and not believing that statement, that exposure to freedom and public discourse blunts the weapons of extremists everywhere..namely terrorism that they use.

Mr President, many of us would like to be the position to have to make a choice between protecting the US Constitution and and protecting the perjury-infused cowards as its what makes us product Americans when we make the choice to protect the US Constitution.  Please rethink your choices.

Saturday, June 8, 2013

AndroidStudio intelliJ

Okay, so making my way to AndroidStudio from Eclipse Juno. Some brief notes.

Android Studio is based on community edition Intellij13, which means if you want the more full power version you probably should download Intellij13 community edition. First step in intelliJ is the registering the VCS user root, ie your user folder to into settings and choose vcs and choose add root on the warning notice.

Want higher than 12 sized font choose a non default font and it takes the higher size than 12 just fine as long as you have an Oracle JDK installed.

Wednesday, June 5, 2013

Design Voice

Growing up I always had these well-meaning teachers that would tell me what essay to write or what poem to write,what music to play, what research to do, what to make, etc.   It made schooling a hating experience.

The design guidelines for both iphone apps and android apps are not rules, they are guidelines to be ignored and discarded so that we can get to a more effective communication app or whatever comes into your head.

What made computers exciting for many of us was the aspect of the possibility to build anything without rules standing in the way. When you accept that challenge and responsibility fully, your own design voice magically appears.

Here is not coloring in the lines that everyone says, here is to throwing out the rules.

Monday, June 3, 2013

FlatUI Experiment

A flatui experiment, switched over my jekyll powered github site to flatUi:


Decided to give zone tiling a try and see what may turn up.

Sunday, June 2, 2013

abusing MS Zones and flat UI

Why is everyone scared of experimenting with MS Zones and flatUI?
Certainly we can do a better and a more informed and intelligent job than MS's own website, right?

Wednesday, May 22, 2013

Dear Microsoft

Look Microsoft I am sure you are trying very hard but having your recruiter DRONES  attempt to get me to apply to be a Senior Android Developer for Microsoft in the Skype division might not be a very good idea. one, any firm that attacks Linux I hate.

And not just that basic hate but the hate that makes me do actions contrary to MS Business interests,like always make sure to run Unix or Linux. Even at times  purchase computer systems that have no sign of MS software on them.

Second, any firm that attacks Android through patent troll actions I will not work for at any time. To the point where I will just waste your recruiters time and make them look very foolish just for the pure joy of doing it.

Monday, May 20, 2013

End of Eclipse Torture

At Google IO the Intellij version of Android Studio was introduced which is based upon the community edition of Intellij with the new android gradle build system added.  And it appears the eclipse version of the ADT plugin will no longer  be updated past the 22 version.

I was a fan of the eclipse IDE for awhile, but eclipse has become this oppressive large beast that corrupts workspaces and other limits such as the one project and no sub projects in a project. At first try of Intellij it seems better laid  out UX wise of developer workflows and not the oppressive memory beast that Eclipse tends to be at times.

They even have a nice low price on the enterprise version. bye bye Eclipse IDE,hello IntelliJ.

Sunday, May 12, 2013

Ahead of GoogleIO

If I could have just one request of Google before GoogleIO it would be this..

Please learn what Modernism is to visual graphics and human interface design, preferred before the next major release of an android OS version.

Tuesday, May 7, 2013

Mobile Tablet Future

I may or may not be making a startup pitch based on the subjects of this post in 14 days or less.  That somewhat means that there are some biases in that I think of no laptop world that may be the future for most computer users.

Bill Gates is frustrated, or is that post MS windows constipation in that most computer users hate MS Windows and have no desire to use it on their consumer device.  We see both huge strides in Apple iPad sales and Android tablet sales.

Here is a sobering thought what if tablets becomes the main mobile device and
smartphones becomes extinct?  I now hard to believe as we have about 2 billion smartphones world wide in use at this time.

If you observe mobile application trends you will notice that currently we have as many innovative apps in smartphones as well as tablets that are in high demand by users. Flipboard, etc.

With tablets we have more screen space, more storage space, better harnessing of     multi-cpus towards app processing power, etc. Users respond to owning a table by spending more time using it, effectively ti becomes the new TV tube. And because they want to use it more they have a deisre to do those things normally only done on laptops.

In less than 3 years storage space and device memory not to mention raw cpu power has doubled in the tablet device category. Same trend in smartphones took about 3 to 4 years depending upon which mobile OS you take your measurements from.

That is an opportunity to put more powerful apps in tablet consumers hands. I think we are seeing the very first part of that upward sloping curve.

Monday, May 6, 2013

Mavenized Libs

I found a way to handle mavenized libs if you do not use Maven.  Works for those android project libs that you know you will never modify through extending in another android project lib.

In a new project you do a git sub-module to a mavenized lib like actionbarsherlock.  You than modify your ant build to run from the newly created parent project root referring to paths in the mavenized lib that is not a sub-directory via your git sub-module creation.

The trick in the paths modification would be to use basedir ant var as a placeholder as you cannot have nulls as anew var such as mybasedir and use antcontrib or antxtras ant lib to use a var that can be modified with local.properties var mavenized.lib.dir set if mavenized. Your init than would
check and see if that value is set and modify the path vars accordingly.

Yes, its very disgusting hack..tough shit. That is what hacks are for.

Friday, May 3, 2013


Look it takes hours for me to get back into programming when someone asks me to change contexts. Thus, I do not think i am too out of line when I ask that you, the startup, have enough ambition to understand that you are a stranger tome and that you might just have to pitch to me.  Just because you use startup words does not automatically grant you an audience with this android developer.

Give me something to believe in..I should not have take you by the hand and give you  directions on this subject.Android developers are $10,000 per month, at least one that you want working past 40 hours.

Sunday, April 28, 2013

Android's matryoshka problem II

This is not my post,but a copy of an important post by another developer who's  web host was over ran by the large traffic numbers, its the most import post of the year imho:

Android's matryoshka problem

Android has a fragmentation problem. No, not that fragmentation problem. The Fragments fragmentation problem.
Way back when Honeycomb was released, Google introduced Fragments to make development for both tablets and phones a bit easier. Activities still remained the way to structure screens but now screens could have multiple fragments inside them, each with its own lifecycle.
The classic example is the List and Detail fragments - each might be alone in an Activity on phones but go together on a tablet.
And all was good. For those 10 Honeycomb developers.

Fragments are special

In order to give all developers this neat new way of making apps, you'd need to have it backported to older Android versions. Google did that under the name of theSupport Library.
The support library is a weird beast - it doesn't just provide a backward-compatible layer, it entirely reimplements the Fragments infrastucture. Even on post-Honeycomb devices, the Fragment support still comes from the library and not the base OS. (This will be important later on)

Russian dolls are neat

The main problem with using Fragments for anything remotely complicated was that all communication between fragments had to go through the Activity containing them. Nested Fragments were unsupported and led to all sort of lifecycle bugs. Until API level 17, that is.
Jelly Bean 4.2 finally introduced Nested Fragments. And they were added to the Support Library, too! This was an architectural dream come true! Neat encapsulation of visual elements and business logic, no messy Activities, all is great!
Yeah, about that..

Top three most annoying bugs with nested fragments

Link: Play Store I made a demo app showcasing these bugs Source code
Terminology: root fragments are the fragments that were added to the Activity's FragmentManager. Anything else is a nested fragment. Same rules for the fragment managers

1. Animating nested fragments is half-impossible

Link: Stack OverflowNested fragments disappear during transition animation
The bug: If you, like me, are working on a relatively modern application, you want your UI to be smoothly animated. The FragmentManager allows you to set transitions for any transaction. Except, the exit animations will always cause the nested fragments to disappear when the animation starts.
The reason: Fragments have a "nested" lifecycle. That is, the nested fragments are stopped before their parent. Because the root fragment manager doesn't know about them, their View hierarchy is yanked before the animation starts. The root fragment will still animate correctly.
The fix: See the Stack Overflow StackOverflow question for a really hacky workaround. Essentially, you cache the visible state of the root fragment and set this cache as a background. Unfortunately, it does cause a complete redraw (along with possible layout issues)

2. setRetainInstance is inherited

Backround: Fragments can request to have their instance retained and not recreated from scratch when the parent Activity undergoes a configuration change (e.g., screen orientation change)
The bug: Nested fragments inherit the retain instance status of their parent fragment.
The reason: I've not investigated this in detail, just noted it and calmly put down the lock of hair I'd pulled off of my head.
The fix: None that I'm aware of.
Discussion: This might seem like a tiny little thing but it has deep consequences. I prefer to have all fragments recreated as it ensures that they can serialise their state correctly (especially ones that have views). However, I also have view-less fragments for things like network traffic and interaction with external libraries where you might set a listener that needs to be retained. Such fragments will not be retained if they are nested under something with a view hierarchy. The solution I'm currently employing uses static instances, weak references to the fragment and manual logic to redeliver the callbacks. It's messy.

3. onActivityResult is broken

Link: Stack Overflow onActivityResult() not called in new nested fragment API
This one is the most troubling, actually. You are very likely to hit it, if you ever start activities from nested fragments. It can strike in unexpected ways, for example when opening a Session via the Facebook SDK.
The bug: Activity results will be swallowed up or straight-out misdelivered for any activity started from a nested fragment.
The reason: The support library modifies the requestCode to include a fragment index in the top 16 bits. This index is relative to the fragment's fragment manager, which might be nested. However, the activity assumes that the index is within its own fragment manager, so will misdeliver the result. Fragments will also not propagate the result to any of their children.
The solution: Propagate results manually from any root fragment to its children.
The twist: The native implementation works flawlessly. Better, actually, since the Activity is never notified. Thanks, Google! I think.
I hope you enjoyed this little gallery. I certainly had fun making it.

Saturday, April 27, 2013


I was not wrong but some of the details I had backwards. Yes,we will get a preview of KeyLimePie at Google IO 2013.

However, the release that is coming out in May 2013 is Jelly Bean 4.3. At least to the data leaking out about Google testing 4.3.

I do not have any feature specific details. I would like to see SQLcipher supported but I do not think that might be until Android 5.0 or Android 6.


In A Use Case I had referred to the situation whereas a mobile android developer realizes that the stock options of a startup might not be worth it. Lets expand it.

Our assumptions are that the developer was bright enough to sin on only with a startup with series funding and the startup allowed the developer to do a remote/telecommute so as the developer could given the difference in living costs bank the money.

Even if by some magic you get between 1% and 3%, that is still about $2 million for the stock options.And remember that is money you cannot count on to be there.

But, we have this large expansion in people's interest in coding an application. The $5000 to $10000 that trainers get per student probably is only sustainable at low levels but not at a large  scale due to travel to training location, etc.

But, certainly at the lower $39 to $59 per online course you could scale into hundreds of thousands. what I am suggesting here is the developer did a revenue mix of services that scale,selling of both consumer and non consumer apps and tools it would be a dependable revenue stream as long as the developer keeps in mind that its not a high enterprise Oracle rate but a low rate that due to being able to scale to a large number.

Friday, April 26, 2013

An Android Rockstar

From time to time I get inquiries from people clearly clueless about hiring someone other them themselves. They tend to use hype terms, etc.

Lets make this simple, a normal person who wants to hire someone else would oh I guess load my sample android applications on their android device and play with them. If they are luck enough to have java coding experience they may even look at my code at my code repositories.

If you are a startup and cannot manage those two things than we have nothing to talk about and any hype phrase you are using to get me to respond is just a con game.

If you are going to recruit an android developer do the damn work, do not ask me to do that work for you.

Thursday, April 25, 2013

Using Groovy GAnt to build android apps

While the article probably will be in  May, you can follow the progress by comparing GWSAntDroid to GWSGAntDroid.

Tuesday, April 23, 2013

Angel.co secret

So you attempt to find something on angel.co and notice that the UI sucks. The secrete is to use google:

site:angel.co keyword

Monday, April 22, 2013

Using Groovy to Build Android Apps

If you want a sneak peak at using groovy to build android apps, the building part see my GAnt build file. Its only the beginning with two targets and some closures.

I should have an alpha sometime this week for you tokick the tires.

Sunday, April 21, 2013

A Use Case

A Use Case, Joe developer knows that any thing but a startup close to or in series round funding is a suckers bet. Even in a startup who has series round funding it is still a suckers bet as far as the stock options beyond that high developer salary to work 60 hours per week pretending its 40.

But Joe the developer knows if does some auditing of his own developer process,dev tools, etc he will find ways to automate away the inefficiencies and thus be in the position to on the side push out some applications to get some traction.

This way Joe the developer becomes the Angel investor in that he is using his skill and engineering skills as capital to place some intelligent bets in some areas of investment interest.

Saturday, April 20, 2013

An Android MoonShot

We have some things voice intelligence via Google services, Google Now but still no dynabook and its 50 or so years later.  Part of that problem is the computer language tools we use.

Java is not a Turing complete computer language,in Turing complete languages both data and code are treated uniformly. In the dynabook case of the full AI system what is missing is the crowd-sourcing of AI components or the user generated AI components.

If we had that than the boot-strapping of the system for dynabook than can begin as far as all the user generated AI components being able to be strung to together into something new that  has its sum greater than the parts.

But how we do that with the java limitations in place on android as we cannot on-the-fly generate new bytecode. Remember, it would have to small and light-weight.

We also have this neat thing in Android that if I set permissions to not world-wide on an application generated file this than gets stored in the application data folder of an android application and you can write code so that the application and user can change that file.

It would seem that my task in completing a Symbolic library for my scientific android calculator could be extended to do a simplistic LISP engine that runs within the android application context and allows an AI construction as both the data and code of the file get to be modified.

I am not talking about LUA, I am talking about the calculator application being extended with new AI features by the end user and in their control.

In the long term than extend it beyond just calculator functions to become a full android part with the basic understanding of all the android stuff intents, etc.

Thursday, April 11, 2013

HoloEverywhere softerror

In using the compat libs actionbarsherlock and holoeverywhere I may have found a soft error in holoeverywhere. Let me explain.

In using holoeverywhere you have to extend Fragment class from HE when using fragments. But most of using fragments have the desire to override onCreateView. In current HE that is makred as final in the -HoloFragment class of android.support.v4.app part of HE. Thus I have opened up an issue to change that modifier.

Friday, March 22, 2013


While the move to having android testing in the same
project via the next ADT and tools major revision solves some problems there is still an underlying set of problems. What do you do when the android lib uses a different build system than your project as far as workflow to avoid just copying files over all the time.

The problem gets more complicated as the IDE eclipse only allows one src per project, etc. But if we do some simple changes to our build scripts and workflow it can work. How?

It starts with a very simple gem of trick or hack:

OurAndrdoid LibProjectModified/

See what I did there? This trick establishes a way to put in a project build overlay that plugs into the parent project build without forcing us to use maven and it allows for the updating of the android lib from a 3rd party via the upstream reference.

Yes, when Google switches to using Gradle you will still have to change whatever default gradle build script Google comes up with but thishack the changes will be minimal.

Friday, March 15, 2013


So we know that Key Lime Pie, Android 5.0, will be announced at GoogleIO2013.  But other underlying important stuff also might be announced.

New release of support library, how much of android 5.0 will be back ported to prior OS version via this library?

Will ADT, next release, integrate the new Gradle Build system? The last update in Jan as far as previews not everything was in place for the Gradle Build according to this doc. Thus far as preview 3 they started testing the instrumented test integration using gradle. That still leaves emma, NDK, and integration with the ADT plugin. But hey they finally fixed the default compile target to now be 1.6.

Motorola before it disbanded its eclipse plugin dev staff donated its plugins for android to the project. Will we see a new build of this included in the new release of ADT?

If we reach 1 billion devices activated during GoogleIO will Google suprise us with some new goodie at IO? Maybe Motorola X or HTC One?

Friday, March 8, 2013

EasyAnt for Android

As you know Google will be moving the android adt plugin build system for android apps from ant to gradle which is groovy based. But, we do not know when that might be and work on the independent gradle based plugin for android app development has stopped.

The Apache EasyAnt project has just released their first incubation release, 0.9. It uses Ivy as the build model mechanism with plugins defining build tasks and build lifecycles similar to Gradle except you are still using ant.

I am going to look into how to do a plugin to create the android app build lifecycle as a stop gap for when the adt build changes from ant to gradle as I do not want fully switch to gradle just yet. At the moment the eclipse plugin easyant4e has not released any code out in public yet, however that may change soon.

The move to do this presents some interesting challenges such as can we do the ant macros used in the android app build as easyant modules/plugins. It should be interesting.

Thursday, March 7, 2013


So I was going through a pre-interview process for a firm and started describing the QA tooling I am building and its influence on the private widget UI set I am building for android.  The co-owner had described it as poetry.

Not that poetry is not a bad thing, its just my definition of poetry is different. While most teachers were trying to shove Frost down my throat I was getting into different poetry. Anything different from Gene Autry to Poe, etc.

Poetry to me is not scamming a float from customers such as Groupon does but something beautiful that is hidden and reveals itself as you experience it. Now something that empowers without scamming such as a tool for a specific social activity, that is something as a startup I can get into as far as making a joining as developer investment.

Its not that Google or Facebook are not good social platforms its that I want to be involved earlier say when the thing is at $280k in revenue less than 12 employees and hundreds of thousands end viewers. Its poetry because you are involved in part in creating that hidden beauty that gets revealed to the users of that platform.

Monday, February 25, 2013

my Red Fedora

Sorry for the lack of posts as I wanted to think about something for awhile. I did end up applying for the Red Hat Boston Android Developer remote opening.

Not that I think I will get as there are some 210 applicants and I am assuming that means there might be 21 better than me. More of a check to see what areas of android application coding I might be weak in or what other frameworks I  might not be exposed to at this time.

Red Hat is one of the  10 startups that I respect. I do not always agree with their decisions, the secure boot solution is the wrong one and they need to come up with a better one that puts them in control of singing PE binaries.

But, overall I know Red Hat has the FLOSS developers back and that is very important to me.Plus, compared to the bug ridden Ubuntu UI I am loving using Fedora. And I miss coding in J2ee not just java but also groovy, and the tooling. This would put me back into doing both mobile and jsee at the same time eventually.

So if you see me post a picture of me in a Red Hat Fedora and name tag you know that I probably got the position.

Thursday, February 21, 2013

RedHat Recruiters are STUPID

Now picture this, my linkedin profile, websites, etc clearly indicate android and mobile. So A Chicao RedHat recruiter contacts me to network with me for enterprise java positions at the Chicago RedHat office.

So right now this Miss whoever is trying to track down an android remote position at the Boston Redhat office. Only one problem, is there a RedHat office in Boston? No, I twisted reality a bit to send her on a wild goose chase.

Any bets on how long I can keep her on this wild goose chase? A few days? A few weeks? One Whole month?

Please folks if you enter my email inbox know what the fuck your are talking about as I do not give fuck and I figure if you want to waste my time than your time will get wasted ten to thousand fold.

Sunday, February 17, 2013

Desktop OS

So my old 32bit desktop box died and I had to put up with windows 8 secure boot. I tried Ubuntu 12.10 but the combination of more Unity going its own way and more stuff to put up with has taken its toll so I chose a different Linux distribution.

I decided to give Fedora a try. Other than some little things I was pleasantly surprised in that its very close to Ubuntu in terms of UI polish for all Fedora mixes and I like it.

Thursday, February 14, 2013


Just trying out a name choice for an Innovation Incubator in Indiana.  Needed to address two or more different messages to two or more different audiences so this is what I came up with.

Still have to do the image logo materials, though.

Wednesday, February 13, 2013

AndroidEmulator Trick

So you got that new shinny windows 8 box and still cannot get the android emulator to work? Th culprit is that for some reason the config files for skins and the avd leaves off the MB for the hardware ram size.

Add the MB to the hardware ram size in both the config file for the avd and the skin it uses and the avd image and emulator start as if by magic.

Do not have real fast CPU? Set the scale factor to between .25 and .31 and use the snapshot feature.

Tuesday, February 12, 2013

Top 1% Viewed LinedINProfile

I have talked before about or mobile application developers picking someone that is already in the habit of target audiences. I have even mention checking their audience numbers on their social channels such as youtube.

Even for creating mobile service infrastructure you want the same developer that understands how to target audiences. I have just been informed by LinkedIN that I have one of the top  1% profiles viewed.

Friday, February 8, 2013

Remote Android

So I found what appears to be a very cool telecommute with a company that I have admired as a startup and technology company for a long time.  So you will see some new mobile enterprise stuff as I prepared demo apps as part of the application process.

I wonder as long as I am re-doing a Linux install on a new box if I should do a fedora one?  Yeah, its Red Hat.

Friday, February 1, 2013

ChartBoost are idiots

Got a weird email from the CTO of ChartBoost.  The claim in the email was that the CTO was impressed with my android skills.

Well the problem with that is that its a direct lie as the CTO never viewed my code repos or application demos, all told to get a developer to fall for it an enter a job application process because the have not hired the internal recruiter yet(and what is wrong with learning how to properly recruit, Sean?).

If you are a startup do me a favor and all android developers a favor and realize that we are busy building stuff and do not have time or the 5-year old like in kindergarten lying games. Better yet if its a senior position and yo do not know the skills yet of the android developer but they talk a good game than go to their location and break beard with them. Its the preferred method we like to be asked.

Also, if its out of state have enough brains to understand that some developers may prefer the sit-down-meal form of asking.

Monday, January 21, 2013

Android Ivy

So I am creating my own Ivy Repo and wanted to jot down some things. Core benefits to creating your own Ivy Repo for android application development:

Control, as you will find that some bonehead in some project(yeah you Guice and the guice_no_aop) changes a module release to no longer be its own single module and thus you will have to re-enable such a thing for android application development, well at least in your ivy repo.

Organization, as you can organize parent modules in such a way that the normal workflows you have in using/re-using certain components becomes a module and thus you only need to add one line in the project ivy file for the module inclusion instead of a massively large project ivy file.

Ease of build script writing, as Ivy has ant tasks and types that allow you as the build script writer to grab the configuration container objects and items and thus you no longer have to do those large path container objects. Also, most IDEs have an ivy plugin to allow you to grab the same container objects to put in the project's classpath.

Saturday, January 19, 2013

Do You Want to Go For Coffee?

Every startup it seems needs an engineer or wants one during their fund seeking process. But the limp Do You Want To Go for Coffee is not the game changer that will get your engineering target to grant that request.

Why? Because its your idea, remember we have no knowledge of you or your ideas or startup or business. If you want meeting with your targeted software engineer you will have to to do it on their terms, not yours.

It is not that we do not care about your idea, its that you and your idea our strangers. Think of this way startups succeed by having two ingredients the engineer and the salesperson.  If the sale of attempting to get an engineer to talk  to is so limp and uninteresting that this how the sale presentation before other strangers will be, in other words a complete failure. In other words you are transmitting a sense of failure before you even get started.

For developers the bonding substance usually is a meal. This goes back to the early 1950s and 1960s when computers were slower and thus the talks were self organized around meals while the engineers waited for compiler or console time. Now due to the new build servers and other automates software engineering processes we congregate around a meal while those systems are processing projects.

And you know your startup is in trouble if a software engineer is preaching to you about your lack of social skills. Dale Carnegie's How to Win Friends and Influence People is a good starting place for those who might be new to this.

Strangest Startup Developer Request

What is the strangest Startup Request? Rather than rank them I will just list them:

Can you reverse engineer our competitors stuff?

Yeah, like I really want the legal implications of such an adventure.

Can you modify or reverse engineer a contractors stuff?

Yeah..I really like modifying someone's work after you have breached your agreement with them.

Would you consider being CTO?(from an obvious CEO moron with 500 downloads per month  in Google Play market and posting fake app reviews)

They are kind of noticeable as I usually get the standard we did not read your resume but can you apply anyway requests.

Friday, January 18, 2013

How To Get An Android Developer

Every startup has this question to ask of someone. But, its not the answer to this question they are interested in, its a different question.

The question they want an answer to is,  how to pick an android developer that will produce an android application that has high downloads? And it snot an independent question as it relies upon the startup understanding that they will have to allow the android developer to modify product features and functions to get to the point of having an application that is desirable.

Have you tried looking at their social quotient score? what the heck is that?  Look at the views of their Youtube channel< mine is at close to 29,000, or their blog views, this one started late in 2012 so its still in bare thousands, or their stakcoverflow points score, mine is about 1500 not high but still in the top ten. The reason you are checking these sites is to see how they get an audience.

Why an audience? Mobile applications for the most part unless you are doing enterprise applications are impulse buys. That means you have to be skilled in getting an audience as if you can get an audience of thousands of members than you will get thousands of downloads.

A developer who is attuned to getting an audience will structure the design, look and feel, etc of a mobile application with specific audience in mind and they will even go to some lengths to analyze an audience to see what their desires, likes, and dislikes are. Just implementing a startup idea as a mobile application only will get you about 500 downloads a month, not any where close to a number that a potential seed capital Angel VC will fund.

Hold on, there is one more aspect of mobile applications. The way the ad model works on mobile applications is that if you implement a mobile application centered on a set of activities and allow the ad system to self select for that set of activities than those ads have high click through conversion rates as the mobile user views them as an extension of the application.

Sounds somewhat obvious and simple does it not?

Wednesday, January 16, 2013

Enterprise for Android

It used to be that if you wanted to deploy mobile devices for an enterprise with their own apps internal to the company and tracking of access to those applications and users of the devices you might choose a closed source solution with heavy amounts of service fee contracts and several customization contracts.  Than there was always the aspect that the customization is not easy and was limited by the sandbox closed source puts you into accepting.

Now, yes we cannot fully realize an easy way to set up an appstore for internal company apps, lock down iphones, and really create a company set of iphone iOS devices with customization. We can get close in that we can get a C++ version of OSGi running on iphone and even iOS apps with OSGi embedded. But that as fa as we can go, not true with android.

Thus, what would the development processes and workflow look like to develop an android OSGi enabled app store for a company and the accessories such as the CompanyHomeScreen app and CompanyAppStore app? How could you handle  device/user access to limited apps in the CompanyAppStore and track how the devices are used and miss-used using the CompanyAppStore installed on the device?

These and many more are all android deployed to enterprise questions that have interesting answers but also empowering answers of getting and receiving more power to empower employees and empower a company deploying to just android rather than deploy two or more mobile platforms. Is it a book our courseware yet?

At this point its neither a book or courseware. But, I think that starting an EnterpriseHomeScreen app and doing some articles and slides on new processes, techniques can help me figure out how to get to the book and courseware stage. Using OSGi and several other enterprise things just opens up so many possibilities beyond just the flimsy limited iJetty web apps yo could do on Android as far as what is possible in the enterprise environment.

So now you know the other set of reason for my recent side project activity of a LandSlideTheme project, and ivy repo, etc as its organizing and planning for a new direction and push.

Saturday, January 12, 2013

Goodbye to the Next Mark Z

Its with sad news that we are presented this  morning with news of Aaron Swartz's untimely passing. While many will speculate, lest end the sepcualtion.

Aaron Swartz was the closest to the next Mark Z as far as not in monetary terms but in innovations in INTERNET FREEDOM. He demanded the over-turning of the status quo while at the same time giving back that new additional awarded internet freedom back to its internet users.

Young people of the mobile internet generation, its Aaron Swartz that you should emulate both in passion and giving control of freedom to its greatest benefactors, everyone.  We will miss you Aaron.

When pubic journal articles produced with tax payer money was not free to access via the internet he took it upon himself to right that wrong. Internet freedom and freedom to access public money produced articles should never be a felony under any acceptable set of ideas not matter where the money for those political ideas comes from.

Its now more important than ever as we reach a situation whereas a large portion of the internet audience views information via a mobile application rather true unrestricted internet web access. Will the young generations to come have the courage to avoid the startup riches and instead to strike out towards new adventures in reviving internet access and internet freedoms?

I hope we are certainly not doomed, it would be a nice tribute to Aaron if we see more revival of internet access and internet freedoms.

Friday, January 11, 2013


Some tools/projects being pushed out. I have collected some opensource fonts into one project, called FontThis. The specimen pages will be completed later. A HTML5Slides theme project using Landslide, called LandSlideThemes that I will finish on the weekend.

Why not S6? Gerald Bauer, S6 project author, is a former javaLobby user like me back in the glory days of javaLobby we spared along with several Sun employees over ways to open source java. Actually at times I do use both LandSlide and S6 so at some point I will be completing some new S6 themes as a side project.

Than its finish the GWSIvyRepo on the weekend and few other goodies. The idea is to get these tools done and usable form so that I can push out some other things.

What other things? I have been looking at how I want to teach android application development. Part of me wants to do it in the Kathy Sierra style of using all the new education and training theories.  Also part of me wants to explore the aspect of teaching android application development via the command line.

Via the command line, are you nuts? All my learning of different things math, computer science, etc was completed without the modern tools. When training is begun or started with those modern tools it interferes with the establishment of foundation skills. Many of you still do not have adequate debug skills due to using modern tools early in the training process rather than be forced to develop certain foundation skills.

Zed Shaw has a nice gitorious code repo of his templates he used to Do IT The Hard way programming series that he is famous for and so it would be easy to modify those templates to begin something like this.

Along the way there will of course be some free goodies, hence the sidebars with slide widgets, etc.