Kiss: Second page for widget

Created on 31 Aug 2015  Â·  71Comments  Â·  Source: Neamar/KISS

New issue for my suggestion made in #145 :

I thought about something about widget, why not offer a second page, at left or right, for add some widget. KISS is very efficient to access app but sometime there is some widget that is really more fast. I think to an agenda widget for displaying all next events. It could be faster to swipe left or right to see it than open agenda app.

enhancement help wanted

Most helpful comment

I've started to REALLY working on it :)

https://ilmich.github.io/Screencast_2016-10-11-18-32-49[1].mp4

All 71 comments

hi, i also find this usefull.
is anyone working on it?
In my opinion swipe should also be used to change between history and list of apps.

Currently I think no-one work on it.

I think a swipe to switch between history and list of app isn't useful because of the principle of KISS to do not search into all app.

About the second page for widgets, adding this feature the Launcher should add an option to deactivate/activate this second page, in case the user doesn't want to spend more ram loading widgets and just want to have the normal user interface

This would be very usefull, especially for apps which provides widgets to access certain parts of them.
For example widget from Connectbot which connects you to desired host right after touch.

Second page is nice and all, but I think it misses the point that some widgets (like agenda, email, etc) are supposed to be visible for users. For example I'd certainly forget about that second page after a day or two.

On the other hand I thought about adding a switch to settings (replacing current "minimalistic interface"). User could either display history, display a page with widgets or an empty page (wallpaper only). What do you guys think?

Yeah sure, maybe the option to set the default one will be great, but still be able to switch to another view by sliding finger will be really useful.

Imho, if you just swipe to another page and leave it like that you can see widgets all the time. And if you want to launch last app (from history list), you can swipe back anytime.

I also think that a dedicated widget page to swipe to would be the best solution and true to the launcher's philosophy of KISS. I don't think one can forget about it. When I want to have a look at my calendar widget, I'll swipe there. Otherwise I can keep using KISS the way it is on the other page. As a matter of fact I came here to suggest this and then found this issue here. :)

Action Launcher's right-swipe page is a good example I think.

You have right, sometimes a widget is very nice. But if you add a second or third page, KISS will be like the other launchers.

I think you should take a look at the Hayai Launcher. (Avaible on F-Droid Link) I think its nice to have all apps in a grid layout. Maybe you can integrate some widget in this grid.

I just tried Hayai and it the same philosophy than KISS but with a design a few different (grid layout with only icons, search bar at top). The problem of the widget is the same as in KISS.

If I propose to add a second page it's not to transform KISS to become like the others launchers, just to add another option. The objective of KISS is to be simple, fast and user-friendly. I think it's a good option to add a second page, some others think like me so why not?

If you think it's a useless functionality, and if this second page is added in the future, just disable it.

First point: I don't think it's an useless feature. I think it's would be nice if I can see the weather in a widget. :)

Second point:
OK let's add other screen. But I don't want to lose the overview. If there are more than 2 pages, I'll never take a look at the the 3rd page.

Third point:
I would suggest to make one more page to show different widgets. It would be great to use the same principle as the app screen. That means the widgets should be ordered as a stack (or list).

What's your opinion?

Interesting proposition having a widget stack/list. Why not.

A stack like in actual history screen imply to know when a widget display a really different value but if it's possible it's potentially a good idea. Need a try to have a final opinion ^^'

If you're going to add more than one widget page, then why not allow users to decide how many pages they want to have? What's enough for one user can be not enough for the other.

I don't understand the idea of stack/list of widgets. Does it mean that they'd scroll outside the screen?

The idea is to keep the widget page(s) similar to the main screen.

You can scroll up and down but there are _not_ app shortcuts but widgets.

There are widgets with _higher_ priority, like whatsapp or SMS. They would be at the bottom( just like "recent used apps " in kiss).

But there are other with _lower_ priority which you don't need every time you check your phone (e. G. news, or a calculator). They would be higher and you may don't see them until you scroll a little.

Sorry for my English, it's not the best. If you didn't get the point, I'll try to make a picture.

@hydroid7 OT:

Sorry for my English, it's not the best. If you didn't get the point, I'll try to make a picture.

Actually your English was quite understandable, no need to apologize. :wink:

Thanks :-)

I would also like a widget page.

But this looks like a big feature request. See http://developer.android.com/guide/topics/appwidgets/host.html and in particular the code used in https://android.googlesource.com/platform/packages/apps/Launcher/+/master/src/com/android/launcher/Launcher.java.

Ok, I kinda agree with the fact that the second page can be forgotten with time -- hell, I don't really use the app list feature / pinned app feature!

On the other hand, since we've added support for shortcuts, I don't really miss widgets anymore...

But @mgoral had an interesting point, displaying widgets in the default view (in lieu of history) felt a good idea to me. However, it looks like most of you would rather get a second page... can you explain why? Do you use history much?
Most of the use case you give involve for instance the agenda widget (I'd like to get this one too ;)), but I'd be happy seeing it in my "home" page, rather than sliding to another page.

On my way to use KISS the history is a feature I use a lot, I use really often the same apps so have it just accessible on one click is a good thing for my daily usage.

The second page for widget, for an agenda widget for example is a way for the keep history and have widgets. Before using KISS I used to have 3 pages : home page with daily used apps, left page with an agenda widget, and a right page with music widget and weekly used apps.

I don't understand how shortcuts remove your miss of widgets, some widget are not just a shortcut to open an app.

I think most users would enjoy the possibility to have a calendar widget somewhere. That's why I proposed a workaround with #356

On minimalistic ui, there is space for widgets in the main screen when the history is not visible . in that case there would be no need for a second page but I am not sure if this is the way to go though

It could be a spare wheel. I managed to use widgets along Kiss by means of Popup Widget 2. Have a look at the attached picture. Popup Widget 2 makes possible to create shortcuts to launch widgets. Once your widget shortcut is known by Kiss, you can launch it like every other apps and the widget appears over Kiss. Nice, isn't it?
kiss with widget

Having widgets on the main screen would be better than having them on another screen. But some widgets take up the full screen, so we may not be able to show them.

Tbh, I think with this issue, the most important thing is adding _some_ support for widgets, even if it misses out things like being able to resize them, or only allowing widgets upto a certain size. Actually getting some basic version done would be better than talking about it for months. I would like to spend time on this, _but_ (there's always a but):

  • studies come first
  • Android Studio is a pain to run at uni. If I could avoid using it, and get it to work on cloud 9, then maybe.

when do you think you might have something running? ~6 months?

I do already. Just at home. But that computer is slow, bsod's and loses wifi every so often. But it works, I have used it before to do stuff. The point is more that I need to be at home to do so. And at weekends, I generally chill/do what my parents want me to do. So that then means holidays. Or evenings, thinking about it..

makes sense! take you time, parents come first :-)

ismail-s: In case you don't know: You don't _need_ to use Android Studio. You can also:

  • Run ./gradlew installDebug from the command-line and use a text editor
  • Use Eclipse along with it's Gradle Plugin
  • Use NetBeans with it's Gradle Plugin
  • Use pretty much anything else that can edit (Java) text and run gradle…

I definitely understand your "studies first"-problem through… :weary:

@alexander255 I have tried just using the sdk tools only on cloud 9, but they are too big (once the build tools have been downloaded) for the free tier. Alternatively, I may be able to come up with a weird way involving putting the sdk tools onto a usb stick and somehow running it all on the uni comps. Android studio technically works there, but I can't symlink the folders that are created on the uni comp, which messes things up.

Alternatively, I can use cloud 9 to write the code, I just would have to run it at home. Also, I have asked for Android studio to be installed on the uni comps, will see what they say.

(Also, didn't mean to derail the topic at hand).

Hey everyone !
I spent a little time on trying to display widgets on the main screen in minimalistic UI mode a while ago.

Currently working :

  • Adding a widget
  • Removing a widget (the latest one, from the kiss menu. long clicks are disabled on WidgetHosts)
  • Choosing whether to show the widgets or history (I recently discovered some improvements to make on this point)

Currently not working :

  • it is not possible to resize / reorder (and some widgets default size is just to small to be usable)
  • widgets are not automatically re-added when Kiss activity is re-created
  • widgets are not automatically refreshed

If anyone is interested in looking into this that could be a start : https://github.com/prShadoko/KISS

The main page seemed a good choice to me, as the history is still available by clicking the search bar anyway…

Hi @prShadoko, how do i add widgets?

Click on the three-dot button, then "add widget".
When a widget is added, another menu item appears to remove the latest widget added.

I changed the "minimalistic UI" preference to a "History" one which allow to choose when to show history/widgets (I realize now its labels does not mention widgets…)
I left the default to "Always show history" (hence never show widgets). Other options are "Show history on search" (Display widgets when idle. Click on search bar to show history) or "Never show history" (so always show widgets).

Ah yes, settings > user interface > history> show history on search
Then the menu item appears 😆
I added a calendar and it looks great (although still an early version)

Do you plan to make a pr at some point?

Do you manually sync with the kiss master repo? I find that a local branch makes it easy

Well, I have not worked on it for a while because I got stuck on handling widgets size. If anyone is willing to help…
If it can get to something usable (at least : no crunched widgets, auto-refresh, auto-re-add) I will submit a pull request, indeed.

I am willing to help but on a branch that we can merge with remote so we keep up to date
Could you make one and move your changes there?
I can do it if you prefer.

I am not sure of what you mean : Is it just creating a branch on my repo pointing to the current head so we do not work directly on master or do I miss something ? (Isn't there another way of communicating between users on github ? I feel like spamming the thread with this comment…)

Private messaging is no longer available :-D
I will comment on your latest commit

@ismail-s might be working on something similar but I don't think it is a problem to give it a try in parallel

I am not working on this atm. Focussing on my own app.

On Tue, 26 Apr 2016 10:20 nmitsou, [email protected] wrote:

Private messaging is no longer available :-D
I will comment on your latest commit

@ismail-s https://github.com/ismail-s might be working on something
similar but I don't think it is a problem to give it a try in parallel

—
You are receiving this because you were mentioned.

Reply to this email directly or view it on GitHub
https://github.com/Neamar/KISS/issues/207#issuecomment-214680616

To me a perfect implementation would be to have a widget in place of the minimalistic interface.

Pressing home button should display the widgets. Tapping the search bar should display the history.

This is the "show history on search" option I have made. If no widget is added, it works just like the minimal UI.
I think it might be better to make it the default behaviour because it gives access to everything : widgets, history and full app list. If the user wants to disable either history or widgets, he can.

I agree with @prShadoko (hi btw)

Displaying the widget by default, and then the history sounds like a good choice.

We'll probably need to revamp the settings to make everything easier for the end user, but in terms of features we're on the right track.

Hi! Any news on this (@prShadoko / @nmitsou / @ismail-s)?

It felt like it was really heading in a good direction :)

To summarize (@prShadoko feel free to correct me):
@prShadoko has a branch here: https://github.com/prShadoko/KISS
with an initial attempt to add widgets on the minimalistic ui. If I remember well, it comes with a 50kb increase in the apk.

Widgets are added and removed on a list view (through the menu). At the moment no scrolling on this list is available but can be easily added. Since it is a listview, all widgets are extended to cover the complete width of the list.
I have experimented with a grid layout but that would require a possibility to move widgets through long press which is not available.

Personally, I opened a PR to add support for long press on a widget (not merged I think). Then unfortunately I run out of free time... not sure when I can return to this.

If we agree that a list layout is what we want ( --> no much rearranging of widgets possible), then to make a very first version of KISS with widgets wouldn't require much effort.

I've started to develop a different approach.
Instead to show widget only in minimal mode, I've started to develop a special ViewGroup (compatible also with android 2.3) that is able to swipe views in order to define almost 3 page

  • application page
  • history page
  • widget page

Surely this will be a big change because I need to adjust MainActivity in order to wrap this new component and honestly I'll be more happy if @Neamar, or someone else take a final decision for #461

@ilmich there is news on the #461 front ;)

I think three views is a good idea, and it does make sense to do that.

I've started to REALLY working on it :)

https://ilmich.github.io/Screencast_2016-10-11-18-32-49[1].mp4

You rock!

Looks nice indeed!

I don't remember discussing the view orders, for me the most intuitive thing would be:

  • main screen, search
  • second screen, on the left, apps
    *third screen, on the right of the search screen, widgets

Yes.. but to avoid a big refactor maybe the best way is

1) main screen as usual (history and app)
2) two pages (one left and one right) for widgets

The search bar should be fixed (as you can see in the video) and when the user press something the UI returns to main screen and works as usual.

p.s: this implementation should works also on android 2.3

Let me known

Agreed that having the app on a separate page would be a big refactor.

Looking forward to testing this :)

Another sample video :)

https://ilmich.github.io/Screencast_2016-10-14-18-50-26[1].mp4

UI code is at good point... This week hopefully I'll send an initial PR.

woot woot looks good!

@ilmich I like it! One thing that I'd like to point out (is just my opinion): I'm not sure how I feel about the widget pages being scrollable. I think it kinda "breaks" the simplicity visually. I don't know how to explain it well, but in the video, when you are at the bottom of the widget page and then slide back at the main page, it breaks the flow when reaccomodating, to say it in a way. Am I explaining myself? Just my two cents.

@ilmich wow, dude - this looks awesome! I've been using KISS for over a year now (most probably even more) and this is truly the only feature I miss - for the same reason as most of the others: calendar widget. I thought about implementing it myself, but since your code seems to be working (telling from your screenrecording) I don't see much point in doing that anymore (especially because I never wrote more then some not very complex apps and Android Launcher is way out of my league as it seems). But if you need any help (testing, code clean up, ...) on this, let me know. I can't seem to find the code, else I would already have it running on my phone.

TL;DR: love it! Don't want to stress, just want to prevent this topic from going stale.

Hi, Taskbar ( https://github.com/farmerbb/Taskbar ) done a nice Job imho: they made a Widget overlay, which you can trigger on/off with a Button in bar ( so here it could be a Button on Favorit - bar)

I myself would love to use widgets with kiss, especially a calender/todo Widget.

I wouldn't mind an option for widget integration too, right now I'm using Zeam Launcher to view widgets just for when I'm using KISS

Is inclusion of the prior widget implementations planned? Because I added widget support for myself as it was missing (probably should have read this issue first :-D). From what I read now, this is similar to what @prShadoko has done in his solution, the widget is displayed above the favourites bar (see images/video below).

Currently this is also only working in minimal mode (because history is occupying the screen otherwise, a simple resize of the history list when a widget is used could be a solution, I do not use the history myself as I manly use the keyboard).
An advantage of this is, that changes to settings are not necessary, if a widget is added it will be displayed (when in minimal mode), otherwise the launcher behaves the same as before. It currently only allows a single widget to be used, the widget can be added, configured if needed and removed. Widgets are also persistent between starts and are updated probably.

Changes to the code are only in MainActivity.java as well as main.xml and menu_settings.xml to hold the needed entries / views, I needed to add two additional strings for the menu entries.

My single_widget_support branch is available at my GitHub fork. If there is interest in my solution I can create a pull request. I can also adjust it when changes are necessary.



Yes!! Create a pull request so that we can easily test
Is only one widget supported?
If you restart kiss, do you have to setup the widget again?

Yes at the moment only a single widget is supported. I experimented with multiple widgets and a scrollable area, but found no solution I was content with so I settled for a single widget for now. Although support for more widgets is considered in code and can be made possible (essentially only removing the soft limit of one widget, but the current layout would place them on top of each other).

Yes the widget persists between restarts without problems, no need to configure it again, the widget IDs are persisted in an additional preferences file (makes handling of multiple widgets easier later).

I'll create a pull request as soon as I'm on my PC again (or search if it is possible from my phone :-D)

How do I access the widget?

This is not yet implemented.

It is only available in a branch in my fork at the moment (if you have no problems with compiling it yourself), I'm working on getting a pull request in, but I need to fix two minor issues first and I'm in the middle of exam preparation right now and don't have that much time for it.

Thanks but I don't know how to compile. I hope you can release an apk soon and best of luck with your exams!

Dobli nice work on this. Branch compiled fine... Resize of widget would rock.

Can anyone compile and share the second page branch please? I need a widget but don't know how to compile. I use Android 601. Thanks.

@gatienzo Use the Beta feature in the Play Store. That version already has the widget support.

I really do not want this. Kiss is moving further into Smart Launcher territory which also has a second page for widgets. If it's implemented make it optional and not take up any resources when disabled. Making the single widget work for all widgets through a resize option is much more important IMHO.

@Balls0fSteel Problem is that the widget option isn't working for many popular widgets because it can't be resized unless that has been fixed recently.

@Balls0fSteel Thanks

Just tested with the beta version and it's really amazing.
In my case I only miss the possibility to add another "screen" so I can have more widgets.

The size is not really an issue in my case, but I understand that it's something you cannot avoid.
Anyway thanks for this and I hope it will be possible to add others widgets.

The DarkSky weather and time widget doesn't work. Parts of it is cut off. Works well on other launchers.

I compiled from sources - works fine on my OnePlus 1 (LineageOS 14.1 based on Android 7.1.2). I can really recommend Lineage's cLock widget, not sure how to install it on anything but Lineage though.
I love the effort you guys put in it. Looking forward to find it in F-Droid.

Widgets are now available in FDroid and the Play Store.

It's not a second page, but it's still a good move in the right direction -- I'm going to close this issue since the main feature request was added :) Thanks to everyone who developed this new feature!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

spookykidmm picture spookykidmm  Â·  7Comments

ghost picture ghost  Â·  8Comments

TBog picture TBog  Â·  7Comments

lil5 picture lil5  Â·  4Comments

zayuim picture zayuim  Â·  8Comments