As you already know, I like open source software. I also really like knowing what the weather is currently, and what it is supposed to be over the next couple of days. These two desires coincided lately in a great weather app for Android called Your Local Weather!
I particularly like the graph features in this app!
With tons of features and even some very handy widgets, I’m sure that you will enjoy Your Local Weather. Even better than finding a good app to use was finding a developer who was kind enough to participate in an interview by email! I was curious to see what drives someone to commit the time and effort into these open source projects and to hear their perspective and plans for future builds or projects.
If you were wondering as well, then I have good news for you, because below is the interview!
The Interview
Tomas, what a great Android weather app! Your Local Weather does just what
it claims, with simplicity and ease, as well as a few nifty features. With so
many weather apps already available, what helped you decide to make your own?
Yes, you are right, Weston. There are lot of weather applications
available. I used some of them, but then I found that a location is not
updated properly in widgets. For example – I was in my office for several
hours and weather widget always shows my home location. I’d tried several
applications, but the result was always the same. I didn’t want to develop my
own weather application. But, no application update location properly. I
started investigation to find where the problem is. I found an open source app
which is suitable for my investigation – the app is called Good Weater –
https://github.com/qqq3/good-weather. I started to learn how to write
application for Android. I just wanted to find the problem – not develop my
own application. It took several weeks to find where the problem is. I’ve made
a pull request and my changes had been accepted. Then, I found some bug in my
implementation, but my next changes had not been accepted for several weeks.
So I decided to clone Good Weather application and started to release it with
the new name – Your local weather.
I personally love the graph feature in the app. Did you have to include
extra libraries for those, or did you work those out by hand?
The graphs are originally created in the Good weather app. So I inherited
the way how to create the graphs. The graphs uses MPAndroidChart library
(https://github.com/PhilJay/MPAndroidChart). I just updated the version of
this library in my app and added one more graph (for pressure – the change is
done on user’s request). Now, I’ve just prepared new kind of combined graph
for widgets – so we can see this graph in widgets soon.
How long have you been programming, and what is your favorite programming
language?
My professional career as a software developer started 13 years ago. But I
made my first piece of software when I was teenager – it had been done on
computer Didagtic gama (a clone of ZX Spectrum computer). So I started from
Basic programming language, then I continued with assembler (machine code) and
the latest was Java. My favorite programming language is Java and enterprise
Java. I learned JavaScript also, but my experience with this language is not
so strong as in java.
There are a lot of Android apps out there, and not all of them are open
source, but I’m glad yours is. Why did you decide to release Your Local
Weather under an open source license?
I believe that the answer to this question is obvious from the history of
this project – the licence has been inherited with the code. I can benefit
from the fact that lot of people helped me with a translation. This is really
good. But still, I often think of the next development. I want to leave the
app free and open source. But I want to make lot of improvments and want to
offer paid access to openweathermap.com service also. And this is not possible
without the time and money. I’m still not decided how to solve this problem.
About how much time would you say you spent working on this app? Both
initial development, and now upkeep?
It seems to me that I spent every evening of the last several months coding
this app. But that’s really not the true. I’ve started about one and half
years ago. I learned a lot about android development, location services,
making a graphs, updating widgets etc. It was a lot of ways to a blind street.
Lot of testing the solution without any success. But I’m still looking forward
for the next development 🙂
How did you go about testing? Did you do all testing in house, or do you
have a team of trusted testers?
Every change is tested on my phone – when I make some change I usually
spend some time walking with the new version on my phone. When testing is
finished I release the app to the public audience. I often check the developer
board for ANRs or Exceptions to be able immediatelly make the fix. So my
approach is a short release cycle for bugs. It’s really interresting that
release which works fine on my phone causes problems on other versions of
Android or other devices. I’ve also thought about automated tests, but I
haven’t done any yet.
Do you feel that your work on Your Local Weather is complete, or do Android
updates and user interaction keep pulling you back into working on this
project?
I have a lot of feedbacks from YLW users and I have a several ideas what I
can do more – the improvements and new features. It’s not so easy to decide
what to do earlier, becuse I want to implement everything. So yes, I’m going
to enhance YLW application with a new features. I want to keep the app free
and open source as much as possible, but some features needs a lot of access
to the openweathermap.com service. So this leads me back to thinking how to
get money for the access and for the development also.
How about open source projects other than this one? Are you currently
working on anything that you would like to share?
When I started to investigate the problem with location I participated on
two more projects – UnifiedNLP (https://github.com/microg/
android_packages_apps_UnifiedNlp) and RadiocellsNLP provider (https://
github.com/openbmap/radiocells-nlp-android). Some of my changes has been
accepted, but I’m going to put all my forces on YLW application. I would like
to participate on OsmAND project also (https://github.com/osmandapp/Osmand) –
improvements regarding find of location, navigation (fixes and improvements).
But I haven’t enough time to do it.
Thanks for taking the time to answer a few questions. Before we go, do you
have any advice for someone who wants to get started in programming?
Yes, if you have some idea – write your idea to an application and release
it. You can see lot of the simliar applications, but there could be one small
point which makes you app unique.
Great advice!
Learn more about Your Local Weather
Be sure to check out the source code for YLW on GitHub! Who knows, perhaps it will inspire you to make your own app, just like Tomas did! You can also download the app from the Google Play Store, or from the F-Droid repositories. Tomas is also known as ThOsp on the Google Play Store, or as thuryn on GitHub.
Linux – keep it simple.