Skip to main content

Josh Marinacci

Josh Marinacci first tried Java in 1995 at the request of his favorite TA and never looked back. He is a blogger and co-author of Swing Hacks for O'Reilly. He is currently a Developer Advocate for the webOS at Palm, Inc. He previously worked on JavaFX, Swing, NetBeans, and client lead for the Java Store at Sun Microsystems. Josh lives in Eugene, Oregon and is passionate about open source technology & great user interfaces. He uses a Palm Pre, MacBook Pro, and Nikon D50 SLR to spread understanding of great design in software.

 

Articles

Ed Ort interviews Josh Marinacci in this java.net Community Corner 2009 podcast, recorded at JavaOne. Josh talks about his work with JavaFX and the new Java Store.
Having introduced SwingLabs' JXMapViewer and JXMapKit in a previous article, Joshua Marinacci puts these components to work by showing how you can bring in geographic data from external sources and use Painters to create custom geodata GUIs.
Mapping is a common feature of many applications, and a new component from SwingLabs makes it easy to add maps to your Java GUI application. Joshua Marinacci shows you how to adding maps to your Swing app can be as simple as dropping a JXMapViewer component into a NetBeans layout.
Generating PDFs used to require proprietary and/or difficult-to-use tools, but the combination of the Flying Saucer XHTML renderer and the iText PDF library makes it easy to generate PDFs from a variety of markup formats. Flying Saucer founder Joshua Marinacci shows how it's done.
Continuing his introduction to the EJB 3 Java Persistence API as seen by the desktop developer, Joshua Marinacci shows how to put together a complete and fairly sophisticatedaddress book program, with one-to-many relationships, useful inheritance approaches, and other powerful techniques.
The EJB3 Java Persistence API may have been meant for enterprise developers, but there's no reason that desktop developers can't use it. Joshua Marinacci shows how a lightweight combination of Hibernate, HSQLDB, and the JPA can make saving address book entries a snap.
Challenged by the complexities of GridBagLayout and the ugliness of wiring all of that GUI layout code into your application? SwiXml offers an alternative: declare your GUI in XML markup and let SwiXml wire it up to your application. Joshua Marinacci shows how it's done.
Java Web Start offers new solutions to old problems of distributing J2SE applications to end users. In the second installment of his look at JWS, Java Sketchbook columnist Joshua Marinacci looks at the JWS sandbox, options for getting out of it, speeding up downloads with Pack 200 compression, and...
Desktop developers have long desired a more practical means of deploying applications than just dropping files on a client machine and expecting the user to do a java -jar, or a script/batch file equivalent. Java Web Start addresses not only this user experience problem, but also helps with...
Joshua Marinacci continues his investigation of Java Desktop Integration Components (JDIC) with a look into the SaverBeans API, which allows you to create Java-based screensavers.
It hasn't been easy to create a Java desktop application that goes beyond look and feel to actually do things native apps do--register file associations, communicate status via a tray icon, use the platform's browser, etc. But as Joshua Marinacci reports, JDesktop Integration Components may change...
Programs that expose themselves to programming by the user are few and far between--an Emacs Lisp macro here, an AppleScript-able Mac app there. It's a pity, since scriptability gives users great power. With Java, embedding JavaScript as a scripting language is pretty easy. Joshua Marinacci...
HTML is everywhere; not just on the Web, but as a styled-text and hyperlinking standard for help systems, online stores, email, and many other applications. For these many needs, there are many Java-based HTML rendering toolkits. This second part of Joshua Marinacci's series looks at the...
HTML is everywhere; not just on the Web, but also as a styled-text and hyperlinking standard for help systems, online stores, email, and many other applications. And for these many needs, there are many Java-based HTML rendering toolkits. Part 1 of Joshua Marinacci's two-part series looks at the...
Java's imaging APIs aren't just for desktop applications anymore! In this article, Joshua Marinacci looks at how servlets and JSPs can use the Java2D graphics API to create on-demand graphics for web users.
Joshua Marinacci built a distributed system for storing, searching, and updating small pieces of information. In this installment, he shows how to build an attractive thick client with Swing.
Joshua Marinacci wants to build a distributed system for storing, searching, and updating small pieces of information. In this article, he shows how Java-friendly standards like XML and HTTP will make up the foundation of his BrainFeed web application..
Swing applications don't often feel or behave like native apps. It doesn't have to be this way. Joshua Marinacci's three-part series concludes with polishing touches such as desktop icons, file selectors, and splash screens.
Swing applications don't often feel or behave like native apps. It doesn't have to be this way. Joshua Marinacci's continues with a look at providing double-clickable executables and filetype associations.
Designing a tag library for programmers is one thing; designing it for non-programmers is quite another. Joshua Marinacci shows off three tag library redesigns and how they make life easier for his target audience.
Swing applications don't often feel or behave like native apps. It doesn't have to be this way. Joshua Marinacci's three-part series begins by improving an app's appearance and menus, and offers a way to get attention via the Windows taskbar and Mac OS X dock.
Just as CSS allows you to maintain a consistent look across a complex web site, you can use the same technique to achieve this consistency across many screens in a complicated Swing application.

Weblogs

We are proud to announce the release of Leonardo Sketch 1.0.  Leo is a open source cross platform vector drawing tool built for designers and programmers.

After several months of work, nestled in between getting webOS 3.0 out the door and prepping the nursery for the pending arrival of my first child, I am happy to announce the release of...

For the past few months I've been working on an open source UI toolkit called Amino. It has lots of cool features like a scenegraph, CSS control skinning, and dynamic translation editing. You just...

We are making progress on the next release of Leonardo, an open source desktop Java drawing program. One of the key features scheduled for the next...

Ruby Red, the first full release of Leonardo Sketch is ready for download. Leonardo is a desktop open source drawing program written entirely in Java. In...

A decade from now 90% of people will use phones, slates, or netbooks as their primary computing device. This is a very exciting development in the software world and promises to reshape the way we...

Today I am proud to announce a project I've been working on for the past few months called Leonardo. I've long believed there's a need for a good desktop drawing app that is completely cross...

As part of some open source stuff I've been doing on the side I've had to generate and parse a lot of XML. I like working with the DOM because it's tree structure cleanly matches my needs, but...

There's been a ton of talk lately about several mobile operating systems and their problems, such as language restrictions, fragmentation, and anti-competitive practices. It's never a good idea...

I'm excited to show you all one of the things I've been working on since I joined Palm.

Palm Hot Apps

...

A big part of my new job at Palm is education, in the form of tutorials, blogs, and of course speaking at conferences. Two new speaking engagements have recently come up. Palm Developer Day and...

Lots of people have opined on Apple's iPad, many deriding it's closed nature and lack of features.  The thing is, those problems don't matter to most people. The iPad isn't for you or me. It'...

You might be wondering where I've been the past few months. JavaFX and Java Store work has definitely heated up, which has taken up the bulk of my time. I've also been working on...

As many of you may know, user interface design is a passion of mine. I want software that both looks pretty and acts well. I've had lots of ideas on the topic, often bleeding over into art and...

One of the big announcements at JavaOne was the Java Store. I'm especially proud of it because I've been secretly working on the project for the past few months. Since the announcement I've gotten...

Technically I'm on vacation this week so don't mention this post to my boss. I simply couldn't wait to blog about cool stuff we put into JavaFX 1.2. Shhhhh!

I've just arrived in SF for my fourth JavaOne conference. Despite the usual chaos this year's prep has gone very well. We have a ton of new things to show you. Most importantly we have the new...

I don't normally post about job offers, but this one is simply too cool to pass up. The guys at Limewire are looking to hire a new Swing developer. For those of you who don't know, Limewire is...

A lot has happened since I last blogged. The JFXStudio hit 33k hits with 50 posts, I've started working on a new secret project built with JavaFX, and we...

Today I'm pleased to announce a new experimental site a few of us have been working on called the JFXStudio (www.jfxstudio.org). It's a site specifically...

I know I haven't been blogging, twittering, or doing the FaceBook very much lately. That's because I've...

I'm in the London airport awaiting my flight back home. After an exhausting week at Devoxx it will be good to be home and on vacation until the end of the year. And what a year it has been. At...

First I'd like to thank The Hoosiers; a British band who, for reasons inscrutable to man, formed in the American midwest.

Why do I have a bad 80s song in my head.

I'm in the Austin airport awaiting my flight back home while busily making last minute tweaks to the website. The website I'm working on, of course...

Last week I gave two sessions on JavaFX at the OreDev conference in Malmo, Sweden (sorry guys, I don't know how to put the dots over the 'o' with my english...

I have been extremely remiss in my blog posting. A quick glance at Java.net says that my last post was August 26th. Well, my only excuse is that I've been mad busy working on the JavaFX SDK...

In part one of this series I showed you how to set up a loading image, including an animated spinner gif. In...

You may have heard that JavaSE 6 update 10 is supposed to improve the experience of applets. You may have even seen the demos of dragging and dropping applets out of the webbrowser, but there's a...

The initial JavaFX Preview SDK release has gone pretty well. There were a few snafus and broken links, but overall it has gone pretty smoothly for a first preview release. As we plan our next...

Whew! Our launch of the JavaFX Preview SDK yesterday went pretty well. Only a few broken links which have since been fixed. After waking up at 5:30 am to turn on the new sites I spent most of the...