Identifying Design & Development Implementation Potholes

The marriage of design and software implementation has been a positive thing for the user. At Atomic, we receive a lot of good feedback about the use of Human Centered Design, but the design process is really just the start. What brings designs to life is the way our poly-skilled teams work hard to avoid road bumps during implementation, ensuring a quality outcome for our clients. Read more on Identifying Design & Development Implementation Potholes…

Inspecting Safari’s Web Browser on a Mobile Device

Inspecting the browser gives you access to the details of a website or application. Using built-in developer tools and third-party add-ons, we can view the inner workings of an application.

For example, you can see the content structure in DOM, view the console for logs or error messages, and review network requests for assets being loaded. When debugging a user interface problem, you can use the elements panel to modify live content on the screen, changing the content, type color, or button sizes. Read more on Inspecting Safari’s Web Browser on a Mobile Device…

Experimenting with MongoDB

For a recent prototype, we wanted to bring in a database instead of relying on something like Google Sheets. I’d heard about MongoDB as part of the MERN (MongoDB, Express, React, and Node.js) or MEAN (MongoDB, Express, AngularJS, and Node.js) stacks and felt it was worth a try. In the end, I was very happy with my experience using it for a small prototype application.
Read more on Experimenting with MongoDB…

How Being a Consultant Taught me to Appreciate the Value of Time

In a recent job interview with a potential Atom, we were talking about some of the differences between product companies and life at a software consultancy like Atomic. One topic that arose was tracking time, and it occurred to me how much tracking work time at Atomic has changed the way I approach my work and personal time. Read more on How Being a Consultant Taught me to Appreciate the Value of Time…

Multiple HTTP Requests for an AngularJS + Google Sheets Prototype

As I continued to build out my AngularJS + Google Sheets prototype, I ran into another problem. I wanted to load the data from two Google Sheets and access the data in the same function. I created this example, which loads in one Sheet with weather forecasts and another with weather types and descriptions, as a proxy. Read more on Multiple HTTP Requests for an AngularJS + Google Sheets Prototype…

JSON to XML with AngularJS in Preparation for InDesign

In a recent project, I wanted to use Google Sheets as a content management system: the source for a print layout and a website. I wanted the content to reside in a single, easily editable location.

In order to achieve that outcome, InDesign requires the data in an XML file. But first, I had to convert the JSON data in Google Sheets to XML. This would allow me to customize the tag names to leverage the custom mapping styles feature within InDesign, which would make it a breeze to update the InDesign document as the content of the book changed. Read more on JSON to XML with AngularJS in Preparation for InDesign…

Creating a Dynamic Catalog with InDesign Templates & XML Data

My task for a recent project was creating a print catalog. The catalog content was constantly being updated, but each entry needed to have the same visual style. I knew there must be a way to do a majority of the design work and then “data merge” the content to the style, but it sure wasn’t easy to figure out. 

It took a ton of time piecing together a number of blog posts and experiments to find a repeatable process that worked for me. So here is my solution, combining InDesign and XML. Read more on Creating a Dynamic Catalog with InDesign Templates & XML Data…