Sunday, November 23, 2014

vA3C Hacker R1: A Possible Solution To A Personal Dilemma?

I have been having a lot of fun with vA3C Viewer. It's now up to R7 and it now has a lot of cool features. But I have been having less and less fun with each release. As the script gets bigger and bigger, adding a new feature takes more and more time. Lately it has taken several days to get just to get a thing or two going.

Taking time to add features is normal but it has a dreadful unintended consequence. Coding features over multiple days just about completely annihilates the possibility of writing a post. Your brain is fixated on completing the task. Thinking about a post is a distraction that gets in the way of completing the feature. Most likely the next post will be about the feature you are working on, so it might be easy to just cobble together some thoughts about the current work and get the post out of the way. But you end up coding until bed time and so no post.

One idea would be to write small apps only - apps that get finished in under a day. But that prevents anything of any great power from being accomplished. Any app of any significance has a lot of code - tens of thousands of lines of code.

Well, for the last few days, I have been working on an app that may help solve some of these issues

vA3C Hacker is a breakaway from vA3C viewer in both thought process and coding style.

The HTML home page is 47 lines. All it does is load whatever script it is asked to load. If you don't tell it to load anything, then it just loads a page that informs you of scripts it could load for you.

What I have been doing is writing scripts that 'feed the beast'. Most are just a few dozen lines at most. Projects that were completed in a few hours. It sort of reminds me of the the early versions of WordPress. Then, if you went to login.php or page.php you came upon virtually everything to do with that particular function. You needed to go nowhere else to see or understand what that script did.

This made WordPress very easy to lean and to feel comfortable with. And it's the feeling I am getting with Hacker. Today I added two more features: the ability to drag and drop files into the app and the ability to drag 3D objects around in the 3D space. Both are totally standalone. You could quite easily look at the code of either and add one to your app without the other.

The process I am inventing for myself has probably been invented many times before. I just don't know its name and don't know how to search for it. But eventually I will find these out and, hopefully, report back with even greater understanding and more detail.

The other interesting aspect - and difference with vA3C Viewer - is the intent to stand on the shoulders of giants even more. The Viewer does a very nice job of giving access to a wide variety of content - from dozens of algebraic visualizations to dozens of models of aircraft, Hacker should continue doing this and as well begins to give access to a wide variety of code. Of course, the basis WebGL and Three.js - just like Viewer. But, for example, instead of trying to create a geometry editor, Hacker gives access to zz85's Three.js Inspector.

With a bit of luck, the next few days should see Hacker providing easy access to even more 'shoulders of giants'. But the real proof of the potential of the Hacker way of doing things will be the production of blog posts. The more posts you you see the more the efficacy of the system will be demonstrated.

Links

Live: http://va3c.github.io/viewer/va3c-hacker/latest/
Code: https://github.com/va3c/viewer/tree/gh-pages/va3c-hacker
Readme: http://va3c.github.io/viewer/va3c-hacker