“Add” There Was Much Rejoicing

Yes, that was a pun combined with a Monty Python reference. I know, I’m awful. tinypapers IS written in Python though.

I wrote the UI skeleton for tinypapers’s most basic “Add” page, and a little more back-end stuff for switching from screen to screen. It was pretty easy, actually! After that ListView nonsense, I was kind of expecting another fight with Kivy… which of course made it harder to start working on something else. I guess I wanted to savor the victory for a few hours before I broke tinypapers again! XD

Basic Add Form

Also, the Back button works now.

I guess I’m ready for the next big hurdle… which is going to be integrating the camera. Kivy is said to  handle this gracefully, but I don’t know how it’s going to work when I test it on my laptop. I have a functional webcam… I guess it’ll use that?

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. :/

KV language DOES NOT take in-line comments

In KV, you can put comments on their own line, preceded by a # as usual.

However, if you try to put them after code, on the same line, you will get this error:

TypeError: ‘NoneType’ object has no attribute ‘__getitem__’

It took me WAY too long to figure this out. KVlang just doesn’t support in-line comments.

This is here so that anyone Googling the same error has the shortcut I didn’t.

I don’t really want to type out a full-fledged update right now though. I’m busy!

Tiny colors?

Just a small update, but… we have color!

Screen Shot 2015-07-11 at 5.53.40 PM

The blue header color you see and the silvery gray peeking out from between the buttons are both new.

Obviously, I’m still working on figuring Kivy out, since I’m messing with piddly stuff like colors. But making little bits of progress like this makes me feel like the project isn’t stagnant.

I also finished Chapter 2 in the Kivy book, which had nothing to do with this. I just figured it out from what I already got out of the book, and from Kivy’s online documentation, which is somehow a lot more helpful now.

Tiny steps for tinypapers

tinypapers is coming along really nicely! I really like the book I bought, and it does work well on the Kindle. I really recommend O’Reilly’s Kivy book.

After reading the first chapter, I managed for the first time to get tinypapers to look anything like what I imagine tinypapers to look like. I have this thing designed out already, remember. I have a notebook where I’ve been drawing up mockups, and scribbling down feature ideas and file structures and things to remember.

It’s a long way from truly recognizable, but here’s version 0.0.0 of the interface, literally just hacked together in a couple minutes and with a few sample business names thrown in:



I also have a color scheme picked out. I think it’s really pretty! Use colorcombos.com to make your own color schemes for whatever.


Kivy + inexperience = confusion

I’ve been trying to hack on my app all day, but I’m still at the slow end of the learning curve and although I don’t easily get frustrated with tech, I am getting brain-tired. And after the Internet yielded iffy tutorials, I broke down and looked for a book. I didn’t actually think there’d be one yet–Kivy is only a few years old AFAIK–but there were actually two (maybe three? four if you count the one that was in Japanese). A low number, yeah, but for a young and kind of obscure piece of tech, I was surprised.

One of the books I found was made by O’Reilly–naturally, I went for that one. I’ve had really good experiences with their Head First series–my first tech textbook was a HF book–and, besides, they’re just… classic. If you don’t know, O’Reilly is kind of a gold standard in hacking textbooks; a name brand as recognizable to nearly anyone with programming experience as “Kleenex” is to nearly anyone living in a first-world country.

I decided I was too hungry for instant gratification to wait a week or more for standard shipping rates, too cheap to want to buy the Prime book which was more expensive, and had too little space on my bookshelf for another programming textbook, so I ordered it for my Kindle instead. The Head First books don’t really translate well to ebook form, because of all their pictures and diagrams and double-page spreads. (Tried that with Head First Java. Acquired headache.) I don’t think the ordinary O’Reilly books are quite so visual, though. I guess I’ll find out. Either way, I really need to clear out space on my bookshelves–I have an entire deep desk drawer full of textbooks from classes, and four more of my own just laying around my room. I probably have enough technical literature to crush a small sheep if it was dropped.

This is probably why my older brother got me my Kindle.

I’ve been working for about… eight hours? today, just stopping for food and to shower. I feel like I could keep going, but this is a good stopping point for the night and I’m just gonna leave the hacking here for now and let my brain recover a little.

That’s all for now.

My first phone app

I’m really wishing for a more experienced hacker to help me with this. Or at least another smart 18-year-old. (Hey, Steven, you want in on this?) I’m having issues figuring out where to start, and this platform is so foreign that I’m not sure how to do things like work with files. On a normal computer? No problem. On a phone, working with the Android OS? Uh… not sure. But I’ll figure it out.

I’m working on a phone app that will store all those little bits of paper people shove in their wallets. No, not money–I’m talking about business cards, receipts, scribbled addresses on the backs of envelopes, notes to self, maybe checks (for those people who have the banks that support sending in a picture–this would have to be password protected), coupons downloaded off the Internet… stuff like that. And all the metadata you’d need, like when you added that business card to your collection, whose name is on it, what business it describes, etc.

I’m also thinking that maybe it should use a light compression algorithm–I mean, if it’s gonna store all this stuff locally, which I would like it to, because it’s convenient that way and I don’t want to pay for a server to do it for me. Or I should just make sure it’s not storing huge, high-quality images like the camera likes to do; they should at least be resized to like 250×400 pixels instead of 1250×2000 or whatever the camera does automatically. Maybe if it catches on, I can get some VCs to back me and I’ll buy a server and allow people to pay for cloud space.

I’m using Kivy to develop this, because it’ll let me program in Python rather than Java, and it has a lot of other neat features I like. (Yeah, I can see where Lisp’s macros might be useful here, but I’m going to stick to OO stuff for now. Especially if I want to actually find someone who’ll work with me.)

I think people need this app! I’m going to sneakily develop a dedicated user base of everyone I know before I start really touting it and drawing the attention of companies that might copy me. It’s hard to fight the force of users who’ve already learned to use something that subsequently made their life easier.

My dad definitely needs it :/ Not just his wallet but also his car is always full of little bits of paper, because he runs a stump removal service.

I want to keep the design and interface as simple as possible. I can see the possibility of something like this turning from lean and neat and space-efficient to bloated and confusing.

I’m not sure whether I want to keep this to myself and maybe a friend and develop/release it by myself/ourselves, or if I’ll throw it to open source. I don’t think it’s really meaty enough to benefit much from open source… it’s such a little, simple idea.

I have no money for this project, I’m the only developer, and my prospective clients are myself and my friends/family/teachers. The communication overhead is an advantage (i.e., the lack of one), at least. And I’m also not working under a deadline, although I’d like to have something running and usable for people to play with when I go to TechWeek in September. I bet I can get a good chunk of this thing done by then, even with the learning curve I’ll go through.

Anyway. Time to start really hacking, I think I’ve got a good basic design down on paper.

Oh! One more thing. I’ve got a name for it now! It’s called tinypapers. It took me a while to come up with that because the purpose of this thing has changed drastically since I’ve been mentally designing it for a few weeks.