Monday, July 11, 2016

Sunday July 11

As good a day as Saturday was, Sunday was the opposite.  I crashed and burned.  When I got home that evening, it was time for the post mortem.  Here's what I found:
  • Colman Hoffman found a problem in how I setup his net games.  In digging into that a bit, I also found a bug that would not have even surfaced if I had the set his net games up correctly.  That is why I come nearly every Sunday and am trying to track down all possible issues.  
  • The big game appears to be correct.  Both Kevin (Coco) and I came up with 14 plays and the app calculated 14 plays.
  • I spot checked a number of games on Monday and I think that they are correct.
  • There was a lot of discussion regarding the scoreboard and it not showing data correctly.  This is where the train got off the tracks.  I think this was some confusion.  Let me attempt to clear up some confusion on the scoreboard.
  • Numbers on the scoreboard "magically" changed.  The scoreboard is designed to show both the games in their totality, individual games, and the status of an individual player's games.  These all look very similar.  I think this caused some of the confusion regarding results changing.  For example, I can look at Terry Marsh's results, slide over the David Tweel, and get a different result.  I give this example because when I looked at Terry's results, I see the numbers that I thought remember thinking were David Tweel's results.  This confused me.  This is what I think happened.
  • Speed.  The scoreboard was slow to update.  It probably was taking 30 - 60 seconds to return results.  If this is not fast enough, people result get frustrated, hit refresh, and are still being delayed.  The speed of calculating a a game with 10 side games is fairly quick.  3 swing games is the equivalent of 10 side games.  There were 14 side games.  I had to calculate a big game and 44 side games.  This is a lot of calculations to handle.  Several of us were refreshing, so we could have had 5 or 6 of us trying to update the scoreboard.  I have a few things that I am going to work on to improve performance.  I won't bore you with the details at this time.  
  • Another item in the performance game is the server that I am currently running on.  I am paying for this out of my own pocket.  I started with a starter level server, so I am going to up that a bit to improve performance.

How To Read The Scoreboard

There is a lot of information on the scoreboard.  A lot of information on the scoreboard leads to a lot of confusion.  Let me attempt to break down what is on the scoreboard.  
  • The top of the scoreboard has a list of each individual's hole by hole scores.  Right below that, it shows a summation of the plays.  The plays are broken down into each hole.  The plays for each hole show what I call game plays, birdie plays, the total number of plays for a hole, and the running sum of plays up through a given hole.
  • The big game scoreboard has a link for each player in the game.  Clicking on the link takes the player to the scoreboard that only shows that one person's results.  This will only show the games and the results that this one person is in.  It will show this one person's results and how that one person did against each other player.  The results are only accurate for that one player.  I think this is where the confusion started with David Tweel's (Twist) results.  IIRC, we were looking at Terry Marsh and looked over to David's results.  I had been talking to Terry right before the problems started.  I now have text all over the scoreboard when were are only looking at a single person's results.  
  • Below the number of plays, it shows the money for each player out of the "big game."
  • The next section shows the side games.  These are the 1 on 1s and the 2 on 2s.  Each side game has a link so that a player can look just at that game.  Each side game has a listing of the money for hole plays, the birdie plays, and then the total plays (all are in money).
  • The next section is the swing games.  These can be a mini swing or a 3x3 swing.  The money for each player is shown as winning or losing.  There is a link whereby you can dig into the swing game and see the results.
  • The final section is the spreadsheet where it breaks all of the information down.  At the bottom is the final total of whether or not you were a net winner or loser for the day.

What Am I Going to Concentrate On?

I have some other commitments that will keep me from being there on Sunday July 18.  Before we get together again, I am going to be working on:
  • Revalidating the numbers.  I'm going to go back over the numbers again.
  • The scoreboard is a bit confusing.  I am going to work on making it a bit simpler.  There are some things that people use, and some things that they don't.  
  • Working on performance.  I'm going to work on my code as well as the size of the server our app runs on.
  • Side games.  Jay Maier had some good input on the side games and how to make it easy to create them while on the course.  I also learned a new thing about the side games on Sunday regarding the net side games.

The Nature of Software Development

Software takes a lot to get it working right.  I have to learn how you guys do things, and I have to turn that into software.  The best way for me to learn how you guys work is to have you guys try it out and to give me a feedback.  I got a lot of feedback on Sunday, and it was all good.  :-)

Feedback

If you have thoughts, please let me know.  I will take any of them.

Tuesday, June 21, 2016

Golfing for the Peyback Foundation and Children's Hospital - Results

The Results of the Morning and Afternoon Rounds:

The Morning Results


The Afternoon Results


We had a long and winding day on Monday.  We went and scored the Morning and Afternoon portions of the Children's Hospital - Peyback Foundation Charity Golf Tournament.  Each portion was flighted.  Pictures were taken of each team while on the course.  The pictures were immediately uploaded to the scoring system for display on the scoreboard.  The flighting of each portion was performed by the application.  As each portion finished, the teams were placed into each flight.  Each team's scores were shown in the flight as well as the team pictures.

The scoring system is hosted in Azure.  The picture upload is done via an iPhone application written in C#/Xamarin.

I learned a few new things that I will work on and resolve the next time around.

Monday, May 23, 2016

Customize the iOS Keyboard with Xamarin


Nearly all applications require that users interact with your app via a keyboard. It could be a search bar, a text field, or something else -- users typically use the keyboard in some way for input. iOS comes with different types of keyboards that can solve just about any need, but there are times when some additional feature would be great. In Google's Gmail app for iOS, for instance, maybe you'd like to make things a bit easier by adding e-mail addresses for .net, .org, and other domain suffixes. This article will look at how to modify the existing iOS Keyboard to better fit the needs of the application.

Wednesday, March 23, 2016

App To Market: Your Startup Needs An MVP

https://visualstudiomagazine.com/articles/2016/03/22/app-to-market-startup-needs-an-mvp.aspx

An MVP is not some Microsoft award, but the acronym for a term, "minimum viable product," that loosely defines what you're trying to provide as far as features -- at a bare minimum -- to get your app to market. Let's look at the considerations for making sure your app achieves MVP status.

Friday, March 18, 2016

Drill Into Problems with Xamarin Insights

You've completed the initial version of your mobile app. You've deployed it. And now, you've started to get reports of exceptions in your app. It doesn't happen all of the time, and it doesn't happen to all users, only some of them. What's worse is that the errors aren't often repeatable. For some reason, the issues some users are having can't be repeated in your office. You drive around and try to repeat the errors but you can't, so you wonder if it's is a location issue. Perhaps it's a cell signal issue. Perhaps the issue is the version of the OS the user is running. You're stuck and you don't know what's causing the errors. You need more information in order to solve the problem, so where do you turn? Xamarin has released a product just for this situation. It's called Xamarin Insights.

Tuesday, February 23, 2016

Neo-Socialism

The formal definition of neosocialism from the 1930s has some rather unsavory pieces.  However, we're in 2016.  If people can redefine things, I figure I can to.

Neo meaning new.

Socialist meaning socialist.

I've noticed this new trend of socialists.  They were brought up in a capitalist economy and want it to change.  these people seem to think that things and times are horrible.  If you listened to them and Bernie Sanders, you'd think we were living under the thumb of bankster gangsters.  Puhlease.  These people need a reality check.  In a capitalistic economy, if you come up with a better idea, you have the opportunity to grow, start a business, and change your situation dramatically.  Anyway, these people that grew in capitalism and now think that socialism would be so cool, I refer to them as neosocialists.

Monday, February 22, 2016

Slim down your Pictures in the iPhone & Android


Nothing can be as helpful as a picture. Text is great, but there is a reason why pictures are worth a thousand words. Unfortunately, as the cameras of devices have gotten better, the amount of space that pictures take up has gotten larger. With a late-2015/early-2016 phone, a picture can easily be 2MB. Start trying to upload those via e-mail or to a service (Instagram, Facebook, Twitter), and there are always problems with connectivity or otherwise. Let's examine some simple routines to minimize the size of an image.