• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Dion Almaer

Software, Development, Products

  • @dalmaer
  • LinkedIn
  • Medium
  • RSS
  • Show Search
Hide Search

Archives for May 2015

No one is asking the Web to concede defeat

May 29, 2015 Leave a Comment

PPK tickled the belly of the old canard that is: Web vs. Native!

I have broached this topic often, so why not do so one more time, huh? While reading PPKs thoughts I found myself violently disagreeing with much of the details, yet agreeing with some of the high level conclusions.

Let’s not try to mimic native UI and get into uncanny valleys

Back or back?

Taking over scrolling to do some crazy thing is annoying 99% of the time, however we shouldn’t blindly ignore good UX that happens to come from native platforms, or naive app design teams (just like we shouldn’t ignore it from web developers or browser vendors!)

Trying to make web sites act like apps often doesn’t feel right, especially when the UI competes with the Chrome around it!

At the Google I/O talk on the mobile Web, one of the anecdotes compared the Web to speed dating whereas apps are a long term relationship. You may have a different plan of attack for the 5 minutes trying to impress someone you have never met vs. interactions once you have created a trusted relationship.

Chances are you will want to attract new customers and a great way for that to happen is for them to arrive on your content, get a taste, and then be able to get more.

I am sure the split of app vs web reading on the New York Times differs from that on Medium and that on somesmallernichemagazine.com, so even within one category you may have very different needs. I know that the app to Web split is also vastly different if you look at Amazon vs. Walmart.

Fix the performance of your main experiences, don’t just fix it on Facebook

“Instant” yet not exactly fresh content!

Facebook Instant Articles are a curious beast. I understand the pain that we all feel when we are on Facebook (or Twitter or anything else that links out) and see a blank white screen while we wait for some third party content to load.

However, I think that Facebook ended up with a short sighted and selfish solution to the problem and could have instead helped all boats rise. The current solution seems to transpile the Web content to a JSON format that can be preloaded. It appears that a bunch of JS cruft is still loaded alongside, so I assume that the content creators pushed for that.

This feels like when mobile applications and mWeb sites first came about. The new form factor allowed the software teams to fight the bloat that the business had put into their experiences over time:

“Hey, have you seen the competition? On such a small form factor we can’t have huge sidebars and the like… we need to keep to the core content.”

Instead of just trimming for Facebook, how about preloading and cutting out the cruft of your mobile website? It really shouldn’t be so hard to fast boot and load a primary read only experience… so lets get to that. So often the issues are around the organization rather than purely technical.


The tribes are a changing. Google seems to collaborate more with Microsoft than Mozilla these days.

As someone who also loves the Web, I both see the need to have an honest look at its place in the world, and see how we can nudge it in the right direction for the future needs. There is always a short and a long game. There is no need to give up the ideals and openness of the Web.

We need to keep fighting for them, recognizing the trade offs, and not just relying on blind faith thinking that we have the higher ground or that “reach” is what matters the most. Reach and discoverability go hand in hand. It doesn’t matter if you have a service that can be run by a larger population if they can’t discover it, or if it works poorly on the platforms that matter most.

The new tools blending art and code; Because, Joe Hewitt

May 22, 2015 Leave a Comment

It has been fantastic to see Joe Hewitt (Firefox, Firebug, Facebook iOS, etc fame) speaking in public again after a period where he has been getting back to Earth through gardening, but also still spending time at the keyboard. If a programmer is typing code, yet doesn’t publish it, does it exist?

Joe’s tool, showing font design

I have talked to Joe from time to time, and have always enjoyed riffing on the world of developer tools. I think he is onto something important with his latest tool because it brings together design and code at a time where we need to bring these disciplines together more than ever.

We had a period where we were bifurcated into one world of mobile (focused on screen sizes, densities, and resolutions of iPhone’s) and that of the desktop Web. We are now working on getting experiences across devices in an adaptable manner.


I’d suggest that we should think about inverting this — it’s actually the PC that has the limited, basic, cut-down version of the internet.

I think that Benedict Evans is stretching a little on this aspect of his piece on mobile first. It is true that mobile devices are more personal in that they tend to have access to info and data (such as your location, your camera roll, etc) but a lot of these features have been back-ported to the desktop world.

My laptop also has other great features such as a much better keyboard and screen. There is no need to talk about this as better or worse: Each form factor naturally has trade offs.

With the divergence in devices we are naturally placed into a world where we have to think about how our customers will be using our services and experiences. At a certain point it doesn’t make sense to fully specialize, and instead put effort into getting more bang from your buck.

I postulate that this is only going to get worse. For example, as VR and display technology both takes off we won’t be limited to the display types that we have right now. You will be able to send an experience to your wall, or project it into your eye and resize it.

Are you design for this world, how do your content and experiences adapt? With the right tooling, we should be able to create experiences that can adapt on their own. For some pieces you may want to custom tweak a detail, but for others you need more programatic help. When the holidays come around and your module has snow falling, you want to declare how much, not painstakingly choose which one.

Can we built components that are aware and morph as needed? This is where I hope tools such as Joe’s come in.


We also have other foundational work such as viewBox (and how it is needed in CSS to pair with SVG)

The viewBox attribute is awesome. It is literally SVG on steroids. By using this attribute, you can save a lot of time when working with SVG, troubleshoot SVG quickly without having to resort to a graphics editor, and, all in all, feel more comfortable editing SVG by hand.

This can be an exciting future, and it is one that we need to prepare for. We also need to prepare the next generation (that is why I love sending my kids to STEAM-focused spots such as Sparkiverse!)

My last day at Walmart Labs; Getting comfortable with the Unknown

May 15, 2015 Leave a Comment

WILL CODE FOR FOOD: Many thanks to Stephen Aase for his surprise artwork ☺

Today is my last day at Walmart Labs and the last 4 1/2 years have been a fantastic ride. As it comes to the end it has started to feel like the end of college. You have so many emotions: strong feelings for the people that you have met along the way, some pride in the accomplishments, and a fuzzy view to the future and what is to come.

We have seen various phases of growth and change during our time here, including:

Walmart go to market

When Ben and I joined we were starting from scratch. We had no mobile applications and a mobile website that didn’t let you buy anything (A P1 feature in commerce ;). We got scrappy with a small team and rushed out iPhone, iPad, Android apps and a modern SPA mWeb experience. This was an exciting burst of work as we ran against time to catch up to the market. I remember a bizarre experience where I got to receive an award for “best retail apps” in Los Angeles. I was very much the odd man out in the crowd and at one point someone came over to ask me if I could help with some of his computer problems 😉

This time wasn’t just about the front end, as we also had to tackle the fact that we didn’t have services to build our apps on top of. It was at this point that we dove into node and Eran joined to show that node was ready for the massive scale of Black Friday.

Fish where the Fish Are

Although we needed to quickly get obvious mCommerce functionality into our customers hands, we knew from day one that the strategy for success was to engage the hundreds of millions of customers that purchase items in the stores each week (a staggering number).

With mobile, we could be the bridge between the physical and the digital for these customers and we could offer them tools to help them save time (as well as money). If we did a good job, the halo effect to eCommerce would be natural: “oh, you want the pink one? we can ship this here or to your house!”

A key piece of the store experience is integrating with the store systems. This mission was ground combat through legacy systems. The team that pulled off integrations with some of these systems were amazing. We started with platforms such as eReceipts that allow you to never need your physical receipt again. While customers like this, we knew that it was a trojan horse platform. Few people wake up at night thinking “IF ONLY MY RECEIPTS WERE ELECTRONIC!” This platform has enabled great things though, such as powering the One Hour Guarantee program that is basically the worlds largest sale, all at the same time. Then we got to participate in the perfect program for Walmart: Savings Catcher. We knew that our core customers care about value, so what if we can offer an “insurance” so you don’t have to go through circulars all Sunday and be guaranteed a low price? That is where Savings Catcher came in and it has been huge. This is an example of squarely going after a core issue for the customer.

The idea was actually pioneered in the UK with Asda, which brings me to…

Thinking global

We were part of Global eCommerce, and one of the great opportunities was to see the regional differences around the globe and work on problems outside of the Walmart US space.

Asda’s online business is huge with home delivery grocery (the US is only just working this all out), and Sam’s Club is a member model which has very different dynamics.

And then your mind gets blown as you see some crazy things going on in China!

Product culture

Building great products has been great, but I have also loved the challenge of building a great culture. When joining way back when the culture was much more of an IT mindset. Engineering was about fulfillment.

We have tried to move to a product mindset and have seen our best results when teams were autonomous and empowered. The team quickly showed that with a small talent dense group, great things can happen. I am excited to think that this will live on way past my time.

We also got to push on the remote culture. We opened a Portland office on top of a pub with a passionate crew that I love spending time with. We also have people all over the country who produce great work for us. We were the first BigCo on Slack (migrating from Campfire), and it has been the water cooler for the team.

Although I live in the valley, I question the companies and groups who want to keep to teams in their bubble. I don’t care how many smart people are here, there will always be more there, and if we can work out better ways to work together, we will be able to produce great work.

It’s been emotional

While I am immensely proud of the experiences that the team have built, and how we have impacted our customers, at this time I have been thinking of the people. It has been really emotional saying good bye to this team. I start to feel sad, and then remember that this isn’t the end. I very much hope they keep in touch and don’t hesitate to ping me if I can ever be helpful.

It has also been strange to wonder about “what’s next?” I still get a comment “oh come on! you know what is coming!”, and I don’t. I know that I want to continue to work with Ben, because there is nothing better than bouncing ideas off of your best friend, but I also will never get in his way.

I have been thinking about the ambiguity effect:

The ambiguity effect is a cognitive bias where decision making is affected by a lack of information, or “ambiguity”.

The effect implies that people tend to select options for which the probability of a favorable outcome is known, over an option for which the probability of a favorable outcome is unknown.

If someone is given a concrete job opportunity which they compare to their other option of the Unknown you can see how some people can jump from job to job without a plan.

I want to fight this impulse. I know that I need some time to decompress and allow the adrenaline to leave my system. I also know that I need to have a pursuit that I am truly passionate about. I think about ideas around education, health, the developer space, etc…. but I want to be very very open.

A lot has changed outside of work during the time that I have been here. Between Ben and I a few children have been born, and I went through a “renaissance” after my health issue. I have been very fortunate to have a supportive family, and I can’t wait to spend some quality time with them and partner on the future!

Ok. Time to regroup. Love to you all!

Next Page »

Primary Sidebar

Twitter

My Tweets

Recent Posts

  • I have scissors all over my house
  • GenAI: Lessons working with LLMs
  • Generative AI: It’s Time to Get Into First Gear
  • Developer Docs + GenAI = ❤️
  • We keep confusing efficacy for effectiveness

Follow

  • LinkedIn
  • Medium
  • RSS
  • Twitter

Tags

3d Touch 2016 Active Recall Adaptive Design Agile Amazon Echo Android Android Development Apple Application Apps Artificial Intelligence Autocorrect blog Bots Brain Calendar Career Advice Cloud Computing Coding Cognitive Bias Commerce Communication Companies Conference Consciousness Cooking Cricket Cross Platform Deadline Delivery Design Desktop Developer Advocacy Developer Experience Developer Platform Developer Productivity Developer Relations Developers Developer Tools Development Distributed Teams Documentation DX Ecosystem Education Energy Engineering Engineering Mangement Entrepreneurship Exercise Family Fitness Founders Future GenAI Gender Equality Google Google Developer Google IO Habits Health HR Integrations JavaScript Jobs Jquery Kids Stories Kotlin Language Leadership Learning Lottery Machine Learning Management Messaging Metrics Micro Learning Microservices Microsoft Mobile Mobile App Development Mobile Apps Mobile Web Moving On NPM Open Source Organization Organization Design Pair Programming Paren Parenting Path Performance Platform Platform Thinking Politics Product Design Product Development Productivity Product Management Product Metrics Programming Progress Progressive Enhancement Progressive Web App Project Management Psychology Push Notifications pwa QA Rails React Reactive Remix Remote Working Resilience Ruby on Rails Screentime Self Improvement Service Worker Sharing Economy Shipping Shopify Short Story Silicon Valley Slack Software Software Development Spaced Repetition Speaking Startup Steve Jobs Study Teaching Team Building Tech Tech Ecosystems Technical Writing Technology Tools Transportation TV Series Twitter Typescript Uber UI Unknown User Experience User Testing UX vitals Voice Walmart Web Web Components Web Development Web Extensions Web Frameworks Web Performance Web Platform WWDC Yarn

Subscribe via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Archives

  • February 2023
  • January 2023
  • September 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • November 2021
  • August 2021
  • July 2021
  • February 2021
  • January 2021
  • May 2020
  • April 2020
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • April 2019
  • March 2019
  • January 2019
  • October 2018
  • August 2018
  • July 2018
  • May 2018
  • February 2018
  • December 2017
  • November 2017
  • September 2017
  • August 2017
  • July 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012

Search

Subscribe

RSS feed RSS - Posts

The right thing to do, is the right thing to do.

The right thing to do, is the right thing to do.

Dion Almaer

Copyright © 2023 · Log in

 

Loading Comments...