On kivy's stability...

394 views
Skip to first unread message

Rodolfo Torres

unread,
Mar 31, 2016, 11:46:06 AM3/31/16
to Kivy users support

I'm going to develop a big project for my company, which is planned for a very large amount of users and all platforms (pc, mac, iphone, android). After seeing what kivy can do, I naturally chose it for the project.


I'm already familiar with deployment on mobile platforms, and already have an app up and running on google play: https://play.google.com/store/apps/details?id=com.soloofertas.soloofertas

and app store, as well as some apps for mac.


Problem is, our investor does not think that your library is robust enough to handle the project. He says that it might fail and then he'd lose money, prestige, and clients. He says that since kivy is open source, if something fails, we won't have anyone to rely on.


My heart is with you, guys, I've seen kivy's potential, but I need your help! How can I make my investor feel safe about using kivy for the project? How can I reassure him that kivy will be there for modern OS's and that it won't stop running on any of the current ones?


If we can work something out, I maybe could get him to make a donation instead of buying a Qt license.

Oon-Ee Ng

unread,
Mar 31, 2016, 9:46:11 PM3/31/16
to kivy-...@googlegroups.com
As with any/all commercial projects, why wouldn't you just choose one
release (let's say 1.9.1 as of today) and only use that one, updating
only with proper testing.

The built binaries (and the source) can be maintained internally by yourself.
> --
> You received this message because you are subscribed to the Google Groups
> "Kivy users support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to kivy-users+...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Kent Borg

unread,
Mar 31, 2016, 9:54:31 PM3/31/16
to kivy-...@googlegroups.com
On 03/31/2016 09:46 PM, Oon-Ee Ng wrote:
As with any/all commercial projects, why wouldn't you just choose one
release (let's say 1.9.1 as of today) and only use that one, updating
only with proper testing.

The built binaries (and the source) can be maintained internally by yourself.

I think the question is:
If we start down a long path with Kivy, will we regret it many months and many dollars from now?
I think Kivy has make the sale to Rodolfo Torres (who asked the question), now he needs to make the sale to others. He needs ammunition for his argument. Otherwise, the money people will insist on spending money on a lesser (?) commercial product.


-kb, the Kent with similar questions, though he is at a very pre-prototype stage.

ZenCODE

unread,
Apr 1, 2016, 2:13:44 AM4/1/16
to Kivy users support
There are no guarantees in life but one,: eventually you'll die. From personal experience, I've been a software dev for 20 years at the same company. We have Microsoft, Apple and various other commercial licenses. Kivy remains one of the best decisions we've made. You can fix stuff yourself (being MIT licensed), and it takes away many, many platform issues you steal time. Just my 2c.

https://groups.google.com/forum/#!searchin/kivy-users/long$20term/kivy-users/a-nYK3sk8r4/cA_SWVoPjeUJ

Kovak

unread,
Apr 1, 2016, 8:30:26 PM4/1/16
to Kivy users support
In addition to the extensive support provided by Kivy community members and developers on irc, here, and elsewhere at places like Stack Overflow, there are also several companies that provide professional support for Kivy that a few of the core developers are involved with. If you have specific commercial needs feel free to contact one of us on the dev team and explain your needs, we'll see about introducing you to whomever is best positioned to solve your problems. Just because Kivy is open source does not mean there aren't support options available. We typically handle commercial support on a case by case basis trying to match clients with the best potential fit in terms of area of expertise and any geographical considerations that may come into play.

Kent Borg

unread,
Apr 2, 2016, 12:50:45 PM4/2/16
to kivy-...@googlegroups.com
I think Kivy looks cool, but admittedly I don't know much about it. Mostly I like Python, Kivy uses Python, so I want Kivy to be good. I expect to soon start using Kivy myself, but for prototype purposes. Whatever I do, if it works, will probably need a rewrite. Maybe on Kivy, maybe not. Using Kivy for a prototype seems like an excellent idea. Using Kivy for a commercial product, however, is a different matter.


It seems to me the risks of using Kivy (or any similar software) can be put in about seven questions:

 1. Is it a well done piece of software? Starting with a piece of crap would be a bad idea...

 2. Is there support? Paying money for quality support might not be something a weekend hacker is interested in doing, but someone running a business is sometimes willing to spend the money.

 3. Is there talent available for hire? IOS and Android developers are available on the open market. Kivy is maybe a great technology, but are there enough programmers who know it? Of the talent that is available that doesn't know Kivy, how difficult (expensive) is it to learn Kivy?

 4. Cross-platform has been a popular goal for a very long time, but different platforms are actually different, and those differences are real: How well does Kivy do cross-platform? How much platform-specific customization would you need? Would there really be a net savings on initial work? Would there be a net savings for ongoing work? Can you really do one codebase? How convoluted will it be? Might separate codebases, maintained by available programmers, who know their specific platform, just be simpler in the end?

 5. Is Kivy well suited to the specific project being considered? Not can it do the job, but is it actually a good tool for the job? For example, Python is a great tool, for a surprisingly wide range of uses, but not all. Likewise, Kivy will be a bad choice for some projects, is your project one of them? Cross-platform issues matter particularly here: consider some venn diagrams of the features your project needs, what the platforms offer, and how well Kivy supports then. An architectural overview of how Kivy would do your job, across the needed platforms, might be smart: What bits will have to be customized on each platform, what library differences are there, what user interface differences will users expect, etc.? Just being able to write such a document argues you know the technology and know what you are doing. (I don't know enough Kivy to write such a document...) Is Kivy such a good choice--capable of getting results so fast--that you can do a mockup/prototype without first asking permission? That could sort-circuit many worries.

 6. What future does Kivy have? As the target platforms change, it would be good for Kivy to update accordingly. It also would be nice if new features show up, but will these be any good? (Pet peeve example: Ubuntu has been ruining their desktop user interface, I think because they want to be more like a phone.) Also, are updates bug-free enough to safely adopt?

 7. Apple! Apple likes control, they have explicit rules against code leaking in through any route they don't control, and so they are naturally scared of interpreters and compilers in any apps. Kivy includes Python, which should raise suspicions if they are paying attention. I suspect they also don't really like cross-platform software that makes it easy to write code for both IOS and Android, they would rather killer apps only exist on their platform. Has Apple let many Kivy apps into the app store? How long did it take? Did they know that is what they did? Have they later yanked any of them? Have they explicitly said Kivy is okay? Apple can be arbitrary and act with neither warning nor explanation. They can change their minds. If you want to be on IOS and you use any tools that are out of the ordinary, Apple might someday decide they don't like that, and remove your app. It is a serious business risk to do anything that Apple both notices and doesn't like.


Note that just because I list a risk doesn't mean I am arguing Kivy can't answer that risk, just that if you want to convince your backers, it would be good to for you to have an answer for these questions.

Being able to point to existing apps that used Kivy successfully, that are similar to what yours would look like, might help a lot. Many are very afraid of being first to do anything: can you show you won't be first? The links on https://github.com/kivy/kivy/wiki/List-of-Kivy-Projects are interesting, but there are only seven links to Apple's app store, and some of them seem to point to apps that are no longer there.

I wonder whether there are maybe many more successful apps that use Kivy, but don't want to let on--businesses that consider Kivy a secret weapon?


-kb

Alexander Taylor

unread,
Apr 2, 2016, 3:31:47 PM4/2/16
to Kivy users support
Just to address the Apple thing in particular, there are several Kivy apps in the apple store, and there are no rules against their inclusion, although of course it's possible that apple could change the rules in the future. The main limitation for this kind of app is currently (I believe) that you aren't allowed to interpret/run new code other than what the user might type in, so e.g. you can make a python interpreter app but it can't install new modules from the internet.

Rudi Torres

unread,
Apr 18, 2016, 9:36:02 PM4/18/16
to kivy-...@googlegroups.com

Thank you all for your answers and support, I closed the deal last Saturday!

I will be using kivy for everything,  and Google cloud Platform for the server. Thank you guys so much for this amazing tool.

Project is planned for millions of users and will be coming to the US in this year too.

I hope  to bring a lot of new users and developers to kivy, as well as recognition to what an amazing tool this is.

I made another app with your library in case you want to see it, it is up in Google play now and will be in app store in 4 days.  Only in Mexico though.

Again, your work is amazing, kivy is amazing, thanks for everything!

--
You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/kivy-users/W-_1xnqlF4w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to kivy-users+...@googlegroups.com.

Paul Gailey Alburquerque

unread,
Apr 19, 2016, 4:47:22 AM4/19/16
to Kivy users support
Cogent thoughts there especially n°4 and n°7....i do wonder why there aren't more iOS apps personally, as of right now even packaging for iOS is proving elusively difficult and buggy whereby Android has been straightforward.

Oon-Ee Ng

unread,
Apr 19, 2016, 8:49:03 PM4/19/16
to kivy-...@googlegroups.com
Well one of the possible reasons is the cost of Apple's developer (or
whatever its called) programme. I'm writing a minimal-distribution
app, and I can distribute apks for free, distribute install files for
Linux, Windows, even Mac OS for free (in a format which is easy for
non-technical audiences to use) but when it comes to iOS the walled
garden means I'm stuck giving 40 Big Mac meals in my local currency to
Apple every year.

For those planning to sell their apps, this is not as much of an
issue, needless to say.

On Tue, Apr 19, 2016 at 4:47 PM, Paul Gailey Alburquerque
<pa...@murciamarketing.com> wrote:
> Cogent thoughts there especially n°4 and n°7....i do wonder why there aren't more iOS apps personally, as of right now even packaging for iOS is proving elusively difficult and buggy whereby Android has been straightforward.
>

John Fabiani

unread,
Apr 20, 2016, 11:38:34 AM4/20/16
to Kivy users support
I have to be honest - I love Python.  It has served me and my family well over the years.  And I have written two projects in kivy!  But today I find it harder and harder to use Python in future projects.  Everyday I see more and more web tech taking over the programming world.  At the desktop level (Apple, MS, Linux) there is Electron JS  (a great editor 'Atom' uses it and it's from github).  If you need it on the real web you take the same code you used with Electron desktop and use it on the web.  If you need it on mobile then use one of the many mobile frameworks that convert the web tech to the platform - all the while using the same code as you used on the desktop Electron. That I would say that is cross platform!  

That said, I want to say that I really don't like javascript as a language!  But I do like CSS.  Maybe I said that incorrectly.  I like what CSS allows me to do with my presentation to the user.  I don't like the CSS language (not sure it's really a language) that much.  If there were a real python alternative to javascript - I'd use it in a heart beat!  But there isn't!  And I'm not alone.  If Javascript was really a good language - why are google (go, dart),Mozilla (whatever their replacement language is), MS (Textscript) and many others (including some python guys) trying to replace it.

The reason I like the CSS is because it beats all the other GUI libs I have used in the past - including wxPython, PyQt, and now Kivy (more than a GUI really).  

So where does that leave me - turning away from Python :-(.  

Johnf

Kent Borg

unread,
Apr 30, 2016, 12:24:20 AM4/30/16
to kivy-...@googlegroups.com
On 04/20/2016 11:38 AM, John Fabiani wrote:
> If there were a real python alternative to javascript - I'd use it in
> a heart beat!

I recently heard of a scary thing: someone did Python in Javascript.
Seems the Devil's spawn, it just feels so wrong. I think I also read
that single web pages are now on average bigger than the original
version of Doom. There is a pattern there.

Python alternatives? A few years back the then-young language Julia
looked really interesting. Maybe it has become real by now.


A language that recently got my attention recently is Rust. It is
(nearly) as safe as Python, has civilized things such as a slice-like
syntax, yet is (nearly) as fast as C with (nearly) as small a runtime as
C. And can be used for systems programming--one could write an OS kernel
and device drivers in it. Notably, it is great at multi-threaded code
that does not become buggy the first time it gets modified and
complexity takes over. Where other languages give the programmer
primitives such as mutexes to control ownership of, and so access to,
shared data, Rust requires the programmer be explicit about ownership at
a higher level--but then it enforces access. No double frees, no array
overruns, no colliding concurrent accesses.

The ability to do low-level programming is what makes Rust only "nearly"
as safe as Python: one can mark blocks as "unsafe" and Rust's safety
rules are relaxed for that block of code. So where a zillion-line C
program has a zillion unsafe lines of code, the equivalent Rust program
maybe only has a few dozen lines of unsafe code, code that can be
examined and doubted, and tested to death.

-kb, the Kent who hasn't yet had a chance to program in Rust.

Kevin Ollivier

unread,
Apr 30, 2016, 3:50:58 PM4/30/16
to Kivy users support

On Wednesday, April 20, 2016 at 8:38:34 AM UTC-7, John Fabiani wrote:
I have to be honest - I love Python.  It has served me and my family well over the years.  And I have written two projects in kivy!  But today I find it harder and harder to use Python in future projects.  Everyday I see more and more web tech taking over the programming world.  At the desktop level (Apple, MS, Linux) there is Electron JS  (a great editor 'Atom' uses it and it's from github).  If you need it on the real web you take the same code you used with Electron desktop and use it on the web.  If you need it on mobile then use one of the many mobile frameworks that convert the web tech to the platform - all the while using the same code as you used on the desktop Electron. That I would say that is cross platform!  

That said, I want to say that I really don't like javascript as a language!  But I do like CSS.  Maybe I said that incorrectly.  I like what CSS allows me to do with my presentation to the user.  I don't like the CSS language (not sure it's really a language) that much.  If there were a real python alternative to javascript - I'd use it in a heart beat!  But there isn't!  And I'm not alone.  If Javascript was really a good language - why are google (go, dart),Mozilla (whatever their replacement language is), MS (Textscript) and many others (including some python guys) trying to replace it.

The reason I like the CSS is because it beats all the other GUI libs I have used in the past - including wxPython, PyQt, and now Kivy (more than a GUI really).  

So where does that leave me - turning away from Python :-(.  

Take a look at the work being done on this ticket to allow for a Kivy app to have a web UI, this should help make it easier to stick with Python for the guts of your app:


In addition, I'm actually working on a project called PyEverywhere (http://www.pyeverywhere.org), which aims to be a toolkit that allows you to use HTML5 for the app UI but have a local callback or web service that sends messages to Python to handle all the app's heavy lifting. For my particular case, I'm eventually planning for my app to use libraries like TensorFlow, NLTK, etc. to do machine learning on the fly while the app is being used. Doing this cross-platform without Python would be a huge pain, and I doubt I'm the only dev out there who would like to see mobile development where you can just pull in libraries like that to throw advanced functionality into your app.

PyEverywhere uses Kivy on Android, Pythonista on iOS and wxPython / PyCEF on desktops. This way you only have to use JS for manipulating the UI, which is what it was originally designed for in the first place. The goal of PyEverywhere is to make Python a serious option for mobile development for any task, from simple to complex apps. Python has a strong following for web app and scientific development, but it really doesn't yet have a mobile strategy, and I think the devices themselves are powerful enough now that the benefits of Python will outweigh the drawbacks. It tries to be toolkit agnostic, so you could actually code up a native UI (or migrate to one as your app grew), but the focus would be on making cross-platform development using web UI quick and easy. 

Kevin

Alexander Taylor

unread,
Apr 30, 2016, 3:53:51 PM4/30/16
to kivy-...@googlegroups.com
Just to be clear the github issue you linked is just about having a
webview bootstrap in python-for-android for use with e.g. a flask or
django backend running on the device. Kivy itself won't work this way,
it needs opengl and doing this via a browser is impractical.
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Kivy users support" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/kivy-users/W-_1xnqlF4w/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> kivy-users+...@googlegroups.com
> <mailto:kivy-users+...@googlegroups.com>.
signature.asc

Kevin Ollivier

unread,
Apr 30, 2016, 4:02:38 PM4/30/16
to kivy-...@googlegroups.com
Yes, sorry if I caused any confusion!
>To unsubscribe from this group and all its topics, send an email to kivy-users+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages