Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Friday, February 19, 2021

Vaccination Vexations

With the approval of Moderna and Pfizer's vaccines for emergency use in December it was time for the state governments (and health care players) to get people scheduled for their two doses. This was hardly a big surprise - the Trump administration had said back in the summer that it was targeting late 2020 or early 2021 for them to be available, and the companies more or less supported that claim. Yet if the web sites out there are any indication the effort to register people to get their shot was a quick throw together. I speak from experience of trying to use them.

First up we have Baltimore County. I filled out the online form and hit submit, hoping that the next screen would let me pick a time, if available. I certainly expected that I'd get a confirmation email that registration was successful. But no, nothing. Crickets. A few days later on NextDoor I see a thread that apparently some people are getting an acknowledgement, but usually only after multiple attempts. Which I'm sure has led to multiple registrations by now, and likely making it challenging to determine just how many people are ready to get vaccinated. You have no way to see an estimate as to when you'll get it, nor any way to unregister should you manage to get the shot at some other venue. Overall a glitchy and not well thought out implementation.

The next award goes to Giant Pharmacy's attempt. Often when you click on their link to schedule an appointment you receive a screen telling you that you are in a queue. They're nice enough to given you the estimated time you'll be taken to the page to register for an appointment (anywhere from a couple minutes to half an hour in my experience), and your anticipation grows that you'll be able to set up an appointment. 

However, in all the times I've done this over the last two weeks, once you leave the queue you're told there's no vaccinations slots available and to please check back later. Clearly there were none available to begin with, so why make the person wait with false hope of being seen? Query your database and if OpenAppt == null, say that right up front. That's basic user experience design.

Then we have RiteAid's effort. The start page has you fill out a form to verify whether you are eligible, about 5 questions. Not a big deal except that you have to do that every single time, every day that you want to check. That's what cookies are for RiteAid - you can save some information on the user's browser so that they have a better experience. Look it up.

Once you get the display of stores that are participating in COVID vaccinations you select one. And then it depends on your luck as to whether the "Next" button will be enabled. Some days it is, some days it isn't. On the days that it was enabled it always yielded an apology that no vaccines were available. So, like Giant, maybe do that check right after I give you my zip code? Or maybe use the ability to access my device location and warn me immediately that there's nothing available in my area right now? 

"Next" is disabled with no explanation of why

And, to complete the experience at RiteAid, if you do get the "sorry, try again later" message then they don't want you to navigate away, posting a warning alert that you may lose data. What data? That you don't have any vaccination appointment to offer me?


Having been a developer for a couple of decades now I know it can be challenging to get it right. It does require attention to detail and patience/perseverance at times. That's why it drives me nuts when you hear talking heads nonchalantly offer the advice that someone whose job has become archaic "learn to code." 😠 Horrible advice! Unless that person has an affinity and some passion for coding they will be terrible at it and hate their job - and their mediocre code will only serve up more end user pain. 

But beyond the slip ups of the developers - and we all mess up occasionally - this poor experience reflects that testing was completely inadequate. These are not subtle, hard to reproduce bugs. They're a cockroach strolling across the kitchen floor during your afternoon tea party bugs. Hopefully the management team responsible for these snafus will get the appropriate feedback and adjust their process to include better testing. Until then, good luck scheduling your COVID-19 vaccination appointment!


Friday, November 21, 2008

Learning LINQ

Well last evening was the season opener of CMAP's "Hands On" group, a session designed to take an interesting IT Development topic and explore it as a group. Christopher Steen is heading up the effort and had located some exercises designed to acquaint us with LINQ, and we had a pretty good turnout down at TEK Systems by BWI airport.

LINQ, which stands for Language Integrated Query, is one of those technologies that at first you may tend to place on the "down the road" list since it requires the .NET 3.5 framework and (I believe) C# 3.0 at a minimum. And for a lot of developers we are just now getting that platform go ahead from our workplaces. However, after last evening's review I am definitely looking to take this off of my roundtuit list and adding it to the ASAP list! A big plus is the ease with which it allows you to work with your objects, lists, and XML documents in addition to database objects. It allows you to retrieve the data in many ways, readily applying filters and sorting. It simply is one of those technologies that comes along and you get a nerd high because it's so cool!

And if that were not enough there is also a great (free!) tool to help demonstrate LINQ examples. LINQPad by Joseph Albahari is a compact utility that allows you to explore (and execute) sample LINQ syntax against his sample database or one of your own choosing. And what better way to learn a new language syntax than by examples?

If the next Hands On meeting is anything like this it's not going to be long before it'll be SRO at these gatherings!

Monday, November 10, 2008

Cleaning the Studio

If you use Visual Studio you know the "Start" page has a listing of your most recently accessed projects/solutions. While it's not a major issue I find at times that I'd like to remove some of these items. For example, if I've been creating some scratch type projects to try out some ideas, or if I created a solution and added in several existing projects as part of the solution, then you end up with a ton of clutter making the MRU list a little less effective.

While it's possible to manipulate the registry to adjust what appears in the list, there is a sweet piece of free code by Bobby DeRosa that is an add-in to VS 2005/2008 that makes this a breeze. You get a "Clear Recent Projects" item from the File menu in VS, which provides a simple interface listing the MRU objects with checkboxes adjacent to them. You simply check the ones you want remove and click the Clear button and - viola! - your list now contains only what you want!

Sunday, April 29, 2007

CMAP Code Camp


Last weekend was the first CMAP Code Camp, and it certainly seems to have been a success. For those who are not within the inner circle of programming, CMAP is a local group of developers who get together to share their experiences and learn new techniques from one another. And a "Code Camp" is a free, full day of lectures focused on code tips & techniques. It truly is a great testimony to people in the profession that there are folks willing to volunteer their time and talent to help put on such an event (special kudos to Christopher Steen). One of the most striking similarities between dentistry and programming is the tendency for people to "specialize" in certain areas of the discipline, and a chronic desire to learn more skills. Like our code camp, we had "study clubs" where we took turns presenting a topic to our peers.


For my part I ended up providing a talk on using the ReportViewer control in local mode. Reporting is becoming increasingly important to business - from documenting compliance to presenting management with timely information. While Microsoft has an excellent solution for facilitating reports with SQL Server 2005 Reporting Services, many places are not yet at that release. But using the control in local mode where you are responsible for providing the data for the code programmatically is a good solution that should not be overlooked (and most reports developed for local use can be readily ported to server mode if SSRS becomes available).


There's talk of another Code Camp in the fall, which may be a little ambitious but certainly a welcome indicator of how well this one went. Hopefully CMAP will continue to be able to use facilities at UMBC even though we do not have an official sponsor. You'd certainly think that the university would welcome an affiliation with a group that promotes continuing education in technology.