Magento 2: Q&A With A Systems Architect

Magento 2 has revamped the architecture of the platform. Many of these changes introduced tried and true design patterns into the platform. Although these design patterns are more advanced, they come with a lot of literature to describe how they should be used in practice (read up on the ‘Gang of Four’). For eCommerce managers, these fundamental changes provide their team with a more structurally sound platform to scale-up their business.

​I am very excited about the direction Magento 2 has taken. It feels more thought out, more complete, and more flexible. Magento 1 feels bolted together by this point. Between composer, the new service layer, and it's component based architecture, Magento 2 requires a higher order of developer. This is a good thing. Script kiddies and SO copy/plasters will not survive or at least REALLY have to learn OOP and new architecture patterns. ​ ​Bring it on

Using Omnifocus as a Honey-Do App

Laura and I are trying a formal Honey-Do List. We're both very task-oriented people and we really like lists. There are a lot of things I can do to help with Charlie but have to wait until I get home from work. Vice-versa, stuff I'll think of while I'm at work that Laura should take a look at on the days she's home.

We probably should have done this a long time ago but even suggesting that one of us ditch our to-do app of choice would have been blasphemy. I switched to OmniFocus this year and you'd have to pry it from my cold dead fingers. Laura really likes Remember The Milk [RTM] but I've never cared for it. One option was just use another app just for the HoneyDo list. The front-runner would be Wunderlist. This would work.... but meh. This would mean another slot on our coveted iPhone home screens. A space we didn't want to give up. I personally would have trouble remembering to go into it. If it's not in OmniFocus, it's not in my world.

There had to be a solution. What actually mattered? It boiled down to two things:

  1. The tasks entering "our world" of to-dos
  2. The other party being notified (or at least aware) that a task had been completed (or is still outstanding)

Neither OmniFocus or RTM have the ability to do 2-way sync. But, they CAN take in tasks through email addresses. Ok, there is a way for tasks to get into our respective worlds from somewhere else. Check.

The next step was to have something be the single point of entry for tasks. This entry point would also serve as the aggregate list of both our worlds. Wunderlist and Todoist both have great API's, there had to be something. There was also a good chance that IFTTT or Zapier could connect to everything. IFTTT was a bust, but Zapier hooked us up. I went with Wunderlist because Todoist's notifications are a premium only feature. We're not sure if we'll actually use the notifications, but I didn't feel like switching if we decided to in the future. Wunderlist could also handle shared lists, asignees, and due dates.

How to set it up:

  1. Choose a trigger and action

    When this happens: Wunderlist; New Task

    Do this: OmniFocus; Create Task

  2. Make sure your Wunderlist and Omnifocus accounts are set up

  3. Create a shared list in Wunderlist and add someone to it

  4. Tell Zapier to only trigger on the list you just created. (We'll add advanced filtering later)

  5. Create the OmniFocus task. I put "BroderFam" in front so I know where it came from, the name of the task, and the due date. (I manually set the due date when I process my OmniFocus inbox)

    In the body, I set urls back to Wunderlist so I can mark the item as done in there as well as in Omnifocus. The first URL is for when I'm on my laptop and want to open the Wunderlist website. The 2nd one is a deep link to the iOS app for when I'm on my phone

    Keep note of the assignee ID on the first task that comes in, you'll want it for advanced filtering

  6. Test the Zap and turn it on. Now, any task that goes into your list will go to OmniFocus. But, we don't want that. We only want the ones that are assigned to me.

    Now that you have the assigneeID from the first task, go back into the Zap and add a custom filter

    Also go back in and remove AssigneeID from the body of the task

So, a little bit of double work when marking things as read. But I'm really happy with this system. Let me know in the comments if you have any trouble setting this up and I'll help

Workflow 1.3 Brings Powerful Widget, Sync, Health Actions, And More

I’m even more excited about the ability to read and automate Health data in Workflow and combine the results with actions, custom UIs, and other iOS apps.

With a new Find Health Samples action, you can read any Health category where samples match filters that include dates, source, name, and value; this allows you to, say, fetch steps for the last month, calories logged by a specific app, or heart rate from your Apple Watch. Each unit can be grouped, sorted, and limited; once fetched from Health, you can also get additional details of a sample.

This is cool. I've been meaning to export all of the health data I've been collecting into a few spreadsheets and start picking through it. It's nice to know that there are a number of options available through Workflow to muck with this data

Adobe Aims To Bring Photoshop To Mobile Masses With Upcoming App - Cnet

Photoshop is so well known that the product name is synonymous with photo editing. But the software itself is a success only on personal computers, not smartphones or tablets.

Photoshop's maker, Adobe Systems, hopes that will change in October at its Max conference for developers and creative professionals when it introduces a new Photoshop app for editing photos on Apple's iPhones and iPads initially and Android-powered devices later. The free software, called only Project Rigel for now, is designed to bring a more accessible interface to what can be a dauntingly complex program on PCs.

Click through for full details

Spotify'S Latest Trick Is A Personalized Weekly Playlist Of Deep Cuts

Spotify says the Discover Weekly playlist is built based on the music that you listen to in addition to what other, similar users have been listening to. It’s designed to surface the lesser-known tracks and deep cuts, as opposed to just being a playlist of the most popular songs out right now. It’s available at the top of each user’s Playlist folder.

I'm very, very excited about this. That was one feature I thought Apple Music did well. But, I still love my Spotify. Prior to this, the weekly "for you" emails that I got from Spotify were spot on. So happy this is now built right into the app!

The Best Place to Order Baby Supplies Online, In Bulk

We live in an age were BJ's and Costco are no longer the only game in town to get bulk supplies. Many websites are offering very competitive prices to the giant warehouse wholesale clubs. (Thank goodness, those places stress me out). We knew when we had Charlie that joining one of these clubs was probably going to happen.

For a while now, I've been seeing subway ads for sites that are going head to head with BJ's and Costco, but with free shipping and without the yearly membership fee. We've been using Amazon Prime forever and have always loved it. Very rarely has a package not shown up on time or damaged. We get most of our household items from their Subscribe & Save program. On some months this lands us 15% off Amazon's already low prices.

I knew there would be a good chance we'd stick with Amazon, but I wanted to check out the other contenders; Amazon Mom,,, and My test products were:

I had high hopes for either who really tout their competitive prices and free shipping over $50. I have a few friends who swore by for their kids. was a new player, and technically did have the lowest overall price. But, they have a secret formula that they apply to your cart which lowers the price. I really didn't like not knowing how that worked of if it would change month to month.

In the end, Amazon won out. We get our usual 15% off Subscribe & Save the months we receive 5+ items (you play with it and game it a little) Diapers always get 20% off. If you find yourself running low, just hit the "I need it now" button and you will get your next shipment early. Bonus points: We also have an Amazon Credit Card (that is only used at Amazon) for an additional 1-3% cash back. We let this charge up and then every few years buy something nice with it. It's how we got our Sonos Playbar.

If you are interested in the spreadsheet above, it can be found here

Apiary Releases ‘World'S First’ Automated Api Ci Testing Service - The New Stack

Industrial API Model

This reflects Tung’s model which found that in the enterprise, API maturity often begins with an individual use case for an application or workflow which leads to the creation of a specific API within that use case department. But then, over the next six months or so, other parts of the enterprise take similar approaches to pilot projects quickly leading to a chaotic catalog of APIs that have been use-case built without a long term, industrial mindset for the agency’s broader needs. Accenture’s Industrial API model suggests that after the first couple of use cases demonstrate the power and efficacy of APIs, that future design be built using internal standards so that there is common nomenclature and endpoint descriptions for APIs, and that opening data sources and functionality via API is thought of in terms of wider potential uses rather than just a single use case.

We see this time and time again with our large enterprise clients. They either have one of two things. Hundreds of smaller APIs and services, with heavy overlap of functionality. "If you need this type of data, hit endpoint X, but if you need this one other enrichment field, hit this other endpoint. But that one isn't updated as frequently, so you really need to hit both, and do a merge or something on your end". There were a number of small teams, who needed data or a process, but didn't want to get tied up in a larger department initiative, and be tied to another teams timeline. So, they built their own to very specific use cases

The other case we see a lot, is a large company trying to unify all of their APIs and data, but going about it in the wrong way. They are tying all the systems to a large initiate and building a god system. A project like this usually spans years, and by the time you get to the end of it, the earlier changes are already out of date.

Part of the work we do with clients like this is to get the teams to agree on a unified API language first, then start converting different systems one by one. As we identify overlap, we will role those systems together. That transformation or merging should be transparent to anything consuming from those systems.

We do this for a number of reasons. First and foremost is so we can get user facing changed out faster. Get the new site, or tool public so we can begin testing it against real users. Then, if we need to make UI changes, we aren't locked down to a back office system. That is all behind an API that we helped define, and can assume won't change for a while. We can iterate faster, while the back office systems continue on their slower timelines

The Drupal 8 Admin Menu Needs a Fix

I initially wanted to lead with something like “The Drupal 8 Admin Menu Sucks,” but I remember repeated corrections by one my engineering professors that things don’t suck only blow inwardly.

I pulled in the WordPress top and left admin menus to a Drupal 8 module and named it WordPress Menu.

Nice. Check it out here