Category Archives: Software Development

Enforcing Nominations

This offseason brought some significant performance improvements to the ottoneu Fantasy Baseball auction draft. I’ve been tracking performance pretty closely and I’ve been thrilled with how much better the site has performed this year over last year. However, a small but significant rule change has caused issues for about half the drafts that have occurred so far, especially in leagues with a number of first-time owners.

The rule change was as follows:

II. f. Each owner must nominate a player in turn. If a team does not nominate a player, they will be considered done with the draft.

There is an important reason this rule was quietly added to football in 2015 and baseball this season. Last season, owners would purposefully not nominate players towards the end of auctions. By waiting until other teams were out of money or roster spots, a certain subset of owners attempted to lower prices on their sleeper picks. While the overall advantage gained is minimal, if you ended up in a draft with two like-minded owners, the standoff could last for hours or even days! This was not ideal, so a rule was implemented in the platform to lock teams out of the auction draft if they missed a nomination.

In my league, this was not a problem – we loudly shamed owners who missed their nomination turn, and paused often to prevent anyone from fully missing their turn. However, it became clear based on your feedback that my league was the exception – we were comfortable with the draft software, we knew each other well, and so we have a unique league dynamic that minimized the practical impact of this rule.

Some leagues embraced this rule, as they ran into owners using this strategy in past drafts. However, many leagues ran into logistical nightmares between keeping track of the fast-paced draft action and pausing every few turns to unlock a team that accidentally missed their nomination. There are few things more fun than an ottoneu Fantasy Sports draft firing on all cylinders, and few things more frustrating than having to stop that draft every few minutes to sort out what seemed like an overly harsh penalty for an honest mistake.

As a result, nomination enforcement is now optional and can be set in Commissioner Tools -> League Settings. It is off by default, so missing a nomination will not lock a team’s owner out of bidding or future nominations. In highly-competitive leagues, we recommend turning this setting on, but it is up to each league to handle this how they would like.

Rule II. f. now states:

f. If enabled in the league settings, each owner will be expected to nominate a player in turn. If a league chooses to require nominations and a team does not nominate a player, they will be considered done with the draft.

This change is live now and will affect any auction drafts in the future, as well as those currently in-progress.

ottoneu Fantasy Baseball Improvements for 2016

We’ve been hard at work listening to the ottoneu community and making improvements for the upcoming season. Here’s what to expect going into our 6th full year:

Improved lineup and roster organizer pages

Last season, changing lineups required juggling multiple drop-down boxes and clicking the Save button. Now, simply click the player you want to move, then click the new position you’d like him to play.

Improvements to lineup changes

Improved auction draft performance

I’ll save you from the technical mumbo-jumbo, but the auction draft should be much speedier! We overhauled the backend, and early feedback has been positive. Let us know how your draft goes, as we always are looking to improve that experience.

Available owners board and league description field

Finding new ottoneu owners hasn’t always been the easiest task and can even be discouraging for new and seasoned players alike. Being a part of the right team is a major component of the ottoneu playing experience and what makes this format so unique. With that in mind, we’ve added an available owners board and league descriptions to the Join Leagues page. I wrote about the available owners board last August when it first went live.

Real-time team-to-team messaging

Team messaging was a lot like email before: every team had an inbox and could see a list of messages from other teams.

The rise of Slack completely changed trade negotiations by allowing them to happen in real time. We revisited messaging and revamped the format to be more like chat and less like email.

The new format went live in the last 24 hours, check it out and leave a comment or a Tweet to let us know what you think.

More to come

ottoneu Fantasy Sports remain a work in progress, and we’ll continually be improving the site throughout the year. As always, you can leave a comment or email us with feedback, and be sure to follow us on Facebook and Twitter for the latest updates. Have a great season, and thank you for your support!

ottoneu Fantasy Baseball Updates

It’s been a little while since the last ottoneu Fantasy Baseball development update, so let’s dig into what’s new on the site.

The commissioner tools have always been a powerful way to manually move players and change salaries and cap penalties. The flexibility allowed by these tools have led to interesting gameplay additions by various ottoneu leagues, but it is important to be able to hold commissioners accountable for any changes they make. Going forward, all transactions done through the commissioner tools will have a “(c)” next to them on your league home page and other places where transactions are listed.

One of the challenges of playing ottoneu Fantasy Baseball with daily lineups is making sure you hit your game limits and innings limits. If a team at the top of the standings is using up games at an unsustainable clip, it can be easier to catch them towards this part of the season. But how can you track which teams are using up their games played? Check out the new graph at the bottom of the standings page! You can see how you’re doing with game limits relative to your competition at each position. There are a lot of interesting ways to slice and dice games played data, and this graph is a very early attempt at tracking this data over time.

There have been a number of bug fixes over the last few weeks as well, including improvements to waiver claims, abandoned teams, auctions, and the live page. I’m always open to more feedback about ways to improve ottoneu Fantasy Baseball, so use the comments or  the contact page to email me!

ottoneu Fantasy Football is live! Get a free team!

The wait is over! You can now join or create an ottoneu Fantasy Football league. Tell your co-workers, your friends, and definitely your single-season fantasy football leagues! Sign up now. Go, go!.

There are some basic rules and roster/scoring options to review for the best experience. As always, feel free to reach out with any questions.

ottoneu Fantasy Football has been in the works since 2013, and it would not have been possible without your support and encouragement. Try it out and share you thoughts with me and other players.

A contest, as promised, to score a free team: leave a comment stating how much you’d spend out of your $400 budget on Andrew Luck if he was the very first player nominated in your draft. We’ll pick a winner and give you $20 towards an ottoneu Fantasy Football team for this season, either a new one or one you already have. Have at it!

Join the ottoneu Fantasy Football Beta Test

Fantasy Football season is coming up and ottoneu Fantasy Football is getting ready to launch, but not without your help! Last winter, there was a brief alpha test, and now it is again time to pull some of you together for a beta test.

The test will focus on the following areas:

  1. The Auction Draft – is it fast enough? Do your bids register?
  2. Lineups – this page has been rebuilt from the ground up! Is it intuitive to use? (This is where I’ll heavily need beta testers’ feedback)
  3. General navigation of the Football site

Interested? Of course you are! To participate, you only need to do two things:

  1. Like ottoneu on Facebook
  2. Leave a comment on ottoneu’s wall about who you’d nominate first overall in your ottoneu Fantasy Football draft

Do these two things by Wednesday, and I’ll pick a few of you to check out ottoneu Fantasy Football before anyone else!

Weekly Summary: Improving Baseball

I read through all the comments in the post about the database and realized something important: some ottoneu Fantasy Baseball players seem to think Baseball is going to be negatively affected by Football. Nothing could be further from the truth. While ottoneu is a one-person (me!) company, there is currently enough time in the day to keep building and improving both Fantasy Football and Fantasy Baseball until there is enough revenue to justify growing the company. Now, onward to the Fantasy Baseball improvements!

First, the Trade Wizard now has a confirmation screen, so you can double-check your trade offer before it ends up in someone else’s hands. This much-requested feature should reduce the number of loan mistakes in your trade offers and allow for more complicated trade offers to be put together.

Second, the Live page was re-written to make it faster to see how other teams in your league are doing. It is still a little slow to initially load, and I’m continuing to make that page faster since I know the majority of you check it daily.

Third, the Roster Organizer was made accessible year-round, as some owners indicated that they’d like to use this planning tool even while the season is on-going.

Fourth, I rolled out some new information on player cards. Average salaries, projected positional eligibility, and ownership percentages are now available on player cards, so you can make smarter personnel decisions.

Finally, I’ve started work on a tool that will allow commissioners to retroactively change lineups. It is being built to directly address the kind of data loss that occurred last Friday. This tool will have a significant number of checks in place to prevent it from being used inappropriately. I’m hoping to roll it out to a few leagues towards the end of this season and it should be available to all baseball leagues this off-season.

On the Football side, more steps were taken to ensure that another database event never occurs. I now feel confident that the mistake I made Friday night cannot be replicated, and that if another database event occurs due to my error or any other reason that there are more fallbacks than were in place last week.

As always, find me on Slack, e-mail, or leave a comment here.

Database issue on 6/12-6/13

It’s a little after 1am ET on Saturday, June 13th, and I’m about to get ottoneu back up after messing up the database about 1.5 hours ago.

I’m working on getting ottoneu Fantasy Football ready for this fall, and in setting up some testing this evening I accidentally ran some operations meant for the football database on the baseball database. The end result is that all lineup changes made on Friday, June 12th have been irrecoverably lost.

I apologize, of course. It is unacceptable for a fantasy game to lose even a tiny bit of integrity in scoring.

The bright side, if you can call it that, is two-fold: 1) whoever you had in your lineup for Thursday will get stats on Friday, so teams will not get 0s across the board, and 2) this affects everyone equally.

Again, I apologize. I am working very hard on making ottoneu a world-class fantasy experience, and tonight was a slight misstep. I will do everything in my power to prevent mistakes like this from occurring in the future. As always, please reach out to me via email if you have any concerns or would like to have a longer conversation.

UPDATE: Just realized that if you started an auction on 6/12, it will probably need to be started again. Trades may also need to be re-accepted too – if this is causing a significant problem, please let me know. I’m hoping that because it was only one day, it shouldn’t have too great an impact.

UPDATE 2: I have made the following measures to prevent these events from occurring in the future: 1) database backups every other hour instead of once a day, 2) a change to how I connect to the ottoneu database

UPDATE 3: I’ve taken more steps to ensure this kind of mistake won’t happen again. I’m looking into building a tool that would allow commissioners to retroactively change lineups, though the jury is still out on if this is a good idea or a reasonable response to losing one day’s worth of lineup changes in 3+ seasons. Comments, Slack, and email remain the best ways to reach out!

Week 2: Baseball Scores and Football Drafts

Last week was all about creating and joining football leagues. This week was wider in scope and full of interesting changes.

On the ottoneu Fantasy Baseball side, I pestered FanGraphs into giving me live scores of MLB games. By pester, I mean I asked nicely once. Integrating this data was not hard, and now live game scores are on the Live and Lineups pages. Doubleheaders are presented better on both of these pages as well. Now you can keep tabs on both your fantasy players and your favorite team from one page!

A lot of progress was made on ottoneu Fantasy Football this past week. Leagues can be created and joined and (most importantly to me!) paid for, which are the majority of the milestones ahead of release. Today I started working on another major milestone: the auction draft. The interface is going to look a lot like the ottoneu Fantasy Baseball system one for now. However, player search is much faster and drafts should generally go much quicker, since there will only be 20 roster spots to fill instead of 40.

I also experimented with Flex and Superflex on the new lineup pages. The good news is that they both now work properly. The even better news is that proof-of-concept 1 Flex, 2 Flex, and Flex+Superflex roster arrangements all work properly, which means that ottoneu Fantasy Football will launch with some form of lineup customizability. Between this and the scoring options, ottoneu Fantasy Football’s week to week experience should be varied and interesting for all kinds of fantasy football owners.

This upcoming week is going to be all about the auction draft. I’m hoping it will go quickly by utilizing the best parts of the ottoneu Fantasy Baseball auction draft system. There could be an alpha test as early as mid-June on some of these features, so please let me know in the comments if you are interested!

Football Week 1 (in which leagues can be created but not joined)

My first full week working entirely on ottoneu Fantasy Football just wrapped up, and it seems like a good idea to share the progress made over the past few days.

Screenshot 2015-05-25 10.38.47

I mostly committed code to football, but there was some effort on baseball as well. The biggest baseball change made was that owners can no longer see who started an auction until after the auction is completed. This will force owners to bid based on the quality of player rather than against the team that started bidding. This was a small change, but an important one to some of the more competitive leagues. I also made a small fix to how math is calculated in the trade wizard and changed who “Trade Withdrawn” emails are sent to based on bugs reported in Slack. Did I mention you should join the ottoneu Community Slack?

The football week was spent working on league creation – a pretty natural place to start. As of a few minutes ago, owners can create leagues at all payment tiers, $20 to $500. However, no one else can join these leagues! That will be the milestone for the upcoming week. Once people can create and join leagues, the next major milestone will be porting the auction draft from baseball to football, with a few small improvements of course.

This first week has been more productive than I expected, and if I can keep this up I feel pretty confident about an early July launch for ottoneu Fantasy Football.

ottoneu On The Go

TL;DR – ottoneu is now mostly responsive and works much better on mobile devices, so visit on your mobile phone and let me know what you think!

In my last post, I dug into some of the most common ottoneu feature requests and built as much as I could during a little break from my day job over the holidays. When I first requested feature ideas on Facebook, and really every time I’ve ever asked the community for their wishlist, there is one common request that I wasn’t able to address over the holidays – a mobile app.

There are a couple reasons for this:

  1. Building native apps for Android and iPhone would distract me from continuing to improve the core ottoneu platform
  2. Maintaining (at least) two native apps while also maintaining the platform is a heavy ask for a single person who is, for now, running ottoneu as a side project.
  3. Native apps are a less flexible approach to mobile device support than making the existing site work well on mobile devices

With regards to #3 above, apps mean unique development for each mobile platform, a lack of support for future devices, and less than instantaneous addition of new website features. A mobile-friendly web layout addresses all of these issues. In reality, all these issues I’ve enumerated boil down to one thing – I’d rather try to build one thing (the core website) well, instead of three things (website, iOS app, Andoird app) poorly.

With all this in mind, I started digging into a mobile-specific layout for ottoneu this weekend, and I made a lot more progress than I expected! I am continuing to tweak little things here and there, but you can see it in action now. You will need to clear your browser’s cache to see the latest changes, and if you don’t take this step the site will look broken. Please check it out and let me know if you have any questions, concerns, or notice potential for improvements.