Thursday, November 21, 2013

Version 2.0 et.al.

It has been a few months since I've bothered to write.  During the Fall Season, I got swamped with taking stats, fixing bugs, teaching new statkeepers, and generally having a good time.  I got some great feedback from the team of rookie statkeepers that helped mold the shape of Version 2.0.

Since the Spring season won't start until March, I have until the first of February to get 2.0 done and then put it through its paces in early February to shake the bugs out.  That means that I'll be a coding fool between now and January.

Additionally, I changed day jobs, which delayed me a bit.  But now I can dedicate some time each day to the forward progress of LaxStats.

On to the feature list!

First and foremost is the game screen.  Although the LaxStats game screen is highly advanced and literally allows for a statkeeper to know exactly where a person is at anytime on the field, it isn't wanted.  One of my new statkeepers was extremely enthusiastic about the flow, and then within 5 minutes of her first game, couldn't keep up with the substitutions on the field and gave it up.  Other statkeepers who had spent many seasons with the Pencil and Paper method were hesitant to use something that didn't look familiar.  And LaxStats does have an issue with deleting bad recordings, something that also turned off others.  I have one statkeeper who just doesn't trust technology in that setting (although she herself is extremely tech savvy) and would rather have just a pure offline version that she could enter the data in at her leisure at a later date.  Regardless of my intentions with the software, these are my customers and if that is what they want then I need to provide.

That means that I'll retain the advanced game screen, but signify it as such and not turn it on by default.  A new, simplified version of the game screen will replace the default, looking as much like the Pencil and Paper method as possible, while still retaining some of the advanced functionality (such as the FaceOff Win/Loss dialog and the Assist Dialog).  This simplified screen can also be used a the offline data entry method, although there will be no way to capture WHEN something was done with this method so games recorded offline will have NO ability to also have a GameCast.  Again, small price to pay.

The game screen was mostly hard coded to work on the iPad, especially since we had not had any users on anything else up until that point.  Lucky me got a couple of customers using Android and that means that we need to adjust the new game screen to be completely responsive.  For that I'm updating the entire site to be Bootstrap 3.0 compliant (everything but the game screen was already 2.0 compliant).

By making a more simple version, many of the stats that were on the board to be reported on (Time Played, Time Per Position, Points per Minute, etc) won't be possible, but the consensus is that no one at the Youth level needs or wants so it won't be a loss and will actually free up some time.

One the Home screen, it needs to become more User centric and focused on what the user can do.  Also, we need the ability to find Organizations, Teams, Games in your area so that you can choose to become involved or not.  It tends to be a bit of a Black Box currently (although that was on purpose) and it needs to get opened up a bit more.  Also, Social Media sharing needs to get incorporated (previously planned but never completed).

On the list is also the completion of the Virtual Game Clock/Game Keeper that will allow clock keepers and fans stay in sync while on the field.

I had planned on converting everything into REST based API's to be a bit more robust and could actually be used by other developers.  However, as I planned it out, I realized that my time frame would be pushing March just to do the conversion and not add any new functionality.  So instead I'll be organizing into more API like functionality in preparation and will be incorporating AngularJS to start to serve as the front end MVC like application.  Converting the PHP to MVC is just too large at this point.

That's it for now.  I've got to get back to coding while I have a window today.  If you have any suggestions for what you might want to see in the 2.0 Version, feel free to drop me a line.

Tuesday, August 27, 2013

Men's Fitted T-Shirt (dark) LaxStats Swag

Men's Fitted T-Shirt (dark) LaxStats Swag

Our first shirt at CafePress.  We are working on using the CafePress API so that Players can order shirts with their season stats on the back.  Now that will be cool.

Wednesday, August 21, 2013

Version 1.5 and Other Topics

I deployed the last of the 1.5 code this morning. 1.5 includes the complete overhaul of the game interface with the additions of the dynamic game timer, faster event UI, Face Off Dialog, Assist Dialog, and dynamic Penalty Timers and ManUp/Down notifications. At this point there are only small issues that I can still see that need to be done, but nothing that would hold up this from starting the fall season. I should note that 1.5 also included a full integration with PayPal that allows for Clubs and Teams the ability to sign up and go. Remember the cost is ONLY $1 per player for the season and if it is your first season (which is will be since only North Paulding Lacrosse Club was there before) you get it for $.70 per player for your first season.

 I am very excited about the changes. As the primary user of the software last season, I got to see all of the "flow" issues first hand. Sometimes it would take 7-10 clicks just to record the FaceOff actions. This has been eliminated and I expect that the speed of the software is in step with the speed of the game.

I will now turn my attention to the girl's version so that it is ready by the second week of September. If you need it before then, please let me know and I'll work faster! :)

Since the deployment this morning, I turned my attention back to some of the marketing issues. Many thanks to Dan Wilson who has provided some great information on marketing in general. I regret that I haven't found time to do any of it however. In the meantime, I've been working on increasing the Facebook Fan page. At this point we are at 96 likes. I would like to see that grow 10 fold over the next few weeks as the season progresses. Our Twitter account is growing much faster. We got to 100 followers at the point where we were following 1000, but since then it has taken off and we are close to 300 followers now. Again, I would like to see that number jump exponentially.

I've got to go design my marketing T-shirts to wear at all the games. I feel bad not wearing the North Paulding shirt during games, but I really want this to take off and I need all of the business that I can get. I'm also going to print a shirt for my son with his season stats on it. I'm certain that will take off if any of the boys see it.

I've also spent today connecting up the blog with feeders so that it gets noticed more. I've also set up an auto publisher to Facebook and Twitter (hope you don't get this twice) and connected up with NetworkedBlogs, etc. Need more eyeballs!

That's all of the news for now. See you next time!

Networked Blogger Verification

Monday, August 5, 2013

Fall Ball


Yay!  The kids are back in school and I can get back to a normal routine.  It was much harder over the summer to keep up the momentum that I had during the fall.  In hindsight, I coded about 90% of the site in a month's time and spent the next 4 months with the other 10%.  Details are always the hardest and once the heavy lifting was coded that was all that was left.

For the fall I've revamped the Event screen, or the Game screen as some have called it.  I modified the core to be Bootstrap compliant, and fixed some of the zooming/scrolling issues that plagued me the first season.  I've also increased the speed at which statistics can be gathered.  I've simplified the menu to be purely graphical in a wheel shape with key activities along the circumference.  I need to add a "Undo" in case the speed gets to fast and the user makes an error.  I've decided on this method because the speed gains are very nice indeed.

Also with routines, comes my regular blog posts.  I'll continue my discussion of what goes into the software and when using this blog.  As always, your questions and comments are encouraged so that I can make sure that I'm addressing the issues that are foremost in your mind.

I'll be back in a few minutes with an updated priority list.

Thursday, June 13, 2013

Development Priorities

FeaturePrioritySPRelease
Assist ModalA51.5
Man UP/DownA131.5
Wire up Team ButtonsA201.5
SEO - Part 3: Rich SnippetsA8
Activity StreamA8
Add Team Data recording to the Game ScreenA81.5
Team Reports (once data is being recorded)A8
FaceOff ModalA51.5
Shot Location ModalA5
Add Feedback systemA8
Eliminate Blank records in datatables - give zeros insteadA8
TeamPlayer Page needs worksA8
SEO - Lacrosse Link Pages, link up all lacrosse sites in one locationA8
SEO - Create Amazon Lists for all Lacrosse items drive back to siteA8
SEO - AlexaA8
SEO - SquidooA8
SEO - Yahoo AnswersA8
SEO - Google GroupsA8
SEO - ePinionsA8
Add StatKeeper code to teamB1
Link Team to Org so can see full orgB1
Offline Data EntryA13
Add Timer to GameA131.5
Add Forums/CommunityB13
News - better AdSense coverageB3
Offline Storage - return when internet existsA20
SEO Friendly URL's A20
Time Played for Person/by PositionB5
Recap/Boxscore - Scoring Activities onlyB5
TeamPlayer Page - redesignB5
Links to Resources - Modal with all linksB5
Google+ Follow widgetB8
GameCast - refreshB8
"Borrow" PlayerB8
Allow Comments on PagesB13
Competition ComparisonB13
Realtime Facebook Posts - mix with TwitterB13
Game - Middie LinesB13
Game Variations - Box, 3v3, etc.B40
Unavailable PlayersB13
Flickr or other Photo ServiceB13
YouTube - demo the softwareB13
Lax WikiB13
Girls variationsA40
FAQB20
News Feeds 2.0B20
HelpB20
Club Payments - PaypalA51.5
Custom CSS for OrgsB20
ADMIN Tools - DashboardB40
FeedBurnerC8
Social Links (other than Twitter and Facebook)C8

Release Notes

1.080613 -

  • Added new FaceOff dialog

1.080113 -
  • New Game UI

1.061413 -
  • SEO - Part 1: Title Names and Meta Description
  • Create Team - Match US Lacrosse
  • SEO - Part 2: Sitemap  
  • Add Privacy Policy Page
  • Examine Stripe as a replacement for PayPal - examined, will require SSL key, future enhancement
  • Identify additional SEO needs and prioritize
1.061013 -
  • Remove ShareThis code from footer
  • Remove ShareThis code from News
  • BUG - No Up on Goalie Stats
  • About Us Page

AARSU275C4Y2

AARSU275C4Y2

Tuesday, June 11, 2013

Feature Updates - June 6

FeaturePrioritySPRelease
Remove ShareThis code from bottom templateA11.061013
Remove ShareThis code from NewsA11.061013
BUG - No Up on Goalie StatsA31.061013
About LaxStats PageA51.061013
LaxStats Team Page - (incorporated into About page)A5N/A
Create Team - Match US LacrosseA5
Activity StreamA8
Add Team Data recording to the Game ScreenA8
Team Reports (once data is being recorded)A8
Add Privacy Policy PageA8
Examine Stripe as a replacement for PayPalA8
Add Feedback systemA8
Eliminate Blank records in datatables - give zeros insteadA8
TeamPlayer Page needs worksA8
Add StatKeeper code to teamB1
Link Team to Org so can see full orgB1
Offline Data EntryA13
Add Timer to GameA13
Add Forums/CommunityA13
News - if not logged in, only get headlines (and news)B2
News - better AdSense coverageB3
Offline Storage - return when internet existsA20
Time Played for Person/by PositionB5
Recap/Boxscore - Scoring Activities onlyB5
Links to Resources - Modal with all linksB5
Google+ Follow widgetB8
GameCast - refreshB8
"Borrow" PlayerB8
Allow Comments on PagesB13
Competition ComparisonB13
Realtime Facebook Posts - mix with TwitterB13
Game - Middie LinesB13
Man UP/DownB13
Unavailable PlayersB13
Flickr or other Photo ServiceB13
YouTube - demo the softwareB13
Lax WikiB13
Girls variationsA40
FAQB20
News Feeds 2.0B20
HelpB20
Wire up Team ButtonsB20
Custom CSS for OrgsB20
ADMIN Tools - DashboardB40
FeedBurnerC8
Social Links (other than Twitter and Facebook)C8

Sunday, June 9, 2013

Feature Focus - June 9 - June 19

We made it to the beach just fine, although we had some hiccups before we left.  The kids killed the car battery before we left by playing Mindcraft on the inverter.  Half way to the beach I get an email from LB3 that my LAX player had won a free clinic with LB3 and Trinity Lacrosse before the MLL game on Friday evening.  Unfortunately we were already 3 hours away from Atlanta and the event started in 2 hours.  He would have been able to see the MLL game for free as well.  Oh well, life does that some times.  He was over it as soon as he saw the beach :)

So while the kids are having a good time with their grandfather this week, I'll be able to get some work done and still be able to relax as well.  The list below will be worked on over the next two weeks.  I've changed the format to better reflect an Agile methodology and I'll work on items that meet the proper priority and return leaving those that are not as important until later.

FeaturePrioritySPRelease
Remove ShareThis code from bottom templateA1
Remove ShareThis code from NewsA1
Eliminate Blank records in datatables - give zeros insteadA2
BUG - No Up on Goalie StatsA3
About LaxStats PageA5
LaxStats Team PageA5
Create Team - Match US LacrosseA5
Activity StreamA8
Add Team Data recording to the Game ScreenA8
Team Reports (once data is being recorded)A8
Add Privacy Policy PageA8
Examine Stripe as a replacement for PayPalA8
Add Feedback systemA8
Add StatKeeper code to teamB1
Link Team to Org so can see full orgB1
Offline Data EntryA13
Add Timer to GameA13
Add Forums/CommunityA13
News - if not logged in, only get headlines (and news)B2
News - better AdSense coverageB3
Offline Storage - return when internet existsA20
Time Played for Person/by PositionB5
Recap/Boxscore - Scoring Activities onlyB5
Links to Resources - Modal with all linksB5
Google+ Follow widgetB8
GameCast - refreshB8
"Borrow" PlayerB8
Allow Comments on PagesB13
Competition ComparisonB13
Realtime Facebook Posts - mix with TwitterB13
Game - Middie LinesB13
Man UP/DownB13
Unavailable PlayersB13
Flickr or other Photo ServiceB13
YouTube - demo the softwareB13
Lax WikiB13
Girls variationsA40
FAQB20
News Feeds 2.0B20
HelpB20
Wire up Team ButtonsB20
Custom CSS for OrgsB20
ADMIN Tools - DashboardB40
FeedBurnerC8
Social Links (other than Twitter and Facebook)C8

Thursday, June 6, 2013

Post Launch

Well as you know by now, we are officially live.  The only real difference is that prior to Tuesday, we didn't have a way to charge for accounts and now we do.  That and all I've done since is think about marketing.  There was an invisible line in the sand, before which I couldn't really start to promote as there wasn't enough there.  Now that there is, I find that I have a lot to learn about promoting.

My first inclination is to email everyone that I know, including large lists of organizations that I have.  Unfortunately that would get me labeled as a spammer and that avenue would be shut off pretty quick.  So at least initially, I'm having to pick and choose who I contact and how.  Its a no brainer to start in my own backyard, and fortunately, I have a friend willing to help get me in front of Mayla (Metro Atlanta Youth Lacrosse Association).

I have about 2 months before the fall season kicks into high gear and another month after that before the first games, so I still have a lot of time for new features and functionality.  I've just got to figure out a good balance between the two.  With social media on my side, I should get in the habit of deploying at least one change a day and then posting it to the world.

I'm heading out for vacation tomorrow and will be doing this from the beach for the next two weeks.  I know, tough job, but someone has to do it.  My priorities over the next few days are as follows:

1.  Identify all bugs
2.  Identify new features
3.  Prioritize them using my Scrum approach (effort vs ROI)
4.  Post the list on the site
5.  Determine a marketing plan of action
6.  Document that on the site as well

I've fallen off of my weekly updates here on the blog.  Partly that was due to the loss of my main machine, and partly because I was so heads down trying to finish up the registration.  I do see this as a valuable part of my marketing and will get back on track of posting here at least once a week.


Sunday, May 19, 2013

Houston, we have a problem.

So here I am without my primary computer.  Last Tuesday it up and died.  The hard drive started making that horrible "zzzt, zzzt, zzzt" sound that signifies the electronic death.  Fortunately, my primary machine is a Macbook Pro with Timemachine backups.  The bad news is that the Apple store said that it would be 3-5 days before it was ready to be picked up.  I'll still have to restore the backup before I get started.

So for the past 5 days I've been climbing the walls.  I was so close to finalizing the last of the registration and getting this launched for real.  Regardless, the last push was on Friday before the failure, so even if I can't get it all back, I'm only a few days behind.

In the meantime, I've been on an Ubuntu kick.  I've spent the past several days rebuilding a couple of laptops and a desktop that I had lying around the house.  On my Mac, I've been building the site using MAMP and it occurred to me that I need to be my SVN server up and running so that if something happens in the future that I should be able to pick up where I left off on any of the LAMP computers instead. 

I admit that I really like Ubuntu.  Linux has come a long way in the past 2 years.  I try to like it every few years and I always come away wanting to beat the machine with a sledge hammer.  Not this time.  I like it so much that I'm attempting to rebuild my old Windows XP Media Center machine into my primary Development server.  I always anticipated that at some point that I would have to put this into a traditional software development environment and now is as good a time as any while I sit around waiting on my Mac.

So those of you waiting for the official launch, I'm at least a week behind now.  I should be ready to go early June now.

On an off topic.  I was looking at my Twitter followers and noticed that the Atlanta LB3 starting following me.  That is awesome.  My Son will be in their summer camp at KSU.  Hopefully I'll get a chance to show off the software during that week.  Look forward to meeting you guys!  In the meantime, keep up with my progress here.

That's it for now.  I will be posting a new Feature Focus and Bug list in the morning.  Its almost time for Game of Thrones now, so time to close down for now.

Wednesday, May 8, 2013

Site Testing

I've started full regression testing this morning so that I can identify as many issues as I can before the official launch.  So far I have 2 pages of hand written notes and I'm only through 2 of 33 use cases.  Most of the issues are pertinent to all use cases so it isn't as bad as it sounds.  I've also identified a half a page of additional features that I would like to add, but not necessarily before the launch.  I have to fix the register feature first before I can complete the remaining use cases.

I also have to incorporate PayPal into the site.  I really like Square, but PayPal still has a better cost structure and every dime is critical.  Sorry Square!

Once the Register feature is in place, I can actually officially launch and worry about the bugs as we go.  The Spring season is over, and only Summer Select teams are playing.  A bunch of boys from the 2 teams that I used as a beta are playing Select and I'd love for them to have their stats continue, but I can't market it until the register is done.  That shouldn't take long as I've had a register in place already.  But tying it to PayPal may take me a little time.

Ok, back to testing.

Wednesday, May 1, 2013

Game Track

I've just completed the Game Track feature.  This allows you to see exactly what happened in a game.  Each stat that is record has a time stamp which is used to put everything back in the order that it happened.  In addition, I've added the ability to obsfucate the data where Youths are concerned so that Coaches and Administrators can show off the data without putting a child at risk.  See the screen shot below.  I'll be deploying this to the Live server by the end of the day.


Tuesday, April 30, 2013

Features Completed in April

Just a quick update to let everyone know where I am with some of the features that were discussed last month as well as new features.


  1. Offline Storage
    1. Get back to server
  2. Home Page
    1. Start Marketing - 90%
  3. Game Screen
    1. Lines?
    2. Timer
    3. Hook up new Team buttons
    4. Determine how to handle man up/down situations.  With a modifier to main action???
  4. Game Info
    1. Set players to unavailable
    2. Set players to be "borrowed"
  5. Team Screen - 
    1. Bugs - COMPLETED
  6. Stats
    1. Game Stats 
      1. need more of the team data (clears, turnover, etc).
      2. Time line report
      3. Time played report
      4. Game Leaders - COMPLETED
    2. Team Stats 
      1. Create based on game, but do rollup for entire season - COMPLETED
      2. Allow break down by game?
      3. Team Leaders - COMPLETED
      4. Additional stats
        1. shots per game - COMPLETED
        2. saves per game - COMPLETED
        3. avg FOW percentage - COMPLETED
    3. Player stats
      1. Combine with player page - put more player data on, similar treatment as what I did for Teams
    4. Organization
      1. Repeat reports for the Org - COMPLETED
      2. Org Leaders / per age/gender group - COMPLETED
  7. Organization/Program Screen
    1. Match US Lax types
    2. Custom CSS for Orgs - start looking into CMS tools for organizations
    3. Better layout - ala ESPN or CBSSports - COMPLETED
  8. Following
    1. Add team follow - COMPLETED
    2. Post to facebook when following has action?
  9. Offline Stats
    1. Add offline entry of stats - important for those who can't get a live tablet and for players/teams to have a running record in a single location
  10. Girls variations - get with a girl's coach to be sure I understand the primary differences.
  11. Template
    1. Header doesn't work for iPad - COMPLETED
    2. Switch to Bootstrap - eventually - COMPLETED
Additional features implemented:
  1. News
    1. Added Lacrosse News for all levels
  2. Twitter Feed
    1. Created LaxStatsLive twitter account
    2. Created lists for all levels
    3. tied to news page for live twitter feed
  3. Created Pinterest Account
  4. Created Flickr Account
  5. Created basic default Logo
  6. Created CafePress account
At this point I have just a few small details to iron out before the official 1.0 Launch.  I'm thinking that I will have this completed by the middle of the month.  I really want to add some videos of how to use the software, but that may be beyond my time limitations.

Monday, April 29, 2013

May Flowers

As they say, April showers bring... well you know!  All of the hard work in March and April has the application almost ready for the v1.0 release.  I've said it before, there are still a million details to add, but it should be close enough to get out there for the world to see.  I know that between now and the Fall Season that I'll be able to get most of the extra details completed.

My approach to this all along has been an extremely agile methodology (something I advocate and teach in my day job).  Building software in that methodology helps to eliminate over thinking it up front and allows it to organically grow.  If you were to build your house this way you would start with just the framing and then address each room individually.  The rooms may start out with only curtains for walls and as you become more comfortable with the house, you might add sheetrock or other wall material.  You would have the opportunity to change your mind as much as you like and eventually have a room that fit you exactly.  You would be able to change the elevation of the house many times until you settled on the style and colors.  Unfortunately, you might not be able to live in the house for a while, but it would be exactly what you wanted when you got to the end, or if it wasn't you could keep making changes to your hearts content.

This application has been similar to that.  I've made sweeping design changes and completely removed or added functionality based on where I thought the site was going.  Now I'm at the point where I'm nitpicking details about colors and placement (not the fun stuff) getting it ready to launch.  Finishing is always the most time consuming part and I have to catch myself from not adding another feature until I finish the ones that are already there.

Regardless, the software has performed wonderfully.  I completed the Organization comparison and used it to identify the players who were leading in all of the categories across multiple teams.  It was very cool!

I missed an opportunity this week however.  This coming Saturday and Sunday is the end of year Mayla tournament where dozens of local teams will be present.  Had I been more marketing savvy, I would have been ready to show off the software during the tournament.  At this late date the all I'll be able to have ready would be business cards and flyers, neither which excite me.  So if anyone has any ideas about how to show off the software during the tournament, please drop me a note!

This week, I'll be working on the small details, trying to polish up the areas that still have a need.  I have a few features that I would like to add, but I won't until the polishing is complete.

Monday, April 22, 2013

Launch Prep

I'm still anticipating an official roll-out during the first of May.  My goal is to build traffic over the summer so that I can start to bring in new customers for the Fall.  Although I talked it up to anyone who would listen and there were a lot of people who were excited about it, no one contacted me about getting in on the beta.  Ultimately that worked out better as I didn't have the extra pressure to fix someone else's problems.

For the past week, I've been working on the marketing pages, creating explanations of the software.  I'm still going to have to create a sample Organization and let folks in to play around in, but I can easily use one that I've already created for my own use.  I'll just have to make sure that it is PC before I open it up.



I'll be creating a comparison for all known competitors and put that into a matrix.  I was very concerned with pricing.  Ultimately, I would like to make money on this.  Frankly I would rather take this from hobby status to career status.  I have the skills to make it happen, I've been in the Software Engineering industry for over 15 years now.  And I would rather do this than working for someone else.  Right now, my costs are minimal, but when it grows, so will the cost and I have to be sure everything is covered.  I finally settled on $1 per player per season.  One, $1 is not a lot of money for anyone involved.  It makes it very easy for an Organization to add LaxStats without breaking the bank.  They could (and likely will) pass the amount on to the player.  I agonized about charging parents/fans for access and eventually came to the conclusion to charge for that access as well.  The primary reason is that parents and fans who want to follow their childs career won't hesitate paying a few dollars, especially after they've already shelled out hundreds to get them into it.  Plus is a personalized view into a players career, protected from the general population.  You just can't find that anywhere else.



As a whole, its taking more time to come up with the marketing than it did with the other parts of the site.  Mainly that's because I'm a programmer, not a marketeer.

For those of you that have been following this closely, thanks for your support and encouragement.  I've been having a ball.  For those of you who have just joined are are reading this as a historical perspective, I hope it gives you some insight into how this all started and evolved.

Monday, April 15, 2013

Build .904152013

Even though last week was spring break for the kids, I spent a lot of time working on the site trying to get it ready for an official launch.  It's getting closer by the day and although I can still see a million things that I would like to add, it just has to go live and I can deal with everything else later.

First, the original template I used, while responsive, just didn't give me as much control as I would like for the site.  It was very hard to create a template with it, and I found that I just kept overriding the CSS to make it work and realized that would be a nightmare to maintain long term.  That's when I discovered bootstrap.  I had planned on moving to it someday and was only going to use it for new pages, but once I put it into use I was hooked.  I would say that it was a distraction going back to each page to clean up the site so that it worked with bootstrap, but actually it was a cleanup that needed to happen.

Not every page is bootstrap ready, I ran out of time for them all and felt that the longer I waited for a deployment, the greater my risk that something would go wrong.  Sure enough I broke the site last night while watching Game of Thrones and I'm still working on getting it right.  For those that want to know, PHP is tricky when using includes, especially includes inside includes.  Ultimately, its a path issue and I have the fix, I just have to get it in place.  The second issue was with a new feature.  I am creating a Lacrosse Only News Reader since one doesn't exist.  I'm using SimplePie as the aggregator, but its documentation needs work.  I used it exactly as the documentation suggested and it worked great locally, but when I deployed it started throwing "deprecated" errors.  Deep in the support I found the solution.  I love you SimplePie, just clean up your documentation a bit.

The following are the changes to the site for this build:


  1. Bootstrap.js
    1. global navigation - better user authentication/bread crumbs
    2. iPad - navigation works with it
  2. Marketing
    1. started pages to explain what the site does and why you can't live without it
  3. Stats
    1. Limit game results to only those with stats (fixed bug in table sort)
    2. Added additional reports
    3. Player career works better (still has more work)
  4. Team
    1. completely redesigned
    2. Org graphic
    3. sub navigation for team info/coaches
    4. sub navigation for games
  5. Org
    1. redesign started (not complete)
    2. Org graphic
  6. Home Page
    1. RSS of this blog
    2. Twitter feed for NCAA teams (will complete others, see below)
    3. RSS of Lacrosse news
  7. Social Integration
    1. Created accounts and tie ins for Twitter, Pinterest, Google+, etc.
    2. Share bar added in footer
  8. Corporate
    1. email/calendar
    2. Phone number (Google Apps for biz now costs money so they are no longer an option [BOO HISS], props to Zoho!!!)
I've started the Social integration with the site and expect it to get more and more social as the features solidify.  I expect a lot more this week, notably some actual progress on my feature list which has not changed since I last wrote about it.  I also expect to have a news reader ready to go that will be publicly accessible (won't need a login for that) and a completion of the bootstrap conversion.

Thursday, April 4, 2013

Feature Focus: April 1-15


Sorry for the limited communication over the past week.  I got a bit distracted with Taxes.  I also got distracted looking at all of the Lacrosse software that exists out there and mapping out the deficiencies in each.  At some point I'll talk about them all here, but now isn't the time.  It was distracting mainly in that I saw myself creating an all in one software package that had everything that would be needed to completely manage a team or organization.

However, that isn't my first and foremost focus.  The thing that drove me to do this in the first place was that there was no good way to record statistics (at least not real time) and get them where Followers could see (mostly proud parents to begin with).  Honestly I became concerned that I wouldn't have enough time to complete even that goal as my job situation stabilizes over the next few weeks.  I feel that what I have is unique, and is commercially viable.  I just have to have it ready by the Fall season in order to start making something with it.

Ideally, I would love to just focus on this and over the next few years build that all in one system.  I will just need to get enough sales to make that dream a reality.  That means that I need a stable version working in the next month so that I can focus on the marketing side of it so that I can make some sales for fall.  Otherwise, this is at best a hobby.  So, for the next week, the family and I will be on Spring break, which means that I'll be working from the beach to knock out a lot of these issues.

Thus far the beta tests have been working great.  I'm grateful that I was able to pick up 2 teams from the same Organization and within the same age group.  That way I can complete the comparison tools that will allow coaches to see who the leaders are for the whole age group.  There is a third team in the age group with a really good hand keeper and I want to get his stats so that I can test offline entry as well.


  1. Offline Storage
    1. Get back to server
  2. Home Page
    1. Start Marketing
  3. Game Screen
    1. Lines?
    2. Timer
    3. Hook up new Team buttons
    4. Determine how to handle man up/down situations.  With a modifier to main action???
  4. Game Info
    1. Set players to unavailable
    2. Set players to be "borrowed"
  5. Team Screen - 
    1. Bugs
  6. Stats
    1. Game Stats 
      1. need more of the team data (clears, turnover, etc).
      2. Time line report
      3. Time played report
      4. Game Leaders
    2. Team Stats 
      1. Create based on game, but do rollup for entire season
      2. Allow break down by game?
      3. Team Leaders
      4. Additional stats
        1. shots per game
        2. saves per game
        3. avg FOW percentage
    3. Player stats
      1. Combine with player page - put more player data on, similar treatment as what I did for Teams
    4. Organization
      1. Repeat reports for the Org
      2. Org Leaders / per age/gender group
  7. Organization/Program Screen
    1. Match US Lax types
    2. Custom CSS for Orgs - start looking into CMS tools for organizations
    3. Better layout - ala ESPN or CBSSports
  8. Following
    1. Add team follow
    2. Post to facebook when following has action?
  9. Offline Stats
    1. Add offline entry of stats - important for those who can't get a live tablet and for players/teams to have a running record in a single location
  10. Girls variations - get with a girl's coach to be sure I understand the primary differences.
  11. Template
    1. Header doesn't work for iPad
    2. Switch to Bootstrap - eventually


Friday, March 29, 2013

Build .9032913

I found a really nice JQuery plugin that allows for tables to be reordered. Unfortunately I had to convert all of my nice div tables into actual HTML tables. It works like a charm for IOS. I've deployed these changes to the live site for the team oriented stats and player career stats. I want to have for the game stats for the game tomorrow. It will be a long work night tonight.

Wednesday, March 27, 2013

Build .9032713

As promised, more frequent pushes.  Today I pushed:

  1. New Team Page
    1. Schedule moved to top and made prominent ala ESPN.  Calculates record on the fly.
    2. Team Info and Coaches moved to top of page beside Schedule.
      1. Edit Team Info now a Dialog box that pops up instead of going to another page.
      2. Bug - New team info is broken
    3. New Tab System for Players
      1. Default tab is for Player info (still needs a bit more work to include all player data.  I may put this into an editable table structure.
      2. Player Season Statistics - gives full stats for all players who have played on a team during the season with full counts for all games completed.
      3. Player Game Average - calculates the X per game stat for all players.
      4. Played Time - tab is there, report is not complete

Monday, March 25, 2013

Feature Focus - March 25 - 29

All of our games got rained out over the weekend so there was no new data to cause me sleepless nights.  This week I'm going to focus on some left-over features.


  1. Offline Storage
    1. Get back to server
  2. Home Page
    1. Start Marketing
  3. Game Screen
    1. Lines?
    2. Timer
    3. Hook up new Team buttons
    4. Determine how to handle man up/down situations.  With a modifier to main action???
  4. Game Info
    1. Set players to unavailable
    2. Set players to be "borrowed"
  5. Team Screen - major overhaul needed, want this page to look like it came from ESPN
    1. W/L
    2. Team Stats for the Season
    3. Player link should go to master player page with stats
  6. Stats
    1. Game Stats 
      1. need more of the team data (clears, turnover, etc).
      2. Time line report
    2. Team Stats 
      1. Create based on game, but do rollup for entire season
      2. Allow break down by game?
      3. Additional stats
        1. shots per game
        2. saves per game
        3. avg FOW percentage
    3. Player stats
      1. Fix bug
      2. Combine with player page
  7. Organization/Program Screen
    1. Match US Lax types
    2. Custom CSS for Orgs
    3. Better layout - ala ESPN or CBSSports
  8. Following
    1. Add team follow
    2. Post to facebook when following has action?
  9. Offline Stats
    1. Add offline entry of stats - important for those who can't get a live tablet and for players/teams to have a running record in a single location
  10. Girls variations - get with a girl's coach to be sure I understand the primary differences.

Build .9032213

On Friday I deployed the latest build.  Doing weekly builds has some risk and I'll be moving to more frequent builds instead.  There are only a few people in the system so I'm not jeopardizing anything by doing so.  The system is becoming very stable and the features are getting richer.  I want to get more people involved but its hard to focus on marketing and development at the same time.  Regardless, this is what was deployed.


  1. Offline Storage
    1. If the application loses connection or has an error for any reason, it will store the data local on the device.  Eventually I'll change to keep a full copy locally with an asynchronous push to the server and have an offline app,  but that is a summer project.  I still don't have the method of getting lost data back to the server just yet.
  2. Game Screen changes
    1. Roster now has tabs, one each for Attack, Defense, and Middies.  Being on the list doesn't preclude a player from switching positions, it only helps me organize them better and minimize scroll.
      1. Added Primary Position
      2. Modified Team to reflect
      3. Modified Player to reflect
    2. New Team buttons (not completely implemented)
      1. Clear
      2. Team Goal
      3. Team Turnover
      4. Man Up
      5. Man Down
    3. Specialized buttons for Face Off Middie and Goalie
      1. Faceoff won
      2. Faceoff attempt
      3. Goalie Save
      4. Scored Upon
  3. Template
    1. Broke apart pages into commonality's and created a master template.  I didn't do this early on because I wanted them to organically find its design and it mostly has at this point.
  4. Stats
    1. Game Stats
      1. Added Percentages for Scoring, Faceoff's and Goalie Saves
      2. Added Team Totals for individual stats
      3. Added Penalty report
      4. Fixed calculation for Shot on Goal to also include actual Goals.
    2. Player Stats
      1. All stats that exist for a team exist for player as a roll-up for the season (currently).  Seems to be missing data for players who have played for a second team.
  5. Action Screen
    1. Removed Goalie Actions (save and scored) and Middie only actions (faceoffs)
  6. General
    1. I had several versions of the JQuery library listed throughout the application.  With the template they are all on the latest version now.
    2. Removed some orphan pages
    3. Added a Favicon - sorta looks like a lacrosse head.

Monday, March 18, 2013

Feature Focus - March 18-22

With the major bug from yesterday weighing on my mind, I'm certain that it will take the bulk of my week to get implemented.  However, there is still a ton to get done.  Again in no particular order...


  1. Offline Storage
    1. Save copy locally
    2. When game finishes, compare the two results, update local to server at that time.
  2. Home Page
    1. Start creating a marketing version of the home page
  3. Game Screen
    1. Better Roster organization
    2. Lines/grouping of players
    3. Timer (still looking into longer term solution)
    4. Better user feedback for Clears
    5. Man Up/Down button
    6. Team Activities - Goal, Turnover
    7. Better way to record Face Offs
    8. Better way to record Goals
  4. Game Info
    1. Set players to unavailable (will help the roster organization)
    2. Set players to be Defense, Attack, or Middie to help minimize screen scroll
  5. Team Screen
    1. W/L Box
  6. Stats Screen
    1. Game report
      1. Remove Penalties from current game table
      2. Create secondary report for team actions, including totals for all actions.
      3. Create timeline report.
      4. Create time on field/shot percentages, etc.
    2. Team report
      1. Create team rollup of all games, same as game report, may need way to dive into game report from here.
      2. Create additional stats, Shots per game, saves per game, etc.
    3. Player report
      1. Individual statistics for the player, use same report as game, just limit per person, very important for followers
    4. Organization report - although important in the future, putting on hold for now, I only have 2 teams from a single organization at the moment.
  7. Action Screen
    1. Hide goalie actions for non- goalies
  8. Organization/Program Screen
    1. Set types to match US Lax
    2. Custom CSS for Orgs
    3. Better layout and design
  9. Following
    1. Add Team Follow
  10. Offline Stats
    1. Need ability for those without wireless tablet to enter data after a game.
  11. Deployment
    1. Better way to keep in synch
That's enough for a week.  If you have a feature request that you would like to see on this list, please leave me a comment.

Offline Storage

I guess it goes to show you that you shouldn't mention what could be a serious problem before you've addressed it.  During the first game yesterday, the app performed as expected with no issues (at least none that weren't already known).  However, during the second game I started getting "bad proxy" errors.  I'm not sure if this was a connectivity issue from ATT or something on GoDaddy's side.  Since neither have claimed the issue I'm certain that I will never know.  Thus the second game ended up missing approximately 1/3 of its data.  That being said, Offline Storage just became my number 1 priority for the week.

Sunday, March 17, 2013

Beta - Week 3

Yesterday was another busy day, with 2 teams stats being taken back to back.  Many of the issues that I noticed last week weren't addressed this week due to having the Follow function up and running and Facebook integration.  The Follow function allows for Parents and Fans to keep up with their favorite Player or Team real time.  Since the entirety of the Beta is currently U11 Boys, the data will be skewed a little, but its better than nothing.  I'm still quite pleased with how its gone but there is easily as much work left as has already been completed.  I've two more games to do today, so after this point I'll be a lot more comfortable and will look to expand the beta to more teams.  Also this week I added the "login with Facebook" feature which virtually eliminates any barrier to entry for someone looking to follow a player.  It also helps to eliminate cracking attempts at my low level authentication.  I don't have any huge features to be added this week (short of the timer, but I'm happy with how it currently works) so I should be able to enhance what is already there and eliminate some of the bugs.

Yesterday, I had the situation where one team needed to "borrow" a player from another team.  Fortunately, I was prepared for that, at least for the addition.  I'm not so sure that I can gracefully hide at this point and I'm not going to worry about it today.  I'll think that through a little better tomorrow.  I did notice that the individual Player stats don't appear to be calculating for teams other than the original team.  I must have an error in the SQL because it should calculate across all teams.  I do need a better Player page, and that will be second on the priority list for this week.

I will eventually need the concept of game validation.  As it stands the stat recording is a "fire and forget" methodology.  It is necessary to keep from getting behind in the recording (which still happens).  What that means is that the AJAX Get is pushed, but no request is required, which means that I could lose a stat here of there based on the whims of ATT.  I think that I'll also write a manifest locally and upon game completion do a comparison against the two and if any are missing to add them then.  That will have a heavy payload and its something that will require a lot of thought.  I'm putting into the parking lot for the Fall release.

That's if for now, got a game to go to.  I'll update with my feature list in the morning.  Have a good St. Paddy's day!

Wednesday, March 13, 2013

Build .9031313

Yesterday I completed the Facebook Login integration.  With this in place, I no longer need registration, one can simply "login with Facebook" and I capture everything I need from them.  This makes registration and authentication a breeze for both me and the user.  I'm going to get the "Follow" portion completed next so that Parents can watch their kids stats.

Monday, March 11, 2013

Feature Focus March 11-15

I'll be working on the following this week, in no particular order.

  1. Facebook login
  2. Home Page
    1. Start creating a marketing version of the home page
  3. Game Screen
    1. Better Roster organization
    2. Lines/grouping of players
    3. Timer (still looking into longer term solution)
    4. Better user feedback for Clears
    5. Man Up/Down button
    6. Team Activities - Goal, Turnover
    7. Better way to record Face Offs
    8. Better way to record Goals
  4. Game Info
    1. Set players to unavailable (will help the roster organization)

  5. Team Screen
    1. W/L Box
  6. Stats Screen
    1. Game report
      1. Remove Penalties from current game table
      2. Create secondary report for team actions, including totals for all actions.
      3. Create timeline report.
      4. Create time on field/shot percentages, etc.
    2. Team report
      1. Create team rollup of all games, same as game report, may need way to dive into game report from here.
      2. Create additional stats, Shots per game, saves per game, etc.
    3. Player report
      1. Individual statistics for the player, use same report as game, just limit per person, very important for followers
    4. Organization report - although important in the future, putting on hold for now, I only have 2 teams from a single organization at the moment.
  7. Action Screen
    1. Hide goalie actions for non- goalies
  8. Organization/Program Screen
    1. Set types to match US Lax
    2. Custom CSS for Orgs
    3. Better layout and design
  9. Following
    1. Base setup
    2. Allow Parents, etc, ability to follow player (youth protected)
  10. Deployment
    1. Better way to keep in synch
That's enough for a week.  If you have a feature request that you would like to see on this list, please leave me a comment.

Live Beta Test #2

Saturday was a very busy day.  We started early with the first test of the day.  The second test of the application went better than the first.  With some of the changes I made, it was easier to get the players onto the field.  I'm still annoyed with the screen scroll when a roster is too large.  I've shrunk the names as much as I can and it still be usable.  I've got to come up with another way.  Also this is iPad only ATM and other tablets it may be worse.  I've got someone with an Android tablet that wants to help test so maybe that will help answer that question.

Feature Request #1 - Come up with way to stop the scroll.

During the first game, I had no issues and everything worked really well.  It also helped knowing the players names a bit better.  Some things to consider is that currently it takes 2 entries to record a Face Off Won.  As you know, that is the fastest part of the game so often the steps were, record Face off Attempt, record Face off Won, and record who picked up the ground ball.  If there was an assist and a score there, that would be a tough stretch to keep up with.  Similar issue with a goal.  Often there was an assist, shot on goal, and then a goal.  Currently I haven't been counting a Goal as a shot on goal although I should.  I can either calculate that post action, or build it in.  Not sure which way to go just yet.

Feature Request #2 - Determine better way to record Face Off process.
Feature Request #3 - Determine better way to record Goals/SOG's/Assists.

Although I separated Clears from the individual stats and put it on the field as a team stat.  Recoding it had no feedback.  It was a direct record to the database and as such didn't notify the user that it had done its work.  Perhaps I need some indicator that a Clear did happen.

Feature Request #4 - User Feedback for Clears

Still the biggest problem I had was on line swaps.  Getting 3 new players on the field, especially during a score and then a face off opportunity was too slow.  At least twice I had missed a middie (fortunately he didn't do anything during that time).  What I need to have is the concept of lines, just like the teams have.  That way I can activate a line and it would still give me the flexibility to rotate individuals in and out.

Feature Request #5 - Create Position "Lines"

At the end of the game, the statistics were quickly and easily calculated and put into my nice new tabular format.  I had left a spot for Penalties, but I can't easily integrate them into the table, and because they won't be calculated by type, don't fit anyway.  I'm going to remove that from the table and do a secondary report for the team as a whole where I report penalties.  I need a team report anyway, so this works out well.

Feature Request #6 - Team report, calculate totals for all, report on clears and man up/down opportunities, Team Goals, Team Turnovers, and Penalties.

I was asked to do a second game for a different team and I was happy to oblige since this gave me more data.  Fortunately I did know a lot of the Player by name already as they practice with my son, and/or have played on his team in the past.  Still, it was much harder to keep up with than it was during the first game, just because of my lack of knowledge for the boys.  One bug surfaced.  Although it was recording the scores correctly, on the field screen, it had the home and away as the same team.  Not sure why this occurred as I wasn't able to reproduce on the spot.

Defect - Away team on both sides of the scoreboard.

Last week I stood with the parents to take the stats which helped greatly when I was struggling with names, etc.  This week I stood with the boys.  Once they figured out what I was doing, I was having to answer the same question every 5 minutes "what are my stats?"  After learning my lesson, my answer became, "I can't get that until the end of the game", but the truth is that I can refresh the report as the game goes on, which was a nice way for me to validate that the program was working as intended.  It also helped to validate that the real time push to Facebook that I want to integrate will work nicely.

Now with 2 games under our belt for my son's team, Parents are now getting interested in seeing the stats.  This week's number one priority is to complete the Facebook login integration and to get "Following" working properly.  If it is anything like the Google Maps integration, it shouldn't take more than a day to get implemented.

That's my thoughts for now.  As always if you have any suggestions for the application, I'm very grateful to hear them.

Friday, March 8, 2013

Build .9030813


Build .9030813 will be deployed later today.  Included in this build are:

  1. Finish Game Button
    1. Completes all Player actions
    2. Flips Game Status
  2. Event Dialog
    1. Minimize Penalties list - toggle to be invisible, only viewable when needed
    2. Make Actions larger
    3. Add other events - defaulted to the NCAA rule book
    4. Update Event Dialog to break out per NCAA rules
  3. Team Page
    1. Updated Game list to reflect completed games
    2. Added Stats button once game has started
    3. "Start Game" changes to "Continue Game" once started
  4. Game Page
    1. need to be able to set players as unavailable for the game - completed database work, not hooked up on page yet
    2. Order by Jersey number
    3. Player name aligned to button
    4. Jersey numbers as draggable instead of full name
  5. Stats
    1. Take data and create Pivot output - may be completed by launch
  6. Facebook
    1. Added Like button to each page, authentication not ready yet
  7. Game Info Page
    1. Google Maps integrated
    2. DEFECT - only works on new game, existing games won't change map.
  8. Template
    1. Added Footer to all pages
    2. Include Google Analytics via footer
    3. Facebook like via footer
  9. Database
    1. Added Game Unavailable table - for players who won't be at game
    2. Added GameTime table - to time box game via actual time
    3. Updated Events with new Events (TurnOver, Caused TurnOver, Face off Attempt)
    4. Updated Game with Points For and Points Against

Sunday, March 3, 2013

Feature Focus - March 3-8

This week I'll be focusing on the following features (not prioritized yet):
  1. Finish Game Button
    1. Completes all Player actions
    2. Flips Game Status
  2. Event Dialog
    1. Minimize Penalties list (dropdown?)
    2. Make Actions larger
    3. Add other events (interceptions, turn over, etc. - find better resource)
  3. Game Timer
    1. Freeware was inadequate, need a full system.  This is likely too big for a single week.
  4. Team Page - needs a W/L box
  5. Game Page
    1. need to be able to set players as unavailable for the game
    2. Order by Jersey number
    3. Truncate name or other methodology
    4. Jersey numbers as draggable instead of full name
  6. Stats Page
    1. Game
      1. Replicate standard game sheet familiar to most coaches
      2. Create timeline report
    2. Team
      1. Create rollup team stat report (for all games [with a filter to each individual game])
      2. Create advanced reports (time per goal, etc.)
    3. Player
      1. Create single player stat report linkable from player id
      2. Also linkable to followers (youth protected)
      3. Filter by Lifetime/Year/Season/Team/Game
    4. Organization/Program
      1. Full report for season broken down by gender, age level, team
      2. Need to determine need for larger long time report (may be helpful as players advance careers)
  7. Organization/Program
    1. Set types to match US Lax
    2. Custom CSS for Organizations
    3. Better layout and design
  8. Facebook integration
  9. Following
    1. Base setup
    2. Allow parents, etc. ability to follow player (youth protected)
  10. Deployment
    1. Better way to keep DB in synch
    2. Better file deployment (Git?)

First Beta Test

I spent the week frantically trying to get enough pieces into place that would allow me to take the stats for the Saturday game.  Some features had to be scrapped for less functionality just so it would work well enough (not be a stopper).  No other beta testers have come online yet, so it was just me on Saturday (in hindsight this was the better way to approach it).

First, let me say that it is one thing to come up with an idea and code it, but once you are forced to see it in action at the speed of a Lacrosse game, one can see some immediate improvements.  The previous game ran over so the refs were on a fast pace to get the game started.  I had anticipated having a few minutes to populate the field for the first time.  Sadly I didn't get that time and was rushed to get players on the field as the game started within seconds of them taking the field.  They won the faceoff which gave me time to get everyone on the field.  I may have missed a ground ball, but otherwise was able to catch up.  The other thing was that without knowing each players name well, I was forced to rely on other parents to help me fill out the roster.  What I mean by that is that I just struggled quickly finding a number with a name which pointed out my first real bug in the system.  I designed it to be number specific, so that all you needed to do was see the Jersey to tell what happened.  But since I neglected to sort my list (either alphabetically or numerically) finding players was a bit of a strain.

Defect 1 - sort by jersey number.

My player list is setup on the right hand side of the screen (which is great for right handers - need to address for lefties at some point), but I had originally designed it to be a fixed width.  Some of the names causes wrapping and thus made if more confusing as I couldn't see the numbers neatly lined up on the left hand side of the box.

Defect 2 - eliminate wrapping (either by truncating the name, allowing for an indent on the wrap, or something else).

Although the dragging idea is sound, the problem I had was that the entire name and jersey number were part of the draggable item.  The drop point was the center of the draggable item, so players with long names had drop points to the right of where my finger tip was.  I missed dragging a couple of players that way.  Perhaps this needs a smaller, more reliable draggable item, such as a button with only the jersey on it.

Defect 3 - make jersey the draggable item.

During the game the app worked as expected.  The one annoying thing was that on an event, the focus was to a drop down list that I had (which I had already fixed, but not deployed to the live site).  Also, the text list was a little small and didn't allow a lot of room for error.  This was partially due to my having so many entries for Penalties.

Defect 4 - separate penalties better, make events bigger.

It also occurred to me that I may be missing some event items.  I was missing things such as interceptions and turn-overs, but that was due to the reference material I used.  My son is U11 and some of those things don't show up until later in his career.  But I could have easily recorded that during the game.

Feature Request - more inclusive events.

Lastly, I only had a rudimentary statistics page up, it was the last thing I did on Friday night before the game, and it was raw at best.  However, it allowed me to give good stats, but since I had each position on the field as a separate entity, I had to do some adding on the fly (not an issue, but obviously something to address).  So not a bug per se, but functionality to complete.  One thing I did notice is that a touchable application is tough on a 39 degree day (my poor finger was all but frozen).

I did get a chance to introduce my app to a few new people.  Although we lost, I noticed that the opposing team stat keeper was doing everything by hand, literally a list of who did what when and then he would have to add everything up at the end.  I showed him the app and asked him if he would like to be part of the beta.  He was very interested and I expect to hear from him before next week's game.

That's it for now.  I'll update you as things continue to progress.

Build .9022813

Features added:

  1. Statistics Page - shows after game is started (very limited functionality - just enough to run first beta test)
  2. Events write to database asynchronously.
  3. Score dynamically updates on game screen and records to database, no round trip needed.  Upon refresh, sets from database to keep in synch.
  4. Draggable functions working for iPad (need Android to test).
  5. Events are variable based on position.
  6. Game spawns in separate window to eliminate back.
Defects addressed:
  1. Event orphans addressed.
  2. Timer changed to Time of Day clock - need to find longer term solution
  3. Player reset turned off, killed draggable action, couldn't find a way to reset draggable

Friday, February 22, 2013

Build .9022213

Features added since last build:

  1. GameInfo was updated to include launching of game.
  2. Game was added.  Auto setting of clock (bug - starts immediately), first time launch of action (bug - only works the first time, and currently doesn't accept info from the calling action).
  3. Action added.  Design mostly complete, still doesn't accept input.
Defects addressed since last build:
  1. Database is now working.
  2. PHP includes was broken on deploy this morning.  Could not find a permanent solution, so put a quick fix into place.  Will have to address this at a later date.  Forced changes to 60% of code base.
  3. mysql vs mysqli issues.  Early pages were using deprecated code, had to modify to mysqli.

Laxstats.me is up!

I've spent the last 15 years dedicated to Microsoft technology (more specifically .NET).  This project required several things to get off the ground.  Since I didn't want to spend anything on the underlying technology without first proving that it would work fine, I decided to settle on the LAMP/MAMP technology stack.  This required that I learn how to administer Apache; code in PHP, Javascript, JQuery, Ajax, and the latest HTML and CSS; deploy to systems that I don't expressly control; and do so in my "spare" time. The only thing that I didn't have to learn/relearn was SQL - although the mysqli syntax took a few minutes to understand.  And now, the beta is up.  Don't get too excited, its still not 100% functional yet.  The live stats recording is the meat and potatoes and its taking a little longer than i would like.  Fortunately, our first game of the season is postponed due to bad weather, giving me another week to get it up and running.  If you haven't already contacted me about the beta and still want to check it out, drop me a line and I'll get you up and running.  If you don't want to mess around with real data, I can set you up in the sandbox that I use while coding.

Many, many, many thanks to the North Paulding Lacrosse organization.  They have generously volunteered to be my primary beta partner during this process (helps when your child plays on one of their teams).  Regardless, if I can make this software commercially viable, they will never want for statistics software.

During the beta period, you should expect many changes to the software as I fix bugs, add new features, and make it look much better than it currently does.  I'll be adding a backup feature as soon as I can to minimize the risk of data loss on the part of my beta testers.  I'll be adding posts here to outline changes that are done, so check back often, especially if I break something that previously worked (yes it does happen).