03.03.10
PBA.com had become a maintenance issue with majority of the code base written under ASP classic by programmers who no longer worked in the organization.
Requirements:
- Use a current language/framework that promotes best practices such as unit testing, separation of concerns, and DRY code.
- Framework needed to provide complete control over HTML giving Web designers easier means to create clean CSS/HTML design templates.
- Search engine optimization friendly.
- Business logic must be decoupled from the database.
- Old URLs must give a 301 status code and be correctly routed to the new standard.
Technology Overview:
PBA.com was rewritten from ASP Classic to ASP.Net MVC. The MVC framework provided us with good base for the best practice we needed, improving the maintainability of the site. The MVC routing engine enabled us with a means to route old URLs to their new MVC counter part properly. For the Model in MVC we choose Nhibernate. Nhibernate proved to be both performant and flexible, giving PBA not just PBA.com a reusable stable business logic layer.
Before:
After:
02.22.10
Tournament Presenter is a customized score board display written for the PBA to allow onsite fans to quickly gauge the state of a bowling tournament.
Requirements:
-
The display needed to be Extendable. PBA host many different styles of tournaments, Tournament Presenter needed an easy method of adding functionality for the new tournament formats.
-
Screen Resolution independents. None of the target display hardware was guaranteed to use the same resolution. Displays needed to look the same on all sizes.
-
Displays needed to look sharp be capable of animation, graphics and color.
-
Data source for displays needed to be small and work disconnected.
Technology Overview:
The displays where written in C# on .Net 3.5 platform. WPF was leverage for rendering GUI, XML for the data source, Clickonce for publishing, NUnit for testing and MEF for Extendibility.
Tournament Presenter On ESPN
Look to the seek times at 00:22, 1:08, 3:40, 4:20, 5:40, 6:50, and 7:19 these will give a good idea of how they are used in production.
ESPN Video