All posts by J Stassen

Learning: Podcasts for the Curious Mind

Here are some of my favorite podcasts.

I’ve been on quite a podcast kick recently, just striving to absorb information. I am subscribing to more podcasts every week with little hope to keep up, much less listen to past episodes. The best began to quickly surface for me.

The Podcasts

Podcast Name
( 15min average length, 1.5x playback speed, Genre or Topics)
A sentence or two of description which includes a narrative of my opinion in places.

  • Radiotopia: 99% Invisible
    (15 – 30min, 1x, Design, Story Telling, Investigative Journalism)
    Stories about the other 99% of things designed that go un-notice and exploring their back-story.
  • NPR: Radiolab
    (20min – 60min, 1x, Story Telling, Investigative Journalism, Learning)
    Topic exploration with applications that are deep and unique. Encourages internal reflection and deeper understanding.
  • APM: Marketplace
    (30min, 1.5x, Market Impact, Investigative Journalism)
    A quality podcast about how markets are effecting different industries, life, and other economies – investigating how it all plays together.
  • NPR: Planet Money
    (20min, 1.5x, Market Impact, Investigative Journalism)
    A quality podcast about the strange and interesting places money finds itself. How money impacts our daily life in ways you might not expect.
  • a16z
    (20min, 1.5x, Interviews, Technology Trends)
    Interviews with impactful entrepreneurs and critical discussions around the current trends in the technology space.
  • HBR IdeaCast
    (20min, 1.5x, Business Management & Growth)
    Topics from the Harvard Business Review publication. Topics range for HR, Investors, Effectiveness in the Workplace, to Talent and Recruiting.
  • NPR: Stuff You Should Know (No longer recommended)
    (30min – 60min, 2x, Learning)
    They talk very slow and information density is low I certainly recommend speeding them up. Topics tend to very from simple to things you’ve never stop to think about. Good for passive listening.

Apps: My top iPhone / iPad apps

This will be an ever changing list, of apps I am currently big fan of.

All apps are free, unless noted.  I won’t bother to mention some of the more popular app.


Photography & Video

Finance & Money

  • Splitwise – Shared group expenses
  • Mint – Tack spending and savings trends, owned by Intuit and trusted
  • PayPal – Nice way to send / receive money
  • CardStar – Store your loyalty card numbers/barcodes on your phone.
  • LevelUp – Simple rewards and discounts at restaurants.
  • PaperKarma – ‘Unsubscribe’ button for junkmail in your physical mailbox


  • Waze – Map directions with traffic, cop warndings, and red light camera notices.
  • Google Maps – Best map directions
  • WunderMap / AccuWeather – Combined they make the best weather app
  • Hipmunk – Flight search tool
  • Hopper – Finding best time to fly

Productivity & Organization

  • AnyList – Shared group todo/shopping list
  • OneNote – App+Web note taking app that breaks things down into notebooks
  • RD Client – One of the better experiences for remote desktop

UX: Flat Design

I’ve grown to become quite opinionated about the recent Flat Design trend. Ironically at this time of writing my blog is using a rather flat design, however it still uses borders, dividers, and background colors which as you will see many flat designs ignore or drop.

Gripe with Flat Design

Microsoft chose grey on light grey on white with their new flat design in MS Office 2013. This is very hard on the eyes and makes finding sections / ideas in the UI take a bit of studying to understand. I won’t even go into Windows 8 start screen or new desktop UI which both have other issues. Apple in iOS7 appears to be choosing border-less white divs with section breaks just being a larger padding between items. There is little to no affordance.

If these are the leaders, I’m concerned.

Some are using Flat Design well

However, in my opinion some companies are pulling off flat design well. For instance AVG 2013, they chose very intuitive layout that makes the UI simple and understandable, I don’t use the product, but I would trust my grandma to run it. Other fine examples are the games OLO, Letterpress – check them out.

Some companies are going for a Almost Flat Design, which I can agree is a good compromise, making things a bit more intuitive and have substance. Examples include LinkedIn app, Google products, Facebook. And now with Google announcing Material Design that becomes even more clear.

What I’m saying?

It’s not about emulating the ‘real world’ as it is giving items a sense of sections, and layers. First sections, A menu bar or sidebar ought to look separate from the content. More specifically, static vs. dynamic content ought to be separate. Second layers, if a menu has a drop down that is going to cover content, there ought to be (even a subtle) hint/shadow that is is currently above the content and has a border to visually show its identity. Users will intuitively know there is content under it and not mistake it being part of the content. And not to say ‘Real world’ is what I’m suggesting, if I were then I would want SPST Push Button or NTE 54-533 Switch Rocker.

Where are we heading?

I could dig in further with some closer examples, but I feel User Experience seems unfortunately been placed on the side in many flat design cases. It seems we are in a UI counter-culture mood swing from our overdose on 3D buttons, and huge drop shadows. I get it. We just have to be careful to consider usability, intuitiveness, learnability, human errors, and other UX items. Maybe it is just poor flat design that I’m not a fan of or haven’t given it a full chance, but I’m concerned.

Thankfully with Google talking about Material Design, perhaps we can start to head in a smarter direction.

UX: iOS 8 Notification scroll state

Ever open Notification Center and find that you’re partially scrolled down? As of iOS 8 the scroll state is persisted from last time it was open.


This causes confusion:
-additional gestures to see recent notifications
-unclear ordering or recency when view is show
-if scrolled by chance to only have one app banner, may be surprised to find additional notifications above.

Possible fix:
The scroll state could be reset after a new notification and after a timeout (perhaps 1 minutes). Preferably the state would be reset every time it is reopened always showing the freshest state.

Code: Backbone.js Selecting Elements with jQuery

Found a very nice succinct way to get a jQuery rapped DOM element that is within a subView in Backbone. using `this.$( )`. This is pretty handy because it traverses only DOM elements within the current view instead of the entire DOM tree.

Inside a backbone view:


Inside an event

this.$('.myElement') or $(argument1.currentEvent).find('.myElement')

Inside a Model / Collection:

You shouldn’t, that’s the View’s responsibility

Opinion: Zero-Rate Content a Threat?

I got thinking about ‘zero-rate content’ from internet providers.  That is, websites and content that are free to you simply because you are their customer.

It already exists

It is really just a different way to phrase the net-neutrality issue issues. It’s really just a nuance of the ‘fast-lane’ concept that different packets are treated differently by speed, price, count allowed.

I recently experienced this when I traveled abroad, thus I know it exists. I was talking with AT&T before I left setting up my abroad minutes and data. The representative was very proud to inform me I could use the AT&T Information and AT&T wifi locator apps with no data fees, that is, they would pro-rate any data usage that I used within those apps. I could help my self but laugh at loud at them, and ask if he was serious… then I made a statement about net-neutrality.

I found it rather curious that they could detect the packet difference. I suppose it only makes sense, all you have to do is read the packets header to see its intended destination, check it against a white-list of “We’ll pay for that one, its on us”. According to the representative, they do something very similar to that, though he wasn’t familiar with what I meant by packet inspecting.

All the same, it is sort of a nice gesture by AT&T saying we’ll pay / help you out whenever you’re checking status on your account. You don’t have to worry if you are over your data cap ever when checking information about your account. I kinda dig that.

Data isn’t free

You’ll note that I said pro-rate the cost of the packet. Data isn’t free, cheep, but not free. In the international case it is a bit more expensive to get it from where I was to their servers, AT&T paid for that. Similarly when back home, even through AT&T towers the packets will have small cost, even if it is their packet. It’s just a matter of splitting the costs between the user and the provider.
In the case of video sharing sites..

Here is my theory: It won’t be sustainable for a provider like Verizon or AT&T to maintain a site with media, though they may be trying.

I think there are barriers they will run into

  • I find it hard to believe that any telco will produce a good enough app/site that wins the world over like a youtube or netflix.
  • They will be restricted to their shows they produce or partners produce, and maybe pull it from places like netflix. However that would hurt them greatly since adoption of a new platform would be low. Comcast is doing pretty good on this I suppose.
  • Cost of a video servicing infrastructure (server farms throughout the country/world)
  • Reliability of a video servicing infrastructure (remember old old youtube and netflix problems?)
  • Community (hard to get get viewers to jump to a place with lesser content)
  • Fragmentation (only customers of said telcom gain benefits aka smaller subset of world population. Presumably other providers would have their own deals)
  • Profitability (If this is done, it would be for money, where is the the money? Ads? Probably not. New customers? Will it really entice enough new clients to join the telco?)
  • Abuse, give away something for free, people will abuse it, then you need to cap it. Enter irony.
  • Why not partner with an existing provider, say Netflix or Hulu?

To widen the scope again to zero-rate content (cost paid by telco). It will exist, probably not for video streaming, but for other sites and partners.

Is zero-rate data a threat?

I’m not sure I see zero-rate content as a huge threat, (though a threat all the same) mainly since each provider would have a different selection of partnerships.

Opinion: Graph Search

I am a big fan of the flexibility of graph search. Graph search has been around since before March 2013 when I wrote a few notes about my favorite searches. I figured it was time to share a few.

I have met people that I remember a list of facts about and have been able to find them via the Graph Search. It is simply fantastic.

Here are some fun uses of Graph Search on Facebook:

  • “My friends who live in New York”
  • “Places in Chicago my Friends have been to”
  • “Friends of Joe in Backbone.js Developers Group”
  • “Friends of My Friends who like Swing Dancing”
  • “My friends who are Females who are Single”
  • “Events my friends are going to”
  • “People named Christopher who live in Seattle, WA who like Passion Pit”
  • “Friends of Beth named Tim”
  • “Mutual friends of Beth and Jake named Tim”

Code: Getting multiple specific Laravel models

I had a case where I had an array of model ids, and I wanted to return a collection of these models. That is I had a list of model ids, but it appeared no nice way to get all of them at once. However from the 4.2 API docs you can see that the find() should be able to return either a Model, or a Collection of models.


Naturally to get one model just use:
User::find( $id );
You could loop over the ::find() to pull each one manually, but that will result in multiple unnecessary queries to the database right? Who wants that?

Find() with Array

Here is a quite simple approach that Eloquent supports that seems quite obvious after you see it. You can just pass an array of model ids right to the find() function!

$arr = array($id1, $id2, $id3);
User::find( $arr );

This will return a collection of models just as you would expect, no fussing around with loops.  A simple way to get Multiple Specific Laravel Models by Id.

UX: Ok Google, I see a fun problem

Have you played with the Google Now Search App on iPhone or voice recognition on Android? Or maybe you’re even lucky enough to have played with Google Glass.

Say “Ok Google” and it springs to life ready to listen for instruction just like magic!

Although.. I see this could become an issue once we all have more Google Glass, Androids, or the Google Search App. One person could activate them all! In a crowded place when one says ‘Ok Google‘ all nearby device will spring to life! How fun!

Hopefully we will be able to customize the buzzphrase to activate Google voice recognition. Else this could be quite interesting one day.

Aside: For fun, I’m told on Android Google Now, you can say ‘Ok Javis’.