All posts by Julius

What Test Driven Design is (no development skills required)

I’m going to create these short videos as a way to share what I’m learning while creating the charities website. More about the charities website concept.

In this video I’m giving a short example of how Test Driven Design (TDD) works in practice.

For a beginner; what you see me using

I’m using Flask, a web-framework written in Python. If you want to learn how to create websites, this is probably one of the easier frameworks to create a website in. At least I hope so, because that’s the reason I picked it.

The development software (IDE) I’m using to edit the code and run the tests in, is Pycharm. More information about how and why to do these type of tests you can find over here.

For developers; a great video on why these tests are important

New project: charities platform in the spirit of Helpalot

I’d like to show you this thing I’m working on.

A pet project with a long history

10 years ago I set up Helpalot.org, a charity social network site. The goal was to make it easy to find charity projects you could trust.

Here I am, introducing the concept on Netsquared in 2006:

I am going to build a website that can facilitate people to help the world in a better way. Taking the openness of Wikipedia and adding the social network aspect, I’m going to create a website that has the potential to be a charity guide that not only contains every charity in the world, but also is the home of an energetic community that will change the world for the better.

So it wasn’t lacking ambition. At the time, I had a day job, was setting up a games company (fourcelabs.com) and was probably spread to thin to really make it work. Either way,  with a very small team we worked on it in our spare time for over 3 years. It had about 300 profiles and we learned a lot.

The time is right to have another go at this.

Last time I was trying to create a full social network site, like Hyves or Facebook. This time I’m taking a more agile approach to the same problem, where the first prototype is much simpler and I’ll be one of the core developers.

Sharing the progress

I have a background in interaction design and recently I decided to focus fully on becoming a software developer. One of the main reasons is that I want to be able to move my ideas forward in a more substantial way.

I’m learning as I’m doing and I’m going to share the progress on both the website and the lessons learned as a developer.

Test Driven Development

This video above introduced me to Test Driven Development (TDD)

It inspired me to try to work in this manner on this new charities website. In the next post I’ll show you a quick example of how I’m going about this for the prototype. Also I’ll share who is working on this with me :)

 

Idea Growr update – Import ideas from zip file

As of version 1.54 of Idea Growr, you can now import your ideas. This enables you to move all your ideas to a new phone, or collaborate with someone by sharing your idea(s).

How to import

This assumes you have exported your ideas to an app like Dropbox. You can export your ideas using the up-arrow-icon on the main screen.

1. Download the .zip file to your device

Screenshot_2016-04-07-16-58-15Screenshot_2016-04-07-16-58-23

Go to your Dropbox app (or where you have stored your idea) and download the .zip file to your device. For instance ideas-2016-04-07.zip to your Download folder.

2. Open Idea Growr and go to settings

Screenshot_2016-04-07-16-43-50_highlight_settings

3. Tap the ‘Import from zip file’ button

Screenshot_2016-04-07-16-43-56 - Copy

4. Select your zip file from folder you downloaded to in step 1

Screenshot_2016-04-07-16-47-38 - CopyScreenshot_2016-04-07-16-47-48

A progress bar will show the progress of the unzipping. This does not mean the ideas are imported yet.

Screenshot_2016-04-07-16-47-57

5. Select how many ideas you want to import

Screenshot_2016-04-07-16-48-17

6. Select ideas to import (optional)

Screenshot_2016-04-07-16-48-52

7. Idea Growr checks for potential duplicates. If those are found, select if you want to import them.

Screenshot_2016-04-07-16-49-30

The app looks at the ideas in your zip file and can see that one or more of these ideas have a name this is also in your current list of ideas in your app. It’s up to you what to do next:

  • Import all anyway
  • Skip the ones that are probably duplicates
  • Import the content of the ideas with a known name as notes.

I struggled a bit with how to best describe this. If you want to help out, let me know in the comments if this seems clear from the screenshot or how it might be improved. 

8 After another progress bar your ideas are imported

And that’s it. If you have any questions, bugs or feature requests, let me know in the comments.

You can download the free android app Idea Growr here.

Idea Growr update – More control over your own questions

I have added a couple of new features in Idea Growr with the goal to give you more control over your own questions.

Download the Android app here, or learn more and watch a video here.

  • Create and edit multiple of your own question sets
  • For every idea select what ideas you want to use
  • Select any of the 11 languages in the settings

Create and edit multiple of your own question sets

Idea Growr settings Manage your own sets Edit question set

When I rewrote the database last year, I set up a structure that would allow me to do this update. I hope to later use this as a first step to a simple platform where you can share and import your question sets.

I put a lot of effort into creating a list of fields, and I was very close. But in the end I had to use a pop-up dialog where you can enter your question. I could write a rant about how Android should make this easy, but I won’t.

For every idea select what ideas you want to use

Screenshot_2016-03-20-22-51-38

I got a number of requests for this feature and it is one of those things that I hadn’t thought about myself. You could say that seeing a title of a question set you aren’t using is not a problem. But when you really think about it does matter.

Idea Growr is about helping you in your thinking process and it makes sense to want to remove as much clutter as possible.

Select any of the 11 languages in the settings

Pop-up language select, if you scroll you would see Portuguese too.

The app always supported a large number of languages. I wrote about it from the start. The way that Android works out of the box, is that it will use the language of your device. I received feedback that people wanted to switch languages. I can understand, because to be honest, most of these translations are far from perfect.

While some have helped, I use Google translate for most of them. The thought being that if you don’t know English, you would rather have something you could read but had some strange sentences, than have an app that you can’t read at all.

You might think it would be easy to implement such a feature, once you have all the translations, but it was not so simple. Either way, I now have it working and I wonder if more people will switch to English or use the feature to switch to a different language at all.

Idea Growr update – Add picture to note

As often requested by users, you can now* add a picture to a note.

To keep things as simple as before, you can only add a picture to a note. So no need for a media library or other (mental) overhead.

I could re-use some code from my other app, My Picture Books. And while I was at it, I rewrote most of the create/edit note code making it much easier to maintain.

Next up will probably be the option to export all your ideas in a .zip file that also includes all your pictures and audio, just like I made for My Picture Books. It might even be possible to export ideas from Idea Growr and import them to My Picture Books or the other way around. I’ll have to look into that :).

* Now = version 1.48 rolling out today, but not for all users at once.

Update My Picture Books app – Export books with a zip

It has been over a year since I updated My Picture Books.

MPB StatsFebr 2016

You can see that with about 350 active users this app needs a little love and attention. So I went over the feedback to see how I could best improve the app.

Comment on this blog:

Sinisa commented”.. Also, option to export as PDF will be awesome, or even better if you can export with all features as in app. I mean with audio, text and pictures. Importing other books will bring this app to new level…”

Reviews on Google Play

Sherry San Diego: “I’d like to have the option to keep my work in private & at the same time, be able to share my books (or the links to my books) to others if I want to.”

Gabby D: “I wish I could be able to share it”

Chandra Praba “Amazing app. How can I share my book..”

Exporting your books

As a first step towards sharing, today I added an export feature. The app will create a zip file that contains all images, audio and HTML files to display the books. You can for instance send it via e-mail or store it in your Dropbox folder. For this update, the HTML file is very basic, there is no page flipping, you just scroll to see the pages.

Play audio on Chrome browser

You can also play the audio you might have recorded with a page, but not all browsers can handle the file type that is used. The means you have to use Chrome if you want to listen to your recordings.

There is not yet an import feature, but I created a JSON file that will make it easier to add this in the future.

Download the Android app here. Let me know what you think!

Writing on a 3×3 LED matrix on my Raspberry Pi

Recently I was given a Rasberry Pi by Jungle Minds, so I had to do a little project with it.

I followed along with this great tutorial on how to create a 3×3 LED matrix. I didn’ t follow the tutorial to the letter, for instance I used the gpiozero library and made a custom function to write texts.

Proof :)

The code

Take a look at the code on BitBucket (might be more recent) or just look at it here :).

Have fun!

Lovely feedback on my My Picture Books app

It has been a while since I did any work on My Picture Books. It’s always a nice to get some feedback in my inbox. Carlos gave me an ok to share it here:

It’s a great app, very easy to use. My little students (5&6 years old) are able to create their own albums.

I’d like to suggest you only one thing. If you can to make an option to share the albums it will be the perfect app.

If you don’t know the app, here is a quick introduction:

Really great to learn that children of that age are able to use the app. Being able to share, or even export your books requires quite some work, and I’m not even sure how to best go about it. But it got me thinking about the app again.

Like with Idea Growr, the app doesn’t have an online back-end, so I’m first looking into what can be done in the device. I’ll try to create a little prototype that at least will be able to export an HTML file with images and figure out if that works.

Letting user set the language in an Android app is harder than you would expect.

I’m working on an update to Idea Growr that gives users the option to set the language of the app. At first just the option to either ‘use device language’ or ‘English’.

How language works in Android

If you develop an Android app you use folders like values-fr for all your French texts, and values-pt for Portuguese, etc. When a user opens the app, Android looks at the language that is set at the device level and it will pick that same language for your app.

You might think it would be easy to give users control over the language in the app, since the folder structure is already there. But it’s harder than you would expect:

  • You can change something that is called ‘locale’. But that sort of tricks Android into thinking that there is a different device language. This makes it rather hard to later on enable the radio button for ‘use the device language’. In the comments of this Stack Overflow question you see a whole range of options. Taking fully different approaches.
  • But these and other solutions you find online might be from 2012, and since then new Android versions make that those solutions no longer (fully) work.
  • Then when you think you get it to work, strange things happen, like action bar titles that won’t change immediately but sometimes later on. Again a Stack Overflow question shows I’m not the only one with this problem.

Ranting on..

So now I’m at the point that I try all sort of different things people are saying in the comments of Stack Overflow questions. I have the feeling that many developers would say that this is part of the process of software development, but what I find troubling about this is that I’m not learning anything.

I want to become a better developer, but at the moment I think that I actually could not have known how to do this with a better process or general software development skills. It’s just that Android assumes that users want apps to have the same language as their device. While I’m not holding my breath, I added a request for the Android team for an easy way to let users select the language of their apps.

Sim Karakter update: Now in Slack, but how to change the font?

Another update on the Sim Karakter game.

I have it working in Slack, but there are two problems:

  1. The font of Slack makes the numbers not align with the items in the level
  2. Typing ‘/sim’ all the time is a hassle

Sim Karakter on Slack

The font of Slack makes the numbers not align with the items in the level

As you can see the some elements are not aligning properly. I’ve not yet figured out how to use Slack Slash Commands to display test in monospace font or do some other trick that helps.

Typing ‘/sim’ all the time is a hassle

It’s a good prototype in that I can get a feeling for how fun it is. And while I knew the game itself didn’t have enough gameplay fun, at least in the web verstion it was easy and quick to play. In the Slack version everything you do takes a little bit too much effort because you have to type /sim before every command.

But I’m happy I got it working as planned :)