End Of Life notice for Virginia Traffic apps

Four years ago, I got my first smartphone.  Being a commuter in Hampton Roads, one of the first websites I tried to visit was VDOT’s 511 traffic information site.  It wasn’t mobile-optimized at the time, so it was essentially unusable on a small touch device.  After weeks of hacking around, I built a server app to scrape their website for data and mobile apps to display that data.  Since then, I’ve slowly upgraded the app, adding features requested by users.

Unfortunately, two years ago I moved out of Virginia, so I no longer use the apps myself.   VDOT, whose data I rely on for the app, has occasionally made changes to their data feed which require significant rework on my part to keep the apps going.  Note: this is entirely VDOT’s prerogative, and I in no way criticize them for doing so.

The end result of these two factors is that my apps no longer provide an acceptable experience to the user, and I don’t have the time to spend on fixing them up.  So it’s with regret that I have removed my apps from sale in the App Store and the Play Store.  I will continue to leave the server running for now; if you already have the app installed on your phone, it should keep working, at least as well as it currently works, for the foreseeable future.

The good news is that last year VDOT published their own apps to get Virginia Traffic information.  I suggest you check out these apps as a replacement for mine.  You can find more information about VDOT’s mobile apps on their website.

I want to thank all of the users who provided encouragement, positive feedback, and suggestions, and to thank VDOT for allowing me to scrape their data for so long.  These apps were the first step on the journey that has led to my current role developing mobile apps full-time.

And as always, please only use your phone while you’re parked.  Don’t cause an accident by checking your phone while you’re driving.  There’s really no need.

Virginia Traffic for Android – 2.0 Release

This release adds two big new features: ‘My Roads’ and alerts.  My Roads allows you to make a custom region of just the roads you care about, so you can check out the status of your commute without having to skim through every incident in the region.  Alerts run in the background and use the Android notification bar to let you know when there is a problem on a road you care about.

My Roads

To set up the roads that you care about, switch to the My Roads region, where you’ll see a big button inviting you to set your roads.

Click that button (or press the menu button and choose Set My Roads) and you get a list of some major roads to select from.  Click the roads you care about to select them.  If you want a road that isn’t listed, press the Add a Road button at the bottom of each list.  Enter the name of the road and press “Add”.  Note that you’ll usually need a road number for this to work; use whatever gets highlighted as the road name for incidents on that road.  In my case, I commute on Hampton Blvd. in Norfolk, so I’ve entered VA-337.  Tunnel delays also get listed by their road number, so the Midtown Tunnel is US-58, the Downtown Tunnel is I-264, and the HRBT is I-64.

Alerts

If you want to be alerted when there’s a problem on your commute, first set up the roads you care about in your ‘My Roads’ region, then press the menu button and choose Settings.  Check the Enable Background Alerts box; this will make the app download updates in the background and alert you if necessary.  You can change when and how often the app will run in the background, and how you’ll get alerted (light, sound, vibration).

Other changes

The app asks for three new permissions: Vibrate, Get tasks, and Receive Boot Completed.  These are all necessary to make background alerts work correctly.

In the menu, you’ll also notice that you can increase the font size.  There’s also a button there to email me, so if you have any problems or suggestions I’d love to hear about them.

In addition, I’ve made some major changes under-the-hood to how the list of incidents is fetched from the server.  This makes the app faster, more responsive, and less likely to crash.  I’ve added a small advertisement to the bottom of the Incident List screen.  This app incurs some expenses for me; in addition to all of the time I’ve spent developing it, I have to pay for a server to host all of the data that the apps pulls from.  This is just a way for me to try to recoup some expenses.

On Third-Party Android Markets

I’m not sure what happened in the last two weeks, but I got directly contacted by three different companies.  All three have third-party Android markets, and they wanted me to participate.  That’s all well and good; I have a moderately successful freeware app, so I’m getting used to companies emailing me out of the blue to tell me about their Android-related products.  Two of these companies started with short email pitches of why I should participate, and left the ball in my court to act.  I’m not going to name these companies here, so that their names aren’t associated in any way with what comes next.  When I found some time, I looked at what they had built, read through their developer agreements, and signed up.  Win-win.

Appslib, on the other hand, is wildly unprofessional.  Here’s the first email
Well that’s interesting, I certainly didn’t sign up for any account on my own.  I would have remembered that.  I’ll just ignore them and hope they go away.
Thanks for posting my application?  I didn’t post a thing.  This is getting pretty pushy.
Huh. I’m glad to know my app runs on tablets, even though I didn’t ask for it to be tested.  At least they’re waiting for my confirmation to publish the app.  Let’s just search their listings to be sure. Nope.  They lied again.  They stole my app and published it without my consent.  Well, they have a Twitter account and it’s active, so I’ll tweet at them asking what gives….

Crickets…

No response on the twitters.  I guess they just don’t care.  They’ve already put my app out there, as though I had signed up with them (I didn’t), agreed to their Developer Agreement (I didn’t) or published my app to their market (I didn’t).  With dishonesty like this throughout their business, I’m going to assume that the whole thing is a fraud, and recommend to other developers and to consumers to steer clear of Applib, they’ll probably steal from you, too.

Please let me know if this happened to you, too.  We need to fight back on this.  Publishers can’t just take our hard work and do with it as they please.  It’s theft.  And it’s wrong.

Virginia Traffic 1.1.1 Release – Bugfix

Today I’m releasing an update (version 1.1.1) to the Virginia Traffic app which fixes a small bug that had been bothering me for a while. Here’s a quick shot of what the bug looked like before:

As you can see, the incident list had moved up to obscure the dropdown and button at the top. Now here’s what the screen is supposed to look like:
If you’re not an Android developer, thanks for dropping by, and you can stop reading here. The bug is fixed, so please continue to enjoy Virginia Traffic. If you want to know the geeky details, keep going…
I have one big LinearLayout that encompasses the whole screen for the main Activity, and I had previous set the android:clipChildren property to false. Ooops. If you look at the documentation, this means that child objects aren’t being limited to drawing within their bounds. So I had a ListView that was coloring outside the lines, so to speak. Every time I scrolled the ListView, I think it had some trouble syncing up between the exact position of the screen and due to some rendering issue was drawing outside of its boundaries in an attempt to have a smoother draw of the ListView. Setting android:clipChildren to true fixed the problem.