Just a small update

I’ve been working ~8-hour days on tinypapers and learning Kivy, which is actually longer than I’m used to. I’m expecting my mental stamina to increase over time, which is a pretty safe bet… but for now, I’m tired. I think I’m just having an off day.

Nevertheless, I did a few hours of tinkering with the interface. A lot of what I’ve been adjusting is structure and stuff, so you can’t see a ton of change, but here’s a quick screenie to whet your curiosity:

tinypapers v0.0.1

As you can see, I managed to put in some margins around the button. There are quite a few issues, though.

To name a few that you can actually see:

1. If there aren’t enough buttons to fill the page, they sit at the bottom rather than the top.

2. For some reason, only the second sample button I put in is showing up.

3. The blue-gray color looks a lot more blue and clash-y when it’s next to the other blue and the turquoise. I need to put borders in that pomegranate red around things so they aren’t right next to each other, or change the color scheme a little.

Of course, there are a zillion things you CAN’T see that I need to be working on…

…but can’t right now because my brain is not at its clearest.Β Maybe I’ll just down an energy drink and keep going. That sounds more fun than being restless for the rest of the day and just thinking about what I want to be doing (i.e., this). Or maybe I’ll do chores and paperwork and catch up on email. That needs to be done, too. :/


10 thoughts on “Just a small update

  1. Wow !
    Please tell me you are on twitter !

    I just spent the last half an hour(or maybe more) reading all your posts and I have to say you write stuff really well and I can relate to most of the stuff you’ve written because I’ve also done must of those things in the past year. I was on ESR’s page and he had a link to your page and I have to say this is the best blog I have ever read which I can relate to πŸ™‚

    Oh and btw I wouldn’t recommend using Kivy for app development because from what I’ve heard it’s really cumbersome to use. I just started with Android a week back and I have to say even though I don’t like java programming, for android I would say it’s really the best way to go.


    • I’m not on Twitter, sorry 😦 I don’t use much social media! I am on Tumblr, but even my presence there is spotty. I like the .gifs, don’t like the liberal-extremist political views, so I get tired of it. My username there is myexplodingcat.

      I’m glad you like the blog so much! I emailed ESR about nine months ago asking if he knew of a good book to help me get into Linux, because I’d read most of his stuff, had done a lot of Google-poking, and still wasn’t getting very far. Later I learned about VMs and finally managed to learn Linux because they made it more accessible, and I remembered that I’d meant to write a primer for other people. So I wrote one and sent him a link asking for any comments he had and offering it to be passed on. I wasn’t expecting him to say such nice things about it!

      Kivy gives you a lot of freedom in the structure of your programs. It assumes you know what you’re doing and doesn’t impose “safety-net” restrictions on you like other programming languages. In Jargon File terms, this would be called a lack of syntactic salt. But if you do know what you’re doing and you run into a snag, you have the freedom to stick in a temporary kluge if you need to.

      The trick to Kivy is that you have to keep your interface code and your logical/back-end code separate. There are two halves to a Kivy program: the .kv language file, and the Python file. KV should handle the graphics, Python should handle the logic. If you make sure the languages are doing the job they’re designed to do, rather than making them do the other’s job every three lines, the program is a lot less buggy and a lot more readable.

      In certain other programs like Visual Studio where you make a graphical app, this divide is still there. The difference is that VS won’t let you touch the interface code, because it assumes you have the IQ of a concussed weasel. If you want to talk about cumbersome (among other words), try Microsoft Visual Studio. But make sure you aren’t running anything too heavy in the background first. :/

      (Don’t actually try VS. It requires you to be running Windows, for one, which already makes it not worth it–and for another, it’s ridiculously expensive. The only reason I have it is because I got it free with my student account since I need it for school; it is confined to a VM.)

      Kivy is well-designed. It’s just not very easy to learn.


  2. Well I am working on a windows machine now though this is only temporary because Android studio works better on it. And I have no personal experience on Kivy but like you said about keeping your interface and logical code separate I think that’s present on every programming environment which deals with both the ui and back end so not sure what you meant there.

    I don’t even know which platform the app you are developing for is but the only advantage on using Kivy that I can see is if you wanna make your app cross platform. And the thing about safety nets is that at least in android development you can modify almost everything of the app including the UI using a simple text editor if you want, hell you could program for android completely using a text editor and would just need the compiler. I’ve never tried VS so don’t know what type of bad experience you’ve had but if you haven’t checked out developing for android using java you should really just look into it once.



    • My point was that I think your friend’s complaint was with the fact that Kivy doesn’t police your code boundaries like most programming environments do. You’re supposed to do it yourself. This gives you a lot of flexibility and actually makes writing proper code easier if you know what you’re doing, but if you don’t know what you’re doing it could make the system seem clunky and confusing. I’m not saying your friend is an inept programmer, just that maybe he’s not familiar with how Kivy works.

      What you thought I meant when I mentioned safety nets isn’t actually what I mean. I’m not talking about making the app look visibly different–you can do that under basically any environment. I’m talking about the process of coding.

      The advantage of using Kivy I can see is fourfold: 1) it is cross-platform, as you mentioned; 2) it doesn’t run better under Windows, which I think is a questionable sign; 3) you can write in Python instead of Java, and 4) it gives you the freedom I’ve been talking about.

      If you used Kivy, you’d understand the freedom I mean. But the issue is that when you program under more restrictive, less powerful systems, you can’t see the benefit of more powerful ones. There’s actually an entire Paul Graham essay about this; I’ll give you the URL.


      By all means, if Java works for you, go for it. Perhaps at some point I’ll try it, especially since you seem to like it so much. For this project, though, I’m going to use Python and Kivy. Just try not to lock yourself down to one language and prevent yourself from learning and using others; this is a lesson for all good programmers.

      Thanks for your input!


      • What do you mean by police your code ? Could you give an example.

        And frankly I never liked java myself. I’m a C guy. I never saw the benefit of any oop language because all small projects I did could easily be done in any language that’s why I like Python also but I was advocating for java because programming for android in java feels natural. I have no idea how you develop in Kivy though now I’ll have try Kivy to compare the two πŸ™‚


      • I mean that if you want to do things the “wrong” way temporarily, in order to debug something or test out a new feature, it’ll let you. Kivy is an add-on to Python which does several things: among them, it lets phones run Python, and it also provides good tools for building mobile interfaces. But Python already had a bunch of interface-building tools. When you delegate the interface-building to Kivy by using a .kv file to write your interface code, you choose to use KV instead of Python for that job as much as possible. Remember: if you have a seam between two languages within the same program, even languages which are designed to be compatible, you’ll find quite a few bugs there. And there may be ways to get KV language to do back-end stuff that I haven’t found yet–probably not, but it’s possible.

        Most programming environments, IDEs, whatever, would have tried to actively prevent you from using Python for this interface dev, or would try to keep you from using KV language for something back-end. Kivy doesn’t try to police this. It assumes you know the complications that come with making the seam between the two jobs/languages wild and unpredictable, and that if you do it that way, it’s for a good reason (e.g., debugging). Visual Studio would never let you have this kind of freedom.

        I haven’t tried the Java/Android thing. I took a look at it and considered it for the project. The IDE files were huge and there was a ton of legalese, and working with Java on top of it–it was kind of a snap decision, yeah, but I went looking for something else to use. I’m sure it’ll come in handy one day though.


  3. I really liked your blog. As people have said, you write very well and it’s fun to read… Also, I’m kinda going through the same learning-all-I-can proccess that you are on.

    I’m writing at this specific post because recently my friend and I started to write a bar management app in Kivy for his girlfriend “tea house”. We were attending a OOP class last semester and we were supposed to write a Java app, but since he and I were much more fond to Python, we convinced our teacher to let us made the app in a “Python framework called Kivy” πŸ™‚

    I were kinda busy, made the backend suff in Python and on the day before the presentation we started learning Kivy haha… We didn’t finish the whole app in time, but since he wanted just the “state of the art” of the deployment, it was fine. I have to say, Kivy is *awesome* and the Kv Language is as intuitive as a CSS file!

    I’m not sure if you have already seen it, but there’s this tutorial “Kivy Crash Course” available on YouTube made by Alexander Taylor – one of the Kivy developers. It’s really dynamic, like 14 videos with ~10 minutes. I know you bought a book, but maybe watching it and copying his code (like a Zed Shaw’s student is familiar to do! haha) and then reading the book will give you a much wider view of Kivy.

    Also, since you’re into learning as much as you can about Linux, I think you’re gonna like the way he codes: he uses an Emacs editor with the “Evil Mode”, which allows him to use the shortcuts from the Vim editor and also having access to the Emacs builtin terminal. By only using the keyboad and a lot of hacking shortcuts, he wrote the code really efficiently.


    • I’m so glad you like the blog! And apparently I’m not the only one who sees a connection between Python/Kivy, HTML/CSS (respectively).

      I haven’t seen those courses. I’ll have to check them out!

      (I have to say, vim freaks me out. If I were to work with it, I’d have to have a list of all the commands taped up somewhere. I like the really simple editors like gedit, personally! Notepad++ if I have to use Windows.)


      • haha it can be pretty scary at first glance, indeed. I’m part of the team that administrates a Linux server in my university and from time to time we have to edit some files in a remote machine and for those situations, a GUI-based editor is not an option. When I had to edit them, it used to be really painful, but a month back I decided to try harder (that kivy course instructor productivity surely was a huge motivation!) and it’s quite natural now. You end up memorizing the commands naturally. Should you ever want try it as well, just type “vimtutor” in your Linux terminal.

        Liked by 1 person

  4. Hmm. Frankly I still don’t see your point, I saw a few kivy video tutorials and like I said, it doesn’t feel natural.

    So best of luck to you on that and keep us updated πŸ™‚


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s