About Josh

I'm Josh Marinacci — manager, developer advocate, software engineer, researcher, usability expert, and general miscreant. I care deeply about excellent user experiences and have spent my career building tools and platforms to put that care into practice. I live in Oregon.

Education

My brief bio starts with graphics programming at an early age on an Apple IIc borrowed from my mother’s school during the summer. By age 14 I was building simple overhead dungeon games on my 286 in Visual Basic 3 (scandalous!).

I earned a Bachelor's degree in Computer Science at Georgia Tech (1997), specializing in Graphics, Visualization, and Usability. It was there that I first learned Java thanks to my favorite TA, Ian Smith, getting me a copy of the early betas.

Xerox PARC

After graduation, I spent 9 months as Xerox PARC intern, which I would definitely consider a formative place in my career. While I was just a code wrangler for the researchers, I had an amazing opportunity to see early versions of e-paper, blue lasers, MEMS (the tech behind things like on-chip accelerometers and embedded compasses), and computing embedded into non-traditional devices (from skyscraper i-beams to teddybears).

After PARC I worked in a few startups before the DotCom bust, then spent a few in large companies working on UIs for enterprise software. Growing tired of JSP programming I started writing articles for Java.net on a variety of topics, but focused on GUI programming. In 2005 co-wrote with Chris Adamson the book Swing Hacks, for O’Reilly, focusing on the cool ways you can push Swing to the limits.

Sun Microsystems

Swing Hacks led to five years at Sun where I worked on many projects; including improvements to the Windows Look and Feel for Swing, the NetBeans GUI builder (Matisse), the doc tool and launch demos for JavaFX, and countless JavaOne demos. Finally I spent a year leading the desktop client for the Java Store.

Sun JavaStore, 2009

z

I was the client architect of the Java Store at Sun. This was a full application store with a server backend to sell Java applications directly to end users. Though Oracle later canceled the project, we went from initial concept to first payment in 9 months, including 3 redesigns of the user interface using the then new JavaFX technology.

JavaStore predated the Mac App Store by a year and featured browsing & searching, an app showcase, and drag & drop app installation with reliable in-place updates.

JavaFX launch, 2008

z

I was the developer community leader for the JavaFX launch. I organized a team to build 40 samples in time for the launch, including building about 20 of them myself. I was a JavaFX evangelist for it’s two first years, traveling around the world to present sessions on the topic as well as building JavaOne main-stage demos. JavaFX is now a core part of the JDK under Oracle.

Netbeans GUI Builder, 2007

z

I spent a year improving the NetBeans GUI builder for Swing apps. We integrated the then new Swing App Framework, letting developers create, bind, and view actions throughout their application. I also created a new visual menu builder to replace the old tree configuration tool.

Swing Windows Look and Feel, 2005

I spent my first year at Sun improving the Windows Look and Feel for Java 6. Our goal was to have pixel perfect fidelity of Swing applications to their native equivalents, which we achieved for both Windows XP and the then unreleased Vista operating system. We received rave reviews for improvements in native fidelity. This involved endless off by one pixel adjustments. Notice the baseline of the UI controls before and after:

before

z

after

z

Palm / HP

After Sun I spent two years as a Developer Advocate for webOS at Palm. Though webOS has had a tragic history at HP, it’s still my favorite OS and I continue to support the Open webOS efforts.

For nearly a year the webOS Developer Relations team worked to improve webOS and the development experience. For the launch of the first webOS tablet device, the HP TouchPad, we worked directly with developers to get their apps ready for the launch, and brought feedback about issues and bugs back into the core engineering team. At the launch on July 1st 2011, we had more than 300 apps specifically for the TouchPad in the catalog; which was significantly higher than Android 3.0 and the PlayBook at their launches. We continued to grow the app catalog and increase developer sales even after HP’s announcement to no longer manufacture its own webOS hardware.

HotApps promotions, 2010

z

I lead the creation of two webOS HotApps promotions. These were competitions for our developers where they would win cash for having the highest sales or downloads (for free apps) in a certain time period. To support the promotion I also built a custom website to display the current winners as well as tracking who was moving up and down on a daily and weekly basis. The site had a custom webservice to let others embed the content in their own websites, as viral marketing.

Nokia

In early 2012 I joined Nokia as researcher playing with fun future stuff like Bluetooth LE beacons, crazy Arduino things, embedded interfaces, and smart city technology.

After three years at Nokia I left to head up the Developer Relations team at PubNub, where we grew the team, grew our web traffic, and educated thousands of developers about PubNub's technology.

Mozilla

At the end of summer of 2017 I joined Mozilla to do my dream job, keeping the web open and free. My focus is on VR and AR, but I get to touch all things web. I spent three years immersing myself in VR & AR, first as a developer evangelist and later as an engineering manager for the content team and the Hubs team.

z z screenshot of the ECSY, a renderer agnostic Entity Component System z

In August of 2020 Mozilla laid off 25% of its workforce, including me. I'm currently looking for a position managing a small (5 to 10 people) team of engineers or developer evanglists.

Throughout it all I’ve focused on graphics and usability, with a renewed interest in scene graphs, interactive ebooks, mixed reality, and how to make user interfaces better.

What I'm Interested In

Right now I'm deep into embedded systems and Rust. I've been building a UI toolkit for ESP32-based devices and writing about it on this blog. I remain interested in scene graphs, interactive documents, and mixed reality — even if mixed reality is currently between hype cycles.

I also write bad sci-fi short stories. I've published a few of them. They're out there if you look.

Speaking and Writing

I've authored three technical books and contributed to academic papers through the ACM. I've spoken at conferences around the world on topics ranging from developer relations to graphics programming to realtime web applications. If you'd like me to speak at your event, see the Apps & Projects page.