09-19-2011 06:10 PM
I work for a local, Community Action Program called HACAP (Hawkeye Area Community Action Program). The easiest way I’ve found to explain what we do, is by comparing us to a large tree with many branches. We provide a range of different services to individuals and families to help them ranging from transitional housing, energy assistance, child crisis care, food boxes, etc…
One of the many programs we have is Weatherization. Our evaluators in Weatherization will inspect a client’s home to find areas where we could help out. Whether it’s sealing up some gaps around doors & windows, adding insulation, replacing a water heater, furnace, or other appliance, our evaluators find it all. They complete the evaluation, talk with the client about what work needs to be done, and schedule the work to be done either by our internal crews or bid it out to local contractors.
Weatherization directly benefits low-income households by reducing their energy costs (16% of their annual expenditures compared to a 5% level for other households) and in the process allows them to stop making the critical choice between winter heat and other necessities. On average this is a $476 first year energy savings per property.
Now that we’ve got all that out of the way, on to the fun stuff.
Back in January when the PlayBook developer opportunity was extended I decided to take my noob skills and attempt to make an app for the PlayBook. I sat down and started playing with the SDK, Adobe Flash Builder and Flex projects. I had never done anything more than a website, and even those were fairly basic (Anymore I use WordPress and a spiffy template. Lazy).
In the end I was able to submit 3 apps and got accepted into the group that received a free PlayBook. I started to also switch over to using ActionScript rather than MXML/Flex based projects. I found jtegen’s community library with the PageViewStack and thought about our team of Evaluators.
Knowing they go into the home, scribble lots of notes, go back to the office, make a nice written copy, then back to the client’s home to deliver/get signatures. Perhaps a trip or two in between if photos didn’t end up working out so well or if they forgot some information or couldn’t transcribe their notes. Each Evaluator already had a BlackBerry phone, I had also already setup the BESX. The groundwork was there, the PlayBook was coming, it just seemed natural. These guys needed an Enterprise App.
So I got to work and made a very basic concept to show the department head. I took an existing paper evaluation and started converting everything to text inputs, drop downs, used jtegen’s PageViewStack to make the nagivation through the app easy. The Swipe Down feature allowed me to move all the UI navigation into a “hidden” menu, freeing up more room for inputs on the screen.
The initial app concept was very basic. There was no tie in to the BlackBerry phone, it didn’t rely on any external services, it was all up to the evaluator to input the job from scratch. The completed job would generate a PDF with their pictures and all the inputs.
The Weatherization department head loved it.
So we continued to work on it, expand the idea. We tied in some data sipping from our Client database back at Corporate, it will also write information back to the Appoint Scheduler piece. The PDFs will automatically be pushed to our new bidding system, and a corresponding job will be created there, and many more things down the road are opened. We’ll be adding daily job trackers, mileage tracking, inspection forms, hopefully some video conferencing between evaluators, (IE: “Why did you pass this water heater, look at it right here!”), the possibilities are really quite endless. Even simple things that the guys have requested like an easy way to bring up the radar loop.
We’ve also added items to our client database. The State of Iowa requires that jobs are completed based on an assigned Priority Number. Now when the guys sync their PlayBook to our Client server, the jobs are issued to each Evaluator based on the priority number.
The Evaluator’s work load per job will be reduced:
1) Retrieve a file folder containing the job from a stack of jobs.
** Be sure this job is the highest priority by manually reviewing the priority number.
** Be sure this job meets the requirements done in that particular county.
2) Call the client to schedule an appointment.
** Log into Terminal Server, to connect to the Client Database and log the information.
** Then log in to the Appointment Scheduler to record the information.
** ** If the client refused services contact appropriate office staff to inform them to close the job.
3) Visit the client’s home and complete evaluation.
** Bring all necessary equipment to complete evaluation including calculator, digital camera, BlackBerry, note paper, evaluation template, client details, paperwork for client to sign.
** Take pictures to later transfer to the laptop and copy into the evaluation.
** Do all calculations to figure numbers in the evaluation.
** Transfer details into a standalone, program run by the State of Iowa, input all numbers gathered during evaluation to determine if the client’s home will be eligible for services.
** ** If not, the evaluation has to be failed and client notified their home doesn’t qualify.
** ** If it does then pass information on to office staff to generate sealed bid for contractors.
** Turn completed evaluations into staff at the Corporate office.
** Turn completed job ticket and work log into staff at the Corporate office.
1) Jobs are pulled directly from the Client database when the Evaluator hits the Sync button. (the items below happen in the background nearly instantly)
** If they’re not bridged it returns an error instructing the Evaluator to connect via Bridge.
** If their job queue is already filled it returns an error instructing the Evaluator they need to complete an existing job.
** Jobs are assigned to the Evaluator based on a number of factors, beginning with the Client Priority Number. If it is an “Emergency” and the client is without a furnace during the winter, that job will be flagged as “Emergency” and assigned above the Priority numbers.
** Jobs are sorted into the queue on the device with highest priority at top.
** SQLite Database on the device stores all the “working” client information so that jobs can be started, stopped, and resumed at any given point. Information is saved when the user does a Swipe Down.
** Client database is updated at Corporate with a timestamp and the Evaluator’s name when job is assigned.
2) When calling to schedule an appointment for the Evaluation
** Option in the app to record details, which are written back to the Appointment Scheduler & Client database accordingly.
** If client refuses the service for some reason, or the evaluation must be failed for other reasons notifications are automatically sent to office staff via Email, databases are updated & job is released from the queue on the device. Information written to the SQLite database on the device is purged.
3) During evaluation at the client’s home:
** No templates, or note taking is required. All data input done on the device is written to the evaluation template accordingly.
** Pictures taken with the PlayBook are automatically included on the completed evaluation.
** Google Map snipplet is done automatically, Evaluator also has option to zoom/pan the map to a specific spot for the Evaluation.
** Sketching can be done on the device using the Graffiti Library. This is written to the Evaluation.
** Signatures are obtained on the device and written accordingly to the Evaluation.
** Calculations are done by the app based on input done by the Evaluator.
** Working with the State of Iowa to use a new API they’re building into a new web version, so Evaluator’s only enter data once, and never have to leave our app.
** Completed PDF is pushed back to the Corporate office where it can be printed and mailed to the client (hoping to be able to use Bluetooth printers in the future and have this print on site).
** When job is completed it is emptied from device queue, and databases at Corporate are updated with latest information.
4) New Option: Specify Crew or Contractor job:
** Evaluation is written as a new job in the new Bidding system. All information from the evaluation is copied into bidding system.
** Evaluator is presented with option to specify job as Crew or Contractor.
** ** Office staff reviews the job, and opens to Crew/Contractors accordingly.
** Completed tickets and job information instantly available to office staff.
Overall this is going to save time, money, and allow us to help more homes during the course of a year. There might be as many as 8-10 thousand jobs available to pick from, but we might only be able to do 200 in a year.
I’m entirely new to development (January to now dev experience, May to now working on this app) and I’ve entirely changed the process our evaluators will do. What’s even better, they’re excited to get their hands on the PlayBooks and use this app to complete their job more efficiently. The office staff is excited as it will reduce their work load to print and handle jobs during the different steps. Management is happy because it will do all this and reduce overhead in a number of areas.
This is kind of a quick and dirty overview of what I’ve been doing in our agency to make the PlayBook work for us. The app is not fully completed yet, but we're doing lots of testing and tweaking and will have to slowly roll it out to compensate for all the paper evaluations that will have to be completed as paper evaluations. The guys are "chompin' at the bit" for the app.
I couldn’t have done it without these forums and all the helpful individuals here, on IRC/twitter. Kudos to the entire BlackBerry Development Community.
I've attached some images below. There are some areas that are changing/incomplete still so bear with me.
09-19-2011 10:21 PM - edited 09-20-2011 07:43 AM
Awesome. This is why the PlayBook is a "Professional" tablet. These are the things that take an app from a "look guys, I have an app that does 'bla'" to "I NEED this app. There is no way I would survive any other way after using this app". Looking forward to when the pictures are approved by mods.
Edit: Pictures look pretty good.
09-20-2011 12:22 PM
09-21-2011 01:29 AM