Pinned Tweet
🔥 Introducing telephoto, a compose library for displaying zoomable images with automatic sub‑sampling of large bitmaps: saket.github.io/telephoto/
17
97
734
91,803
Atif Aslam showing off his GitHub contributions on stage
75
326
4,489
Built a macOS app for transferring files to Android for my own convenience. Does anyone wanna use this?
214
521
3,600
🔥 Introducing cascade, a library for building nested popup menus with smooth height animations: github.com/saket/cascade/
39
319
2,628
PSA: The perf of Android emulators have massively degraded because they haven't been using hardware acceleration on macOS for quite some time. This can be fixed by editing your emulator's config and changing graphics acceleration from automatic to HW. Here's a comparison:
14
107
837
105,226
They say we see on clouds what we most want
10
132
731
IntelliJ has announced Code With Me for collaborative development inside IntelliJ and it's amazing. @EgorAnd and I spent some time pairing today and we were even able to work on different files in the project. It's way more powerful than screen sharing. youtrack.jetbrains.com/issue…
18
170
593
When your product's scale explodes but you ignore refactoring your codebase for 150 years
6
109
411
For the past few months, I’ve been working on a tiny app for exploring Kotlin Multiplatform and it’s finally in a state where it can accept community contributions. Say hello to Press: github.com/saket/press
14
69
344
This is a macOS app. There are many like it, but this one is powered using kotlin multiplatform. github.com/saket/press/pull/…
10
27
352
Fun fact: Google Pixels have had this for at least 2 years now. Android even goes a step ahead by keeping the subject locked in the center and stabilizing the preview to a small extent.
Probably my favorite moment in the #iPhone15 review, have you tried zoom + walking + action mode?
21
20
332
61,550
Animations look so pleasing when they're synchronized with the keyboard. github.com/saket/press/commi…
13
14
320
Teleport's macOS app is slowly taking shape. There's a lot left to be done, but here's a sneak peek!
11
5
325
❤️ Canvas#clipPath()
7
29
323
This is going to be such a game changer. Available since androidx.activity:1.8.0-alpha03: developer.android.com/refere…
12
44
309
28,150
"The new Facebook Messenger is twice as fast to start and is one-fourth the size... We accomplished this by using the native OS wherever possible" engineering.fb.com/data-infr…
7
46
288
One of the many things I was constantly amazed about during my first few weeks at Square/Cash App was seeing how fast this team shipped code. Here's a summary of my observations and learnings from the last ~two years. saket.me/great-teams-merge-f…
12
60
286
I'm calling it Teleport, or short for "Google refuses to admit file transfers to Android has been a mess for a decade, and is instead giving us Nearby Share which is too little, too late".
5
11
278
👀 "App-driven IME experience through WindowInsetsAnimationController" android-developers.googleblo…
13
48
269
🐶
6
17
269
After two years of its initial release, InboxRecyclerView v2 is out with a bunch of improvements. Here's a comparison video showing how visually pleasing the update is: github.com/saket/InboxRecycl… See 🧵 for other notable changes.
6
24
260
When did life become so easy?
6
18
263
For everyone who's as confused as I am with maven terminologies, here's something to help
7
48
246
Super excited to announce that we're releasing Contour v1.0. 🎉 Contour is a typesafe, Kotlin-first API for building dynamic layouts using lambdas as constraints. It powers hundreds of views in our app and we absolutely love using it. github.com/cashapp/contour
13
25
249
Released a new version of cascade with major performance improvements for Compose UI. github.com/saket/cascade/rel… Before vs after:
5
11
244
19,087
This is happening faster than I expected: as of today, Cash App is using Compose for all new features.
24
16
243
Here's a weird trick to identify if an Android app is written using Compose UI
17
13
236
25,525
Selecting text from Recent Apps is one of my favorite features of Google Pixel that probably no one knows about.
15
22
218
❤️ Canvas#clipOutPath github.com/saket/press/commi…
8
8
219
The reason I prefer in-person Android meetups to virtual meetups
7
9
225
Inline confirmations feel so much better than showing additional popups
2
10
217
Hi, this is my new home @Square
14
214
This meme is so fitting
5
18
210
I'm honored to share that I'll be giving guest lectures at the University of Waterloo for introducing students to Android development. If you're taking Software Design & Architecture at UW, come say hi on May 25 and May 30! cs.uwaterloo.ca/~m2nagapp/co…
12
5
213
It works like AirDrop over a shared network connection so file transfers are fast and don't require any data connectivity.
7
4
189
A sign of a good library is that it forces you into doing the right thing automatically. For e.g., SQLDelight forces you to maintain separate models for db and network. Retrofit forces you to hide your network calls behind an interface. What other examples can you think of?
17
16
186
cs.android.com has to be one of the best things that have happened to Android dev. Makes it so easy to read and understand platform code.
5
24
179
I'm super excited to announce that I've been selected as a GDE for Android. I owe a lot to the community for helping me reach where I am today. I'll hopefully be able to inspire others as well. 💌 🎉🎉
50
7
175
I owe my present career to Twitter. Thanks to everyone who has helped build this website! 💙
1
13
169
Teleport's android app is nearing completion. This is the fastest I've ever built a mobile app, all thanks to Compose UI *chefs kiss*!
6
4
167
I never shared this publicly, but I took a 6-month unpaid vacation from work. It ended yesterday. I had lots of fun spending my time doing nothing, playing video games, (re)learning how to drive, working on a secret side project, binge-watching TV series, and traveling to Banff.
6
1
171
10,525
Looks like the Android docs for spans were recently updated with their detailed usage examples and images. Never too late. 👏
4
21
156
Cash App now supports themed app icons on Android 13, courtesy of @AndroidHamilton.
5
7
157
Code reviews at uncommon keep us on our toes
3
25
154
Recreated Dank's swipe gestures in Composed UI as a learning experience. The draggable() modifier makes this such a breeze to implement!
5
9
154
I haven't been posting much because life has been unusually busy these days, but wife and I just bought our first car, the Genesis GV70 ☺️.
16
1
163
14,583
For folks migrating their libraries out of Jcenter, please don't choose JitPack for anything that's serious. Maven Central is far better for your artifacts and setting up a Sonatype account is a one time effort.
7
42
151
Hmmmmm so faster Gradle builds?
Very proud that our @GoogleAI team has achieved a big breakthrough in quantum computing known as quantum supremacy after over a decade of work, as published in @Nature. Thank you to our collaborators in the research community who helped make this possible. ai.googleblog.com/2019/10/qu…
9
4
141
"@JakeWharton brings back Steve Jobs from the dead by introducing him to Android"
2
3
144
By migrating from Views to Compose, we sacrificed our ability to use this meme in PRs. We won… but at what cost?
5
4
143
10,699
Welcome Jake. Glad to hear you were able to clear the interview rounds. I can show you around our codebase if you need any help -- some of the code written 2¾ years ago can be a bit overwhelming.
1
1
139
We got some test M1 MacBooks at Square and all I can say is… I'm going to miss my portable heater once it starts snowing next month.
5
3
142
Just noticed that the person who singlehandedly made /r/androiddev a toxic place for discussions has also been spewing anti-vaxx theories on twitter all this time. Why are we still enabling Vasiliy Zukanov in the Android community?
14
12
135
Thinking of writing a blog post on how we're adopting Compose UI in @CashApp's design system. Is there anything specific that I should address?
26
3
133
JetBrains' new UI just kicked in for my Android Studio. File icons in the left sidebar are a bit distracting, but I'm enjoying the minimal top and bottom bars!
14
4
131
Recreating @Sam_Ruston's squiggly underlines in Compose UI. Text does not support custom spans yet so I'm drawing directly on Canvas.
1
4
134
What if text cursors could animate?
14
5
136
"Remember that SwiftUI ships with the OS, not with your app, so any bug fixes will only help if your users update the OS" This is going to be such an important distinction for Jetpack Compose, which is thankfully decoupled from the OS.
Some clear and honest words. #SwiftUI The State of SwiftUI steipete.com/posts/state-of-…
4
17
122
Bought a Pixel 5 today as a test phone and it has immediately reminded me of why I love Material Design. Android S is so beautiful. I've enjoyed using my Galaxy Fold2, but Samsung's UI is trash in comparison. I really hope the rumors of a foldable Pixel are true.
5
1
126
Checkmate 10x developers
4
9
126
2 weeks into Kotlin and my fingers can no longer write Java. Send help.
8
9
126
TIL the designer(s) of Todoist saw Press an inspiration for their recent redesign. I'm not a designer by profession so this is a compliment of the highest order for me. Thank you @benbreckler! ♥️ webdesignerdepot.com/2022/04…
5
1
122
I went to an office today in real life. AMA!
8
120
Hot damn @Sam_Ruston makes the prettiest animations on Android 🔥 play.google.com/store/apps/d…
7
6
116
Changing line heights in Android using LineHeightSpan has this ugly side-effect where the cursor ends up being very tall, extending till the full line height instead of just the text height. I've decided to go to extreme lengths to fix this over the next few days. For science.
4
3
119
I'd have probably not been able to move to Canada if I didn't have a university degree. Please don't listen to this advice if you wanna keep immigration as an option in your life.
University degrees are IMO status and not substance at this point. I'd much rather see someone's exceptional work or how they perform at a task.
6
8
113
This navigation indicator is still one of my favorite UI interactions that I've created. I wrote this some 3 years ago at my previous company, but never got the chance to open source it while I was still working there. All I have now is this GIF.
7
4
116
Squiggly underlines are so cute they should be used everywhere in Android.
8
2
111
Animations in Android S are so pretty. Here's a 🧵 of my favorites to create some hype. Feel free to add yours? 1) Going home from an app that was opened from its homescreen widget:
9
10
112
This is my favorite change in Android Q beta5 so far
4
6
112
friendship ended with samsung fold. now pixel fold is my new best friend.
11
111
9,836
After many months of work, syncing of notes in Press is almost ready on Android. My dream is to get it working on macOS as well. github.com/saket/press
2
111
It's finally here! Introducing Dank, a gesture driven app for Reddit that puts user generated content at the center. saket.me/dank/
20
46
112
Took us some time, but Cash App finally has a dark theme!
Dark mode
3
2
105
Current status: researching how to save files to android's "Download" folder across all API levels. I have no idea what I'm doing.
13
5
107
Going to build Cash App on this new thing today.
8
100
!!!
🌿👀🌿 In the wild: @saketme has captured the magic of @inboxbygmail's UI with his InboxRecyclerView—a library for building expandable descendant navigation ✨ goo.gl/EjSU7i #MaterialDesign
13
3
103
I'm creating a library for building media experiences in compose UI (zoom, sub sampling images, etc.) and I've already filled 30 pages like these in my notebook. Coordinate geometry is hard. 🫣
4
2
104
9,732
My blog post got upgraded to our company blog! cashapp.github.io/2021-04-08…
6
8
105
I’m so excited to share that I’m joining @Square. I’ll be working with @jessewilson's team in their Canada office. Square has played a significant role in shaping the Android dev ecosystem. I’m going to be surrounded by so many people who’re way smarter and cooler than me!
36
102
We're seeing Switzerland🇨🇭 this week and my favorite thing so far is taking trains to everywhere.
5
2
104
I promise I haven't stopped working on Teleport yet
4
2
100
Google: touch targets should be at least 48dp. Also Google's weather widget:
4
4
96
8,621
Me seeing everyone in my timeline checking in at SFO for Google I/O.
5
6
97
My love for squiggles continues github.com/saket/squiggly-sl…
2
7
100
5,411
Recreated and open sourced! github.com/saket/swipe
Recreated Dank's swipe gestures in Composed UI as a learning experience. The draggable() modifier makes this such a breeze to implement!
1
9
92
Synchronized keyboard animation looks so nice on Android 11. Time to deprecate saket.me/smoothly-reacting-t….
4
5
90
Press v1.7 is rolling out today with support for folders. To make this possible, I designed something I had wanted to do since forever — infinite levels of expandable descendant navigation! 💥 github.com/saket/press/relea…
4
3
96
I really like Google Drive's popup menu that smoothly animates between sub-menus. Is there any existing library that recreates this?
12
1
88
Enjoying this lovely view instead of working this long weekend like the lazy developer I am.
2
91
Working with coordinate geometry keeps me at my toes and is a constant reminder that I'm not smart at maths 😵‍💫. I'm working on adding EXIF rotation support to telephoto and it has taken me 5 days to figure out how to correctly rotate tiled images.
6
1
88
13,113
Compose UI has a slight learning curve for handling gestures, but writing them is so satisfying. The code for detecting this quick zoom gesture is only 24 lines long, uses zero global state and is entirely contained in a single function.
3
11
95
13,281
This is such a huge thing that it deserves Sundar Pichai announcing it on the IO stage.
One of my favourite changes in #AndroidR is the revamp of the WindowInsets API For example, we now have way to detect when _and_ where the IME is visible on screen ⌨️📐
4
17
90
This upcoming week is going to be my last at Uncommon. After being a part of this team for the last 3 years, it feels weird to think that I’ll no longer be seeing with these happy faces everyday. Working with this bunch of weird people has been an absolute blast.
11
91