Dependency Hell

It all seemed so straightforward

I have a Udacity project to complete in 4 weeks, working in my personal time as part of the FastTrack course.  Take a semi-working app, add some features fix some bugs, call it done and submit.

Nothing crazy, move it from activities to fragments and create a master/detail layout using both for tablets and larger screens.  Implement a widget, which is new to me but doesn’t look difficult, optimise layouts for LTR and RTL languages and finally, add a screen with some graphs for details about the selected stock.

Then Yahoo happened

Having a lot going on in my life (planning a wedding, work commitments, etc.) I knew this project would be split into simpler tasks that could be achieved in 30 minutes to 1 hour.  This way I could squeeze some work into a lunch break and the bigger more complex pieces would be done in a few rare longer sessions.  The first long sessions I got the plan was to pull data for the graphs.  Except the Yahoo API had decided to change the URL that this data was downloaded from, which effectively meant that this historical data was missing.  Decision time, implement my own download and parse of a .csv file and add a bunch of work, or wait for the library the project came with to be updated.  Eventually about 5 days later, the library was updated to use the new URL’s and historical data was back.  Once I had that data the graphs got implemented pretty quickly.

Then Yahoo happened again

So I steadily worked through the rest of the project, taking a bit of time with Widgets as its a little bit different to what I’ve done before.  Finally it was time to dot the i’s and cross the t’s.  Oh hang on I’ve no data anymore… Yeap yahoo changed URL’s again, only this time they completely changed how the data is pulled. The library we use doesn’t look like it will be updated at all.  Essentially the upstream API that provides the data is gone… 2 days before the submission date.

Conclusion

If you depend on an API, best make it an official one with a defined road-map.

 

Python script for multiple image creation

Needing 5 sizes of each image for an android app is annoying, so I did what any sane person would do. I wrote a python script that does all the hard work 😉

Available on github.com, it should work with python 2.7 and 3.x, once you have “Image” installed

  • pip install Image
  • place some images in the same folder as the script and rung it

py-drawable-resize-1

  • You will see output like below, followed by the folders being created with the images inside

Back to writing the apps..

 

Android Basics Nanodegree with Udacity

So I’m currently learning all about Android application development.  I’ve made an app before while experimenting but decided to go with the Udacity course so I would not run into any trial and error rage quit scenarios while learning.

So far most of the apps have been simple single screen affairs with a few buttons slowly introducing Java concepts along the way.

Part 4 however is where the multi-screen fun starts, realistically I can’t wait to get to info exchange with a back end server and maybe build my own backed service.

Next though I’m going to try Android Studio under Arch Linux ?