In the Agile development process a team is asked to do a retrospective
at the end of each sprint. During the
retrospective the team looks back on the things it has accomplished. The
process is analyzed for weakness and improvements are proposed. As software
consultants we become quite familiar with this process. When finishing your
work at a client and moving on to your next project the same retrospective
technique used in Agile development can be applied to the consulting process.
The Key Consultant
I am Raymond "Trey" Robinson. A software consultant based out of Charlotte, NC. I specialize in the design and development of mobile applications for Android and iOS. My desire is to bring more to the table than just my technical skills. I believe IT consultants today are largely staff augmentation and that there is room for that to change. IT Consultants should strive to add value to the client.
Monday, April 29, 2013
Monday, February 25, 2013
Android: Simple Endless Lists with a Custom Footer
There are a lot of posts on stack overflow with people asking how to make a custom infinite list. There is even a library devoted entirely to completing this task. Normally I am first in line to grab the latest and greatest libraries and give it a go. This time however it occurred to me that creating a simple endless list for my purposes would not be that difficult and may not need the complexity of the library. The below example is somewhat crude but it is functional. I did not go through the trouble of handling caching, saving state, or cancelling async requests as each person my have their own preferences or needs for that approach.
GitHub Source
For my purposes I had a few requirements:
- I wanted a footer that would go from a default loading state to listing out the number of items in the list once it had reached the end.
- The load needed to start prior to the end of the list so it would feel seamless.
Tuesday, February 19, 2013
Parse API: Logout and the Current User's Session
After I completed my the login tutorial last week I continued work on my side project. Very early on I needed to keep my user logged in indefinitely (until they logged themselves out). Fortunately one of the added benefits of the Parse API and the ParseUser is that it automatically caches the ParseUser to local storage until ParseUser.logout() is called explicitly.
For example, if you were to take the Launcher activity from the previous tutorial and add in a brief bit of logic you can direct the user to the LoginActivity only if there is no ParseUser cached to local storage. Assuming the user has logged in previous and logout has not been called ParseUser.getCurrentUser() will return the user the Parse last cached to local storage.
Intent intent;
if(ParseUser.getCurrentUser() == null){
intent = new Intent(this, LoginActivity.class);
}else{
intent = new Intent(this, MainActivity.class);
}
startActivity(intent);
this.finish();
That is it! If you ever want to log the user out and send them back to the login activity you can do so with something like the following code:
private void logout(){
ParseUser.logOut();
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
this.finish();
}
I hope this helps someone get a grasp on user management!
Labels:
Android,
authentication,
Parse,
parse api,
Tutorial
Sunday, February 10, 2013
Parse For Android: A Simple Login Starter Project (with Otto Service Bus!)
Recently I did a brief overview of Parse and all the amazing things it offers mobile developers. Parse comes with some great API documentation but if you check the sample projects you will find that it is sorely lacking in the Android department space (and well pretty much anything besides iOS). Being that I was already well on my way with Parse in an Android project I thought it may be helpful to share some of my findings and techniques in a sample project which closely follows the existing iOS Login Screen sample application.
This project also uses another third party API, the Otto Service Bus. The more apps I write the more I appreciate the service bus pattern. It is very common in iOS (NSNotificationCenter) and it is a nice clean way to separate the UI from the model of your project without adding much overhead. Granted there may be other faster ways of accomplishing a similar task but I am liking Otto at the moment.
Just as in the Parse iOS sample project I will attempt to make the classes as reusable as possible I fully intend this project to be the base for my future projects. Below you will find an outline of the major classes and their uses. I made a point to keep the UI as barebones as possible so that it could be modified easily to suit the needs of the implementer. The meat of the project is in the classes using the Parse API.
Source Repository : https://github.com/rdrobinson3/LoginAndSignupTutorial
This project also uses another third party API, the Otto Service Bus. The more apps I write the more I appreciate the service bus pattern. It is very common in iOS (NSNotificationCenter) and it is a nice clean way to separate the UI from the model of your project without adding much overhead. Granted there may be other faster ways of accomplishing a similar task but I am liking Otto at the moment.
Just as in the Parse iOS sample project I will attempt to make the classes as reusable as possible I fully intend this project to be the base for my future projects. Below you will find an outline of the major classes and their uses. I made a point to keep the UI as barebones as possible so that it could be modified easily to suit the needs of the implementer. The meat of the project is in the classes using the Parse API.
Source Repository : https://github.com/rdrobinson3/LoginAndSignupTutorial
Friday, February 8, 2013
An API can make you happy! A brief overview of Parse.
On a cold Sunday afternoon a few weeks ago I was toiling away setting up a new instance of node.js and MangoDB. My goal was to create a software stack that I knew well enough to quickly stand up and prototype all the app ideas I had floating around. I was in the middle of a book about node.js when my friend +Bill Mote messaged me. I told him what I was working on and he suggested I check out the Parse API. Little did I know that what he had just suggested would be an amazing boost to my productivity!
Parse is a platform that provides a back end for your application. Everything from simple tables to push notifications is built into the service. They have APIs for every major mobile and desktop platform. If your platform is not included then you can make use of their REST based services to interact with your data.
Sunday, October 14, 2012
Rework
I recently had some time to sit down and read Rework by Jason Fried and David Heinmeier Hansson ( http://37signals.com/rework/). I have been a fan of the guys over at 37signals for a long time. It wasn't until recently that I finally got to use one of their products on a daily basis (Basecamp) but I have been an avid reader of their blog for quite some time.
Rather than do a full in depth review of Rework I'd like to outline some of the key takeaway from the book and how they relate to the day to day dealings of IT consultants. Rework is really about the things to think about when founding a startup, which at first may seem largely unrelated to the practice of IT consulting. Upon further review there are some parallels outlined in Rework that can be used to enhance your consulting skills. The tenets outlines in Rework can be applied to a most businesses, be it your own one man (or boutique) consulting practice, or your team on a Fortune 500 client.
Rather than do a full in depth review of Rework I'd like to outline some of the key takeaway from the book and how they relate to the day to day dealings of IT consultants. Rework is really about the things to think about when founding a startup, which at first may seem largely unrelated to the practice of IT consulting. Upon further review there are some parallels outlined in Rework that can be used to enhance your consulting skills. The tenets outlines in Rework can be applied to a most businesses, be it your own one man (or boutique) consulting practice, or your team on a Fortune 500 client.
Thursday, October 4, 2012
CapTech Crosspost: iOS 6 Auto-Layout Tutorial
Check out my new iOS 6 tutorial iOS 6 Tutorial Series: Dynamic Interfaces with Auto-Layout over on my companies blog. This is my first technical tutorial for CapTech and it was a lot of fun to write. I learned a lot and it gave me a great opportunity to use some of the newest iOS features that have not yet been implemented in client projects.
Subscribe to:
Posts (Atom)
