Kivy 1.9.1 released(kivy.org) |
Kivy 1.9.1 released(kivy.org) |
In case anyone else didn't know.
"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."
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....
[2] https://play.google.com/store/apps/details?id=org.topbanana....
[3] https://play.google.com/store/apps/details?id=org.chozabu.bo...
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.
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.
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?