Skip to main content

Posts

React Native is the Future of Mobile at Shopify

So why the switch to React Native? And why now? How does this fit in with our native mobile development? Why Move to React Native Now? There were 3 main reasons now is a great time to take this stance: we learned from our acquisition of Tictail (a mobile first company that focused 100% on React Native) in 2018 how far React Native has come and made 3 deep product investments in 2019 Shopify uses React extensively on the web and that know-how is now transferable to mobile we see the performance curve bending upwards (think what’s now possible in Google Docs vs. desktop Microsoft Office) and we can long-term invest in React Native like we do in Ruby, Rails, Kubernetes and Rich Media. Engineering Shopify

Dark Theme (Dark Mode) in Android WebViews, WKWebViews and CSS

So your apps just implemented a shiny new dark theme and it’s looking 👌 There are lots of benefits to having a dark theme in your application, and having it consistent throughout your application allows for a great user experience. But what happens when the the user runs into a WebView in your app? Support: if (WebViewFeature.isFeatureSupported(WebViewFeature.FORCE_DARK)) { ... } Set: WebSettingsCompat.setForceDark(webView.settings, WebSettingsCompat.FORCE_DARK_ON) Current setting: val forceDarkMode = WebSettingsCompat.getForceDark(webView.settings) Joe Birch Assuming your question is asking how to change the colors of the HTML content you are displaying in a WKWebView based on whether light or dark mode is in effect, there is nothing you do in your app's code. All changes need to be in the CSS being used by your HTML content. CSS dark mode via :root variables, explicit colors and @media query: :root {     color-scheme: light dark;      ...

Facebook is building an operating system so it can ditch Android

Facebook doesn’t want its hardware like Oculus or its augmented reality glasses to be at the mercy of Google because they rely on its Android operating system. That’s why Facebook has tasked Mark Lucovsky, a co-author of Microsoft’s Windows NT, with building the social network an operating system from scratch, according to The Information’s Alex Heath. To be clear, Facebook’s smartphone apps will remain available on Android. “We really want to make sure the next generation has space for us,” says Facebook’s VP of Hardware, Andrew ‘Boz’ Bosworth. “We don’t think we can trust the marketplace or competitors to ensure that’s the case. And so we’re gonna do it ourselves.” TechCrunch

Great Teams Are About Personalities, Not Just Skills

The scientific evidence indicates quite clearly that individuals’ personalities play a significant role in determining team performance. In particular, personality affects: What role you have within the team How you interact with the rest of the team Whether your values (core beliefs) align with the team’s In our own work we found that psychological team roles are largely a product of people’s personalities. For example, consider team members who are: Results-oriented. Team members who naturally organize work and take charge tend to be socially self-confident, competitive, and energetic. Relationship-focused. Team members who naturally focus on relationships, are attuned to others' feelings, and are good at building cohesion tend to be warm, diplomatic, and approachable. Process and rule followers. Team members who pay attention to details, processes, and rules tend to be reliable, organized, and conscientious. Innovative and disruptive thinkers. Team members who n...

Amazon Builders' Library

How Amazon builds and operates software There’s no question the world will be a better place if everyone can innovate more quickly and efficiently. And if stuff just works better. For that reason, I’m excited that we are sharing what we’ve learned with you in The Amazon Builders’ Library. -Charlie Bell, SVP, Amazon Web Services Available so far: Avoiding insurmountable queue backlogs Challenges with distributed systems Going faster with continuous delivery Ensuring rollback safety during deployments Static stability using availability zones Avoiding fallback in distributed systems Caching challenges and strategies Leader election in distributed systems Timeouts, retries and backoff with jitter Using load shedding to avoid overload Implementing health checks Workload isolation using shuffle-sharding Instrumenting distributed systems for operational visibility Amazon

A KPIs Guide for Google Play Apps and Games: Intro to Metrics

Daily Revenue DAU New Installs Organic Deep Link Returning Users Dx Retention Install cohort size ARPDAU Daily Conversion New Buyer Conversion Repeat Buyer Conversion ARPPU Average Tx Value #Tx/Buyer Nice two-way tree with detailed explanation: App user growth and retention versus revenue per user. Google Play @Medium.com Part 2: Acquiring and Keeping New Users “What does the early engagement activity of my new users tell me about their likelihood to return?” “What can I test in order to increase conversion on my store page?” Google Play @Medium.com “What is the core action that I want my new users to perform to drive strong retention?” “What are some tips for reactivating lapsed users?”

Organisational Dysfunctions Mirrored as Architectural Complexity

Within this broad space, one sub-topic that frequently captures my attention is the relationship between organisational dysfunctions and their influence on software architecture. One pattern I’ve observed in large and smaller organisations is The Accountability Protection Buffer. This pattern arises when a team needs to shield themselves from problems inherited through services they depend on owned by other teams. Nick Tune @ Medium.com