Monday, December 31, 2012

New Years Advice for Founders

As we approach year end certain things are changing while its true that SoLoMo investment from VCs and Angles is lower they are in fact switching GeoLocations and looking in other Geographical locations other than West and East coast in the US such as the Midwest. I ran into something recently that I would like to highlight in a certain way as advice for Founders looking for CTO-Cofounders.

1. Respect the User is the first law for anything involving applications and services.  That somewhat means that instead of lying when you only got 500 downloads a month and calling it successful while at the same time posting fake astro-turfing app reviews in the AppStore that you instead respect the user:

    A. If caught astro-turfing by a user, do not snipe back at the user in your    apology just straight accept responsibility and apologize.
    B.  If you were dumb enough to snipe at the user after getting called on astro-turfing and the potential developer you want to network as the potential CTO-cofounder  catches it do not shove your head up your asshole and call such things presumptions without merit. Your Mom did not raise you to be an irresponsible asshole,

2. You are nothing to the developer as he or she does not know you  or your firm and we are in fact effing busy and so do not be surprised when we ask that you come to a near by eating place to buy us an inexpensive meal to start that first networking conversation.

3. Remember a developer will judge your interaction with him or her to see if they get the impression of how you will treat a stranger that is a VC or Angel investor. That means if you are caught at anything your correct response is to drop the attitude and apologize. And yes this is not optional.

4. You are a stranger to any developer. do not start with a pitch, because we have a sick game of tearing about pitches from strangers not bright enough to understand the proper sequence. Your job as founder is to have that first networking meeting go off in the proper manner. The way to handle it is to pick some tech questions that you might have that are easy to answer in about an hour. You will do this several times with each developer you talk over several months of meetings with each developer.

5. Signing up for a whole bunch of meetup groups is not networking. At the most its ego tripping. Physically meet with a developer and break bread with them as that is in fact real networking.

Last, I must apologize to those who somewhat responsible and already have put this into practice.

Sunday, December 30, 2012

Ui Design and Mind Phrasing

One of the aspects of Mobile UI design is the lack of space. Some ill-formed people might claim its context based UI design we have to strive for, namely Scobble,

The contextual and exponential future of Facebook.

Its not context as that is what Google does currently or any large data-web services combination such as Facebook. Its also what GUI designers hoped for way back in the 1990s such as Kai Krause with KPT and Bryce.

Kai Krause always started with a mind phrase-logy before exploring new designs, for some measure of that see this or just a biref sample:

A whole wave of blogs and such have popped up again in recent weeks, asking the perfectly reasonable question "Dang, what is that Kai guy up to...? "
But I didn't disappear - I am right here :)
It is the public that disappeared from my rear view mirror.

Notice that the mind phrase-logy expresses turning out of logic in looking at something. Its the same looking outside form inside or inside looking outside when everyone is doing it the opposite way you encounter in Zen Koans.

The difference between a Google text search and a Facebook text search is Google is matching a context against a present context activity of a user. Facebook is matching a context against a past user activity. Guess which mobile is? its present context activities.

The mobile future in UI and application design is matching a users current activity context to the application displayed and enabled features. This is why geo-location ads have not taken off as of yet due to them not matching current context activities of mobile users but past context of mobile users.

Mind phrase wise, Google search is:

Mobile I intend to go where

Facebook search is:

Mobile we did go where yesterday

Whereas the future of mobile is:

Mobile I am going here

Vastly different than what Scobble tried to describe and failed. My mind phrasing puts it as predicting what I am currently viewing through the eye of a needle looking at a galaxy of stars. Not as beautiful as Ka Krause's words but you get the point.

Friday, December 28, 2012

Agile Project Management, new Tool

Part of the aspect of Agile Project Management is understanding the code repository/issue tracking/wiki/project website pages philosophy under-pinning such as service.  Github is not the same as Bitbucket, for example.

GitHub was founded with the philosophy that there should be no managers within the coding process. You see that in the design of how the particular services plugin together as there is no very rigid enforced workflow. Which is all fine and good as you get some more power in what you  can do but that power gets wasted if yo do not organize it even though we might want a manager-less system.

In Mythical Man Month Brooks talked about the systems they setup to manage projects, project cards, lists, etc.  I found this neat web service that attempts to implement that and seems to pull it off quite well:

The service is called and organizes each project into a board and into cards and lists. As the status changes for a card it moves from one list to another. The project management of people things about a project than happens somewhat organically.

But wait a minute. How do we integrate with commits, etc?  You could use itDuzzIt and their Trello to Github connector but they only have 20 transactions in their free plan. Now we come to a major difference between Bitbucket and Github that people overlook.

Github has taken the pain out of service hooks by doing all  the hard work, all you have to do is fill i few simple settings for Trello and authorize it by clicking on the consumer authorize token link in the repo service hook admin page. How is that for simple?

Thursday, December 27, 2012

Developer Cred

Its not easy using free services right now if you want avoid getting trapped in silos. It seems everyone reverted to web 1.0. However, if you need a way to show your developer cred in certain ways there might be a solution.

I have been trying out coderbits as they allow me to link and scan events for all my developer stuff from code repos, question and answer sites, developer portals, etc. Ease of automation rather than the very limited coderwall or masterbranch.  I have invites!

Use this invite:

I still have not found an easy way to integrate a free continuous integration server service with projects and BuildHive only supports github at the moment. But that is a subject for another time.

Tuesday, December 18, 2012


From time to time Chicago StartUps seeking  mobile technical co-founders contact me asking for a meeting. Which on its very surface is a good thing as VCs and Angels prefer to fund those only with technical cofounders.

The problem beings with that first email, where someone who is somewhat older than 21 years old decides that desperate times call for the strategy of being less than honest and other things. And you  may think well its only one time how can it harm.

The problem is in the beginning to build product buzz and buzz about the startup you to build a community. Some of that is by developing a quality mobile application through use of code development skills. However, a large part is in the ethics or treatment of the mobile end user.

Let me give you example, here is the link to the review of iLyngo. The founder posts a fake review here and I quote:

Justin is right, re all 1 of 2 reviews. But I'm sure others do too... At least, I'm not hiding it... I just wanted to let you know why I built it... So I can understand the lingo from my friends, family and colleagues and empower them and all of you with this capability plus more as well... Try it out and let us know, we can only improve... All opinions welcome +ve or -ve (even if not about the app)...

And that is not the only fake review by that startup staff. Can you imagine my reaction upon receiving an email from this founder requesting a meeting because they desire a technical cofounder. 

Now notice also the amount of downloads at 500 monthly, most mobile application sin this area have a successful field test of anywhere from 5,000 to 50,000 monthly downloads the first month. Thus we know the founder is acting out of desperation rather than knowledge or even skill.

Want a quality android developer for your Chicago startup, do not come into my email inbox playing despicable games like the founder of iLyngo. Have the courage to give a damn about that mobile application user you want using your products or go the Fuck home.

Sunday, December 9, 2012


The accessory files like the IDE spelling file, PMD and CS files, color editor files, etc in a Project called AndroidIDEAccessories if you use Eclipse for your android application development.

Saturday, December 8, 2012


Set of files to style the Eclipse 4.x IDE using css to look like a polished Android IDE.

Although it is based on Linux and the Abwatia clearlooks theme and engine the gtkrc file should give you an idea how to change your own to suit as with Eclipse on Linux we are using a bash script to set an application specific gtkrc to set the system colors right for the eclipse 4.x css styling file.

If you are not on Linux than you still should be able to sue the same css file as you will just have to rename it the platform OS variation name that the eclipse platform expects. No Linux users will of course put the renamed css file in their hidden metadata directory that they created in their user home called .e4css.

The project files are here.

Does your Android IDE look like this?

Does your Android IDE look like this?
Project files will be posted this evening so you can have the same exact look. For those on Linux systems you can still re use my css file and just rename it to the OS type that Eclipse is expecting and than place it in the hidden metadata folder in user home dir named .e4css and than set your system OS colors.

For those on Linux, I supply a bash script and gtkrc file to adjust system OS colors.

Would have been nice if Google spent the time on the adt-bundle do this styling as a bit of polish on it.

Cons, not all SWT CSS properties are exposed. See that heap status indicator at the middle of bottom status bar?  Its one of the things I am having trouble CSS styling because not every thing is exposed. I know its canvas thing and than some text on that canvas, but its not reachable via CSS as of yet.

Friday, December 7, 2012

Eclipse GTKRC magic

Okay, more progress:

The main thing to remember is since we are calling a gtkrc specific for an application that you have to add most of what was in the original base gtkrc per theme back in once you have figured out what color scheme to use.

Now what is left tweaking some stuff than publish it for others to use.

Thursday, December 6, 2012

EclipseDroidTheme Intermediate

Okay, some progress. As you can see I found out what the bg_color value controls in Linux gtkrc:

I still have tweak the color scheme. When I finish and publish it If you use Linux you will get 3 files; eclipse.gtkrc, ecrun(bash script), and e4_default_gtk.css file. And its simply move the files to the right places and no messing around with plugins.

This is the tweaking that the adt-bundle should have received as than it shows some polish. I say that because this past summer Google recruiters were attempting to get me to go through the application process for a developer advocate position. This is the type of stuff we care about among other things.

Contrary to popular misconception you do not need to create a plugin to do a theme, at least the minimum  e4 css one. You will not have to create a plugin until you start fully customizing editors.

Tuesday, December 4, 2012

EclipseDroidTheme Progress

Okay, here is the progress thus far on my EclipseDroidTheme:

Its relied upon with only one plugin dependency namely, the Chrome Theme plugin. As you notice the top portion of window still needs styling along with the image bar that ChromeTheme defaults to and some editor areas.

What I can do is enforce a Linux gtkrc file for just the Eclipse IDE which will fix rest of it. On windows you would change the default css file that ChromeTheme loads and rewrites. But I am on Linux so I will do this via a gtkrc file for my eclipse application.

The nice thing is that it will still work for Eclipse Keppler with minor adjustments as I am told they are fixing some of those issues that I am correcting.

Than of course borrow the IDE splash and icons and I now have fully reasonable improved android IDE from the original. Yes will git publish my ChromeTheme epf settings.

E4Theme that respects Linux system colors

I found an Eclipse 4 Theme plugin that respects the Linux system colors,ie it will respond and change when you change Linux Theme colors and Window settings. Its by Tom Sonton and called e4-e3theme.

I will be forking this and modifying it to derive a full Droid Developer theme using Eclipse ColorThemes plugin. As far I know its a temporary fix as in June 2013 when Keppler comes out this set of issues is suppose to be fixed.

Monday, December 3, 2012

Eclipse Checkstyle for android

This in form of a gist, is the raw checkstyle checks for android coding conventions I am starting with. Obviously, its for checkstyle 5.6.0 and it has not been tweaked yet as far as android coding conventions. But, its close and I will update with changes.

The big change, from other of my checkstyle for android files that you may have used is that no suppressions.xml file is used but instead we use comment delimiters to turn on and off checkstyle checks within the source code. Makes code maintenance a whole lot easier.

PMD51 ruleset for android

Remember that beta new version of the Eclipse PMD plugin that uses PMD5.1 that I referred to about a week ago?  Here is the gist paste showing what a typical pmd51 ruleset for android app development will have set as we now rely on Lint more for things.

Once again, its for use with both android Lint and PMD 5.1 using Eclipse IDE. obviously the rest is checked by Lint rules, hence the absence of using the built in PMD android ruleset.

Sunday, December 2, 2012

Adt-Bundle Bug

I am not sure if this is a bug or not. But, when you  download the adt-bundle from Google which includes Eclipse you will notice that its Eclipse 4.2.0 and not eclipse 4.2.1.  Which might be okay.

But when you attempt to upgrade it to eclipse 4.2.1 and than attempt to install either the Chrome Theme or the JBoss Central UI Theme plugins to get some nice ways to change the theme of the UI both plugins fail on the windows preferences general appearance  selection.

Why JBossTools?  Because that is the only group of plugins that has an updated framemarker plugin to allow us to make and modify new project templates as they are framemarker files. Its not a show stopper bug its just plain annoying.

The solution is probably dumping the plugins from an adt-bundle install into a fresh Eclipse 4.2.1 install and tweak the eclipse.ini file to point to the right product splash screen.