Friday, April 19, 2013

Hacking the Enterprise - Collaborative Intelligence

In this first blog post about Hacking the Enterprise, we will to introduce the concept behind the Whispr platform we are working on.  The concept of hacking the enterprise is about unlocking the knowledge within your human capital and building highly efficient communications models to allow you to make decisions and get business done.    The value of roles, clearly defined lines of communication and process is becoming universally recognized as the single most important factor in building effective teams.   It seems almost illogical that such a quintessential component of an enterprises’ success has been long neglected yet nothing much has changed with respect to the way people work together in the last four decades.   To understand more about Hacking the Enterprise and optimizing the effectiveness, we have to look back to 2001.  

Research started to look at the failures of effective team communications after the tragic events of September 11, 2001 when an internal audit of communications and knowledge sharing was spearheaded by psychologists who sought to understand where the intelligence community could have done better.   The Harvard based team was led by the late Richard Hackman and they approached the work with a question of what made certain intelligence units functionally effective while others were not.

Richard’s team interviewed, observed, surveyed and watched hundreds of individuals operating across sixty four different intelligence organizations.  By watching them up close, he learned how most are viewed as solo or individual contributors yet have to function within the greater collective by collaborating with their colleagues.    Throughout all this research, the team identified a comprehensive list of factors and models that seemed to be factor’s in the cohesiveness and effectiveness of groups.  Within the context of the intelligence community, these groups can sometimes be ad hoc and survive only to address a very specific decision.  Cultural, regulatory and other factors cannot always be accounted for within this context however there were some startling revelations that had a much broader applicability of use.

Graphic courtesy Julian Partridge (via Flickr - CC License)


While the work is summarized in a book aptly named Collaborative Intelligence (http://www.amazon.com/Collaborative-Intelligence-Using-Problems-Business/dp/1605099902 ) Richard’s team noted that the critical factor wasn’t as simple as just having a set of static team members, a clearly defined vision statement nor was it singularly due to human endearments or egos.   It turned out that the single strongest predictor of group effectiveness was the amount of help that analysts gave to each other.

As with most enterprises, the highest-performing teams place a great emphasis on collaborating, coaching, teaching, and consulting with colleagues.   Those who shared little resources and did not effectively communicate with their colleagues for enhanced problem solving embodied the anti-pattern of this success.  Hacking the enterprise is a conceptual hack embracing the collective pattern of good collaboration to facilitate these good patterns.  Much like a set of synaptic relays making connections to each other for the first time in a small child’s brain, hacking the enterprise is about bridging gaps in knowledge and communication.

Individuals and enterprises benefit the most when they freely contribute their knowledge and skills to others and do so with clearly defined roles.   Whispr is build on that premise and facilitates the hacking the enterprise mentality by allowing ad hoc teams to create powerful, focused task forces to solve specific problems and preserving that knowledge.

So what is the call to action? Whispr is a platform that allows distributed teams to set up decisions ("Whisprs") and add contributors based on the roles defined in a RACI Matrix.   Whispr is open for a very limited time for alpha testing at http://whis.pr.   If you have a decision to make and have a distributed team, this is the perfect tool for hacking your enterprise.   You can signup at http://whis.pr/signup. Those who come in now can use it for free for a limited time.

Sunday, April 07, 2013

Next Vancouver GraphDB User Group

We have a rare opportunity to get Peter Neubauer, a founder of Neo4J, to come back to Vancouver and do a hand on meetup to lead us through getting Neo4J set up and installed.  As the organizer, I would like to solicit input on this via the Whispr form below (Whispr is powered by Neo4J).


select the next time and place of our meetup.  We also 

Monday, April 01, 2013

Finally! Concrete Proof of Global Warming!




I have been working with many environmentalist groups and trying to get absolute proof global warming is real.  This week, the proof came to me from an unlikely source.  One of my friends told me about a guy who bought a house and now has tropical fruit growing in Vancouver's east side. He literally bought it a few years ago and had these nice tropical trees growing in the front yard.  Twenty years ago you could not grow palms in Vancouver but as our winters have become more milder, this has changed.

The absolute stunner came this month when we discovered two fully grown pineapples on the tree.  Pineapples are usually not produced except in strange circumstances when winter temperatures do not get colder than 6 degrees Celsius and we get spring temperatures of 20 degrees by February.   This year, this has happened and his tree is now producing Pineapples.

20130327_181154

Thursday, February 21, 2013

Carbon Tax Inneffective?

I am an environmentalist.  I like BC and want to help change the world through smarter conservation of energy and better programs to reduce energy consumption.  One thing that I found today deeply disturbs me.  It turns out that the Carbon Tax is nothing more than a money grab.  The math behind the alleged 4.5% reduction between 2007 and 2010 does not account for the general economy shrinking.  In fact, the 2012 liberal budget in British Columbia actually concluded that GHG's are on the rise and we will produce more.


Carbon tax – as announced in Budget 2008, the carbon tax rate per tonne of CO2- equivalent will increase by $5 each year to $30 per tonne by July 1, 2012. The forecast assumes that purchased volumes of natural gas will grow by 2.0 per cent annually, while consumption of gasoline is expected to remain constant. Revenue is expected to increase in line with these higher rates and assumed volume growth. 
So in short, the Carbon Tax needs to be scrapped.  It needs to be replaced with effective programs to actually reduce green house gas emissions and other forms of energy (a mantra I have been chanting for decades now thank you).  The current Carbon Tax only adds costs to everything we buy and puts our businesses at a disadvantage in a global economy.

Time for some common sense.

Friday, February 15, 2013

Neo4J User Group Meetup - Vancouver

On Feb 25, 2013, the Vancouver Graph Database User Group will host a meetup.  This is an incredible opportunity to hear Neo Technology's Pernilla Lindh provide an overview and introduction for Neo4J. Pernilla is a Community Manager with Neo Technologies, the company behind Neo4J, the world's most popular graph database. Pernilla self describes herself as "An Hippie-Information Architect who works with graph databases, will save the world through technology and open data" which will resonate well with Vancouver Culture.



The second speaker will be Duane Nickull who will provide a simple overview of how to get started with Neo4J and then provide an overview of Whispr. Whis.pr is a Decision Management and Analysis platform supporting RACI/DACI models that is built on Neo4J and the reasons why Neo4J was chosen will be illustrated.

The event will be held Monday, Feb 25 7:00 PM  at Hootsuite Headquarters, 5 East 8th Avenue, Vancouver, BC.

Links: 
Pernilla - http://ttsweden2012.com/neo-technology 
Duane Nickull - http://technoracle.blogspot.com
Whispr - http://whis.pr
Neo4J - http://www.neo4j.org/
Hootsuite - http://hootsuite.com/

Thursday, February 14, 2013

BC Conservative Party


I am a BC Conservative Party member.  That is correct.  Moi!  Why did I choose this party over the Liberals and the NDP?  Simple.  I read their mandate and it makes sense for British Columbia.  I also respect the people they are running in the next Provincial election.  The  BC Conservative Party's guiding principles are easy to believe in.

The Party is founded on and will be guided in its policy formation by the following principles:

1. A belief in clearly defined public policies and programs that are affordable, 
effective and accountable to the people.   To me transparency in government is something that I stand for.  Any politician must be accountable to the public.

2. The BC Conservative Party believe in managing with the highest standards of integrity and transparency.  Again, an extension of the first principle, integrity in government must be absolute.  When you enter politics, you must accept from day one that you will make choices that offend some.  To be guided by an attempt to please everyone is ill-conceived.  As soon as pandering begins, integrity ends.  How do I know anything about integrity?  It started when I was very young and a family friend who was a politician influenced my parents.  He influenced the lives of my great Uncle Olaf Turnbull, who himself was an MLA in Saskatchewan for the Canadian Commonwealth Federation or CCF.  This family friend became the Saskatchewan CCF's leader and then the seventh Premier of Saskatchewan from 1944 to 1961. His government was the first democratic socialist government in North America, and it introduced the continent's first single payer, universal health care program.   He did this with integrity and conviction.  This was done before I was born but we heard stories of the man who had a dream, a vision and would not let public influence sway him from that dream.   That man was named Tommy Douglas.   He later was named The greatest Canadian by a CBC television program in 2004.  Here he is with my mother around 1970 (left), a photo of himself he gave to my late grandfather and a letter on the right he wrote to my grandmother expressing his grief that Russ had passed.  He also spoke very highly of my late grandfather, another man, like my father, of integrity beyond reproach.




3. British Columbians are entitled to full knowledge of services rendered.  Again, full transparency in government is a right of those who pay for it (you and I).

4. The BC Conservative Party believe in the rights and responsibilities of all British Columbians and that governments at all levels are in place to serve and respect all individuals and their families, including freedom from unnecessary laws and regulations.  A belief that government is fundamentally in existence to serve the people is paramount to the parties mandate.  Part of that mandate is to respect the rights of the individual.

5.  Members of the Legislative Assembly (MLAs) should be empowered to best represent the interests of their Constituents.

6. A belief in restructuring the taxation system to maximize benefits for the greatest
number of BC citizens.

7. A belief in a competitive free enterprise system as the basis for prosperity and growth.
protection and management of our environment and natural resources to optimize
benefits now and into the future.  I am an environmentalist and the BC Conservatives are committed to the protection and management of our environment.  Nobody in their right mind would want to destroy our province's beauty.


Tuesday, February 05, 2013

New UN SPSC Codeset Released

The United Nations Standard Products and Services Code (UNSPSC) is a global standard for the classification of products and services offered by companies worldwide.   It is very important in terms of being able to identify trends in national productivity and also matching needs and capabilities.  

Today the UNnited Nations announced the release of version 15 of the codeset.  This version compiles about 1,000 changes to the codeset.  The changes introduce new codes and amend definitions enabling better classification of items using the codeset.

Whispr is contemplating how this could be incorporated into decision making.    While Whispr allows companies and individuals to retain an accurate archive of historic decision making, sometimes plain text gets lost in the loss of context.    The UNSPSC offers a single global classification system that can be used for company-wide visibility of spend analysis as well as cost-effective procurement practices.   The two seem like a natural fit.

UN SPSC can be perused at http://www.unspsc.org/.

Tuesday, January 29, 2013

Whispr Decision Support and Analysis

Yesterday I wrote a blog post hinting at what Whispr is up to.  If your organization works with DACI or RACI or any expanded variations, you may want to consider signing up for the private beta.  THis can be done by using the subscribe function and adding the code #techn in front of your name.

DACI is a model is to clarify roles in a decision making process.  DACI's four primary roles make it clear who has approval authority, who needs to be consulted before a decision is made and who needs to be informed once a decision has been made. It is used in Six Sigma projects and in other project management applications and can be used for general business operations as well.  DACI is an acronym standing for Driver, Approver, Contributor and Informed.

The same model is also called RACI by some and defined as a reponsibility assignment matrix.  According to Wikipedia:

Responsible Those who do the work to achieve the task. There is a cardinality of at least one role with a participation type of responsible, although others can be delegated to assist in the work.   Under DACI the Driver is usually a single person or entity.

Accountable (under the DACI model called "Approver", is the person or entity who has final approving authority).   The one ultimately answerable for the correct and thorough completion of the deliverable or task, and the one who delegates the work to those responsible.  In other words, an accountable must sign off (approve) on work that responsible provides. There must be only one accountable specified for each task or deliverable.

Consulted (sometimes counsel) Those whose opinions or input are sought, typically subject matter experts; and with whom there is two-way communication.

Informed Those who are kept up-to-date on progress, often only on completion of the task or deliverable; and with whom there is just one-way communication.

While the model is usually done as an informal collaboration, Whispr is a platform that facilitates the process of using DACI or RACI.

Why Whispr?

Good business is all about good decision-making. Many of the critical decisions facing corporations today are managed over email.  Email is recognized as one of the poorest formats for communication as it leaves out the context and communication of face to face interactions. Whispr helps individuals make good decisions and  establish a chain of trust with their colleagues. Decisions are made everyday and individual contributors/stakeholders of the outcomes must ensure the right people are involved in the right roles.    Whispr allows stakeholders to assign those individuals specialized roles so people know why they are involved.  This accomplishes two primary results.  
  1. People know what is expected of them and are more focused on those tasks;
  2. People do not waste time doing tasks or providing input that is not requested of them.
Decisions are not just infrequent events, they are the basis for which companies move from one state to the next and address critical challenges that arise and must be mitigated.   In fields like software development or VC investing, it is essential to understand why a decision was made and who supported it; who opposed it.

If you have ever felt:
  • Your email boxes are unmanageable  (Constantly looking at email yet getting nothing done); or
  • You know there is something wrong but no one has a solution for it nor has anyone discussed this in a way that reaches you; or
  • You feel you are falling behind instead of getting tasks done sometimes.  Spinning wheels; or
  • You feel like you have good ideas that are squashed by incompetent managers; and/or
  • YOu feel like people with bad ideas are steering your group or company over a cliff; then
Whispr is something you will want to check out.  Sign up now!








Monday, January 28, 2013

Whispr - sign up for the beta now!

Some of you are in the know about what we have been working on for the past months and we are getting close to launch.  Whispr (located at http://whis.pr), is about to revolutionize how people work and collaborate on solving problems.  If you have ever used DACI/RACI or similar approaches to problem solving, Whispr is going to be something you want to look at.



When we built it we had not idea the magnitude of the problem. We are veterans of IT who sat down and evaluated the problem of lost productivity from a big picture perspective.  Assuming any worker connected to email, SMS, cell phone, or chat systems spends five percent of their time scanning emails they have no interest in or hauled into meetings or phone conferences they are not really contributing to, the economic value of this problem is indeed in the trillions of US dollars.   In North America alone in 2010, the average person spends seven hours per month on Facebook,  spends over nine hours in meetings per week, makes 1-10 texts and makes 5 phone calls a day and receives over 10, less than half of which they feel important enough to answer.


In a second study done on Meeting Analysis: Findings from Research and Practice, it was also reported that the number of meetings a person attended on a weekly basis rose by 55%.  Furthermore, the study revealed that many of these meetings were perceived as a waste of people’s time and contributed very little economic value.  The same study reported that in terms of 2001 dollars, over $39,000,000,000 (thirty nine billion US dollars) is wasted annually in the United States alone.


Why is this happening?  Think about this for a second.  What happened to the email you received last week?  It's probably sitting statically in your inbox.  Once it gets scrolled up high enough, its' out of sight, out of mind.  What if there was a new platform to focus our conversations, weed out the noise and become more productive. What is that new platform integrated today with existing office tools like SMS, email, social media?

Email - the great detractor.  Email by itself just isn't working any more.  There is no discipline it clicking the "reply to all" button and contributing to yet another unfocused, rambling perma-thread that detracts from you getting business done.  Every day I am cc'd on emails that I have no idea what the person wants me to do with that information.  It isn't clear and it is not germain to getting a task accomplished or a decision made.

Now imagine that we can make employee's just 5% more effective each day?  On top of that, your top managers will be making better quality decisions with input from people all through an organization.   Whispr can do this and it costs less than the price of a cup of coffee for a full month.  There is no way you cannot afford to use it.  It is that simple.

Whispr just opened up a signup page for the beta release coming quickly.  I cannot guarantee everyone will be accepted as we will probably only roll out the first 250 applicants (no decision has been made on this yet).

More on this to come in the following weeks.



Tuesday, January 15, 2013

Remember Aaron

Aaron Swartz was around in my early days of XML when I had the immense honor of working with people like Lisa Rein, Ken North, David RR Webber, Ken Holman, Didier Martin, James Tauber, John Evdemon, JP Morgenthal, Simon St. Laurent, Kurt Cagle and others.   In retrospect, we (not Aaron) were collectively the first wave of open data and the beginning of portable content and service oriented architectures.  Visionaries like Tim Bray, Eve Maler, Jon Bosak and David Orchard were on a path to place the letter "X" in everything we did, at least until Tim straightened us out a bit.  It was then the realization was not about the syntax, nor the data models, but what it meant to society to have free flowing information.  This one page pretty much summarizes the who's who of XML.

During this time there was a quiet second wave of the internet brewing.  A group of young individuals who saw the internet as not just angle brackets, but thought about what they could do if all the work we worked on became common place.  They weren't thinking about how it worked, but what they could do with it.  They also were the first generation to come of age with the information superhighway and were quick to realize that the old school guard (those who make laws) were sadly out of touch with the reality of what the internet provided or represented.   This is still true today and there are laws on the books that are impossible to enforce in an electronic realm.  I can buy music and play it, but I cannot legally share it.  Consider this -> on my stereo, I play the music in a device that decodes the music from it's physical media, then streams an electronic signal over a wire to a speaker that creates an audio signal.   Is there a law that says that speaker wire must be only within my living room, or can that wire be the internet?  Can I buy music and stream it to others over a very long wire?   What if those other people are in my living room and hear my music?  Is that illegal?  I'm not sure there is an answer.

On the other hand, some would argue I am greedy for trying to sell my music but I believe if my band invests $25,000 into recording our music, we own the right to determine whether it is free or not.  You do not have the right to steal my music and sell it and keep money as many have done.  Conversely,  I do believe in fair use. Balance and exploring new business models.  Anyways, this digresses.

There are several collectives of the new internet generation.   I've been to many events like Open Everything, Web of Change and even some hackathons.  The antics of those who fight injustices using the cloak of anonymity are arguably less risky than standing up and using your real name as Aaron did.  The latter makes you a target.

These groups are filled with idealistic minds who have a true desire to protect freedoms and do what they believe is right.   One of those youngsters was Aaron Swartz, a late friend of Lisa Rein's who seemed to grab that torch and run further than anyone else.  This new wave of visionaries started mixing politics and human rights into the equation while us old school guard argued about using XML elements or attributes.  Many of the new guard just trusted that what we helped build would be done and act as the basis for the future.  Aaron picked fights.   Aaron stood up and said what needed to be said.  I remember his passion to kill SOPA which eventually caused me to jump on the bandwagon.   The video below is a summary of the SOPA/PIPA triumph where the government feared the people instead of the other way around.   Maybe one day we will realize we are the government?  Joe Keithley is prepared to take on that challenge as have other punk rockers.



We may find it strange but many bills are passed without the people who pass them reading them.  I was inspired by Aaron to read the bill.  I wrote about SOPA (aka HR 3261) here.  What shocked me was the speed upon which Americans woke up and opposed the draconian attempt to limit freedom.  Protests came from all over the web.  First Republican Chairman Mr. Lamar Smith (historically one of the biggest backers of SOPA) announced plans to remove the Domain Name System or DNS-blocking provision.  Many of us started censoring our own sites in protest. It worked.  SOPA died.  In it's place are a number of new bills being written as we speak.  Who will be the next Aaron to step up and wake us up to what we risk?  

Sadly Aaron became the target of and investigation and ended his life.   I have but one ask of anyone reading this.  Please watch the video above.   If his legacy is becoming vigilante and aware of the attempts to limit our voices, our freedoms and awareness of control, then his life's work should be celebrated.

Cory Doctorow has written a nice article on Aaron here.

Friday, December 21, 2012

Dear Microsoft

I am sorry to say this but Windows 8 is one of the worst business decision you have made (beside Vista).  I have used Windows since 3.1 when it was a mere shell.  Windows 8 is so convoluted that several veterans such as myself cannot seem to figure it out.   Simple tasks such as creating a shortcut for you mail program are now so far removed from previous conventions that we are returning the system and my friend is buying a Mac instead.

Windows 8 strikes me as nothing more than an attempt to hide the lack of new features by obfuscating the OS look and feel so users are forced to re learn everything.  I would recommend you follow the lead of the genius who allowed the Control Panel to revert to "classic" look and feel.

The answer is my friend is now returning his new computer and shelling out an additional $500 to buy a Mac.


Thursday, December 13, 2012

Rabbit Turds: Why I dislike NoSQL and Big-Data

Don't get me wrong on this one.  I love and use (and even teach others how to use) graph database's like Neo4J and others who label themselves "NoSQL' such as MongoDB.   I also don't have anything against someone who owns an ultra large piece of data.  It is the terms themselves and that is the subject of today's rant.

What I don't like is the same kind of nonsense, illogical convention for naming as has been present in the past.  It reminds me of another name that lingers to this day like the stench of a dead woodchuck (Web 2.0).   I wrote in the book "Web 2.0 Architectures" (co-authored with Dion Hinchcliffe and James Governor) that Web 2.0 is perhaps inappropriately named as the convention of [name]-[version_Major].[version_minor] sort of implies an observable state of a state-ful object, more than often a piece of software.   Since the web is a dynamic beast that is constantly in a state or flux with multiple technologies, this type of versioning cannot be applied.  I have written in the past that "there is no Web 2.0 architecture" and have even heard Tim O'Reilly himself get a bit (pardon the pun) riled up about those running around talking about Web 3.0, Web 4.0 etc.  Ooh I Cringe just thinking of it.  Like a people building penthouses on a pile of rubbish.   Try a google search for the term "Web 5.0" and just see the lunacy that exists.

When I first heard the term NoSQL used, it seemed to imply that there was not going to be any "SQL" in this movement but it turns out that the acronym stands for "Not Only SQL".    Hmm.  Let's think this one through a bit.  Not only SQL means that you are not excluding SQL.  It also means you are not explicitly including or even implicitly excluding everything else.  So here is the question.  What is defined by a term that is not exclusive of anything?  It is simply a mathematical set that includes "all". Can a rabbit turd be part of NoSQL?  Sure.  It certainly doesn't stand for "Not Only SQL But Definitely Not Rabbit Turds" or NOSQLBDNRT for short.  The most ironic thing about the term is that while many thinks it means "no relational" models or tables, Carlo Strozzi used the term NoSQL in 1998 to name his lightweight, open-source relational database that did not expose the standard SQL interface.  Maybe NoSQL should mean "I was too busy to add an SQL interface and used a different way to access database operations".  It certainly seems more fitting given the cool technological advances.  I was so inspired by the idea of NoSQL I decided to make the movement it's own graphic!  May I present to you...   NOSQL!





Ok, so for the record, I love the idea of building on Graph Databases.   My company is building a very innovative platform called Formstr built on top of Neo4J.  Neo4J is one of the best technologies I have ever come across.  It is time to maybe shift our thinking a bit and start classifying the technologies accordingly.  Graph Databases use Nodes and Relationships to store data.  They use ASCII art languages like Cypher to query them so there is no real SQL involved.   Other databases use native storage formats like JSON that translates into fast returns.  And hello Spring Data!  Why would you use  SQL in Java when you can use @annotations?   There is a good article written by Dan Sullivan here summing up the differences.  This now gets me into the second part of my rant.

Big Data.

What is Big Data?  Last time I looked, data is stored electronically as streams of ones and zeros. Since these are binary concepts, size is really not a consideration.   The ones and zeros are not bigger or smaller than anyone else's.   Big Data is another term that is vague, ill-conceived and has no real quantification or definition.  Loosely interpreted  I am currently under the belief most people really mean to say "A Very Large Amount of Data" or perhaps if it is bigger, we could make the acronym and say we have a VFLAD.  I'll let you guess what the "F" stands for.

Does Big Data mean a single piece of data or a lot of small pieces of data?  I find that due to the interconnected nature of the internet and the accessibility of open data (defined as Data that is accessible by anyone and anytime without any costs or significant barriers), we are really living in a world of "Abundant Data".  Some say "Interconnected Data" which also is sort of misleading.  Like the lessons learned from the old saying "You can't get there from here", I am tempted to say that all data I can connect to is potentially "connectable" data since I can make the connection.  And yes, that is a VFLAD!

So ends my rant, as mild as they come.  This blogger has better things to put energy into that trying to change people's behavior into using meaningful and well thought out terms.

Wednesday, December 12, 2012

Android Winning the Mobile War?

According to Google Chairman and co-founder Erik Schmidt, Google's Android mobile and wireless device is winning the handset war hands down.   Independent Analyst firm IDC confirms this with the numbers coming in for Q3 2012 that Android enjoyed a 75% market share over iOS's runner up spot at 14.9%.  Microsoft's mobile efforts continue to grow well with a 140% increase in year over year smartphone shipments.


One lesson learned here is pay attention to developers.  Developers like easy.  We like open.  Making a developer jump through too many hoops to public a single application is not making friends.  If you examine the amount of energy required to be able to public your first application, RIM is by far the most tedious.   Apple is also fairly cumbersome to set up and Android has a very low barrier to entry.   Note that once you have made one application, the barrier to subsequent application publishing is still easier with Android.   Developers don't make all the decisions, but they do make recommendations.  If you have ever asked a family member who is a mobile developer "what phone should I buy?", chances are they are telling you to buy an Android phone nowadays.   The silent yet important grassroots groundswell cannot be ignored.

Here are some additional factors that may possibly affect the market share:

1. Quality

Apple makes good products and we're sure they are not diminishing.   Because Apple controls both the hardware and software (iOS), it has a distinct advantage over Android which is used on multiple types of hardware platforms.  Unlike the personal computing market, many users never re-install their phones operating system so it is up to each device handset manufacturer to ensure that Android runs well on their hardware.  On a personal note, the Galaxy III S is one lean, mean beast of a phone and is my favorite.

2. Ease of Programming

 One aspect of this battle that is not looked at very often is the popularity of Java amongst developers vs. Objective C.   Java is (for us anyways) much easier to learn than Objective C.  The syntax used by Java is also more familiar to many JavaScript, C# and ActionScript developers.  Objective C does give you far more control, but also forces more lines of code to accomplish the same thing.

3. Developer Tooling

XCode is used by iOS developer while Android developers are free to use whatever they want.  Since xCode's inception, it has steadily improved.   Eclipse is commonly used by Android developers and has some challenges (R.java anyone???).  Intellij's new IDEA is very promising for Android development.  I currently develop on Intellij 11 and may try out 12 with some new Android features and do a series of tutorials on it.   There are

4. Cost

Android phones should logically be lower in cost as there is more competition. Having said that, the observations are that price if not as much of a factor given carriers often subsidize this with plans.

5. Variety

Android wins here again hands down.  There are simply many different device to choose from rather than sticking to the iPhone.

There are more factors beyond this however the summary is clear.  Android is here to stay and will remain a dominent force in the marketplace.

Tuesday, December 11, 2012

The Fragile Rotting Web

Today Michael Arrington said what the rest of us were thinking. The title of Michael's article is "They Screwed Us. Right Before They Screwed Us Again. #poohead". The TechCrunch story just scratches the surface for me.  Dude - where is my internet?  The answer is that it is rotting from the core.

The rotting internet goes beyond just the mechanics.  We sign up for things expecting we deserve to use a service for free on an indefinite basis.  Think of MySpace.com.  At one time the most popular internet destination, now a ghost town.   Never before has history shown us the focus of a planet shifting at such an incredible pace.  Companies that back ventures like MySpace want to eventually earn revenue for their investment.  Sometimes this means redefining licenses and terms of use or imposing certain limits of the free versions of their offerings.  Michael's rant was legitimate IMO but there is a second side to it.  We're getting what we pay for.  Consider this.  Have you ever paid money to Twitter, Facebook, CraigsList, Wikipedia, Skype, MySpace or Instagram?   No?  As a society we expect the services for free?  The fact is we might all need to ask ourselves why Google is giving us free email services, free blogs this one included), an online alternative to Microsoft Office and more.  Google is driving advertising revenue via these items of course.  Facebook, Twitter and others will need to follow eventually.   The various legal systems we have in place to protect our real world rights are sadly lagging far behind the capabilities of the internet and the evolution of social media.  The overwhelming resistance to control via acts like SOPA and PIPA have shown the while we do complain a lot, we also like our wild west frontier justice.

The internet is rotting from it's technical fragility.  Link rot is most prevalent  caused by the very basic architectural patterns of the web.  Anyone can link to anything else in a unilateral manner.  I can simply type in <a href="http://somelink.com/resource.html">anchor</a>  and I have made a link.  The resource I have linked to has no responsibility to me to ensure that the link target does not change.  When I make the link, I assume all the risks.   The problem is that the protocols and standards used to build the web allow this sort of linking with no heart beat mechanism.  If the link is taken down or the site redesigned and factored differently, my link is now leading to a different resource or is a null pointer.  I highly suspect that my blog contains hundreds of broken links that result in 404's.   The basic architecture is flawed by design yet was the best choice.  The alternative, tightly coupling resources would also be problematic. Nevertheless, it might be a good time to re-examine the basic architectural principles of the world wide web.  While Tim Berners-Lee and others run off in pursuit of their semantic web ideals, the core upon which they build continues to become more and more fragile.

Redirects should save us though right?  No!  Redirects cause time lapses and are like temporary bandaids.  I redirect is similar to forwarding your mail when you move.  I just ran the W3C link validator and checker on my former employers site and found many redirects.

The conclusions is inescapable.  As the web grows, domain ownership changes and resources become more intertwined with each other, we will experience more fragility.  The social media giants of today will strive to redefine how far they can push users to extract the maximum revenue from their investment.  Those who push to on user too hard and reconfigure features and functionality will fail like MySpace.    Those who offer simple, one dimensional services and are out to capture marketshare will proliferate overnight like join.me, forsmtr and others.  




Tuesday, November 20, 2012

Safeway: a Case Study why Regular Security Audits are Required

A Security Audit is part of any company's IT practice and must be done on a regular basis. A more specialized computer security audit is combination of a manual or systematic technical assessment of a system or systems and all objects win the context in which they are run, including human behaviours and interactions.  Manual components include interviewing staff, performing security vulnerability scans, reviewing application and operating system access controls, and analyzing physical access to the systems. Automated assessments can no longer be relied on in most cases as social engineering is a major part of the way hackers operate nowadays.

Ignoring this over several years can lead to serious security breaches.  I have seen some very fragile systems however this week I came across one that is a perfect example of why these audits need to be done regularly.

The example we have in mind is Safeway, a Canadian food store chain.  Now that seems like a very unlikely source for a hackers to compromise a person's information and gain access to their systems, but it is very possible and if you read the rest of this, you will probably take steps to protect yourself.  For the record, we invite Safeway to comment back as we are sure they will be taking concrete steps to change this assuming they read it.

CAVEAT:  The goal of this blog post is not to specifically hurt Safeway.  They are a great company and I regularly shop there.  The purpose is to raise the awareness for both those who have not done security audits and for those who use stores like Safeway to be more aware of the vulnerability such systems create for identity theft by multiple systems and protocols evolving over time.

Their system of customer interactions has developed over years and individually, each component makes sense.  Together, they are lethal.   Safeway started identifying customers by implementing a "Club".  Under this club, consumers were given savings on groceries.  The primary method of identification was a Safeway Club Card however many people do not bring these to the stores anymore.  The solution was for Safeway staff to ask people to use their phone numbers as the primary key to identify the fact they have a club card.  There are often spoken verbally to a cashier with a line up of people around who can listen in.

Another great customer experience Safeway uses is to thank customers by their name upon leaving the checkout.  I get a regular "Thank you Mr. Nickull" when I leave.  Now add in the ATM and visa card capabilities into the mix and there is potential for trouble.  Oh - don't forget the total amount of the bill.  This is flashed for all to see.  I'll get back to this in a bit.  If I am real clever I can also get the person's PIN for their card.  Here is the synopsis of how I would hack people based on using Safeway to do the work.

I go to Safeway, make some purchases and stand in line.  Every customer ahead of me who have a club card will verbally tell the clerk their phone number.  At this point I know their phone number.  Next when they pay for their groceries, I can see what card they are using to pay for their groceries.  Let's presume it is a Royal Bank Visa Card.  As the person leaves,  the Safeway clerk says " Thank you Mr. XXX".

Now what has just happened is subtle yet amazing.  I now have the last name, home telephone number, transaction amount, airmiles card number and some bank account detail.   So how do I use this to exploit the person?

The first thing I do is a Google search on the phone number.  I picked a random BC phone number and did a search.  There are plenty of reverse phone number lookups.

http://www.reversecanada.com/lookup/6047338121/

returned to me the following:

Persons First and last name
Physical home address including postal code.  Since I can verify the truth of this (I know the last name after all), if I get a positive match, I can proceed to stage two.

Now, what can I do with this information?  There are many possibilities.  First, I could phone the bank and change the address to a new address (a PO Box I control for example) and ask for a duplicate card to be issued to that address.  Alternatively, I could phone the person and tell them I am from the bank and that their card has been compromised.  I could give them some supplemental details to gain their trust, then get more information from them and ask them to ensure their current data is updated.  Conversation would go like this:

Me: "Hello Mr. XXX.  This is the Royal Bank and I am calling because we have had some strange incidents on your card.  I want to notify you that this call may be recorded for quality assurance.  I must ask you some questions"
Victim: "okay"
Me: "Can you verify that you had a transaction at Safeway on Broadway and MacDonald at [date] for [amount]?"
Victim " yes - that one is valid"
Me: "I have  a second transaction about 30 minutes later buying an iPad for delivery to an address in New Jersey.  Is this one also valid?"
Victim: "No.  I never ordered that"
Me: "Ok please don't worry, we will make sure that you are not billed for this. "
Me: "one more thing, can you please verify the email address you have on record for security"
Victim: (after thinking this is probably little or no security risk) "my email is XXXXX @foo.com".
Me. " Thank you, I have entered this"

Alternatively:

Me: "I have no email address for you on file.  Would you like to add one to your account?"
Victom: "Yes.  Please use victim@imabouttogetscrewed.com"
Me: "Thank you.  That has been added to your record."

So at this point I now have the following information:

- the victims bank name (and possibly PIN code)
- the victims name address and postal code
- the victims airmiles collector card
- the victims phone number

That is enough to set up a fake Airmiles.com email and present the person with an offer too good to be true (based on what I think they will be interested in from their physical appearance and grocery purchases).  For instance, if the person is buy tofu, I would offer them a subscription to vegetarian magazine for free as an Airmiles collector or offer them it for $3.99 and they get 1,000 free airmiles.  When they set up their account, I will get their password which I can then try their password/email against high value websites like Paypal, their email etc.

Once I hack their email account, I can then go to the bank website (I know their bank after all) and click the "forgot password" button and have it send me a new password.  Voila!  I now have their bank account.

Without divulging too many more details, I would also point out that there is a way to rectify this from Safeway's point of view that also might accomplish two other goals:

1. Speed up the checkout lines; and
2. Increase customer service; and
3. Increase customer security.

The scenario above is not Safeway's fault not is it Airmiles.  It is a very typical combination of systems and programs growing uncheck for years without someone having an external security audit specialist come in and analyze the bigger picture.  This scenario happens at many retail outlets.

As a consumer, express your concerns and ask the businesses you work with to take steps.  If you are a business, consider getting someone experienced in IT security to help you prevent your customers from being harmed.  This is something we all have to work towards together.

Monday, November 12, 2012

Logic Fail!

A logic fail is perhaps one of the most epic types of fails.   It resonates as funny to many who are not directly involved with the topic while often leaving the person who was responsible for the fail scratching their head wondering what it is we are all laughing about.  Take for instance the sign below from the Kamloops Zoo.  I was sort of smirking while asking about the free refills and the woman behind the counter asked me what was funny.  Needless to say we ordered three smalls. 



As mobile and wireless devices start to permeate our lives more often, these sorts of logic fails pop up now and then.  Steve Jobs noted in an early interview that architects of the telephony systems had made a fatal logic error by placing the tonal switch signals within the audible bands.    This allowed a rather fun activity called "Blue Boxing" which still worked in some remote parts of the UK until only a decade ago.

A logic fail often comes from architects building upon existing systems without discovering what is really there and questioning if something needs to be there at all.  Some very large logic fails have been recorded in recent time including the recording industry's belief that people will continue to buy music on plastic media.  

Consider the Portable Document Format (PDF) forms as another example.  PDF is great for desktop, but rendering PDF forms on mobile devices is something that should not be done.  I get asked about this quite a bit and want to clarify some of the reasons.  People ask me how to do it because they already have PDF forms.  My answer is "don't do that".

PDF forms are first and foremost often designed to render on a desktop.  The layouts often use an X, Y coordinate system with form fields placed beside each other.  This is not the way most smartphones would render an interactive form.  Smartphones usually use a vertical flow to lay out form widgets over multiple "views".  Compare the two forms below.  They are in fact the same form.  The one of the left was developed and deployed to look like it's paper ancestor while the one of the left was built by Technoracle's forms platform ingesting a PDF form and turning it into a mobile friendly form.


The logic fail here is also from assuming that the digital form should appear and render like it's paper counterpart.   This eventually leads us to believe that our earlier statement is correct.  The further out in any direction an architect goes without understanding the reasons for decisions in the underpinning technologies, the more likely that architect will fail at some point.

The fail in logic here was simply assuming that one should continue to use PDF for wireless and mobile devices.  This is simply not a logical path forward.  Aside from the layout issue, PDF forms are often bloated with much more information than is required for a mobile interaction.   Since the logic that handles things like tabbing orders, mouse hover events and window focus events is not required, using them on wireless eats up CPU and bandwidth, ultimately killing the user's battery and data plans.

We are in pre-beta right now with this technology but are already round tripping data to and from PDF forms to mobile devices.   It will not be long before we declare a public beta.



Friday, November 09, 2012

When Apples go bad

Sometimes pictures are worth more than words.  Here is a great one from OSX 10.8.6 whereby a network diagnostic tool can't quite seem to understand itself.





This next one is from the same computer but inspired by Microsoft's latest antics.   


We've come such a long way since 1995!

Monday, November 05, 2012

The Ultimate Free Boaters Reference Mobile Applicaton!

Technoracle Advanced Systems Inc. has continued to work on advancing mobile capabilities by building consumer applications.   Developing a specialty in Mobile/Wireless device eForms, we have recently completed the Insta-Captain Boater's Friend.  This mobile app runs on Android currently (iOS version awaiting approval).

Insta-Captain Boaters Friend is the ultimate (and free) boaters reference.   Under Canadian Maritime law boats over 8 meters in length must have marine VHF radios on board.  This means buying equipment and passing a government exam plus paying a yearly fee.  While not a substitue for proper marine knowledge, Insta-Captain Boating Reference is an application that solves many of the most common problems for non-marine VHF equipped boats.  In fact, it is so good that it can also augment boats that have marine VHF if you have electrical issues and your radio dies.  Here is a synopsis but don't believe us, download the free app and test it on the water yourself.

Get the app for free (Android only right now) at https://play.google.com/store/apps/details?id=air.com.technoraclesystems.apps.instracaptain


The main screen.  If you hit settings you can enter all the details about your boat.  A future version will send an instant alert into a server with all relevant data if you need rescue including location (lat & long), boat description, number of people on board, time or event and more.  Need a tow or gas?  No problem.  As long as you're in cell range (most under 8 meter boats are), you can call Marine Assist.  Make sure you mention the special code "InstaCaptain".  


If you need to call the Coast Guard and tell them where you are, the exact location is at your finger tips.


The entire Phonetic alphabet is also part of the application as well as a fairly comprehensive visual reference for most common aides to navigation.  By selecting any aid you can find detailed information about what it means and what you need to do.  A boaters reference application is a handy addition to any active boaters arsenal of knowledge.


Weather is one of the top reasons why boaters get in trouble.  Insta-Captain also delivers marine weather forecasts and special marine weather warnings right to your device.

The price for all this is free!   Future versions will contain routing, navigation plotting, locations of marinas and more.   For Marina's, if you want to be on this application, please let us know.  Being visible will help drive customers to sell gas and supplies as well as promote your marina.

Tuesday, October 23, 2012

Understanding the Different Flavors of Windows

I've been a Linux and OSX user for as long as I can remember but windows has always been a standby.  Even in today's height of Apple popularity, it is often necessary to have at least one Windows machine at our office.  For testing our PDF to mobile forms conversion platform, we find it a necessity. This lead me to seek out some data for what MicroSoft is offering nowadays and I found this great write up.

Windows 8 and many accompanying devices are launching this month and if you're going to be making a purchase,  I highly recommend you understand the differences between the versions of Windows.    Microsoft announced months ago that it will have a minimum of three consumer versions (please no jokes about the promises to fix all the bugs too ;-).  

While there are some small variations between Windows 8 and Windows 8 Pro, the biggest differences lie between those two — which have a full-featured Start Screen and desktop environments — and Windows RT, which is a mobile environment that runs only Windows Store apps and built-in software.

The story is courtesy of Wired here.  Very worthwhile read.

Sunday, October 21, 2012

(Almost) Free Flex Course and Tutorial

Since parting company with Adobe in November 2011, I have wondered what to do with my Flex and AIR expertise.  My new company (Technoracle Advanced Systems Inc.) is focusing in a new direction and we have an alpha produce that can translate PDF forms into mobile forms that run on any device.  Anyone wanting to leverage their Adobe LiveCycle ES investment to run on mobile might want to take a close look at what we are doing.  

While focusing on this, I have also been working on a conveyance of state of the art knowledge of CS 6.  I feel that this knowledge accumulated in Flex and AIR is worth sharing and is a good value from Mac Pro Video.    If anyone is seeking a series of tutorials for Adobe CS6 Flash Builder, I have begun recording a 15-20 part series in how to use this technology.  it will be released in a series of video courses over the nest few months.  Beginning with Flash Builder 101, the introduction, the courseware will eventually end in developing complex mobile applications that use accelerometers, dynamic maps, GPS and more.

MacProVideo has commissioned a series of video tutorials, each covering around 20 unique lessons.  As an Adobe MAX Master for two consecutive years, I like to imagine that the courses I have developed are worth of being in the top 0.5% (requirements for MAX Master).  The result has been to put these into production.

Here are are the links to the first courses.  The curriculum has a lot fo thought put into it in order to make it the most effective way to learn the technology in the least amount of time.

The Intro to Flash Builder 101 is available at http://www.macprovideo.com/tutorial/flash-builder-101-intro-to-flash-builder.  If you are familiar with setting up applications and building Hello World, this may be a bit primitive but things progress faster from here.

Flash Builder 102: Working with Layout Containers continues the learning path to get to the basics of how to architect and design your application's layout.  The complete instructions to build a functional word processor are also included.

Flash Builder 103: Building a Fille Browser Application advances the learning curve very quickly and shows how to add images and deploy the built-in graphical themes that get you quickly design and building an attractive UI (User Interface). You’ll also learn how to set up the FileBrowserDataGrid object – the heart of this powerful app.  This will show you how to work with the File Systems on both desktop and mobile applications.

The next batch of 3 more videos will build on this knowledge and take it further.  Please note that while the company offering the courses is named "Mac Pro Video", the courses are designed too be effective for both PC and OSX versions of CS6.

Also - for the first 100 people who buy this, I will include source code for mobile applications if you email me at duane at technoracle-systems for com.   This is an offer limited to November 15 and not endorsed officially by  Mac Pro Video, just a special promise from me ;-)










Monday, October 01, 2012

Document tracking at it's finest!

One of Technoracle Advanced Systems (my new company) customers has launched a great service today that allows document users to track the use of and control their documents over the lifecycle of the document.  They have built a very simplified and powerful web based interface to enable users to avoid many huge problems of document management.

The company is called Docktrackr and we are excited to also write this post to invite readers to access this version of docTrackr.  DocTrackr allows you to remotely control access to your Microsoft Office and PDF documents even after sharing them with others:
  • Collaborate and exchange information more securely than ever
  • Remotely destroy your documents at your discretion even after sharing them
  • Control who can access your documents
  • Know in real time how your recipients are using your documents
The best part is that no additional software required. The recipients of your documents only need Adobe Reader or Microsoft Office to open the files.  They have done a lot of work with DocTrackr and we (Technoracle) would like to extend the invitation to try it by emailing support@doctrackr.com or visting http://support.doctrackr.com/ to get an account.

Congratulations to Uli, Clement and Alex!


Thursday, August 09, 2012

How to Render PDF Forms in Mobile

Being ex-Adobe alumni, a lot of questions asking how to best render Adobe PDF forms on mobile devices come this way.  Some are about XFA forms on mobile devices, some Acrobat forms on mobile devices, but all of these have the same answer.   Don't!   Yes, this sounds abrupt and there is a multi-million dollars investment into PDF forms that would be great to turn on to mobile, but PDF was not designed for mobile.  Let's examine a few aspects of why.

First, the core PDF specification needs to be understood.  Portable Document Format (PDF) documents were designed to run on many different desktop computers.  A PDF document is "distilled" from different types of components.  There are a few basics types of objects and that is where the differences from image file formats like JPG or TIFF start.  PDF documents have headers, which are very small and contain only rudimentary information.  The second part is the body which contains objects.  Objects are numbered and can be of many types themselves.  There are cross references and then the trailer.  Besides these, the types of things you might find inside a PDF document are fonts, XMP metadata, a signature dictionary, the PDF envelope, attachments, annotations, embedded files such as images and more.

They are great for that but the model is different for the execution environment.  Mobile devices rotate the screen when the user twists the device.  A PDF is often laid out in absolute x,y coordinates which do not work well on mobile devices.  PDF's also have scripting in not one but two different languages - formCalc and JavaScript.  A PDF may have event listeners for things like "hover" which has no equivalent on a mobile device.  Tabbing order, listening for events like a window being active and more are not relevant.  BLOAT!  The long and short of this point is that PDF was just not designed for mobile.

Now Adobe and others have done a good job of rendering normal PDF's on mobile, but forms, especially flowable, multi-page PDF forms, present some huge challenges.  With soft keyboards (the popup keyboards on popular smart phones for example), the rest of the document must ensure that the form fields are not covered when then user is typing.

So what do you going to do if you have made a huge investment into something like Adobe LiveCycle ES for forms based business processes and now have to support mobile devices?  Technoracle has a solution for this today.  You also can re-write your forms from scratch (costly) or build custom native applications for each platform.  



Wednesday, July 25, 2012

Immediate Jobs at Tehnoracle

Technoracle immediately requires the two positions.  To apply, please send resumes to engineering (at) technoracle-systems (dot) com.  Both require next to perfect English language skills.


Job Req. #019

Title: Sr. iOS developer.

Department: Engineering/Agile environment
Type: Full Time
Min. Experience: Experienced in Audio/Video, network calls and graphics (skinning). We are looking for a gifted iOS developer with an eye for carefully crafted and well-designed product. If you have already shipped successful apps in the App Store that use streaming audio and video, are familiar with the RTMP protocol and can develop cutting edge applications that will work in bandwidth constrained environments, please send us your resume.

Responsibilities:
Build both iPhone and iPad apps
Work closely with product management, designers, and other teams
Rapidly fix bugs and solve pressing problems
Must work rapidly and be able to suggest new ways to solve engineering challenges
Location not important.

Requirements:
Excellent OO programming skills in Objective-C
Experience building high performance applications in memory and bandwidth constrained platforms
Strong network background
Must have audio/video streaming experience.
Strong sense of design and user experience
Have a passion for long hours and hard work.


Bonus Points:
Developed and released iPhone and iPad applications in the App Store
Previous startup experience
Android, Windows or BlackBerry native programming experience. Candidate must be able to start immediately fulltime.  


Job Req. #020 

Title: Sr. Android developer.


Department: Engineering/Agile environment
Type: Full Time Min.
Experience: Experienced in Audio/Video, network calls and graphics (skinning). We are looking for a gifted Android developer with an eye for carefully crafted and well-designed product. If you have already shipped successful apps that use streaming audio and video, are familiar with the RTMP protocol and can develop cutting edge applications that will work in bandwidth constrained environments, please send us your resume.

Responsibilities:
Build both smartphone and tablet applications with a system to reuse logic.
Must have strong network knowledge and Java skills
Work closely with product management, designers, and other teams
Rapidly fix bugs and solve pressing problems
Must work rapidly and be able to suggest new ways to solve engineering challenges
Location not important.

Requirements:
Excellent OO programming skills in Java
Able to use Android NDK for low level processing
Experience building high performance applications in memory and bandwidth constrained platforms
Strong network background
Must have audio/video streaming experience.
Strong sense of design and user experience
Have a passion for long hours and hard work.

Bonus Points:
Developed and released applications using audio, video streaming
Experience with WOWZA
Previous startup experience
iOS, Windows or BlackBerry native programming experience.
Candidate must be able to start immediately fulltime.