
Kivy 1.9.1 released - mcastle
http://kivy.org/planet/2016/01/kivy-1-9-1%C2%A0released/
======
teach
"Kivy is an open source Python library for rapid development of applications
that make use of innovative user interfaces, such as multi-touch apps."

In case anyone else didn't know.

~~~
FireBeyond
Thanks, because the website, pretty as it is, didn't say anything on the blog
page, home page, even the "About" page. I clicked on five pages on the website
before getting this.

~~~
mintplant
It's right there on the homepage: [http://kivy.org](http://kivy.org)

~~~
phaemon
Which isn't linked from the blog. If you click on the main blog title, it
takes you to the main blog page at kivy.org/planet. There is a link to the
website in the actual post there but it links to the download page, which
doesn't have the description. From _there_ you can click to the main page
which has the description.

Are they ashamed of the software or something? I honestly can't comprehend why
so many projects are so shy about telling us what they actually are!

Every page should have "an open source Python library for rapid development of
applications that make use of innovative user interfaces, such as multi-touch
apps." on it. There is no reason _not_ to. Put it in small text under all main
titles or something.

~~~
chris_st
_Are they ashamed of the software or something? I honestly can 't comprehend
why so many projects are so shy about telling us what they actually are!_

I think the thinking is that, "Hey, this is an announcement for us, and our
friends, you know, the folks who know all about this software already!". In
general, do you care about an update to some software you don't use?

But, surprise surprise, someone in the in-crowd throws this up on HN and it
blows up, and suddenly they have a ton of new, confused, visitors.

I think your idea of putting a summary on each page (including, or perhaps
especially, the blog!) is a great idea. Why don't you tell them?

~~~
inclemnet
Actually this was exactly my thinking when I wrote it, but having read this
thread I'll certainly try to have some clearer introduction on every page.

------
godzillabrennus
Having been introduced to Kivy earlier this year as my first python mobile
framework I was impressed by how easy it was to prototype with.

------
dorfsmay
From the FAQ:

"be aware that while Kivy will run in Python 3.3+, packaging support is not
yet complete. If you plan to create mobile apps for Android or iOS, you should
use Python 2.7 for now."

[http://kivy.org/docs/faq.html](http://kivy.org/docs/faq.html)

~~~
inclemnet
It's been a long time coming, but I expect to merge python3 support into
python-for-android within the next couple of days. I'll make an announcement
about it at the time.

~~~
dorfsmay
Thanks!

------
andybak
How are pseudo-native widgets coming along?

------
_pmf_
How is the Android support in practice?

~~~
inclemnet
It works fine, and includes things like the ability to access the Android API
(with pyjnius and plyer) but there are some problems that are difficult or
impossible to fix. In some cases these aren't important or you can just not
care, in others they are an issue.

The major ones that come up are:

\- Relatively large APKs, minimum size is about 7MB due to the size of the
included python interpreter.

\- Non-native widgets, Kivy draws its own widgets using OpenGL. They're quite
customisable, but of course you never get behaviour quite like the native
ones.

\- App startup time. This is down to about a second on newer devices, but on
older ones (or if the app does inefficient things before starting up) can be
quite a bit longer, especially on the first run when some unpacking is
performed.

I've seen some nice examples recently of apps that do a good job with Kivy
itself (e.g. demonstrating more themeing than most and using android api
functionality), like Kognitivo [1] and Barly [2]. I think these do a good job
of showing what Kivy can do in practice. Used the right way it's also very
performant for e.g. games (the low level graphics api is a cython layer over
opengl), especially with the ability to add your own cython and use libraries
like chipmunk. A good example for this is Boardz [3], which uses the Kivent
game engine for Kivy [4].

[1]
[https://play.google.com/store/apps/details?id=org.kognitivo....](https://play.google.com/store/apps/details?id=org.kognitivo.kognitivo)

[2]
[https://play.google.com/store/apps/details?id=org.topbanana....](https://play.google.com/store/apps/details?id=org.topbanana.barly)

[3]
[https://play.google.com/store/apps/details?id=org.chozabu.bo...](https://play.google.com/store/apps/details?id=org.chozabu.boardzfree)

[4] [http://kivent.org/](http://kivent.org/)

~~~
mwcampbell
> \- Non-native widgets, Kivy draws its own widgets using OpenGL. They're
> quite customisable, but of course you never get behaviour quite like the
> native ones.

And this can make the application entirely unusable for some users. I'm
thinking in particular about accessibility for blind users, who need to use a
screen reader, though other disabilities are also impacted. Basically, to be
accessible, an application's UI components need to implement the platforms'
accessibility APIs. Most non-native widgets don't do this, because it's a lot
of work that most developers just don't even think about. As far as I can tell
from a quick scan of the source, that currently includes Kivy. So beware that
if you use Kivy and its non-native widgets, you'll be locking some users,
admittedly a small minority, out of your app. Probably OK for a game; not so
much for an application that's going to be used in a job or education.

~~~
voltagex_
File a bug! They might not even realise.

~~~
inclemnet
As a Kivy dev, I've thought about it before on the desktop (it's come up
before and a gsoc student did some preliminary investigation for the best way
to do it), but I'll admit I didn't realise the implications on Android where
actually this support might be harder due to the mismatch with the normal java
widget mechanisms. I do think it's important and will try to take a look at
it, but it's certainly true for now that Kivy does not have much support for
standard accessibility tools, probably particularly on android and ios.

------
Siecje
Anyone have any examples of a desktop application created with Kivy?

~~~
jbeja
There are a lot on their showcase web site.

~~~
Siecje
link?

~~~
jbeja
Here: [http://kivy.org/#gallery](http://kivy.org/#gallery)

