Monday, December 5, 2016

UI Kit Products

Okay, somewhat early announcement. I have some UI Kits that I am developing that will be released on UpLabs MaterialUp in January as commercial products. Some are Dashboard Kits and some are Android UI-Wireframe kits.

Saturday, December 3, 2016

Bootstrap Experiment One

I will be trying a bootstrap experiment.  I am going to be pushing out some creative design products that are related to my mobile design work in a certain marketplace to see how much traction those commercial products receive.

If  I am lucky it pays for some needed things such as a new laptop with 1-2TB SSDs.

I will be reporting my progress when I can right here so that others may attempt to replicate the efforts for their own bootstrapping.

Thursday, December 1, 2016

Material Design Color Palettes III

The 3rd and probably final tweaking of my Material Design Advance Color Palette should be up in a few days.  The improvements is finally finding the tool that mathematically calculates color contrasts and keeps them within the WAG guidelines, namely Paletton found here:


Also check out the colorpedia on color theory.

Tuesday, November 29, 2016

Advance material Design Color Palette II

This an android color resource file denoting a full advanced color palette for material design. Both Monochromatic(Minimal design) and Google vibrant are supported.

The bottom black and whites is for Monochomatic with the top half serving as the palette for the action color. Obviously, the top-half is the Google-inspired vibrant color palette.

It has substantially more colors than one shown as an example in the Google material Design Guide. This is the first major tweaking of colors.

The gpl gimp file for it has not been created yet. If you do create one send me the gist link to my email listed on my github pages:

So that I can properly point to your created gpl files in my gist.

As far as a gimp formatted UI-UX kit, its being created at the moment by choosing the best UI kit and completing the gimp conversions(ie converting to xcf and keeping the embedded rgb profiles). Should be sometime in December when I post the full UI kit including the gpl gimp files.

Remember folks, Google in its Material Design Guide directly states their Hues-And-Accent color matching and monochromatic matching. BUT, they also imply indirectly the other two possible color matching styles as forms of branding. One is choosing the color matching that fits the branding needs of the android app you are designing.

Not every branding case will match up with Google Vibrant or Monochromatic or the other color matching styles. Its your job as the android app designer to determine which color matching style best servers your client's branding needs.

Monday, November 21, 2016

Silicon ValleyWakeUP Call

Trump getting elected sent a very loud call to Silicon Valley to wake up to the effects of both tech disruption through job loss and income equality. And yet if you look at the Democratic message lately they still have not got the message.

Look SV VCs, if you do not solve job loss through tech disruption and income equality dumb voters will solve it for by voting you out..what part of that message is not clear to you?

Saturday, November 19, 2016

Does Minimal Design fit in Google Material Design?

Yes, in-fact it does as if you read the color area of Google Material Design it states you can use monochromatic color schemes. Than the accent color becomes the action color for user actions.

Your flash of brand color comes at the beginning in the app intro onboarding.

You will find that app users appreciate the negative space focus on content and app features.

Thursday, November 17, 2016

Counter to Minimalism

Rise of Minimalism

The article highlights a point that with brands adopting minimalism a competing app gets lost in that one cannot differentiate between the two apps.

The answer may be slight slivers of color and other adornments that do not take up much space but are just enough to differentiate.

Wednesday, November 16, 2016


Sort of pivoting the android dev books in that seeing if doing cheatsheets first on subjects like activities, fragments, etc  helps me better tease the book while helping me see the over-all picture that I have to write about in the chapters of the dev books.

Naming of the cheatsheets is up for wil be SomeNameCribs probably.

Monday, November 14, 2016

Lead A/B

So since A/B testing is so good on app onboarding and other UX issues its about time I test in my lead gathering. So the next few days testing some LinkedIN invite texts to see which has the greatest impact among VC and Angel investors.

Saturday, November 12, 2016


I am on the final parts of the first release of the BlueButterfly UX library set. That specifically means that some new UX elements and app demo videos coming  out and some medium articles.

As the videos are produced gif them and finish overhauling  my gh-apges site.

The challenge is where are the UX mobile app gig leads. I know where they are not and that is all the freelance platforms online. So the idea is to push out marketing blurbs via linkedin invites of interesting VCs, reddit forhire posts, HN posts,medium articles, a linkedin article or two, etc.

Thursday, November 10, 2016


Now, I am the stage of re-organizing the UX-libs. The reasoning is that the ones integrated with back-porting I only have to use for the next 36-months. Thus, I want to be able to quickly refactor them to not have the Carbon integration but instead us AppCompat.

The good news is found a new plugin FreeLine which does speed up gradle builds so that means I can go with having the UxLib package have 25+ modules without major time wasting during builds. It also means I have less of need to track how much methods I am using ie the 65k method limit.

I am ending up having a core Uxlib composed of Carbon, Materialize, and MaterialValues and my added full real color material design palette. Than every other UX lib is inits own module.

Wednesday, November 9, 2016

Programmer Meal App

So I have always wondered about lifestyle apps, those apps someone creates that pay that person's lifestyle with somewhat minimal upkeep of the app.  I think I will try a cooking app.

What I mean by cooking app is that the recipes are in database form so that the app can calculate and generate a grocery list when you tell it your weekly meal plan based on the recipes in the app. Not a billion or million downloads but it should be nough downloads and in-app purchases to help pay for something.

Programmers are somewhat bad at cooking and that bad technique than bleeds into poor diet habits and other unhealthy stuff. If the meal app covvered just some basics in cooking with some flexible meal recipes that might just be the right thing to put out there.

And I have to do this creatively as I do need UX app demos out there for my own marketing purposes. So I can do a Programmers unhealthy Meal App first somewhat as a joke and not worry that someone is copying it, thus it protects my real app and real trademark with that app as than its hidden by obfuscation as its not that unhealthy meal app.

I still need an app name, even if its a UX demo...


The challenge part is the portion conversions of the ingredients so that I can have the app compute the grocery list based off of the users defined weekly meal plan.

Monday, November 7, 2016

Elevate-Ripple, etc

Drawables and Layouts can only go so far as far as back-porting. Evidently, to get full dynamic changing elevation like on the raised buttons I will have to use Carbon and than port the other cleaned up UX libs to Carbon. Oh what fun..

Saturday, November 5, 2016


In my quest to define myself as designer-developer I think I should bring the Google Material Design message further to the front in my website. Here is what it looks like now:


Not bad, but I think I should have my UX App demos on the first page in the form of say one or two best ones.

Thursday, November 3, 2016

UX Challenges; Photo Albums

Guess what one of the biggest UX challenges on mobile is?  Getting a designer or developer to realize that on mobile that a photo album cannot be implemented the same way as one does it on web for desktops.

Wednesday, November 2, 2016

Adoptable Storage-Your Apps on SDCard

Those buying new Android Devices should know that some OEMs limit Adoptable Storage..Moto and HTc do not..Samsung and LG do..The reddit thread explaining things is here.

Tuesday, November 1, 2016

My UX Lib Palette

I somewhat promised a list of my UX lib palette. Remember, I am targeting android 4.1-4.4 along with Android 5-7. Most of the things I had to clean up are wrong stuff on UI threads, font asset folder leakage, forgetting if Build.SDk.INT bracketing new API calls,etc. No github links as I do not have time and you have Google:










Android Iconics










Material ScrollBar

Material Scrolling

Material SearchView


















Of course after 36 months that list will decrease by half as than I will be targeting android 5-to-android-10.

Note, for preference compatibility instead of the androidsupportpreference compatibility library I choose a simpler simplistic solution named MaterialSettings that does not require as much api methods. That is either wrong or right depending upon your project requirements as mine are different from yours and I am making use Google Guava os I need some room to decrease the api method counts.

And that list will allow you to gurantee full 99% of Material Design with all the new UI features back-ported across all android OS versions you are targeting.

Monday, October 31, 2016

Last part of my UX postioning

The last part of my UX positioning is pushing out some UX android redesign remixes in screenshot and video form. So this blog may getting boring unless you like UX design.

URL to the design remix page is coming..about a week or two.

Saturday, October 29, 2016

Mobile Apps:5 Channels or 5,000 Channels

The last peak of VC investment in mobile start-ups was in the year 2012. While certainly VCs stop investing due to not finding enough viable mobile start-up ideas, that did not answer the underlying question.

Mobile Apps Are they 5 Channels or 5,000 Channels?

If its 5 channels than we should see a leveling off of things like AI services, cloud services, etc among MS, Apple, Google, and others. If its instead close to 5,000 channels than we should see an increase in efforts for those services including investments.

Guess what we see? Yes, everyone doubling down on investments in these areas and some such as Apple playing catch up.

Remember folks, VCs maintain a 5 year or less outlook as usually they are 5 years into their FUND in searching for things to invest in as their funds only usually run ten years. Apple, MS, Google, etc are looking at in contrast 25 year windows.

Wednesday, October 26, 2016

2 Mobile Platforms

You will see many firms make an attempt at two platforms or try to exploit some dev into doing two platforms at 100 hours per week keeping up. Here are the numbers of why they do crazy stuff like that.

The normal or average conversion rate to MAU is 30%.

Android market share of 80% means 24%

iOS market share of almost 20% means 6%

Obviously, some firms are not yet waking up to the numbers and that generally is due to what resources they may have already deployed towards covering 2 mobile platforms.

If you are a new start-up than obviously you might to re-think the mobile platform choice.

Tuesday, October 25, 2016

99% Material Design

Yes, 99% Material Design including even the Flat and Raised Buttons on Android 4.1 through Android 4.4. The missing 1% is the Transparent SystemBar stuff.

Some of you might not understand, but creating a UI for an app is not like creating a painting.  On mobile because we have this lack of space in the first place we kind of need every UI component working and looking the exact same way as our colors in our palette that we use to tell the app story.

I am of course talking about the GreenAndroid full library I am putting together. I just now have to clean up loose ends such as making sure every custom widget extends the AppCompatWidget and not the Native Widget,etc.

Than its creating the UX demo videos gifs,etc.

Monday, October 24, 2016

Witaj Polsko

Hello Poland..okay so my Polish is extremely rusty as I was only exposed to Polish speaking people when I was very small.

Remote Freelancing Strategies

You see every online freelancer place like Elance, UpWork, etc claim that they are the ones that get the most gigs. And yet, if you add all those numerical claims of the most freelancers they come to somewhat past 8 billion people and the world does not have 8 billion peopel as of yet.

And, I have yet to find any successful freelancer that is actually using those sties.

Thus, my set of strategies is somewhat different.

Number One, I search for those people that are nodes in the start-up and business communities that happen to have a need to be seen as knowing moible UX skilled devs. Typically, these are people who have previously co-founded start-ups and are now strategy consultants.

At this stage, I have to find those who are somewhat a bit hungry and new as strategy consultants. My online portfolio is than being structured to show what a high engagement Android UX app experience is about as that is an immediate start-up problem to solve that affects the future of that start-up.

Than I let those start-up strategy consultants think its the strategy that they have come up[ with, ie Android first as Android has 80% market share in the USA.

Why not post in HN or the numerous BuiltINCity-Sites?  Because, at the stage they start to consider developing an android app first they, ie the co-founders, are not reading those sites to helop find someone as the strategy consultant is already suggesting someone. And that strategy consultant also may be a VC or Angel investor.

Which Tech and Start-Up Hubs? I chose two start-up hubs near me to start, the big one Chicago and the a small one Indianapolis. Chicago is one the cusp to becoem bigger than NYC in about 5 years from now so it is probably a good choice.

Saturday, October 22, 2016

3-Year GooglePlayStore Downloads Doubling Window

Yes folks,there is a 3-year window where Google Play Store downloads will double each year. The ELIA5 explanation:

People are updating a to a new android device that allows them to install android apps on their SDCards unlike the current android 4.x device they have.

Are you ready for that Android app Push? If not than maybe you should contact me..

Saturday, October 15, 2016

Android UX Way

I think the answer to my being marketable to non-tech people in start-ups and other firms and my dev book series being marketable is to revamp and rebrand as the Android UX Expert with the book series being Android Development form an Android UX perspective.

So back to some work, some free stuff coming on Monday...its UX relaterd

Thursday, October 13, 2016

SoftForking Secret, Why

The whole set of reasons I softfork most android UX 3rd party libraries is for these reasons:

1. Google never, and I mean never, deploys enough Engineers to have a fully Android Support Library solution to the many UX and feature changes it makes per major Android OS version. We usually end up with an average effort after 8 months or so after the Android OS version release. This harms the goal of making an android app behave and look the same across android OS versions which is somewhat important to user happiness and on boarding efforts.

And due to more than two versions of Android OS being in the device market at once this a unique problem due to the android platform fragmentation as iOS app developers do not face this problem.

2. The Average Android Developer may get back-porting concepts right as far as the way to back-port a certain feature but usually lacks full knowledge of the Android Support Library internals to pull it off correctly.

3. Having cleaned up and curated those libraries allows me to maintain an encyclopedic knowledge of the Android Support Library internals and provides me with an edge in guaranteeing specific look and feel across android 4.x to android 7.x.

I just have to figure out what visual formats to use in showing off the demos. Should it be just UI controls or more expansive UX demos or both sets of demos.

Wednesday, October 12, 2016

Where am I getting UX inspiration?

Something to tie-you-guys-and-gals-over until I start posting some new UX videos. The new place where I am getting some UX inspiration from is:


Especially, if you are into material design you should sign up.

Tuesday, October 11, 2016

Android App Dev as a Service??

AS I finish the UI-UX-Material Design library full of module this week I and get ready to start cranking out UI-UX demos, I still have the glarring hole of how to pitch Android App Development as this long-term Service Offering.

Let me explain, like ELIA5...

In the long-term, say a decade or more, one wants to decrease the android app development by being able  to predict where the UX changes will occur and thus pre-plan in your android app UI-UX implementations both those choices and the choices of libraries used, etc.

The goal of course is for the firm receiving the android app development services over a decade or more to view me as the one migating the risk of the UX style changing among android app users and of course migating the liabilities of depending upon a whole bunch of 3rd party libraries(android UX tends to use 25 out of 60 3rd party libraries).

Certain IT Shops and Design Shops in the Chicago market are lazily using the reputation and brand of their most famous Fortune 500 clients as the marketing message. Part of the reason is its a simple thing to use with almost no explanation needed.

I think what I need to is use UX-UI demos and highlight its just something from the GrottWorkShop magic lab of Android UX coolness. Its easier in explanation and uses their worldview to get to them to sign on with something that is in their long-term best interests.

And the nice thing with that is that the IT Shops and Design Shops are relying upon reputation of the Fortune500 client rather than showing UX demos so it should translate into an advantage.

How long did it take to currate, audit, and figure out how the 3rd party UX-UI libraries fit togetehr to be backward and forward compatible? Awhile, it did not occur in an hour or a day.

As far as UX-UI demos lined up to be shown in November, we have:

1. DebugDrawer, as it represents at most a naviagational drawer and uses animation effects to draw attention to content.
2. Certain Menu and  Contextual tool bars as they focus attention on user choices.
3. An onboarding app tour guide that introduces the android app user to the app.

I think those UX-UI demos offer a good peek at the UX techniques used to increase user engagement and that is the major thing I have to highlight in this mature mobile app market we have in the USA and Europe with potential clients.

What is nice is the full app demos with the source, apk, etc than also serve the duel function of gettign Google to award me an Android GDE certification after those projects have been code reviewed by Google. At some point that will be anice marketing tool to have earned.

Android App Dev as a Service??

AS I finish the UI-UX-Material Design library full of module this week I and get ready to start cranking out UI-UX demos, I still have the glarring hole of how to pitch Android App Development as this long-term Service Offering.

Let me explain, like ELIA5...

In the long-term, say a decade or more, one wants to decrease the android app development by being able  to predict where the UX changes will occur and thus pre-plan in your android app UI-UX implementations both those choices and the choices of libraries used, etc.

The goal of course is for the firm receiving the android app development services over a decade or more to view me as the one migating the risk of the UX style changing among android app users and of course migating the liabilities of depending upon a whole bunch of 3rd party libraries(android UX tends to use 25 out of 60 3rd party libraries).

Certain IT Shops and Design Shops in the Chicago market are lazily using the reputation and brand of their most famous Fortune 500 clients as the marketing message. Part of the reason is its a simple thing to use with almost no explanation needed.

I think what I need to is use UX-UI demos and highlight its just something from the GrottWorkShop magic lab of Android UX coolness. Its easier in explanation and uses their worldview to get to them to sign on with something that is in their long-term best interests.

And the nice thing with that is that the IT Shops and Design Shops are relying upon reputation of the Fortune500 client rather than showing UX demos so it should translate into an advantage.

How long did it take to currate, audit, and figure out how the 3rd party UX-UI libraries fit togetehr to be backward and forward compatible? Awhile, it did not occur in an hour or a day.

As far as UX-UI demos lined up to be shown in November, we have:

1. DebugDrawer, as it represents at most a naviagational drawer and uses animation effects to draw attention to content.
2. Certain Menu and  Contextual tool bars as they focus attention on user choices.
3. An onboarding app tour guide that introduces the android app user to the app.

I think those UX-UI demos offer a good peek at the UX techniques used to increase user engagement and that is the major thing I have to highlight in this mature mobile app market we have in the USA and Europe with potential clients.

What is nice is the full app demos with the source, apk, etc than also serve the duel function of gettign Google to award me an Android GDE certification after those projects have been code reviewed by Google. At some point that will be anice marketing tool to have earned.

Saturday, October 8, 2016

Smarter Than The Average Android Developer

In a mature android app market such as in the USA or Europe, one has to arrange and organize things differently as one will not have that big gigantic hit off of one app but will have some smaller mobile app hits and have to maintain and update more than mobile app.

Android is somewhat challenging as instead of just two OS versions in the market usually there is 6 to 7 different OS versions and the new UI-UX featues that requrie particular attention. I could do the android UI-UX of each app by piecemeal but that falls apart as far as being able to maintain it as one wants time to devote towards updates as that is what pays the bills as far as paid IN-App Purchases.

Thus, one has to currate and clean-up a whole bunch of 3rd party UI-UX libraries with the goal of having this one stop UI-UX library that is backward compatible but forward looking as far as being maintainable when new UI-UX features get introduced by Google.

Than of course you are also currating and cleaning-up a set of utility libraries that allow you to  modularize the parts of the android app so that you can put the apps together like you would lego blocks. Sounds simple, huh?

Mix that in with not one IT shop, Design Shop, or start-up understanding those goals or why those goals also benefit them as far as obtaining an android developer. Of course most of those are operating in the piecemeal website world still where you still can get away with such shoddy ill-planned software creation.

Thursday, October 6, 2016

Microsoft's Lack Of Engineering

If you have a windows PC you might have Windows Defender turned off. Why? Well, because of all the false positives it generates.
Even worse is its behavior of flagging errors in finding what its detecting and never prventing a dismal screen to the end users to encourage rporting that set of errors back to Microsoft.

The symptom is the same you see with Plane or Train crashes. A system is designed for some safety aspect or concern, but due to all the false positives the USERS of the system learn not trust it or even worse learn to turn it off and end up triggering crashes.

This is the crux of engineering as we are not building a system to manage a computer. We are building a system to make it easier to do something but has its responsibility to encourage humans to make the right decisions.

It would be easy to state that it's just one smal thing with Microsoft. But, it permeates the whole company from its lack of discipline in UX(3 free OS versions just to fix the UX) to its lack of discipline in security in getting just Windows Defender to deliver only true postives and negatives.

This is why I insist in being interviewed only by co-founders and founders of start-ups as I want to find out if the top of the start-up will let me set-up discipline in engineering and enforce it.  It does not make sense to me to get hired and take their money if the top management is going to destroy all my discipline to the point where its reflected in end users using the software in a way that it was not designed for.

I want to find a start-up that happens to need an android developer and happens to want me to be happy actually using all the computer science and engineering stuff to actually come up with a system that pleases me by pleasing end users.
But, that has to be founded on some actual discipline and the management team that is willing to not compromise.

Its hard to find something of that nature. Too many start-ups with the Wells Fargo disease of lets strive for some immediate goal and screw the long-term consequences.

Tuesday, October 4, 2016

Tech Bubble Burst-Defense

If the investing public moves from the quick-rich Tech bubble assets, what is the next asset class they will move to? The reason for the previous Tech Bubble Bursting post was a there is already a move towards a different asset class by the investing public and one should start thinking of which asset class it might be.

For homework everyone should read the SEC rules changes that were published last year concerning start-ups and stock classes and reporting requirements as it has a clue to where the investing public is moving to as far as assets they are investing in.

Monday, October 3, 2016

Tech Bubble Bursting, Its Real Folks

Okay, so you might be wondering why some tech founders are claiming that we are in a tech bubble. Some folks have obliquely explained with just confused more people so I will give the ELIA5 explanation.

The underlying trend first popped its ugly head in the 2008 financial crisis. That happened because young people stopped buying houses to the point where demand for houses reached zero and than of course house prices fell to bottom and those who had house mortgages dumped those.

Loose money and loose bank standards only sped up the process but was not the root cause. The root cause the massive amounts of student loan debts carried by young people which causes those same people to put off things like house purchases,etc.

That less housing buying, now at a 50 year low, impacts other parts of the economy as now the GDP is only increasing 3% per year. On top of that less young people form both startups and small businesses due to the heavy burden of student loan debt.

The $1.5 trillion in student debt acts as a mortgage on future increasing GDP growth as we do not get the benefit of that multiplier of 3x or 5x that would happen if that same $1.5 trillion was spent on something else instead of debt. Thus we are actually missing out on an increase of 7% to 12% in GDP per year based on self-interest.

No more big start-up unicorns for awhile and people switching to very small startups.  The only silver lining is that maybe the thing gets solved in the next 15 years due to a collection of USA states through their public colleges giving those HS graduates that can pass the full AP course and examples a tuition free 2-year degree(Indiana is one of the states through their public colleges making such efforts, hopefully more USA states sign on to that initiative.).

Saturday, October 1, 2016

Demo App, my StrictMode Code

So I will be posting some tips as I finish my app demos this month. The first tip is to set up some gradle flavors for each api level you are targeting and than code out an effective strict-mode setup :

Nice and simple and it works better than doing a detect all. the only caution is that it does not catch every ANR. For that purpose you really should check out using ANRWatch Dog:


Friday, September 30, 2016

Demos and Book Progress IV

So now that I have GreenAndroids full data layer kind of in-place(upload tomorrow) I can focus on the two items for next week. The first is a debug drawer which of course is code focused.

The second item is a graphics Debug drwaer to put keylines and several other things into one drawer or toolbar for graphics debugging. Of course adding Jake Wharton's madge and scalpel libraries, etc. Than later on will separate into its own stand-alone library.

As far as the book, I am chugging away at Chapter0 for the beginning book and should have the first chapter and code samples finished by end of October.

Google Dumb Android Developer Documentation Errors by DUMB GOOGLE Engineers

Okay, this going to be an effing rant. Fair warning Google Enginners you wlll not like what I say. But, in the spirit for better android developer docuemntation for beginning android devlopers I must state it!

First let's travel to the beginning android developers mind. The Android SDK no longer distributes android app samples and the beginning android developer is suppose to get those from the the
google github account repos.  So the beginning android developer than is trained to expect that is android dcoumentation too. All good in theory, no? What could go wrong?

Now would it not be very bad if we had say Google app architecture samepls that in-fact do not compile but instead throw up android app dependency conflicts that could have been prevented if just the simple damn thing of just running a gradle build to test if the gradle script works?

Are Google Engineers this stupid? Want an example?

and its quite easy to correct as all I had to do was change some of the dependency lines to:

Hey Google effing run a damn effing build on your gradle scripts to make sure they work in the damn effing samples as you are making every aspiring android GDE candidate look very stupid, not to mention yourselves, and we prefer to not look that damn stupid!

Or does Google stand for God oh oh god Lazy Engineers?!

Developer Documentation should be damn effing Job_one not Job Last!

I once was what is called a corporate trainer back when STEEL in the US still had hope And the reason why the client corporation(A STEEL PRODUCER) liked me was that I GAVE A DAMN ABOUT THE STUDENT to such a point that the documentation for the class became very usefull to those students.

It sickens me when I see crap like this, the developer documentation both the docs and the code samples should not have IDIOT ERRORS LIKE THIS IN BUILD SCRRIPTS! And some stupid Google Engineer will state the excuse that well subject A was reviewed and changed in the code review and not in the Android Studio as if that is an appriopriate excuse, it is NOT!

Tuesday, September 27, 2016

Demo and Book progress-the reorg

Okay, so I am doing some android app demos that show a certain gradle build work-flow style and a certain android java app work-flow. I have re-organized them from what they were you may at least want to check out the gradle set-up:


GreenAndroids is the Task app demo. RedAndroids is the WikiNote app demo. BlackAndroids is the Wizard Form App demo in the them of an online SandWich Shop Ordering App.

The whole idea as far as work-flow is that I can show the advacne android dev book readers the demo apps as examples of an advance gradle android app workflow as far as development.

The two android dev books are getting re-organized into two git repos:



I had to do that as GitBook tooling only recognizes one book per repo at a time. But, if any of you are thinking about using GitBook tooling for documenting a project you might want to take a look at the set-up.

The whole set of ideas in concept with these projects is that I want to present a Strong Set Of Signals to potential clients that they are conversing with an Android App Developer Expert. I somewhat disagree with the lazy DesignShop approach of just listing their top clients as the set of strong signals.

As side benefit me producing code samples and apps fro both development books and updating those samples after each new edition of Android OS means that I am at the exact same level of expertise such as Mark Murphy of CommonWare LLC and BusyCoder's book series fame.

Sure I regularly score in the top 10% at StackOverflow but that is just not enough as far as strong signals to use as marketing my skill-set.

The side benefits is that it forces me to come up with some tools such as full debug drawer and a full spec overlay tool for enforcing UI design specs.

Wednesday, September 21, 2016

Right UI

It does not look like much a bunch of projects over a few months, re-starts, failed experiments. But, now the pieces are somewhat clear in how they fit.

The right UI comes from the right UI experimental failures, the right changes in app architecture patterns, and somewhat some luck and a little innovation.

Yes, some app demo videos in October.

Tuesday, September 20, 2016

Demos Apps to Write

I still have to figure out what other demo apps to write for the dev books I am writing. I am writing my own Todo App but its an actual very lite application with none of the bells and whistles one would expect in a todo application.

The thought has occurred to me that I could take some Google Demo apps from say when Android SDK 1.5 was released and maybe revamp them for the new UI features, etc.

Monday, September 19, 2016

GWSFluidArch and book progress

So I evolved GWSFluidx to GWSFluidArch, which is at:

The app patterns enabled by the Library are MVC, MVP, MVMM, Flux, and Redux.Soon, you will find app demos using a todo apptemplate demo-ing the app patterns.This way everyone can see the pros and cons of each pattern.

Turns out that I am developing a preference towards Redux or Flux. They seem
easier in the sense that once I fully develop the middleware one will be
able to see replays of action and state as a debugging tool. And, the
amount of boilerplate seems to be less.

How did I handle device orientation changes with Redux or Flux? Rather than try to project some View-Model implementation since I do not want to violate the One State class rule of Redux or Flux I instead use the project icepick to allow me to just simply include the state and save it without very much boilerplate. Some time later I will figure outhow to group the view-state in the one global class so that I can flow the icepick stuff through a middleware hook and than all the state stuff will be together in one state class.

The book series is being re-organized at:

Turns out that to have the book popular enough, both of them need to be about 24-25 chapters.That is not counting the 7 extra chapters per book. The first one is an introduction to android application programming with the second book covering AndroidAuto, AndroidTV, AndroidWatch, and some advance android application development subjects such as functional-reactive programming, app arch patterns, etc.

The chapters have been decided, now the cranking out the outlines and code demos and the chapter content begins. At times I will re-purpose the content as medium articles as I progress in the book writing. The books and code examples in raw form will be downloadable from github and as soon as I find a publisher that accepts pdfs to print the hard-copy books I will note it in the project readme and project website.

Saturday, September 17, 2016

GWSFluidx, Evolving It

Turns out when you implement the view-model as per adapter item and tie that to the adapter that its too tightly coupled to domain, data, and presentation layers and other things. Thus, I am evolving it to GWSArch.

GWSArch will have components for MVP, MVC, MVVM, and Flux. This way other developers can see why you might say start with MVC but than end up converting to MVP, MVVM, or Flux. The code repo will go up on Monday.

Do I have a preference? Currently, although I do like MVP I am leaning towards Flux. If you know of a start-up in your geographic area that is seeking a remote android dev than email me.

Thursday, September 15, 2016

If I separate out Binding

If I separate out binding from the adapter in GWSFluidx beyond what I have into something that accepts different view types, than it would seem that I be able to offer equal  hooks to Google DataBinding and other binding solutions.

Wednesday, September 14, 2016

The Real Fun part

Now, comes the real fun part as I want the adapters in the GWSFluidx framework to support multiple view types but I do not want to rewrite the adapters. I probably have to separate out binding more than I have, well hopefully.

Tuesday, September 13, 2016

Lessons Learned, developing GWSFluidx

Lessons learned while coming up with a better Android App Architecture framework:

1. The average android developer may come up with a gem of an idea, but no-one finishes with Polish! And its not that effing hard, just start doing research on how to solve certain problems as you can either set up examples demo-ing what is wrong to develop a solution or ask google and stackoverflow.

In the case of GWSFluidx the original project by another android dev did not have the duplicate AsyncTask solved, nor the presenter being managed during device orientation changes, nor the base classes for data loaders,etc. And code was not split into binding and nonbinding modules for those who want to use Rxjava or Agera instead of the Google data Binding.

2. You can probably solve the duplicate AsyncTask by making a variable to store the Asynctask sub class and initialize it to null and than you can set your inner AsyncTask class to that  and than set the var back to null at the important partsin your inner AsyncTask. And geeze uh grab the Thread and set the effing name of the thread so you know what AsyncTask is executing! Just, that little more effort in polishing code that makes it easy to debug!

3. The Android Framework does not fail-safe to responsive fluid UI apps. You have to do some work. Hence, the library to eliminate some of the work.

4. As far as educating non-android people on the importance of things like this in android app development is still somewhat a tough nut to crack as most Start-Up co-founders do not have android devices or think that its their duty to try and find out about android app development even if they need an android developer. And some of those Start-Up co-founders due to that lack of knowledge often get screwed by the temp agency or recruiter despite the knowledge resource right in front of them that is somewhat free just by asking questions.

%. Redux and Flux are Reactive approaches to mobile web apps and really do not adequately fit what is needed for the android application environment.

6. Focusing on View-Model and coupling certain items to the RecyclerView Adapter gives us a more robust MVP pattern that happens to avoid coupling the Presenter to view, data-source, and user case models with the adapter serving as the interactor and only coupled to one data source.

7. With Google visiting my LinkediN profile regularly, Google Guys and Gals can you consider the GWSFluidx framework as maybe part of my submission to become certified as an Android GDE? You know from my LinkedIN profile that I am probably not moving to SV, its the least you can do.

8. Adding other RecyclerView extensions might not be as difficult as I imagined, hopefully. The trick is not  to do everything, but focus on those things that allow the 3rd party dev to easily implement their need by building on some basic building blocks.
Building blocks such as more than one type in the adapter(allows doing header and footer views for example), precaching pages/screens, and etc.

10. As far as a command layer I think I can just do a simple routing layer that allows both a multiple activities/viewgroups app and an activity/fragment combination. I do not think it will be that hard to come up with an implementation. And it should allow passing of EXTRAs ie the bundle extras that way its somewhat robust as what we can in fact do with the routing api.

11 The average app under either MVP or MVVM architecture patterns takes a significant number of 20 plus classes to implement clean architecture. Using GWSFluidx framework and the MVPVMor MVVM pattern I have got it down to 12 classes or less per usercase. A somewhat easier structure to understand at first glance. Which translates to get features out-the-door faster.

12 Prefetching pages with RecyclerView, evidently there is a hack. You have to subclass LinearLayout and override the protected getExtraLayoutSpace method and supply enough pixels to represent another page. Which  reminds me I need a screen height computation  method as I do not want to hard wire it at a fixed pixel amount like the original dev who came upwith the hack. Way different than what you had to do with ListView.

13 Its amazing the amount of crud boilerplate one can eliminate from implementing MVP and Clean architecture by coupling the app architecture pattern to the adapter. My estimates and experiments indicate that one can decrease the boilerplate classes by 40 to 70 percent per user case.

NOW, if you were say a Start-Up co-founder would you not want this in your new Android Developer?

Saturday, September 10, 2016


Now, its the week-long polishing work on GWSFluidx. Things like:

1. Finish the RxJavaISNotAppResponsiveness article and publish it on
2. More code clean-up I found out how to prevent duplicate AsyncTasks so need to incorporate that into how I do my AsyncTasks and how I do my AsyncTaskLoader base classes.
3. Complete a wiki for the docs and gh-pages website for the framework.
4 Finish the nonbinding module as for those who want ot use RxJava or Agera as their binding implementation tool.

Kind of  accidental finding that my Presenters are fully decoupled from the data-source,view,and the usercase models. That is one of the benefits of coupling the view-model to the adapter machinery.

Thursday, September 8, 2016

Interesting Android Dev Myths

Interesting Android Dev Myths:

1. Retrofit 2.0 Asynchronous means we do not have to put  into a non-ui thread.

2. RxJava means app responsiveness is created by default just by using Rxjava.

3. You cannot use AsyncTaskLoaders with Presenters.

Tuesday, September 6, 2016

MVPVMA, oh the changes

I think the first thing to wrap your head around if you do use view-models and an adapter based pattern is that its so much simpler in that the view-model because its iterated per item in the list or grid is in vact the view-state by default.

Sunday, September 4, 2016

Why does GWSFluidx work equally on Android 4.x and Android 5.x?

So why does the trick of off-loading the adapter work of Recyclerview form UI thread to non-UI thread work equally well on Android 4.x which is only one UI thread and Android 5.x which has an UI thread and a RenderThread?

What is common to Android 4.x, Android 5.x, Android 6x, and Android 7.x is that the scrolling part of the UI process is on the UI thread. By taking the aapting part of recyclerview off of theUI thread I end up not blocking the process that does the scrolling.

Friday, September 2, 2016

FLuid UI Article Title

I do not think RxJava is not App Responsiveness is enough of a marketing title for the article behind the GWSFluidx library. Maybe a better article title from a marketing aspect would be:

iOS Fluid UIs, But its on Android!

That seems to fit my goals of my marketing push somewhat better.

Thursday, September 1, 2016

Fluid UIs VI

Now the gritty part of improving GWSFluidx. In the original code author's project that I am borrowing the code and concepts from he had hard-wired the display of the load times within the demo application.

Well, that really is not really compatable with what normally I put in a debug drawer to execute on the debug gradle build flavor to debug the app. Maybe its as simple as putting a set of tags around the timing log statements and than picking that up in the
debug drawer and displaying it?

Well, I did get two abstract AsyncTaskLoaders developed. One is for just simple loading data and one is the same thing but uses an Intent to broadcast. Still have the CursorLoader to deal with, however. Why one that broadcasts an Intent? Because I think may have to do that to support loading data from SQLIte or Realm as I do not want to double the methods of the library by doing the bonehead implementation of modifying the adapters to support SQLIte and realm.

On the article front, just finishing plugging in all the background information, etc to make it a polished Android dev article for my post on Should be published labor Day Weekend.

Wednesday, August 31, 2016

Fluid UIs V

Now for the interesting parts. I have to modify some interfaces and abstract classes so that the GWSFluidx framework is used properly.

One, I have to coerce 3rd party developers to initialize the id var in the View-Model with System.currentTimeMillis() so that each view-model has an unique id all set ready for RecyclerView stableIDs both for mutable view-models and immutable view-models.

Two, I should provide two additional base classes per new Adapting strategy that show how to set-up AsyncTaskLoader and CursorLoader in place  for times when its Network or SQLite data that is being retrieved.

And, of course publish a docs gh-pages website.

Tuesday, August 30, 2016

Fluid IV

So, I am in the process of the final re-write of the RxJava is Not AppResponsiveness article about  GWSluidx that will appear in Some interesting points:

1. How many are actually using the split up the RecyclerView Adapting and Bind operations and off-loading the Adapting ot the non_UI Thread? I very sure that with their past rewriting of ListView that Facebook is probably using the technique. Contrast that with start-ups like Airbn, which is not. Because we have to change things at the App Architecture level to implement that might be why more start-ups are not using it at the moment.

2. Naming confusion. I am still calling it an adapter, but I should change that as its no-longer the RecyclerView standard adapter with adapting and binding all in one operation. No idea what to change to will have to look at a thesaurus to find a better word choice.

3. Optimizations such as stableIDs and partial View-Model is not implemented in GWSFluidx yet. One could implement that via ViewTypes but I really do not want to tie View-Model to view as that messes up off-loading the creation of View-Model on the non-UI thread.

Saturday, August 27, 2016

Fluid UIs III

One of the problems in centering the App Architecture pattern around RecyclerView is that its tied to the Android Support Library edition of recyclerview and thus you cannot use all those great extensions to recyclerview.

In September, I will start work on GWSFluidxExt3ended which will link to an extended version of recyclerview with all the bells and whistles.

Thursday, August 25, 2016

Fluid UIs-The Correct Asynch Construct

I have to change my framework code as obviously AsynchTask is not the correct Asynch construct to use. It's not correct as the AsynchTask is not android lifecycle aware.

We want to use AsynchTaskLoader as its android lifecycle aware and does not hold a reference to any UI part. It helps prevent the Task from trying to communicate with a destroyed UI view such as in the case of the device orientation changing.

If it was known to be longer background task, its just formatting display data and populating the ViewModel or Presentation Model, than I would be using the FutureTask which provides an added feature of being cancel-able.

True I could break down and use RxJava's Observable, but my point is its not necessary to bring in Rxjava if you know the correct choices in your implementation of a fluid UI.

Monday, August 22, 2016

Fluid UIs

Okay, so rather than attack Fluid Uis from the state immutable part I revamped an approach where we attack the fluid Ui problem from moving stuff off the UI-thread.

Backgound: When RecyclerView was first released it sheppard in a new way to do things and have view holder by default enforced. Well, it changed things in that the adapter no longer did just adapting compared to the old ListView. The Adapter now did not only adapting but also binding to the view.

Binding is okay on the UI-thread, BUT the adapting part as since its not bound to the view should not be on the UI-thread but on the NON-UI Thread. Most of you wrap the http calls in the asynchtask and that is not enough.

And we can in fact separate the adapting from the binding and put them on different threads. And the trick is to do it with only one application wide thread pool and provide enough debugging hooks so that when one uses this framework one can keep track of whether their app arbhcitecture regresses in performance on this set of issues.

AND, yup thee is an and, be flexible enough that I do not dictate what Android App Architecture pattern you want to use to make use of this framework.

So the project with the new approach is:


First release is in  September.

I have been through enough code to know most android devs are not doing this. Even the Google IO app demo does not do this, WTF?

Thursday, August 18, 2016

RxJava is not App Responsiveness!

RxJava is not App Responsivenss! here are the two areas of App Responsiveness:

1. Use Immutables in all object models to reduce GC

2. Separate ViewState, ViewModel, AdapterModel, DataModel and wrap the adapter code in an AsynchTask to be done on the non-UI thread. If using a binding library that is the only thing that should be on the damn UI thread!

Now, how you handle the callbacks and data flows is up to you. But I do not believe that you need to use the heavy RxJava or agera to achieve that as you could make up your own monad and promise implementations.

The magic bullet towards app Resposniveness is not rxJava!
Its actually knowing how the Dalvik/Art VMs work and how the graphics UI pipeline in Android  works and changing things to minimize what occurs on the UI threads.

Monday, August 15, 2016

New App Achitectrue:GWSAdux

The repo is up to the new app architecture for Android, called GWSAdux. The very first alpha release will be in the next 10 days. Its focused on app Responsiveness.

Saturday, August 13, 2016

Its Probably Adux

Remember, I am completing an attempt at a new app architecture for android? Its probably going to be named Adux. Why Adux?

Well, when I looked at the redux implementations on android I noticed that they were all wrong in that the device orientation changes were not handled. But, when you make changes to implement that you get more than one State class so its than not really redux but Adux, get it?

More info coming this next week with the repo published this next week.

Wednesday, August 10, 2016

Sweet Immutable magic

Put an immutable collections container in a ViewModel, shocking magical. Okay, I being obtuse...ViewState container as an immutable collection, plus ViewModel with the inside container being an immutable collection object, and plus some other immutable collection data handling magic.. AND no effing need to even touch huge RxJava! :) damn!

Monday, August 8, 2016

Functional Programming is Fun

Well, its fun if you figure out a way to get Responsive Android Apps without resorting to use RxJava and its large learning curve.

Saturday, August 6, 2016

If using RxJava or Agera

If using rxJava or Agera could you please consider maybe understanding why using AutoValue objects in your models might be a good idea? One could use the Immutables annotation processing to auto generate such things:


Wednesday, August 3, 2016

New App Archtiecture

So expanding on View-State as Immutable is creating some new App Architecture Components that go with it. The problem is what to name it?

Its not MVC, MVP, or even MVVM. And its not even Flux or Redux as views are not recreated to update them.

Should I name it, FauxFLUX?

Tuesday, August 2, 2016

MVC MVP no View States?

In MVC and MVP you have this in-bred notion that if we include View-States that somehow its no longer MVC or MVP. At least the purists try to paint it that way.

But, in Android we are dealing with a semi-controlled controller which is something that on desktop and server the MVC and MVP patterns never originally faced.

Maybe we should be exploring View-State?

Monday, July 18, 2016

We Are Doing RxJava Wrong

So RxJava is all the rage of Java and Android Application development. But, what has bothered me is obviious question never gets answered by java developers.

Why Does It Make Sense To Give Away Half the Beneifts of RxJAvA By Insisting On Integrating It Into Our Mutable OOP Patterns?

You Do Realize That MVC/MVP/MVVM And All Their Hybrids Are In-Fact Mutable, Right?

Yeah! Do You Feel Stupid?

If I insttead use an OOP Compound Pattern than makes data immutable with the data control in functions, than I get both Composition-Over-Inheritance and Immutable with the full responsive app features instead of half of them with RxJAva.

For those following along, its similar to FaceBook's Flux:

except we are not using Reactive bindings for views but the Android OS framework components and when we do need the Director component we are using RxJava to provide that functionality.

NOTE FOR PURISTS: If I wanted to be pure the views would be recreated when updating, instead I use the Android Framework machinery and update views. And of course I am not using pure POJOs in the Domain but those with that are Parceable.

Okay, be fair when the NetFlix RxJava project started we were still dealing with those Android Devices with low Ram memory. Because everything is immutable it takes a little more Ram for this approach.

But, at API 18 and beyond we are no longer dealing with any Android Devices having low Ram and from api 16 to api 18 there is only one market where Android Devices with that low of Ram are still prevalent in the marketplace, China. Since most of us are not dealing with the China market it might make sense to switch now to this new way of Architecting an Android Application.

And by accident I found the hook to differentiate me from other Android Developers to obtain android app development gigs. As I can emphasize Huge gains in Android App responsiveness by architecting the android app in this way.

But, what to name it?



Tuesday, June 28, 2016

Sales-Leader Training

So I am rewriting a sales pitch on an engineering services product. Probably one of the hardest things for any coder to get as far as what dev processes fit in a start-up is that the code dev processes have to align and couple inputs to outputs across not only engineering but also customer feedback and leadership feedback.

I can do daily builds and weekly milestones all I want but absent feedback from the top of the start-up and feedback from customers it just becomes this traveling from point a to point b with no context whatsoever. And that daily builds and weekly milestones has to be done in a way to TRAIN the other people you interact with about providing feedback. You cannot just assume that they know what feedback means or how to even provide it a meaningful way.

I think of it as you are actually using the development process to train Leaders.

Saturday, June 18, 2016


Let's just say I found a way to sort of tell the story of preparing for getting android users for an android app in a very crowded situation. Its very similar to the baseball movie called moneyball. The IT shops and Design shops do not have the answer and that is why in the past 24 months they have removed highlighting their own android apps and only highlight the customer brands and not the app in all their advertising.

Part of the answer is what I have been doing all along in collecting together 50+ back ported UI libraries and coupling that with some tools to reduce boilerplate. That difference in developer workflow than allows that time savings to be leveraged into A/B testing of visual designs and app workflows which is where the real app users come from in a now crowded market as the one that has the right app workflow and visually stunning app now stands out.

I found a place that has that type of world-frame-of-reference so now its some heavy duty writing of the sales presentation to get the sale. A little different trip in that it means I might be moving to SV, but its a nice new adventure...YEAH!

Wednesday, May 11, 2016

Android First For Start-Ups

So I have been looking for some hooks to fine-tune my marketing message among start-ups for my dev services. I wanted to find some proof that iOS market share losses was not what the Apple PR line put out, ie changes in exchange rates.

I found that proof in this article. US market share for Android now at 65%, that is 20% higher than last year.yeah!

Tuesday, May 10, 2016


Here is how you can help if you want the GWSAndroidTruth library out fast and tested. I want you when I  start publishing the articles on Medium to upvote me on reddit, upvote me on medium, follow me on fb, twitter, google+, my youtube channel,etc because than that helps me things like gig leads.

The medium articles will cover how you use Google Truth to write an api component, the type of things you use to customize how you test but in such a way that you write less test code. Its a feature that we just did not have with FEST or with assertj-for-android. Thus, its anew thing everyone should know about.

Thanks for any upvoting and or following of me on the social networks that you do.

Monday, May 9, 2016

Android Truth Testing LIbrary

Since I am switching to using Google's Truth Test Library looks like I will be creating an android specific set of libraries to deal with the UI widgets, etc.

Should be somewhat fun as its easier to expand than assertj for android was.

Thursday, May 5, 2016

Portfolio site

Okay, portfolio site up at:


The shadow color is not bad, but if you add pictures to the content you start to notice that if the shadow color is changed to match in some way the primary or secondary colors it has a more dramatic effect without being over-bearing.

Wednesday, May 4, 2016

Material Design

So after playing around with different graphic designs, it turns out that I do not have enough shadow colors in my full material design palette. So I have to add about 25 more shadow colors.

Monday, April 18, 2016

Material Design Full Color Palette, WHY?

Its not that the suggested android color palette in the Material Design guide is not good, it has to do with differences in environments. Let me explain.

There are three environments where we do not have shadows, iOS, web,  and windowsphone. To deal with the lack of shadows on other platforms one has to vary the app color palette on those platforms lacking shadows to bring some darker colors without moving away form the analogous color matching.

The colors of material design

The colors of my full palette, material design:

The Colors

Saturday, April 16, 2016

Finalizing GWSMaterialElement

So I am finalizing the Material design colors palette as the library named:


Images will be posted next week showing the range of colors.

Thursday, April 14, 2016

What to do with the Whites-Material Design?

One of the problems and challenges in Material Design in creating a full color palette is what to do with all those Whites and other light colors that cannot be made into a monochromatic color ramp.  The creative solution would be to use them somewhere else to create some depth where depth was need..yeah I being somewhat will see it next week, ie the solution..

Tuesday, April 12, 2016

An Example of Bad Material Design

So let me show you bad examples of material design, that way you will have some idea of why I have the colors palette bur in my saddle:

Its a calendar app from the biggest design firm in Chicago and in fact all their recent android apps follow the same bad material design pattern. The powers be at PunchKick Interactive have it in their little pee-brains that complimentary color matching with text in mobile muted environments works when in fact users complain about hard to read text, etc.

Material design is about monochromatic and analogous color matching not complimentary color matching...get effing clue MFers!

Saturday, April 9, 2016

RawFile-Materialcolorss Organized

Okay the file is now organized:

Material Colors

Still, have some yellows and oranges to add and add the gpl file.

Wednesday, April 6, 2016

Material design, stop!

Will you please stop using complimentary colors, as text does nto look good with them and they really are not meant for muted environments in the first place.

Tuesday, April 5, 2016

RawMaterialColors file

The raw xml res file of my material colors palette is at:


Not all the colors are in place yet, about 75% of them are there.

Monday, April 4, 2016

NonStop Material Colors

Okay, so you may have guessed it. I am doing a full material colors palette. The imperfections in HSL and HSV is obviously handled by some specific base 500 color choices. But, once one gets past that its starts to get kind of fun as far as the color combinations the full palette enables.

Wednesday, March 30, 2016


One more change I need to make, so it will out between March 31 and April 2nd The change I needed to make is that I was off on how much brightness changes per wavelength, yes the brightness value of HSV is wrong per what we know about human eye sensitivity to brightness of colors per wavelength.

And it does directly impact material design as the colors with the most eye sensitivity as far as brightness will the most vibrant colors.

Tuesday, March 29, 2016

Material Design Color Palette file

Okay, the material design color palette that I worked out to fix Google's big material design mistake will go live in my github gists and with articles appearing in Medium and BuiltInChicago on March 30th.

Monday, March 28, 2016

My Alternative Material Design Color Palette

Okay, some hints on how I am changing the material design palette. Every H* RGB color-space model has a bias in two components of the model. In HSL the strongest bias is the S part of HSL.

In HSV(HSB) its the V or brightness that has the strongest bias with the S part of HSV having the second highest bias. Basically I am taking what Google started as far as tuning primary colors based on that we only probably want white and black pegging at either 0 or 100 on S and V and just refining that and adding some more colors to build it out.

Thursday, March 24, 2016

Google's Material Design Mistake

So I have been rewriting and rewriting the article on how to take a brand logo and construct a material palette to use. I did find one somewhat large error in Google's Material Design. What error?

Let's say its understanding what a colorist does, and how colors are defined on computer systems and some mobile device characteristics. I am being coy as I am presenting my alternative in my Medium article which will be published next week.

But, trust me its a big one and its something that a professional without the designer label found rather than all the designers!

Monday, March 21, 2016

Biting Pain of Jack and Jill Tool Chain

This is a note of warning concerning the Android Jack and Jill Tool Chain. We have a very popular use case of having to target Android 4.x devices while at the same time targeting Android 7.0 devices.

Jack and Jill Tool Chain does not use proguard in the android gradle plugin implementation as of early 2016. As of early 2016 annotation processing such as Dagger and Butterknife still not working. And of course any 3rd party libs you use has not switched to the Jack and Jill Tool Chain just yet.

You might think well I will just set source and target compatibility to Java 8 and proceed like you have always done using the 3rd party retrolambda backporting libs. Not so as with preview N the android gradle plugin stuff changed in that the usejack in defaultConfig setting is depreciated and setting source and target compatibility to Java 8 automatically sets the android gradle plugin to use the Jack and Jill Tool chain.

Here are your options:

1. If testing any preview N features is not a priority than use the
   AndroidStudio 2.0 as it has the non-N Preview Android Gradle Plugin which I presume still has the useJack setting in the defaultConfig block still working. You will still be able to use retrolambda backports, dagger, butterknife, proguard rule files, etc.

That still means you have some things to track down and fix manually, such as the mistake of using file uri schemes.

If you have used retrolambda back ports than that is the only option you have, at this early 2016 moment.

Why not Another option? Remember, a certain OEM goofed up on the Android 4.x series and decided to include a support library that could not be updated, cough Samsung you MFer, so we use proguard repackaging rules to fix that mistake and thus if targeting android 4.x devices you cannot switch to the Jack and Jill Tool chain just yet due to that mistake.

Saturday, March 19, 2016

Saturday, March 12, 2016

I am deleting my LinkedIN account in 14 days

So I am deleting my linkedIn account in a few days, if you need android stuff done you will find me on and github.

Thursday, March 10, 2016

Should you Jack And Jill?

So Google did some things a few days ago and released a new beta of Android Studio 2.1.x series and the N preview and the new Android Gradle plugin 2.1.x series.  Should you start using Jack and Jill now?

Not, really at least in production.  As the way dagger, butterknife and rest of the annotation stuff integration has not fully played out just yet. While its true that N will require Java 8, one could still get away with using the previous retrolambda tooling and still have Jack and Jill not enabled.

Saturday, March 5, 2016


Okay, I am getting some increases in my follows but there is an interesting twist. I just updated or added logo and links to my Youtube Channel:


I am noticing new followers in several places including facebook, twitter, etc. Even though my Medium articles will be important in helping establishing the brand it seems that people have a higher affinity for video and its more relate-able.

Seems at some point other than app demos I need to do some weekly vlog of some kind.

Wednesday, March 2, 2016

Material Design Colors Palette

First version as a gist:

Material Design Colors Palette gist

I kept the google color groups but added some needed variations. Next version I will be adding some new color groups

Saturday, February 27, 2016

A New Material Design Palette

Okay, I reverse engineered how Google might have chosen the Material Design Colors in the Material Design Color Guide. Its so close to the values Google came up with that it can be used in production.

BTW, have you figured out why I call my best practices book 'TheAndroidWay' yet? What I did above my be subtle hint. Medium Article about the technique and sample material design palette download later this next week.

Tuesday, February 23, 2016

UI KIts for Android

So I am at the beginning of prototyping the UI of several applications and I am finding that I do not have an adequate UI kit of the UI elements in PSD form. Taylor Ling has in the past done some exceptional UI kits for ICS and Kitkat releases but has not completed one for either the L or M releases.

And the good news is while their will be tweaks for Android 7.0, which will be previewed I imagine in the fall of 2016, there will not be any massive design changes.  So if I compete an UI kit for Android for Material Design it will be around and used for awhile.

So I am completing one in the next 2 weeks that will cover Android Phone, Tablets, Wear, TV, and Auto.

Many of you are in a situation where you are in the progress of learning android or you know java programming and are picking up android as you see the opportunity to complete an android application and sell it via In-App-Purchasing to earn money for your family or earn money to establish a small business.

I am asking you to take 60 seconds and go to

MyGithubProfile page 

And on that page click on every social network link and do follow me as it shows me that the free things you will download from me are appreciated and wanted. And I do return the follows so it will help increase your followers.

Side Note: Currently, I do not have access to those devices that use custom UI themes such as Samsung, Amazon Devices, etc. Thus the UI Kit will not include that set of visual elements. If I do get those devices at some point in the future than the UI Kit will be updated to include that set of visual elements.

Monday, February 22, 2016

Saturday, February 20, 2016

GWS Logo Progress

I forgot to show my logo progress on my GWS Logo:

Obviously, its not finished yet as I have the depth and perspectives to add. The general idea is that I wanted an abstract representation of mobile so I choose an abstraction of mobile screen sizes arranged in the \abstract form of the lowercase g.


So this is the first full month of me making an attempt at applying GaryVee's advice on audience grabbing, business, etc. There is now a very small uptick in my Medium viewing and reading numbers.

Remember, GaryVee has stated that its a bit of one full year of very hard work. But, now I am getting daily views of 33 with a 70% read from those views on my Medium articles.

Now, to boost that I need to add some more free stuff to every article and provide more illustrations, videos, etc.

Thursday, February 18, 2016

Material Design Color Palette

So I am reversing my previous prohibition in coming up with a Material Design Color Palette because so many do not understand the underlying design theories and developers are still making some other mistakes.  I am creating a Medium Android Application Development Material Design Color Palette article that steps everyone through the process of creating a Material Design Color Palette.

The article will first start with the basic set-up and introduce the color theories involved and than show that the  SUGGESTED Material Design Color Palette in Material Design Guidelines is just a suggestion and that you can come up with your own Material Design Color Palette that has a more depth of colors to the palette.

I have stated before that the visual style of the color matching is somewhat baroque in its visual nature. But, its more than that because visual design in media tends to repeat artistic style explorations of the visual physical arts such as painting as we went from neoimpressionist to baroque. Neoimpressionist was the little dots somewhat like non-laser printing in which we had to do half-tones, etc.

Baroque is somewhat important thing on Android. Let me explain, Human Interface Design in the form of MacOSX and iOS clings to the notion that certain colors are avoided due to their objective denotations in certain cultures. However, Apple still clings to such color denotations in other areas of its UI. With baroque we are separating the objective denotation of a color from a color and using it to denote depth, shadow, and rhythm.

So with Google choosing monochromatic baroque, the implied implication is that Android Applications are moving towards works of art in their vibrant visual designs and conversely leaving Apple and its visual stagnate iOS behind.

Wednesday, February 17, 2016

Material Design Color Hint

This is probably the most important hint on Material Design Colors in a Palette:


But you have to use it wisely..

Tuesday, February 16, 2016


Okay, I am getting some good feedback on the medium articles which helps me improve the content and re-use it for the book.  My medium stats are increasing but I need a somewhat better hook.

So the next aspect is that I am completing some Material Design Portfolio Apps to help make the whole thing very interesting. So now comes some interesting things to ponder.

What social network or networks to post the screenshots to..

Tuesday, February 9, 2016

Medium Quirks

I do not know if its a quirk, but for my Android Dev Articles on Medium it works better if my article titles use action phrases.

Monday, February 8, 2016

Saturday, February 6, 2016

Banking VC Clowns

I just had a Banking Vice Pres clown interrupt me on LinkedIN to get me to send him a resume and code samples as he is putting together a startup, ie both are on my linkedin profile. Why would I join a start-up that has at its top co-founders who do not get it?

Damn it where are the co-founders of start-ups that GaryVee GET IT?!

Thursday, February 4, 2016

5Billion Phones in 4 years

Yes, that is the prediction..5 billion phones by year 2020. Are you ready?

Wednesday, February 3, 2016

Medium Stats

I think I figured out how to get higher on Medium as far as stats, seems to be working:

Saturday, January 30, 2016

UpComing TheAndroidWay Content

So some of the upcoming Medium articles I am writing to turn into expanded content for TheAndroidWay book is one real tough one. No one really has written an adequate guide to the main support library v4.

Not only do you have to know its classes and methods well but it updates over time and does not have an adequate annotation added this since last time to help clue you in to things that have been added since the last version.

Sort of the Extreme Guide to Compat Libs.

Wednesday, January 27, 2016

Missing Material Colors-the hint

Okay, obviously several color groups are missing accent colors. But that is not really what I am referring to as missing colors. The hint is the question:

What types of shadows did Google say to use with Material Design?

The article will be on Medium under my user name next week with pointers to the gimp gpl file, etc. Everyone did kind of miss this..I am not sure why exactly as to me its somewhat obvious.

Tuesday, January 26, 2016

Material design Missing Colors

I do not know if this somewhat a secret, but there are some missing colors in  the suggested UI color palette of the Google Material Design guidelines.

Should I keep it a secrete or publish the medium article? Hmm..

Monday, January 25, 2016

The Start-Up Design Hook

So I have been looking for a marketing hook that allows me to ramp up as far as freelancing or joining a start-up.  The book is part of it but I need something more. Something that says DESIGN LOUDLY like its being SHOUTED.

I might have found a unique way to extend Material Design on the android platform.

And I have searched to see if anyone else talked about it and non one did yet. It could be that everyone knows that secret, but I also checked some popular google and non-google apps and I do not see it being used. That could mean I have found something really quite good or that I am effing idiot and talking non-sense.

Sorry for being obfuscating, details coming when I have the demo apps showing it in about a week or two.

Sorry, its not shying away from mutated colors, vibrant colors and accents or really adding to that particular part of the palette. Its not an obvious guess..:)

Tuesday, January 19, 2016

TheAndroidWay Book repo

Okay, I set it up so that the demo code and book content is in one repo and its ASL2.0 licensed:


But, be forewarned the full thing is about 12 months away. However, since I am suing the gitbook toolchain you are welcome to at any time download the zip and generate a book in the format you like.

Monday, January 18, 2016

The Book Title

The Book Title probably is The Android Way, at least that is the working title I am using. Yes, Open Sourced under ASL 2.0. Git repo up soon.

Saturday, January 16, 2016

Why I do not Read

I effectively stop reading Why? Because I found a better source of a mix of start-up, VC news, etc than has to offer, sorry JC..its true.

Its Medium...

Tuesday, January 12, 2016

What Start-Ups should be

I did an essay on what start-ups should be. Its a bit more logical than Paul Graham's inequity essay:

The StartUP Morality Play

Saturday, January 9, 2016

Why I refuse to Move to A Start-up

Holly Wood on Medium calls attention to the White Boys Club Environment where anybody who raises discourse gets abuse and harassment in return. That is the type of poison filled environment I do not want to live in.

And its always the same some White boy who forgot the head smacks from their own mothers on such bad behavior. And I quite frankly tired of it and it does not belong in my life or my work environment.

Thursday, January 7, 2016

Ssh More Uptodate Gradle Spoon Plugin

Ah you may have not notice this but there is another gradle-spoon-plugin, this one is by x2on, that has is at spoon-runner and spoon-client version of 1.2.1:

x2on's gradle spoon plugin

Spoon is current at version 1.31. so it might be of use to you.

Agile dev WorkFlow

As I update:


You will see if you read the build scripts some of what an agile dev work-flow entails as I am integrating Cucumber, Lombok, Kotlin, and even Retrolambda. Its in flexible manner with some modules having the least amount of integrations and other module build scripts using everything.

Wednesday, January 6, 2016

GitTag Gradle directions

Somewhat brief directions in how to use the GrGit JGit wrapper to get the git hash and do git tags properly in a cross-platform way is in my:

GWSAndroidGradle repo

Look at the root build.gradle script and the app module build script.

Tuesday, January 5, 2016

Git Tags on MS Windows

This is a platform neutral way to do git tags that works with MS Windows. Ready? use GrGit. Whats GrGit? Its a wrapper around the JGit library that gradle comes with. The gradle snippet is in this SO answer.

Monday, January 4, 2016

The Worldview, to go with the TagLine

Okay, so some of you read some ad copy draft I did of my tagLine and my attempt to come up with a story.The problem is it does not address the worldview of my target audience..that is VCs, Angels, and Start-up co-founders.

First. there is  a set of worldviews at work when a start-up decides to use a developer or firm to build their android application. its why some of those same developers or firms buy a Mac laptop.

Not, because they believe that worldview but because their potential clients have a worldview that a mac laptop means you can create a product. A product in this case means the whole thing together including the marketing story and the marketing conversation, the product itself, and any services that are integrated with the product.

But, than again those folks design their product instead of discovering the mobile device users product.Not ask everyone to change their worldview as that will not work. But, there is a contingent of VCs, Angels, and Start-up co-founders already questioning this worldview in a world of a Million plus mobile apps in a Mobile app Store. So the trick would be to frame my story towards that worldview and than give those VCs, Angels, and startup co-founders the tools to re-tell my story.

And I have to deal with the difference between iOS users and Android users.

Lets see, framing the story:

Launch Their Lives, without Limits

I am taking the worldview that the start-up co-founder already has and inviting them to turn-that-on-its-ear and launch the mobile app users lives and differentiate the different between iOS users and Android users with Without Limits..

Still word choices is it

without Limits

No Limits

without bounds

No Ceiling

its probably    No Limits

and what is left is writing some ad copy to take that message and emphasize parts of it.

Launch their Lives, No Limits

Its mobile but should not be limiting, using the connected technology..servers/services/etc to
overcome the limits of the mobile platform and transform something into launching their lives.

Its not an extension of An-interrupt-One-Way-Marketing-Conversation but an idea amplifier that beckons the audience to  Go What is that new Thing and We Should Lean and Move Towards It..