Problem in Progress: since Mobile Dev Era

So what have I been up to since my adventure into mobile development and advertisement?

A lot actually and, honestly, I'm being a bit lazy at the moment to write about it all in any kind of depth. For now, here's a quick summary.

I mentioned in the Mobile Development Era pages that I realized I needed better content creation tools to support what I felt was necessary to create an evolving world that people would want to come back to. So that is what I dove into next. Looking back at my web development project I realized that content creation was a more specific version of what I was trying to accomplish. Even better, it would give me insight into the original problem space of handling layout and rendering on the multi-platform, multi-format, multi-standard open web while helping me tighten up my focus so I could deliver a singular product rather than an entire web platform.

With that decided I began work on a graphics editor. Here's an incomplete list of some of the topics covered:
  • UI experimentation in both design (e.g. gesture-based interface, icon-based interface, testing interface design heuristics, etc.) and coding (e.g. MVC, mediator pattern, etc.)
  • evaluating and implementing data structures for 2D and 3D graphics (e.g. binary, quad and oct-trees)
  • implementing 'infinite' undo/redo
  • creating file formats for saving projects
  • working with graphics using OpenGL ES and GLSL shaders
  • exploring 2D graphics algorithms (e.g. flood-fill, inside-outside tests, cartesian vs polar coordinates, color encoding and conversion, etc.)
  • experimenting with limitations of bitmap and vector graphics
I've been working on it for around three years and finally finished all the necessary R&D. I am set up to begin work on the first beta version of the software once I have time to get back to it. To the right is a sample of one of the first voxel-ish models I created with the initial iteration of my editor. Since then the editor has undergone four or five major iterations/thorough rewrites since these first experiments with point clouds. If, at this point, you're wondering where the rest of the content demonstrating the editor-in-action is...let's just say I'm keeping this project closer to my chest because of the time investment 😉.

During this time working on the editor, I visited a sibling studying in China and ended up intermittently staying for a few years. As such I wanted to learn the fundamentals of Mandarin and so I spent a good fraction of a year studying characters and how they break down. I came up with a somewhat novel idea, at least as far as I could find online, regarding the link between character formation and pronunciation in order to make learning Mandarin easier. This led me to the idea of creating an interactive website that let users interact with a Mandarin dictionary of character components; so I actually returned to web development very briefly to to test this idea out. Unsurprisingly, it reminded me of the still extant need for a dynamic scene graph for layout. Because of the industry pivot to mobile, many years had passed and still the web lacked what I was looking for back in 2011. I guess the upside is that I still have the opportunity?

I also tried my hand at creating netcode for a multiplayer, dynamic action game using Android's Wi-Fi Direct. I will summarize the entire experience as "the game must be designed from the start for networked play"; the physics, the timing, the states, everything. For anyone interested in further reading on this topic there was a good article about it that came out some months later after I finished my coding on the topic..

Lastly, I also programmed some mobile interface experiments in order to overcome limitations of touch screen gaming. I was left with some good ideas but I'll wait until further development before saying more.

Next.