Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Tuesday, April 1, 2014

One Book Away, for Android

After nearly seven months (7 months!) since my final project for my Android program was completed, I have released it onto the app store. Introducing (formally)... One Book Away!

Go install it now at the Google Play store:
https://play.google.com/store/apps/details?id=com.mabon.onebook

If you like it, please leave a glowing review!

Now for some questions that no one is asking...


Where did this idea come from?
The idea for this app came to me a few years ago when I was trying to organize things I was waiting for at the library.  After placing holds on a few popular books or movies, I found they seemed to come all at the same time!  So I came up with a way to estimate how long I would have to wait for books and movies.

Originally, I thought it would be a greasemonkey script.  The only reason I decided to use Android was that I needed a project for my Android class and I couldn't think of anything else.  The first app was just a manual-entry calculator, but as I learned about the platform it grew into a full-blown useful app.

Some past iterations of the app:

Why did it take 7 months?
One of my instructors gave the advice to build something that you would find useful, then after building it decide if it would be useful to others.  At the very least you get something you find useful for the work you put in.  However, I ran into the problem of the app working well enough for me, so I wasn't as motivated to finish polishing it.  On top of that, I was only putting in about 1 day a week, and if a major issue arose it might take me 2 weeks to find a good solution.

What's your status?
I'm a full-time contractor, so I was looking for something to do on the side for fun.  I don't do any advertising for my apps, and I feel if I was ever going to look to do this more seriously it would be beneficial to me to keep publishing apps.

What got you into Android development?
I did some robotics development a few years ago that I very much liked.  The same bug that might render a web page incorrectly might cause your robot to turn left and run off the table.  Android development reminded me of that past, so I wanted to explore it further.

What do you think of Android development?
I've been on a c++ project for a few years, so getting back into Java was a little strange.  I don't like development that gets in my way, and I want it to be straight forward and just work.  Some parts are very nice, especially the xml files for the layout and strings.  Other parts I'm not so hot on, like the amount of code it takes to do what appears to be a simple task.

It took a while to get used to Eclipse coming from the easy debugging style of Visual Studio.  I switched to Android Studio as soon as I could, but in hindsight I think I should have waited until it was more stable.  In a lot of ways Android Studio held me up the most.

What's next?
Believe it or not, I have 2-3 more ideas I'm eager to start on.  I'd also like to work with someone fun to help keep the project moving, and keep it from being such a lonely process.





Tuesday, August 27, 2013

Android Project: One Book Away

One Book Away
The Library App revisited

I have officially come to the end of my Android classes at the University of Washington!  The program consisted of 3 classes, each with their own project.  If you look back in my blog you’ll find the other 2 projects, which were: 
1st class: "Library Hold Wait", a sort of calculator for items waiting at the library  
2nd class: "One Step Further", a child developmental milestone quiz 

I’ll take a moment to mention that "One Step Further" is in the Google Play store.  It’s much more streamlined and polished than the one I presented in class.  You should check it out, and if you like it please give it a good rating!

My 3rd app took the same idea of the library hold calculator and extended it to make it much more useful.  Instead of manually entering your hold information in a calculator-style format, the app reads data directly from the Seattle Library and does all the calculations for you.

I am happy with the results, and I think it leaves the door open to add more features to eventually get the app into the Play store in the coming months.  I could even port this app to work with other libraries that use the Horizon system.


I've been working so hard over the past few months, that I let loose a little bit for the presentation.  You'll have to excuse the weird color combinations, HUGE cheesy images, and lots of in-page transitions. 




screenshots

Main Page

Loading Hold Data

Detail Page

Preferences

Update Checkout Periods




Tuesday, June 11, 2013

One Step Further, for Android


I've been taking a series of classes on Android development at the University of Washington.  You may have seen a previous post from my first project (Library Hold-Wait).

Compared to the last project, I spend much more time developing this project than the last.  It's a day after my presentation, and I'm completely exhausted.  Luckily I have a couple weeks before I start taking the 3rd and final course of the series.

I've included the video of the presentation, and some additional screenshots and slides below.  The app was developed for class, but I hope to get a variant of it up on the Google Play store at some point.  At the very least it can be a good resume-builder.



Notes:
  • The app has some features that were required for class: an RSS reader, links to other services, both a Map in a webview and a Map using Google Maps APIv2
  • I have had a version of this idea for a few years now; so it wasn't too much of a stretch to adjust it further to fit with the requirements of the class

Screenshots:


Landing Activity
Fairly standard screen

Assessment section
Choose which behaviors your child is displaying

Results of the Assessment
Always consider talking to a doctor

More Information Section
Extra information


Slides:















Thursday, March 21, 2013

Entry-Level Android Application

I've been taking a series of classes on Android development in my spare time via UW.  The final project for my 1st class was to build a simple 2-screen application and present it in front of the class.

Lucky for me the presentation was recorded.  Un-lucky for me it was recorded using Adobe Connect, which makes downloading and editing the video extremely annoying.  I figured a way around all the hurdles and you can watch the video below.  I've also posted the slides below with some notes.



Some quick notes:
  • Originally I was going to made a tip calculator, but was talked into this idea instead
  • The idea for this app came from an idea I had for a Greasemonkey script

The slides from the presentation:



Slide 1
  • The presentation was meant to be mostly verbal with just a few points made on the slides themselves.  However, I did modify a couple for this blog post.



Slide 2
  • A simple feature allows me to explore the entire end-to-end process



Slide 3
  • The first example is simple to allow the audience to quickly follow the gist of the calculation
  • The second example shows how the result can be useful: with a 5 month wait, I can plan to read something else while I'm waiting



Slide 4
  • The better looking app usually wins
  • I found this image of an old-style library checkout card to use as a guide (my apologies if this is your image)




Slide 5
  • For the actual presentation, I switched to using a separate overhead projector that displayed my phone on the wall.  I just inserted a screenshot for this version.



Slide 6
  • Process button wasn't needed, but works as a visual cue to the user
  • I used View elements in the XML layout, with a height/width of 1dip to make the lines
  • I repeated those lines at the bottom to complete the look I was trying to achieve
  • If I had to do this again, I would calculate the device's resolution and repeat those lines as many times as I needed.  It didn't matter for this project.




Slide 7
  • Changing Preferences wasn't supposed to overwrite the current values the user had entered, but upon testing this just confused the user.  I had to change it to just have the preferences always over-write the current values.
  • I originally had the result displayed in a TextView (read only), but decided to change it to a EditView so the user could select and copy the result
  • The font and background with smudges made a HUGE difference. Smudges were just in the background image I created in GIMP, the aspect ratio didn't matter.
  • I don't think anyone noticed, but I used that same background image in the app for this slide. I wanted to show that the image could be re-sized to fit just about anything and still look realistic.




Slide 8
  • If you didn't watch the video, the audience had a couple questions and comments about how I did a couple things
  • The comment that I remember most was when someone commented on the background image - he said at first he thought the screen on my phone was dirty!