Artwork for podcast Android Bytes (powered by Esper)
The Android launcher is much more powerful than you think (w/ Kevin Barry, Nova Launcher)
Episode 34th February 2022 • Android Bytes (powered by Esper) • Esper.io
00:00:00 00:52:41

Share Episode

Shownotes

Sign up for the 451 Research and Esper webinar here. https://bit.ly/3Jjyyam

On this episode, we chat with one of Android's most well-known and longest-standing launcher developers, Kevin Barry. Kevin is known for his massively popular app Nova Launcher, but he's an all around expert on all things Android interface and homescreen, and we break down some of the changes Google is introducing with Android 12L, Material You, and more.

Transcripts

Mishaal:

Okay, well, thank you everyone for joining us this week,

Mishaal:

we're going to be talking about the stock, or should I say first party

Mishaal:

launcher experience on Android?

Mishaal:

We have a special guest with us, Kevin Berry, who is the lead developer of Novo.

Mishaal:

If you've ever looked up installing a third-party launch application on your

Mishaal:

device, you very likely come across or have used Nova launcher in the past.

Mishaal:

It is one of the longest standing, actively developed third-party

Mishaal:

launch applications on Android.

Mishaal:

And we're really happy to have Kevin here on the show with us.

Mishaal:

Thanks for joining us, Kevin,

Kevin:

glad to be here and nice to talk to him.

David:

Yeah, Kevin, I think we met years ago at Google IO, like Google

David:

IO, 2016 or 17 or something like that.

David:

You know, I've used Nova off and on over the years, but when we talk

David:

about launchers Michelle, I think a great place to start is really

David:

why Android is special because of the way it uses launchers and how.

Mishaal:

Right.

Mishaal:

So I'm sure most of, you know, what a launcher refers to on Android.

Mishaal:

Generally when people talk about it, it's the app that provides the homescreen

Mishaal:

interface, the interface where you can launch applications from, you can put

Mishaal:

widgets on, you can change a wallpaper.

Mishaal:

It's the, perhaps the app that you interact with the

Mishaal:

most because it's where you.

Mishaal:

Well, before you launch applications from, that's, why it's called a launcher.

Mishaal:

And the, one of the key differences between Android and iOS since the very

Mishaal:

beginning has been the fact that you can change the laundry app on Android.

Mishaal:

And you can't do that on iOS.

Mishaal:

So pretty much all iOS devices at the same launcher pretty much

Mishaal:

a similar home screen set up.

Mishaal:

And, you know, it was a big deal when iOS started getting some minimal

Mishaal:

homescreen set up customization, but Android decided that for years.

Mishaal:

And that's been one of the biggest differences between the two operators.

Mishaal:

So I just want to throw this quick question out to all of you

Mishaal:

because you know, launches have been around for over a decade.

Mishaal:

Now, Android itself is over a decade old.

Mishaal:

Have you ever used a third-party launcher for an extended period?

Mishaal:

And by that, I mean, like you installed it and you kept it installed for

Mishaal:

not just like a week to play around with, but for months or maybe years.

Mishaal:

And if so, are you still using.

Kevin:

Well, it's probably no surprise, but I do use Nova launcher.

Kevin:

But to go back in time a bit, when before I made no lunches, so the

Kevin:

Android to Dayaks era, then I was the developer of widget locker as

Kevin:

well, which is a custom black screen.

Kevin:

Also based on the launcher code, the opensource.

Kevin:

It was paid lunch or code.

Kevin:

At that time, sometimes I would just use the stock launcher.

Kevin:

But I also tried ADW launcher and launcher pro.

Kevin:

And part of the reason I was using them was just to get a different

Kevin:

experience as a developer.

Kevin:

And how would you locker interacted with them?

Kevin:

But part of it, especially if I was using like a Motorola device that had an awful

Kevin:

launch at the time I got the better, the more Google like experience by using one

Kevin:

of those launchers rather than the OEM.

David:

And I think that's, that's an interesting thing to bring up as far

David:

as the OEM experiences back in the day, because they were especially bad Modo.

David:

Their software layer was called Moto blur and it was notorious for being

David:

like just terrible, terrible performance and really heavy handed modernly.

David:

Most Android launchers are really just themes on a common mantra

David:

paradigm, but it wasn't that way back

David:

in the.

Mishaal:

Yeah.

Mishaal:

And one of the key differences between stock or first party

Mishaal:

launchers, I should say.

Mishaal:

And third-party launchers has been customizability.

Mishaal:

And to this day, I think third-party launchers still have most first party

Mishaal:

launchers beat when it comes to customer.

Kevin:

And though I generally have been very displeased with OEM launches to

Kevin:

give credit on resizable widgets was first done by Moto blur and scrollable

Kevin:

widgets was first done by HTC.

Kevin:

And then later I mean, it's in the third-party launchers adopted that there

Kevin:

was a custom API for sending widget sizes, I think, and for scrolling.

Kevin:

And then eventually Google officially supported those.

David:

Yeah.

David:

And we see that across the Android platform, Google pulling from partners

David:

for interface, elements, or features.

David:

And the launcher is one where I think, you know, we've really seen that

David:

evolve a whole lot both from other Android makers, but also a little bit

David:

from apple too, which is interesting.

Mishaal:

Yeah.

Mishaal:

So Kevin, you clearly have a lot of experience with laundry applications

Mishaal:

on Android, you've been making level entre for over a decade.

Mishaal:

Now, I think it was this past December where you guys just

Mishaal:

celebrated the 10 year anniversary of the release of Nova launcher.

Mishaal:

It was released back in the era of Android 4.0 ICS.

Mishaal:

And you know, you guys are still updating it to the states.

Mishaal:

It's pretty cool.

Mishaal:

I just wanted to ask you, like, what's it been like working

Mishaal:

on this project for so long?

Mishaal:

Do you have any particularly memorable moments you want to tell us about?

Kevin:

I guess there's a lot.

Kevin:

It's certainly it's been a long time.

Kevin:

When I got into, I mean, when I got into Andrew development,

Kevin:

it was, I had a day job.

Kevin:

I figured her development was a hot indie enter developed as a hobby for

Kevin:

fun and eventually be good on a resume, but I didn't really expect to stick

Kevin:

with it this long and to be doing it independently this long the launcher

Kevin:

aspect It's it's an exciting place that there's it doesn't get stale.

Kevin:

So there's always, I have features that Austin has they add a

Kevin:

feature and I think, oh yeah.

Kevin:

I first thought about doing this back and Nova 1.0 or so then I

Kevin:

didn't get around to it until now or 10 years later or something.

Kevin:

So there's plenty.

Kevin:

On the backlog to do.

Kevin:

And it's also keeping up with what Google or OEMs are doing.

Kevin:

And sometimes that's, you know, working around stupid

Kevin:

bugs, that's just frustrating.

Kevin:

But other times it's like adaptive icons.

Kevin:

That was a cool new take when Google first release that.

Kevin:

And now it looks like they're going to do more with theming of that.

Kevin:

So it's it's fun to just see what's out there and what I can make use.

David:

So on that note, actually, Kevin, and, you know, feel free to, to no

David:

comments on this one, if it's, if it's a forbidden subject, but you know, obviously

David:

you've been in this space for so long.

David:

Launchers are interesting, not just to users.

David:

They're interesting to phone manufacturers and.

David:

Because they're the primary kind of surface on which a user is going to

David:

be interacting with their product.

David:

And I know at some point Nova did have a partnership with one phone OEM,

David:

which we will not name unless you want to name what's your experience been

David:

like with that with partnerships and companies reaching out to work with you?

Kevin:

Yeah, I mean, it's, it's public information and Nova ship on the razor

Kevin:

phones that net Motorola razor, the razor, the gaming company phones OEMs

Kevin:

kind of struggle with the launcher that like, you know, an OEM like Samsung

Kevin:

of course, they're putting a lot of work into scan the whole device.

Kevin:

And the laundry is a key part of that, but smaller OEMs, like razor, they

Kevin:

don't want to deal with as much of that.

Kevin:

And launchers are an area that it's hard to find an existing developer

Kevin:

that has experience in launchers.

Kevin:

And it's what Google gives you.

Kevin:

Excuse me, the stack luncher three, doesn't give you enough to be compelling.

Kevin:

So for the, how the razor deal came about was razor bought next bit, which

Kevin:

was a small startup making phones, and next that made their own launcher.

Kevin:

And part of that was they had this cloud sync feature when they were

Kevin:

working on it, they realized they hated doing launch development.

Kevin:

And most of their users were power users that are installing Nova launcher.

Kevin:

So we had talked a little bit back today and just like, if we could have some

Kevin:

API to improve their cloud sync and third-party launchers and nothing came

Kevin:

of that, but then they were acquired by razor and around, right at that

Kevin:

time they were emailing me saying, are we working on a future phone?

Kevin:

We want to see if you'd be interested in working with us on this.

Kevin:

And I was pretty pleased with that deal, that it was like they

Kevin:

shipped actually Nova launcher.

Kevin:

Whereas some OEMs I've been contacted before by OEMs.

Kevin:

They want to white label the launch or something.

Kevin:

And that.

Kevin:

It's more work, it complicates things.

Kevin:

And it's just a bit less interesting.

Kevin:

So, yeah, I was pleased with that setup.

Kevin:

It was, there wasn't too much.

Kevin:

They had already tested Nova launcher on the razor phone.

Kevin:

Us, there is a fallen that was one of the first standard devices to have a higher,

Kevin:

higher than 60 frames per second screen.

Kevin:

So they had tested Nova that and ran fine at the 120 Hertz.

Kevin:

I think they've done some basic CTS that's the Android compatibility test suite.

Kevin:

They had done some of those basic tests against Nova

Kevin:

launcher and it mostly passed.

Kevin:

So there wasn't too many surprises.

Kevin:

They had a couple of things.

Kevin:

They needed an API for them to customize some things.

Kevin:

But it was pretty straightforward.

Kevin:

I've talked to other OEMs on talk to reason more.

Kevin:

The, I like working on a product for consumers and working with OEMs.

Kevin:

If, you know, doing a white label launcher for OEMs, they don't

Kevin:

really know what launchers are.

Kevin:

They don't know what they're looking for.

Kevin:

They don't know what users want.

Kevin:

They don't necessarily care what users want.

Kevin:

It's not something that's that interesting to me, but I do see like,

Kevin:

there's a, there's a need for this.

Kevin:

And so if someone out there wants to make a lunch or for OEMs there's a market.

David:

I think that's really interesting.

David:

And I think it gets into, I guess the question of what's good for the user

David:

and what's good for the OEM and that's what Google is trying to balance with

David:

with its stock launch or efforts.

David:

And I think Michelle you know, if we want to head in that direction and discuss how

David:

the stock Android launcher has evolved

David:

over the years.

Mishaal:

Yeah.

Mishaal:

It is interesting to hear from you that a lot of OEMs are quite, I guess clueless

Mishaal:

when it comes to making Watchers, that users will actually enjoy because the

Mishaal:

launcher is probably the most important application on an Android device.

Mishaal:

And it's the app that there's most interact with.

Mishaal:

But you know, Google for what they're doing is they foster the developmental

Mishaal:

contract planter applications.

Mishaal:

As you mentioned, the AOSP reference mutation that's available to

Mishaal:

everyone is not that like feature.

Mishaal:

But Google does continue to iterate on it.

Mishaal:

They do add new features and it's what most OEMs base their

Mishaal:

launch or applications on.

Mishaal:

It's what Nova bases.

Mishaal:

It's, what's what you guys base your laundry application on.

Mishaal:

It's what many other laundry is based on.

Mishaal:

And that's especially become more and more important to do

Mishaal:

because of how much has been baked into the laundry application.

Mishaal:

As the title of this podcast episode will tell you they'll stock Android

Mishaal:

launcher does a whole lot more than.

Mishaal:

Be a launcher.

Mishaal:

It's not just the place for you to launch your applications anymore.

Mishaal:

So while we're on this subject, I wanted to take things back a bit

Mishaal:

and talk about, you know, the, the reference launch or implementation,

Mishaal:

how it's evolved over the years.

Mishaal:

So it's been around for pretty much, almost a decade now, launcher three

Mishaal:

from what you said, it launched in 2013 with the release of Android 4.4.

Mishaal:

But it's been iterated on for multiple releases and every time there's a

Mishaal:

new nexus or pixel phone launched, or some new feature added that further

Mishaal:

differentiates launcher three from Google's pixel launch or implementation.

Mishaal:

So one of the things I wanted to ask you is when do you think the playing field

Mishaal:

first shifted in favor of stock launchers?

Mishaal:

And by that, I mean, when did the.

Mishaal:

Launcher three implementation start requiring some system specific

Mishaal:

integrations that just aren't available to third-party Elantras like your own.

Kevin:

So it actually it got better and then got worse that I,

Kevin:

I'm not familiar with the launch or the original launch or code.

Kevin:

So the lunch or two is when I first really got into that code and launch

Kevin:

or two used a ton of private APIs.

Kevin:

So if you just took lunch or two and tried to compare.

Kevin:

Using at that time it was eclipse, but using the standard Android SDK,

Kevin:

it wouldn't compile it because it's using all these private API API APIs.

Kevin:

So what I did in Nova launcher when I first started Navantia 1.0, so I took the

Kevin:

code and I still try to use the private API eyes cause it's using them because

Kevin:

they're faster or they can do a bit more or whatever, but I just had fallbacks

Kevin:

for everything because any future Android version might fail on these APIs.

Kevin:

So that was just kind of a lot of work that I had to wrap all these calls,

Kevin:

like all the animation effects in in Andrew, an ice cream sandwich that

Kevin:

was kind of new to the launcher, had these like somewhat 3d effect and like

Kevin:

this holographic outlines and stuff.

Kevin:

And they're all using these view transforms except fast

Kevin:

access, fast scale acts.

Kevin:

And this fast things were skipping stops, but it's a private API.

Kevin:

So would use those for the speed, but I'd fall back to the slow one, just in

Kevin:

case they stripped it out in the future, which of course they did a lunch or three.

Kevin:

The first version of option three was really built to be a lunch or library

Kevin:

that Google now launcher, which was actually part of the Google API.

Kevin:

So the Google app, which I'm sure is incredibly complicated is now

Kevin:

including this launch of three library.

Kevin:

And they need to be a ship on the play store and support

Kevin:

multiple Android versions.

Kevin:

So this was really good for launch or development is that they cleaned up

Kevin:

the code to not use private API APIs.

Kevin:

And they actually started supporting older Android versions.

Kevin:

Whereas before, if they're there, if there's somebody going to ship

Kevin:

the launcher as solely on system image, they don't need to worry

Kevin:

about different binary versions.

Kevin:

It's shipping just with that.

Kevin:

So initially it was looking kind of good with launcher three, except

Kevin:

that the Google now page itself is tied to the Google now launcher.

Kevin:

But then they gave up on Google now on share being a third-party

Kevin:

launcher and just focused on pixel launcher, which is again, a system on.

Kevin:

And now development is weird that the partially there's the system UI,

Kevin:

which is a system APK, it handles the notification shade, the lock screen,

Kevin:

including the security part of it.

Kevin:

Recent apps kind of, and that's where things got weird is they started

Kevin:

integrating system UI and the launcher.

Kevin:

And so this was first really visible in a.

Kevin:

Android some, some point or some 0.1 where they integrated the lunches after

Kevin:

was visible in the recent tabs view.

Kevin:

So it looked kind of weird, but you had your doc of icons at the

Kevin:

bottom of recent apps, and that's the same as the, I, it was not the

Kevin:

same as the doc in your home screen.

Kevin:

It was the same as the frequent apps in your app drawer and he swiped

Kevin:

it up and it had your app drawer.

Kevin:

So it felt kind of integrated, but it wasn't that you.

Kevin:

But this was a level where it would be very hard to do this

Kevin:

without the apps being integrated.

Kevin:

So they started integrating that.

Kevin:

Then they killed that feature anyway, but they kept the, just, they made

Kevin:

gesture navigation tied to the line.

Kevin:

And the only real advantage of this is animations, and you can

Kevin:

fix this other ways, which they've partially done and then regressed.

Kevin:

And it makes it much harder to be a third party lawn chair.

Kevin:

And it also means that OEMs now, when they're changing lunch or code,

Kevin:

they're messing with system UI code and it makes it all more complex.

Kevin:

And they're more likely to introduce issues, either system you buy by itself

Kevin:

or when dealing with their pre launchers.

Kevin:

Additionally, the backwards compatibility, the current AOSP launcher 3, 420.

Kevin:

It still has some checks in there for, oh, if you know, if you're running on

Kevin:

Android 11, use this API instead of this one, but it also just completely crashes.

Kevin:

If you try to run it on Android 11, as it is, it's using API APIs that, I mean,

Kevin:

I guess they exist, but they don't work.

Kevin:

Right.

Kevin:

So it's not clear, like what.

Kevin:

What's their goal.

Kevin:

Like I feel if their goal is to just support Andrew 12, that's fine, but

Kevin:

rip the bandaid off and just do that.

Kevin:

And if their goal is to support older, a hundred versions, that's great for

Kevin:

me, but they don't really assist on each you know, go over things and have

Kevin:

my own checks and work arounds anyway.

Mishaal:

So you kind of touched upon a really, really important change to

Mishaal:

launch a three while you were talking about the history of changes there.

Mishaal:

The introduction of gesture navigation, which happened with

Mishaal:

the release of band, right?

Mishaal:

19.

Mishaal:

That release introduced the two button navigation gestures, but most

Mishaal:

importantly, it tried to integrate the recent apps overview code and move

Mishaal:

that into the launcher three code base.

Mishaal:

And the reason Google wants to do that as Kevin mentioned, is to improve the

Mishaal:

way animations looked, Google, wanted to make gesture seem seamless so that when.

Mishaal:

Do a swipe up from the gesture pill and Android nine PI it quickly moves to the

Mishaal:

recent apps overview without any hitches.

Mishaal:

And that the app tray on the bottom, you can quickly switch between applications

Mishaal:

by dragging the pill left and right.

Mishaal:

Et cetera.

Mishaal:

And but the problem of doing this is that moving so much privileged code to

Mishaal:

launch a three kind of turned third-party Contra applications into second class

Mishaal:

citizens because they just can't.

Mishaal:

Be the provider of the recent apt overview, the same way that system

Mishaal:

installed launch applications could.

Mishaal:

And I'd say that's probably, that's probably what started the diversion

Mishaal:

from the that's that's what started to diverge third-party launchers

Mishaal:

from system launchers in many ways.

Mishaal:

And but when people don't know exactly like how this affected third party

Mishaal:

laundries, Kevin, can you explain a bit how moving gestures and the system

Mishaal:

UI code for recent apps into the launcher three code base affected third

Mishaal:

party launchers in, in some detail,

David:

it looks like Kevin was kicked off.

David:

Yeah, he's requested speaker.

David:

Let me see if I can give it

David:

back to him.

David:

There we go.

Mishaal:

Sorry, Kevin, did you catch what I said at the end there?

Mishaal:

So I was just going to ask you as you know, that with the introduction

Mishaal:

of Android pie the quickest.

Mishaal:

Provider was created and third-party launchers.

Mishaal:

Aren't able to act as the quick step provider.

Mishaal:

And by that, I mean, they're not able to implement the recent

Mishaal:

apps overview or handle gestures, the same way the stock launcher.

Mishaal:

Can I just wanted to ask you what problems exactly did that

Mishaal:

introduce for third-party launchers?

Mishaal:

Like, can you describe the troubles with animations and app tasks?

Mishaal:

Switching?

Kevin:

Well, so the first limitation was that we couldn't be like

Kevin:

recent apps would look different.

Kevin:

Recent apps wouldn't show the app drawer and the top row of that when using a

Kevin:

third party lawn chair, and now visually was very noticeable, but it wasn't.

Kevin:

It didn't feel buggy or anything to, to Google's credit there.

Kevin:

The change where it gesture navigation stopped doing that, but it was about

Kevin:

animations is the animations look works with which confuses users,

Kevin:

OEMs introduce issues that like some OEMs don't show the clear all button

Kevin:

views, if they're a party launcher.

Kevin:

And then of course users, you know, assume that this is.

David:

Well, it looks like Kevin, once again, cut out.

David:

And I'm going to add him back.

Mishaal:

Okay.

David:

Show some disconnecting.

David:

We're sorry for the technical difficulties there.

David:

Folks.

David:

This is going to be a fun

David:

edit in post.

David:

Speaking of which I'm just going to mark a clap here for myself.

David:

Yeah, in the meantime here we'll get Kevin to continue his thoughts on, on

David:

that topic, but while we're waiting.

David:

I guess that you know, kind of the overview and the reason we're asking a

David:

lot of these questions is that Google has taken a, as Kevin said, a greater degree

David:

of control over the launch application, even though it is open source and even.

David:

That control is not necessarily direct.

David:

It can be quite technical in that Google is creating not

David:

challenges, but it's introducing work to emulate it's experience.

David:

And it looks like Kevin

Kevin:

is back.

Kevin:

Sorry for that.

Kevin:

I unplugged my USB microphone.

Kevin:

I don't know if that was causing it to do with the Twitter app.

Kevin:

Just keeps exiting.

Kevin:

Well, so back to gestures.

Kevin:

Yes.

Kevin:

So Google integrated justice with the fair to get these better animations, I guess.

Kevin:

And because they built the framework for when the actor was there and

Kevin:

it makes it behave different when you've seen a third party launcher.

Kevin:

And sometimes this is issues added by OEMs, like not

Kevin:

showing the clear all button.

Mishaal:

Oh dear.

Mishaal:

Did it happen?

Mishaal:

It looks

David:

like it may have,

Mishaal:

well I guess I can continue some of the thoughts there.

Mishaal:

If you've been paying attention to some of the recent changes that are being

Mishaal:

introduced in the upcoming Android, 12 L release Google is adding a

Mishaal:

task bar feature in at the bottom of the screen on large screen devices.

Mishaal:

The task bar is kind of like the task bar that you find on desktop operating system.

Mishaal:

And that feature is also being built into launcher three.

Mishaal:

So it's just yet another example of how the launcher is becoming the one-stop shop

Mishaal:

for everything gesture and task related.

Mishaal:

And yeah, it's, it's doing so much that it just isn't available

Mishaal:

to third-party applications.

Mishaal:

I don't think we'll see an API anytime soon that will let Nova launcher,

Mishaal:

for example, become the task bar.

David:

let's shift over to that 12 L discussion with the task bar,

David:

because I think that is the most dramatic evolution of the Android

David:

launcher we've seen in some time.

David:

Kevin, what do you see the Google is trying to accomplish

David:

with this 12 L laundry?

David:

And do you think that it's just really the beginning of what they're trying to do?

Kevin:

So in AOSP, there's actually been a secondary launch,

Kevin:

secondary display launcher.

Kevin:

So this is meant.

Kevin:

So if you plug your phone into a TV, it can have a different launcher on

Kevin:

it or a computer monitor or whatever.

Kevin:

And this is kind of supported for third party launchers, which is great that they

Kevin:

can also be secondary display launchers.

Kevin:

And the code in AOSP says, it'll look at the default launch, or if it has a

Kevin:

secondary display launch, it uses it.

Kevin:

Otherwise it uses the system.

Kevin:

But naturally OEMs override this.

Kevin:

So for and Google, doesn't actually support plugging

Kevin:

your pixel device into a TV.

Kevin:

So this is basically, you can only test it on a custom rom because Samsung

Kevin:

supports two screens, but they have their own Dex solution on that display.

Kevin:

So I think that this Android 12 Al test thing is kind of an extension

Kevin:

of that, of how do we get a more desktop or tablet like UI that is.

Kevin:

Transient it'll appear when appropriate, but not always there.

Kevin:

And yeah, I'm concerned with how much is going to be accessible

Kevin:

to third party launchers.

Kevin:

And I imagine it will be limited and there is, there's a degree of Google.

Kevin:

Kind of trying that, like there's the they did improve

Kevin:

animations for when exiting an app returning to the home screen.

Kevin:

And there's the secondary display launch or there is the API there for it.

Kevin:

So maybe they'll throw a small bone to a third party launched or.

Kevin:

With this task bar thing, but I'm sure it's not going to be enough

Kevin:

and it's not going to be well-tested because Google doesn't like the

Kevin:

Justin AF contract for that return animation, they just don't test it.

Kevin:

Or they, you know, minimally test it, but not with actual users because they don't

Kevin:

build a third party launcher anymore.

Mishaal:

Yeah.

Mishaal:

That is one thing that you just will probably come across issues and.

Mishaal:

With the third-party launchers on devices that run 12 hour and it's something

Mishaal:

we'll definitely have to keep an eye out or but to Google's credit, they

Mishaal:

do make some general, they do make a lot of general improvements that affect

Mishaal:

the improve the user experience for all users of third-party launchers.

Mishaal:

For example, Android 12, Google made a big deal about the

Mishaal:

improvements they made to widgets.

Mishaal:

And although widgets are not, you know, they're not contained within launchers.

Mishaal:

They are an integral part of the laundry.

Mishaal:

In 12 Google revamped that design of, of widgets to encourage developers to

Mishaal:

implement material you, they revamped the widget picker experience and the set up

Mishaal:

and post set up experience for widgets.

Mishaal:

And they also introduced a developer support library that makes it

Mishaal:

easier to build layouts for widgets.

Mishaal:

So there's a lot of widget related work that Google did and Android 12.

Mishaal:

And I wanted to ask you, Kevin, what do you think was the most significant.

Mishaal:

Change they made in 12 in terms of with

Kevin:

its,

Kevin:

I think it's it's not so much the technical, but it's that they're

Kevin:

encouraging users and developers to use widgets and to update them to

Kevin:

be modern which has an Android have always been a strong point of it.

Kevin:

And then, well, I guess they were a certain point and they kind of stagnated.

Kevin:

So like a lot of my users are using KW GT custom widgets.

Kevin:

And this is a great program.

Kevin:

Lets you customize build your own widgets however you want.

Kevin:

But of course it's and you can it's one app, so you can make them all

Kevin:

look similar, however you want it to.

Kevin:

But of course it's limited what data has access.

Kevin:

So ideally third party apps all have widgets and you can have them

Kevin:

all together and they actually look good, but that's the limitation is

Kevin:

that like the g-mail, which is going to look bad and next to a Twitter

Kevin:

web, because they just use different colors and size in and everything.

Kevin:

So Google encouraging material you for widgets.

Kevin:

I think that's a place that.

Kevin:

Apps that are going to be too concerned about their brand.

Kevin:

They're going to feel it's fine if it doesn't have, you know, their normal

Kevin:

color shade, because it's gonna be on a user's wallpaper anyway, and then we'll

Kevin:

blend it with other widgets and then use this to be able to build these nice

Kevin:

themed home screens without having to build all their own widgets by themselves

Kevin:

using the Cajun KWCT are similar.

Mishaal:

So a widgets aren't the only.

Mishaal:

Feature that Google is touching when it comes to both the launcher experience.

Mishaal:

Android 12, they recently began to experiment with themed icons and

Mishaal:

currently the steamed icons are coded.

Mishaal:

The list of them is not, it's not something that third party developers

Mishaal:

can implement at the moment, but for the longest time, many third-party

Mishaal:

launchers and OEM letters of support icon packs, but it seems Google is taking a

Mishaal:

different approach with themed icons.

Mishaal:

I wanted to ask you.

Mishaal:

Well, why do you think Google has an added, I compact support to

Mishaal:

Palantir three experience yet.

Mishaal:

And what do you think of its new deemed icons?

Kevin:

So issue with icon packs is that a third party developer is deciding

Kevin:

what some app is going to look like.

Kevin:

And so this can happen on Nova launcher.

Kevin:

The icon has changed a bit over the years not significantly, but it has changed.

Kevin:

And sometimes I see themes where they still using really old icon of

Kevin:

Nova and basing their icon off that.

Kevin:

And it just looks a bit wrong.

Kevin:

And for bigger brands that are more particular about this, they

Kevin:

could be pretty upset with Google.

Kevin:

If Google is letting them change, you know, their logo, their colors,

Kevin:

to something random that some dev decided, especially if the dev,

Kevin:

you know, didn't like an app.

Kevin:

So they intentionally made it look bad or something.

Kevin:

So I can see there's kind of a responsibility.

Kevin:

Google has to app developers to not let their apps, their app.

David:

Well, it looks like we lost Kevin again, but I think I

David:

know where he was going there.

David:

And it's a, it's a really interesting one that most users probably don't think

David:

about with icon packs, which is that there's a lot of intellectual property

David:

of play in a logo it's a trademark.

David:

And so companies are very protective of that.

David:

And that's why you see you know, there just isn't really, you know,

David:

Impetus on the side of Google or device makers to, to reshape

David:

another company's icon or product or iconography, I should say because they

David:

could get them in legal trouble and B it just needlessly upsets people.

David:

But as a user unifying, that design language is incredibly desirable

David:

and that's why contacts are so

David:

popular.

Mishaal:

And it's why I think Google will probably take a different approach with

Mishaal:

the themed icons in the next Sanford.

Mishaal:

Speaking of what Kevin and David brought up, you know, Google doesn't want to

Mishaal:

let users mess with icons themselves, but if app developers were to implement

Mishaal:

themed icon support on their own, perhaps by say implementing an adaptive icon,

Mishaal:

then Google could update the platform API and make it so that the platform

Mishaal:

uh uniformly applies monochromic and then tinting those application icon.

Mishaal:

Implement dynamic coloring for icons.

Mishaal:

So I think that would probably be an approach that would

Mishaal:

be the best of both grounds.

Mishaal:

It would give users the ability to theme icons, and it would avoid the

Mishaal:

intellectual property disputes that might arise from, you know, letting

Mishaal:

developers submit icon packs that, you know, modify a brand's logo in some way.

Kevin:

To continue theme the icons, having them hard-coded doesn't work.

Kevin:

You can't have a compelling home screen having an API where developers

Kevin:

can make their own monochrome icon and in the system can apply

Kevin:

colors to the background and for.

Kevin:

That'd be really cool.

Kevin:

It, let users have easily have a customized home screen and, you

Kevin:

know, be able to change the colors or change the wallpaper or change

Kevin:

the colors and it give their pre launch or something to play with.

Kevin:

Like we might go to do interesting things with that.

Kevin:

So I'm excited to see where that goes.

Mishaal:

And there is one more question I wanted to ask you on, on that note.

Mishaal:

Are there any launch existing one to three features you'd really

Mishaal:

love to implement if it was.

Kevin:

So, I mean, yeah, I'd love if I could integrate gesture navigation.

Kevin:

And I can't partially, it'd be cool to interdict integrate and let users

Kevin:

customize gestures you know, extend it.

Kevin:

So maybe swiping from the side of this from the left side of the screen is

Kevin:

different than from the right side of the screen or from the top is different

Kevin:

than bottom are two finger gestures or whatever, like giving the Nova

Kevin:

style customization of gestures to system-wide gestures would be awesome.

Kevin:

But that's, I can kind of understand why Google wants to give third party

Kevin:

launchers, that level of control that system, because it could break so much,

Kevin:

it can make the phone kind of unusable and difficult to change the settings back.

Kevin:

But it'd be very fun if they allow that I don't really see that happening, but

Kevin:

if they, I feel they can fix animations and if they could fix that and fix it,

Kevin:

I guess there's also, there's the new.

Kevin:

Deep search, which I've in theory, it might be usable by third party

Kevin:

launchers, but I believe the apps that are putting things in a

Kevin:

search would have to opt into that.

Kevin:

And I don't see that happening, but the idea of that search is that

Kevin:

the search on your launch will be able to search like, you know, your

Kevin:

bookmarks in Chrome or something.

Kevin:

And I'd love to be able to do that, but I don't, I, the, the way the API

Kevin:

works, you can put anything in there and anything can search for it, but

Kevin:

there are permissions there and I can't get any results right now, at least.

Mishaal:

Yeah, from, from what I've seen, the universal search feature,

Mishaal:

that's on the pixel launcher.

Mishaal:

It's not actually provided by the launcher itself.

Mishaal:

It's provided by the Android system intelligence application, the service

Mishaal:

for that search experience, which is a separate app that's exclusive,

Mishaal:

or the most of the features in that app are exclusive to pixel devices.

Mishaal:

So I don't know how third party countries would be able to implement.

Kevin:

Yeah, there's two parts of the new search API.

Kevin:

So there's a backwards compatible version.

Kevin:

You can use an older Android versions, but it's not for like

Kevin:

you to ingrain in your own app.

Kevin:

Like if you have a note taking app, you can integrate this and you can

Kevin:

use it as a search function, but it can also publish to the system.

Kevin:

And then other providers can search.

Kevin:

And all the documentation just kind of says it in this way, but of

Kevin:

course there needs to be security on it and it doesn't reference.

Kevin:

So if you want to make it available with third party launchers, and I tried making

Kevin:

my own app where I insert something and try to search for it from another

Kevin:

app and I'm unable to get the results.

Kevin:

So it doesn't look promising.

Mishaal:

That is one issue in particular with a lot of

Mishaal:

these platform developments.

Mishaal:

They're just not very well-documented unless you're an Android

Mishaal:

partner and have access to.

Mishaal:

Presentations and the documents that Google prepares and only

Mishaal:

gives out to its OEM partners.

David:

Hey everyone.

David:

This is David.

David:

I'm just dropping this clip in here to let you know, this is where the recording

David:

separate between our Twitter space that we did with Kevin and the later zoom call

David:

that we did to finish up the conversation.

David:

We understand the audio from the Twitter space.

David:

Isn't great.

David:

And we are probably not using that going forward, so things can kind of jump

David:

around randomly it feels like that's why

Mishaal:

Okay, Kevin.

Mishaal:

So you touched upon a really important change to launch at three while you were

Mishaal:

talking about the history of changes.

Mishaal:

Earlier the introduction of gesture navigation that happened to be released

Mishaal:

with Android nine PI included two button navigation gestures, but

Mishaal:

more importantly, what it did is it integrated the recent apps overview.

Mishaal:

And move that into the launcher three code base.

Mishaal:

And the reason Google wants to do that as Kevin mentioned before, is

Mishaal:

to improve the way animations looked.

Mishaal:

Google wanted to make gesture, seem seamless so that when you do a swipe

Mishaal:

up from the gesture pill and Android nine PI things move quickly to

Mishaal:

the recent app overview without any hitches and that the app tray on the

Mishaal:

bottom when you quickly swipe left and right, you can switch between Africa.

Mishaal:

And it looks pretty seamless, but the problem with moving all of this code from

Mishaal:

system UI to launcher three, is that.

Mishaal:

Added a lot of privileged components to launch her three that launcher,

Mishaal:

that third-party applications are just not able to access.

Mishaal:

And because of this, it kind of turned third-party launcher applications

Mishaal:

into second class citizens where they couldn't be the provider of a lot of

Mishaal:

this critical functionality, the same way that pre-installed system applications.

Mishaal:

And I think this is probably the biggest case of where third-party

Mishaal:

launchers and system mantra starts to diverge in terms of functionality.

Mishaal:

But what a lot of people don't know is exactly how this divergence

Mishaal:

from the system UI code to launch or three, how exactly that

Mishaal:

affected third party launchers.

Mishaal:

So Kevin, I wanted to ask you, can you talk about how this change affected

Mishaal:

their party launchers in terms of like animations and tasks handling.

Kevin:

Yeah.

Kevin:

So the actual animation issue, this is solvable without integrating the launcher

Kevin:

and assistant UI together and also integrating a system UI and a third-party

Kevin:

launcher is a solvable problem.

Kevin:

They could have just like at the launcher itself, replaces a

Kevin:

kind of a core system component.

Kevin:

They could build the API in a secure way that allows third

Kevin:

party launchers to do this just as natively as the system one day.

Kevin:

So these are somewhat artificial limitations, but I think the

Kevin:

motive is basically, they're just trying to do it quickly.

Kevin:

And simply not that they're intentionally trying to punish their inquiry

Kevin:

launchers, they just neglect them.

Kevin:

But it's, it's certainly hurt the third-party launch or market is that some

Kevin:

users want the best gesture experience.

Kevin:

And it's hard to offer that as a third party launcher because we just

Kevin:

don't have access to the, the system components that the stock launch or.

Kevin:

So this is kind of in the iOS direction where the launch is just part of

Kevin:

the system and you can't change.

Kevin:

It is now the gesture launch integration is just part of the

Kevin:

system and you can't change it.

Mishaal:

Yeah.

Mishaal:

So that's actually a great point.

Mishaal:

And the like more part of the reason we started this discussion is because

Mishaal:

Android is such a complex ecosystem and Google has been slowly taking more and

Mishaal:

more control over the launcher code base.

Mishaal:

But at the same time, because they're the.

Mishaal:

Gatekeepers of the Android ecosystem.

Mishaal:

They also have a responsibility to all the other partners and

Mishaal:

developers who rely on them.

Mishaal:

So whenever they make such a big change to like monitor three, for example, it

Mishaal:

propagates and it affects many other parties who are using that code base.

Mishaal:

As Kevin said, Google probably didn't intentionally want to

Mishaal:

break third party launchers.

Mishaal:

There's probably a lot of Google employees who love using Nova

Mishaal:

launcher within the company.

Mishaal:

But the fact of the matter is they had a priority.

Mishaal:

They wanted to implement gesture navigation.

Mishaal:

They wanted to make it seamless.

Mishaal:

So and they also had a limited timeframe to do so because they had.

Mishaal:

Release cadence.

Mishaal:

So they got this out first, they moved the code base to launch a three and then

Mishaal:

slowly over time, they started to improve the experience of third-party launchers.

Kevin:

Yeah.

Kevin:

And an issue also that happens with the, with Google doing this is how

Kevin:

the OEMs interpret it is before OEMs would make changes to system UI, or

Kevin:

they make changes to their stock.

Kevin:

But this didn't have as much impact on third-party launchers.

Kevin:

Like certainly we've had to deal with things like which it's being built

Kevin:

into the Elantra or which it's not actually working or needing to wear

Kevin:

workarounds to work, but there wasn't as they weren't as tied together, which

Kevin:

meant the third party launcher could exist on an OEM system much better.

Kevin:

Whereas now, since Google made the integration, OEMs continue

Kevin:

with that, and sometimes they introduce all these weird issues.

Kevin:

By integrating gesture and their launcher.

Kevin:

So some of your OEMs have just blocked third party launchers, some

Kevin:

change, weird things in the UI.

Kevin:

Like sometimes the close all apps button isn't shown in the recent sober view.

Kevin:

And sometimes we just get these really weird bugs and, you know,

Kevin:

we tell users, yeah, sorry.

Kevin:

That's basically what your OEM did on your phone.

Kevin:

It's gonna happen with any third party launcher and they don't want to hear it.

Kevin:

And we don't want to tell them that, but there's not another answer.

Kevin:

It's just the way it is.

David:

And I think that's kind of a good segue into what really, you know,

David:

a launcher does, conceptually, not just for a smartphone, but the Android as a

David:

platform is on a variety of form factors.

David:

So you have televisions, you have wearables, you have cars

David:

now that fully run Android for the in vehicle infotainment.

David:

And Google has.

David:

Different policies about which of these platforms it wants to make a

David:

reference launcher available for as an open source product versus gating

David:

it to, you know, the GMs for GMs equivalent with these operating systems.

David:

So, Kevin, I guess I'd be really curious, you know, have you ever thought about

David:

developing a launcher for Android TV?

David:

And I, I don't even.

David:

Feasible, it would be for Waro S I'm guessing.

David:

Not at all, but you know, have you thought about other form factors and

David:

is that really even possible with them?

Kevin:

I certainly have where a Wes back, the, the very first builds I

Kevin:

think you could replace the clock face, but you couldn't receive touch events.

Kevin:

But then I think I was one of the first to discover, but I don't

Kevin:

think I publicized there's a worker and you could use these,

Kevin:

some old Android API APIs.

Kevin:

You could get touch events and kind of proxy them through so

Kevin:

you can handle touch events.

Kevin:

So I did experiment like, you know, could I build some kind of lunch

Kevin:

or, you know, tappable widget?

Kevin:

But partially, whereas a small platform Nova takes a lot of time to work on.

Kevin:

So it'd be a distraction from that for something that might not go anywhere.

Kevin:

And yeah, like you said, it's, there's limited possibilities on that form factor.

Kevin:

Android TV would be more interesting.

Kevin:

Still there's the fact that it's a bit more limited less user base.

Kevin:

People who want to watch TV are more focused on watching TV, whereas using

Kevin:

your phone, it's something you're, you're constantly interacting with.

Kevin:

So the launcher is much more of a key thing there.

Kevin:

But actually Android TV doesn't allow natively replacing the launcher

Kevin:

like, you know, there's some hacks and workarounds, but nothing good.

Kevin:

And even OEMs are required to use the Android TV launcher.

Kevin:

So that's does it provide a market for launchers there, which is.

David:

Yeah, and I think that's the kind of disparity I wanted to highlight.

David:

And I guess maybe get your take on what Google's philosophy there is because

David:

with Android on smartphones, you know, when it came, when Android was initially

David:

released, the being able to change the launcher was just one of those such

David:

a basic functionality that was like, It built into the S like they wanted

David:

that to be something the user could use because it was designed for power users.

David:

And so being able to do that made sense, because in windows, you can completely

David:

change your interface to and on Mac, you can do actually a fair bit,

David:

but it's a little more limited, but that's anyway, I guess my question is,

David:

how do you think Google thinks about launchers on these other form factors?

David:

And does it feel like maybe it made a mistake with how it handled

David:

them on phones in retrospect,

Kevin:

I've certainly always worried.

Kevin:

Like what if Google stopped supporting third party launchers and I've heard I

Kevin:

guess mostly from the play team kind of customization is a huge part of Android.

Kevin:

It's a strength of Android over iOS and, you know, they intend

Kevin:

to keep supporting customization, including third party launchers.

Kevin:

But of course they could change their mind.

Kevin:

It is interesting seeing that they're not allowing this in

Kevin:

somewhere like Android auto.

Kevin:

Okay.

Kevin:

That is more there's safety concerns.

Kevin:

That's, you know, it, it needs to be more laser-focused.

Kevin:

And Android, where does it's different, but they do have customization

Kevin:

Android TV is, seems kind of, yeah.

Kevin:

Why, why did they make this change?

Kevin:

And I do worry it's the Google realizes how.

Kevin:

Important having control over it is.

Kevin:

And they've seen that with Android, with OEMs and how to, you know, regain some of

Kevin:

the control that they gave OEMs early on.

Kevin:

And they're probably launchers is an aspect of that.

Kevin:

So it's an I also worry about with fuchsia is if if fuchsia, you know,

Kevin:

really ships on phones or on mainstream consumer devices, and if at all allow

Kevin:

customization of things like the line.

Mishaal:

Yeah.

Mishaal:

I think both of you brought up great points about how, you know, the ability

Mishaal:

to change the launcher on alternative Android platforms is very limited.

Mishaal:

And it's also limited by if you're an Android partner or not.

Mishaal:

If you're signing GMs licensing agreements, then you even OEMs can't

Mishaal:

change the launcher on their devices.

Mishaal:

But if you are not a GMs licensee or you don't intend to ship GMs on a

Mishaal:

product, Like many of our customers do, then you have much greater

Mishaal:

control over the launcher experience because you can, you can swap the

Mishaal:

AOSP launcher for whatever you want.

Mishaal:

Although, of course, because the Android TV launcher is not open

Mishaal:

source, the wireless are pretty much all aware of, it's not open source.

Mishaal:

You'd have to develop a lot of that UI from scratch, which is requires

Mishaal:

significant development effort.

David:

And that barrier is what I think is most interesting

David:

about Google strategy, because.

David:

With Android, they have with Android on smartphones.

David:

It's such a global platform.

David:

It's so big that open sourcing, a lot of these components for that foreign factor.

David:

Google knows that just because Android is already open source, somebody

David:

is going to steal all these things.

David:

Anyway, three, they're going to reverse engineer, or they're going to figure

David:

out a way to copy it, or they're going to use an APK without permission, like

David:

some Chinese phone OEMs do anyway.

David:

And they can't really put that cat back in the bag, whereas with TV and wearables

David:

and, you know, probably things like I'm looking at my, you know, nest hub, right.

David:

And that is one where Google has clearly decided an extreme level of control

David:

over the experiences, what they want.

David:

They want full control.

David:

I don't think the partners on smart displays can change anything about

David:

the software experience meaningfully.

David:

So it's interesting to see over like, Decade, how Google's philosophy has

David:

changed and how they've embraced.

David:

I mean, there is a certain power to it, right?

David:

Controlling the experience, and they can guarantee certain

David:

things work certain ways.

David:

But Kevin, like you said, that also, I think is leading them to make

David:

decisions where they're like, well, if we don't have to worry about this being

David:

accessible, then we can do it this way.

David:

And even in situations where maybe there isn't accessible way,

David:

they might be ignoring that off.

Kevin:

Yeah, it, it changes their focus is if you know, if the focus is just

Kevin:

about the user allowing customization, or even if the focus purely on the user,

Kevin:

but if they're thinking, and of course they should think about future development

Kevin:

where they're going to take things.

Kevin:

And I run into that.

Kevin:

I mean, every stock developer runs into this is what you build today.

Kevin:

How has that support in the future?

Kevin:

But.

Kevin:

It's David responsibility running the ecosystem and they've, you know,

Kevin:

started this ecosystem and then kind of restrict parts of that.

Kevin:

And it's we've seen that in other things as well, that like reading SMS messages.

Kevin:

There is privacy concerns.

Kevin:

There's good reason to make some changes there, but also it must stop estimates,

Kevin:

backup apps, or other apps that, you know, might interact with that task, I

Kevin:

think has, you know, weird workarounds for that and a bunch of other things.

Kevin:

And it's Yeah, it's a challenge to get the right balance.

Kevin:

And I think a lot of power users like myself kind of prefer the, the older

Kevin:

balance where, you know, there was, it was an, it was a bit more of a

Kevin:

free for all, but you could do a lot.

Kevin:

And now things are a bit more restricted, which is.

David:

So here's an open-ended question for you, Kevin, if of all the major kind

David:

of platform releases of Android over the years, and kind of not just restrictions,

David:

but changes in features, what do you think has been not the most impactful, but I

David:

guess when you look back, like what were some things that maybe you had to give.

David:

Or had to deprecate or otherwise work around that you feel like

David:

really unfortunately degraded the user experience in a way that

David:

Google hasn't since rectified.

Kevin:

It's interesting.

Kevin:

So my previous app before Navantia was widget locker, which customized the

Kevin:

lock screen and that it Andrew Andrew never supported customize the lock screen.

Kevin:

So would you lock.

Kevin:

Just abused API APIs.

Kevin:

It was it wasn't doing anything the way you should do it.

Kevin:

And it worked fairly well, but that was partially the.

Kevin:

The way users use their phones, then a lot less had security on their phone,

Kevin:

so they didn't have a pan or anything.

Kevin:

They weren't really fingerprint scanners.

Kevin:

So then having a fake lock screen could kind of work Eddy insecurity.

Kevin:

Would you like to try to work with the system security rather than

Kevin:

prevent like a fake security screen?

Kevin:

But there'd be challenges to doing that.

Kevin:

And then As time, like it's just kind of, every release would break

Kevin:

a little bit of which a locker and I'd find new workarounds,

Kevin:

but they wouldn't be complete.

Kevin:

And eventually I had to give up on it, I think, around a jelly bean or a

Kevin:

kick out or so for Nova launcher I mostly try to stick like I've avoided.

Kevin:

The workaround to support gesture integration with launchers like some

Kevin:

using Ru some launches, try to support the quick stuff API and they can act as

Kevin:

the system provider for gestures, and then they can get the more clean animation.

Kevin:

This is really impractical, even using root because it basically ties your

Kevin:

whole code base to one Android version.

Kevin:

So like you build it just for Android, 10 gestures, and then

Kevin:

Android 11 comes out and now you need to move your code base over which

Kevin:

breaks gestures on Android town.

Kevin:

Or you have two different code bases, one friend or 10, one friend rate 11.

Kevin:

And so it's really impractical to support this going forward.

Kevin:

And so that's why I've avoided it, which is unfortunate as I generally do.

Kevin:

You know, if I can add an extra feature for users with route.

Kevin:

But this isn't just a lot of work to do.

Kevin:

It's a lot of work to do every Android version and then breaking compatibility

Kevin:

or, you know, stop updating the new, have always just support the latest Android,

Kevin:

which would alienate a lot of users and most users aren't rooted anyway.

Kevin:

So gestures since the beginning has certainly been an asset there, but it's

Kevin:

not something that Nova once supported.

Kevin:

And then didn't, it's an Android as a platform added for what it

Kevin:

has supported and then removed.

Kevin:

The biggest thing, I guess, would be storage access.

Kevin:

So in this case very early on the way APKs you could access if

Kevin:

the case changed a little bit.

Kevin:

And so the theme format stopped working.

Kevin:

So like I think it started with paid icon themes.

Kevin:

They're installed encrypted from the play store and then launchers

Kevin:

kind of access them anymore.

Kevin:

So paid, I can, things kind of stopped working around jelly bean.

Kevin:

And so then we changed the theme form and it came up with a worker.

Kevin:

Then later on now they've had external storage restrictions, so

Kevin:

that hasn't hit Nova too hard, but like the backup restore system, I

Kevin:

had to change to compensate for this.

Kevin:

And also like beautiful widgets, which is the very famous which app back in the day.

Kevin:

And it hasn't been updated in many years.

Kevin:

The way that widget displays themes in itself Android 12 Android 11 broke

Kevin:

that if you target entered 11 or.

Kevin:

Which now the place still requires everyone to do so beautiful widgets.

Kevin:

It appeared the Nova update, broke it.

Kevin:

When Nova started targeting Andrew at 11, but really it's beautiful.

Kevin:

Widgets, no longer works with themes because of this change in Android about

Kevin:

how apps can access each other's stories.

Mishaal:

You brought up actually two pretty interesting points

Mishaal:

in your discussion there.

Mishaal:

The first of all was the deprecated lock screen widget functionality,

Mishaal:

which actually didn't know it wasn't was using APIs in a way

Mishaal:

they weren't intended to be used.

Mishaal:

So I thought it was actually like officially supported functionality.

Mishaal:

It's been years.

Mishaal:

It's been a long time since that that, that.

Kevin:

Widgets on the last screen was supported officially in Angeleno

Kevin:

locker predated that, and that was.

Mishaal:

Interesting.

Mishaal:

Yeah.

Mishaal:

I have seen some attempts to revive that functionality.

Mishaal:

One of my friends actually developed an application that uses Android

Mishaal:

system alert window API, to create an overlay on top of the lock screen,

Mishaal:

that inserts widgets of your choice.

Mishaal:

It's very AQI and it works, but there is a platform level.

Mishaal:

Returned to the feature that Google has baked into Android 12 and also

Mishaal:

somewhat makes available to OEMs.

Mishaal:

They call it their smart space widget, which is the code name

Mishaal:

for there at a glance widget.

Mishaal:

So it is possible for OEMs and platform developers to insert,

Mishaal:

which is on the lock screen.

Mishaal:

It's just not accessible to third-party developers.

Mishaal:

And the second point that you brought up is the theming of icons actually,

Mishaal:

which is something that Google is taking a new approach in with Android

Mishaal:

12, you could see the beginnings of it with their new themed icons API.

Mishaal:

So I kind of wanted to ask you two questions on that front.

Mishaal:

Why do you think Google hasn't added native eye contact

Mishaal:

support to launch a three?

Mishaal:

And what do you think of its approach to themed?

Kevin:

So native icon theming is kind of a there's a responsibility in doing it.

Kevin:

So if they're pre launch, I don't feel it's a big deal.

Kevin:

If I'm letting users steam, you know, with your Twitter icon, and now it

Kevin:

doesn't have a bird on it, but it has, you know, something different, a hashtag.

Kevin:

But from G if Google was doing that, then Twitter and other companies could

Kevin:

get pretty upset that their icons are being changed, but a arbitrary.

Kevin:

By some artists decided I'm going to draw it this completely different way.

Kevin:

It doesn't fit their brand.

Kevin:

And this is so that's very important.

Kevin:

And Google does work with other brands on this.

Kevin:

Like even the adaptive icons originally, they had to work out how to have.

Kevin:

When circle is a very important part of your brand that matters

Kevin:

for you and how that impacts if you're using an adaptive icon.

Kevin:

So I can see why they want, it wants to natively support icon theming

Kevin:

because of this responsibility, to the other apps in the ecosystem

Kevin:

that don't want their brand message.

Kevin:

So the way they seem to be approaching it right now, it's all hard coded in

Kevin:

pixel launcher, which is ridiculous.

Kevin:

And basically unusable you can't no, one's going to have a home

Kevin:

screen of just Google apps.

Kevin:

So then you mix and match and then it looks really bad because they.

Kevin:

But presumably they'll fix this where any app will be able to design their

Kevin:

own monochrome adaptive icon and then the system, or if they're pretty

Kevin:

launched or it can apply its own background and foreground color.

Kevin:

So I think this is it won't replace icon things as they are.

Kevin:

I can, themes are so diverse and they can change icons in any way.

Kevin:

Whereas this is much more than a.

Kevin:

But it's a nice, simple way that we'll let the system theme it nicely makes

Kevin:

it easy for developers to keep their brand by just designing a simple

Kevin:

monochromatic on which basically every brand has some form of already.

Kevin:

And yeah, it'll make the stock launcher look better and it would give third

Kevin:

party launch or some, you know, we could do more interesting things with it too.

Mishaal:

If you're an app developer listening to this right now, mark, my

Mishaal:

words make an adaptive icon for your app.

Mishaal:

Now get ahead of the curve because I am thinking it's very

Mishaal:

likely that this is the approach.

Mishaal:

As Kevin mentioned, that Google will use to bring dynamic coloring to app icon.

Mishaal:

And if you want, if you don't want your bike on to visually clash with

Mishaal:

others on a user's home screen, then you can start your work right now

Mishaal:

and be ready for whenever Google opens up and API for icon theming.

David:

Interesting stuff.

David:

Thanks for joining us, Kevin.

David:

And thank you for coming on to do a rerecord.

David:

After our unfortunate incident, this has been Android bites powered by Esper.

David:

If you're a company building an Android device, even if it's not a

David:

smartphone, even if you don't need something as powerful as Nova launcher,

David:

but you're just trying to figure out, okay, what is an Android launch?

David:

How do I use it to do what I need on my product Esper is a

David:

company that can help you out.

David:

Come get in touch with us.

David:

We're at esper.io.

David:

We build our own operating system based on Android, and we have our own lunch or

David:

two, but it's designed for businesses.

David:

So a little bit different.

David:

And in fact, very different from Nova launcher in almost every way.

David:

Kevin, where can folks find you and your projects?

Kevin:

I'm not very active on social media, but you can join the Nova discord,

Kevin:

which you can find@novalauncher.com or from Nova Elantra itself up settings.

Kevin:

And there's a icon for discord, an icon for Twitter, which is

Kevin:

Nova underscore launcher, or I'm Kevin slash slash on Twitter.

Kevin:

But I really haven't tweeted.

David:

Well, thank you for joining us, everyone.

David:

And we'll catch you with another episode of Android bites next week.

David:

That will hopefully be a lot smoother in terms of initial execution.