12 February, 2013
Inventing the future, the relentless creators choice.
In a blog post by Erik McClure:
"The things I see in my head, I have to make them happen. I have to make them real. Somehow. I'll invent a new precedent for 3D graphics rendering if I have to. Don't even try to tell me something is impossible, because even if you convince me that my ideas are insane I will try to get as close to them as I can anyway. It doesn't matter if I am destined to fail, or chasing an impossible ideal, because without it I have no reason to live, and can derive no joy from my existence. If I get a normal job, I rightfully believe that it will end up killing me, physically or mentally. Even if I don't get a normal job, I am now terrified that if the great Aaron Swartz was somehow driven to suicide by an unrelenting, hopeless reality, my idealism stands even less of a chance. No matter how frightened I become, my imagination remains an unrelenting torrent of ideas, slowly eating away at my mind. It will never let me stop trying. Ever. "
-- What an honest insight into the creative demon and a feeling I shared with him up to about 4 years ago. I had been working on AgilEntity framework for 5 years and was approaching a point of needing to do something with all the technology I had built. Like Erik, I had built my own versions of products which either in their available forms were woefully inadequate for what I needed to get done or simply didn't exist. I wrote my own persistence engine before there was Hibernate, I shifted from 3 tier MVC architecture to a monolithic scaled and clustered 2 tier architecture because it is more efficient and manageable over time. I built an abstraction API for interfacing with any DB vendor without having to touch business logic code, much of my technology is still safely away in code inside the AgilEntity core classes and around 2006 I was very much lost in thought as to what I would be doing with the frame work I'd created.
My first attempt turned out to be low hanging fruit for my platform at the time. The web 2.0 hysteria was in full swing in 2006 and I had already built collaboration technologies that no one had done. When Facebook and Myspace were playing around with the simple idea of static and periodically updating feeds...I had already done web based IM and group chat with real time file sharing, when Facebook introduced timeline...I had a similar feature in AgilEntity already in place for 3 years. For me creating these solutions were efficient ways to solve the social problems I identified in the enterprise (as opposed to solving for the consumer space as FB is trying to do) and such solutions just made sense for a business collaboration site. The services I ended up finishing were reading to present to the world by early 2009 and I came up with my first idea for a startup, the cognitively dissonant name "numeroom", as a portmantau of "numerous" and "rooms" it made sense...my idea was that a real time collaboration chat room would be more powerful for businesses than anything else and I had social proof in that similar ideas were being approached by some companies that emerged almost around the same time. yammer.com, meebo.com, userplane.com they were all web 2.0 based attempts at doing real time collaboration...but they all did it wrong (and still do).
So in 2009, after working on my technology in isolation I started hitting the startup scene in NYC which was just getting the buzz that NYC was going to be a major hub of startups. I did a couple of presentations about the Numeroom technology but the air had been sucked out of the room by then, there was no real differentiator from the other players...all of which had big VC money behind them even if my software was YEARS ahead of theirs in features and usefulness to the user..especially as a business social network.
Last year, I watched yammer.com get sold to Microsoft for just over a billion dollars, at the same time that I felt excited that a social network for business...the idea I first had in 2004 and had feature complete by 2007 could sell for that amount I felt sadness...that it wasn't numeroom. I'd shuttered the site in alpha mode in late 2009 after running out of funds. I knew nothing about how to run the marketing and sales aspects of a business and realized it was far more work than I could handle while at the same time needing to survive. The funds I'd saved up to perform this grand experiment had completely been used up...and I had no choice but to put my dreams on hiatus.
I was very much at the cross roads that Erik seems to be from his post but I did not give up, I realized that I had a unique ability to materialize my dreams into reality. 8 years before I had no idea if I could code the platform into existence, I was new to coding in java, I had never completed an application that required that it was built to an executable, I knew nothing about how to bootstrap the application or what technology to use...and I had no idea how I would manage all the objects in all the classes that could be added to the frame work for all types of businesses. It was a daunting challenge and one which I set to methodically achieve.
Erik mentions the wild scope of his imagination, I say one should give in to it. In 2004 when I had completed the major aspects of the platform regarding the class structure, how the platform could be extended and how all objects could be managed an transformed using xml I set to attack the truly major problem of workflow. How does one manage all the possible users for all these business objects across all the types of businesses they could be useful in? What was the most efficient way to solve this problem so that the framework could continue to grow in class types but not in complexity for managing them all? I worked on the problem for nearly a year and the end result is the Action Oriented Workflow paradigm, a completely novel way of looking at business interactions between systems and users that makes "action" the first class actor in the process , not the user and not the object.
It turns out that this was the most novel and revolutionary of all the technologies I'd created in the frame work and it was something I did as a necessity in the 2004 to 2005 time frame just before starting to work on the collaboration ideas. All of those were low hanging fruit....people were doing similar things, albeit with far less efficient frameworks. It didn't matter though, as in business what matters more than who is first...is who is believed to be first and best in a given space. When meebo.com and userplane.com were out there making money and collecting customers numeroom.com was still in stealth mode even though it had far superior features and more scalable technology.
This is the great lesson I learned in the years after the failure of numeroom, that getting out there to own the new technology was critical...striking while the iron was not just hot...but while I was the only one with an iron to strike. This is the lesson I put to work in late 2010, I'd spend half the year working at McGraw Hill and that experience provided the flash of insight necessary to realize that when I decided to launch numeroom.com I was focusing on the wrong technology. My experience at McGraw Hill was a bit of a nightmare, I was forced first to work on a development team that was utilizing the buzz word "agile" process for software development. I am not a friend of the use of the word "agile" the name of my framework to describe this process...for one it is completely misapplied. It should instead be called "micromanagement for software developers" as the net result is an attempt to put creativity on a clock....which any creative person knows is insane.
Software engineers are creative people, we are artists....we can't be tasked to solve complex problems on a schedule of 2 week iterations unless what is desired are inefficient patches...the net result being one big rube goldberg machine. As an artist I long ago embraced the percolating nature of solving big problems, my blog reads as a history of these realizations going back to 2008. I often saw the task of writing code and creating art as identical in process as well as creative tempo. Apriority LLC the company I founded to perform the development of AgilEntity has as it's slogan "taking the time to properly design" this is something I have always believed and realized returned results far beyond the design time taken. The longer you think about a problem the more likely you will find patterns of symmetry or asymmetry that can be taken advantage of to significantly reduce complexity. This is the process that led to the invention of the lazy request routing algorithm that allows AgilEntity nodes to scale while dynamically shifting and sharing load between nodes.
This is the process that led to the invention of the Action Oriented Workflow paradigm and the abstract Entity management and workflow system it enables that allows action to be the center of business process flows. It is also, after I quit my job at McGraw Hill due to being unfairly pressed to tasks that I felt would not exist at all had I designed the system in the first place, led to the extension of the Action Oriented Workflow paradigm to include an implicit workflow technology that utilized a machine learning approach to perform autonomous routing of actions between users on the system. After quitting I worked on the solution which fortunately built on symmetries that existed in AOW and made it relatively trivial to write the Action Delta Assessment algorithm...which in it's fractal function may be the basis of a cortical algorithm I have set to get working on after I launch the new startup now in stealth called WorkNetz. This is the revolution of the entire arc of my work on the framework, the unique kernel of creation that no one on Earth can claim as theirs before my invention of it and more importantly...that at this moment my technology is the only working example of it functioning in a general system.
So to Erik I say, keep plugging at your tools, keep refining the solutions you've created into a holistic vision of "works better than anything else available" and then be sure to get on top of the mountain and shout to all with ears to hear that you are asserting ownership and opening shop to evangelize what you've created because it is better than what ever existing ways those things had been done...or even better, it can eliminate the need for some things to be done at all. I am a bit down the road from you...having tasted failure, but I've also been refined by those experiences to plug away at the most unique elements my technology has to offer. I am focused on bringing these technologies to the world this year, fail or succeed you'll have my example as guide to keep you on the path to your success as I continue to navigate the path to mine.