Friday, September 19, 2008

IceTime 4.0 Beta for Dashboard

The new version of IceTime for Dashboard (both Leopard and Tiger) is going to be out before the season starts, however I have posted the Beta for anyone who is interested in seeing what is new as well as doing some bug hunting. It is completely stable and as of yet no major issues have been found. I am still considering whether or not a new version for Yahoo! will be made, there are a number of reasons behind this, first off the older version still functions without any problems, and two it seems that the Yahoo! Widgets platform has taken an unfortunate turn for the worst. Which makes me question the validity of further development for what was once a great thing...namely Konfabulator. If there is an interest I will certainly look into adding the new functions.

What's new:
- Unplayed games now use the fronts of the jerseys (yes after 2 years it's happened...)
- Mousing over the jerseys will show you the team's complete names and current record for the season.
- iToque is now built into the widget for those who use it, or want to make some space on their screen. Toques will be updated in the final version.
- A revised version of Cup Companion, using full size jerseys etc, is now built into the widget.
- If you have an account at JerseyDatabase.com you can display your saved jerseys as well as your calendars.
- To display mini jerseys you now only have to click on the entry, rather than entering the ID number.
- Jersey fronts and hats and can be displayed.
- A number of graphics and colors have been changed.
- There is now a calendar function (small images displayed in the schedule) that will give you tidbits of information such as Hall of Fame birthdays, days that numbers are scheduled to be retired, as well as "This Day in History" anecdotes. Simply mouse over the symbol and the information will be displayed. This feature can be turned on and off.
- If you missed the last update the standings now feature games played.
- A number of small bugs have finally been fixed...most importantly the issue with game times for different time zones.
- You can now view your team's stats from last season.
- The RSS feed now points to JerseyDatabase.com
- All jersey searches now include small image previews.

As, stated this is a Beta version, any and all feedback is greatly appreciated. More screenshots and the download can be found here:

IceTime Beta Download Page

Labels: ,

Friday, November 23, 2007

IceTime Background Contest

Time to be creative...
As you may or may not be aware the new version of IceTime allows you to use custom backgrounds for the main games view on the widget. I have added about 15 to a gallery located here on the site. Anyone can have their own available for use by simply mailing them here to the site, at which point they will be posted. (There is some more info available on the gallery page.)

Knowing that many of you out there are creative and good with graphics I thought it would be interesting to have a contest involving these custom backgrounds.

Basically all you have to do is create your own and send them to the site at: hockeywidgets@gmail.com with the subject line: Background Contest and you'll be entered. You can enter as many times as you like and all entries will be made available in the gallery for anyone to use.

The winner will receive: the customary jersey in the database, 20 requests fullfilled (within a reasonable amount of time...), and will also have their entry permanently added to the next update and all subsequent versions of the widget (which you will be given credit for). The winner will also receive an as of yet unreveiled (yet hockey related) gift all the way from up here in Europe's attic.

Contest Rules
  • As stated feel free to enter as often as you wish, however all entries will be reviewed before being posted to the gallery.

  • You must submit TWO (2) backgrounds for each entry, one for unplayed games and one for completed games. How you show the difference is up to you.

  • Copyrighted materials, unless you can prove you own them, are not allowed. This includes all logos and photos.

  • You can use any program you wish to create your background, however please make sure to save and send them in either .JPG of preferably .PNG format.

  • Include your name, if you would like it listed in the gallery, and a title for your background to be used.

  • You don't necessarily have to use the provided templates, however all backgrounds must be 189px wide, by 108px high.

  • The winner will be selected from all entries received based on: originality, creativity and overall look within the widget itself (in other words how it looks in use).

  • Don't hesitate to contact me with any questions.


  • The contest will end on December 31st and the winner will be announced on January 1st.

    You can use the following basic template to the right or the Photoshop template available by clicking here.

    Good luck!

    Labels: ,

    Saturday, November 10, 2007

    Make Your Own IceTime Background

    In the new version of IceTime you can use custom backgrounds behind the main schedule view. A gallery of available custom backgrounds is now on-line here. In the widget you simply enter the name of the background you want to use in the Background Image preference section after choosing the "Use Custom" option.

    These are very easy to make and I've posted both a blank .jpg and a .psd file that you can use as a template. You can also use your own as long as it is 109 px high by 189 px wide, also remember that there should be black (or similar) stripe at the top where the game dates are shown.

    I reccomend using light colors as this makes it easier to read the game times and have the jerseys stand out. You should also make an image that is slightly darker or different than your first to be used when games have been played.

    To make your backgrounds available to the world for use with the widget simply send them to hockeywidgets@gmail.com with a title and your name (if you want it listed beneath your images).

    The only real limitations are that you can't use any copyrighted images.

    Labels:

    New in IceTime 3.1

    Alot of people had requests for updates to the IceTime widget and I tried to add all of them in this new version. The update is available on the main page located here.
    Among the new things included are:

    Additional Blog Feeds
    If you have a blog you can get it added to the list on the widget. Three are there to begin with, clicking on the image for a blog will show the the RSS feed, with links to articles, in the widget. I'll add to the list as people submit their sites.

    New and Custom Backgrounds
    I added a couple of new backgrounds to give people some choice. And to truly make the widget your own you can design your own. There is a page with additional backgrounds to choose from here. Information and the templates for making your own are also there.

    Games Played
    Games played is now included in the standings. This makes it a bit easier to gauge things and will become more important as the playoffs approach.

    Individual Player Stats
    I added two sections that show the Top 10 goal scorers in the league, as well as the Top 10 overall points leaders. These will be updated daily.

    Team Stats
    There was a request for the ability to easily see different team's stats so I added a section where you can select a team from a drop-down menu and see their numbers. This should eliminate the need to switch your main team just to see a particular team's stats.

    Start Page
    You can now choose which "page" you want the widget to show when you start it. The old widget (v2.0) used to show the last page you were on when you restarted it. (The Yahoo! version still does this.) There is a list of about 15 of the main sections to choose from. So if you want the widget to always start on your team's season view you can now do so. Version 3.0 would by default always show the current month first. This was a request and I can see it being a benefit to people who restart their computers or close widgets often.

    Other stuff
    There are some other small changes and bug fixes. One major one being that 3 Day View now works properly.

    Yahoo! Widgets Version
    You can now select the size of your mini-jersey. The dock should now auto update.

    As always additional requests for updates, improvements, and changes are gladly welcome.

    Labels:

    Friday, October 19, 2007

    Anatomy of a Widget

    How IceTime Was Built
    I get mails from people asking how these widgets are made, and to be honest trying to explain it is rather complicated through words. One could conceivably write a manual on how the process works and what all the code means and does...and that still wouldn't go into what is different between Dashboard and Yahoo! Widgets...and there are some major differences...nor how one does the graphics...and what CSS does...etc. However, I thought that giving a basic overview of how all the pieces come together might offer people a clue as to how they can construct similar widgets and where one needs to begin to learn the more complicated things. I'll use IceTime as an example as it employs a lot of the basics.

    Why?
    First of all, why did I make this widget the way I did - and why a widget? As in, why not just have the scores in text form, small and condensed or on a web page? The simple answer is because, there are plenty of other widgets available that already do that. The same goes for live scoring. I have never seen the necessity for live scoring in a widget, especially for Dashboard. If you're going to follow a game or just want to know what the current scores are then it's much better to go to NHL.com or any number of other places to get that information...and a lot more. I wanted to create something that offered a different approach to scores and data. Something that looked like hockey, felt like hockey and did things that the other sports widgets didn't already do. Namely complete schedules, team sorting, past results, future games, some basic league stats, etc...all wrapped up in something simple looking and easy to use. It's a widget, not a website or an actual application, since widgets offer the greatest flexibility and the easiest method for - a) cross-platform use, b) being unobtrusive, c) displaying the information in a compact way.

    What You Need
    Where to begin...the ingredients. There are no rules to what you need to create widgets, or web programs, or real programs. In all honesty all you need is a text editor, and they exist on all computers. So, you don't really need to go and get anything. With that said, there are things that make life easier and for some tasks you'll need applications a bit more complicated than what's already available to you on your computer. Thankfully there are some really good free alternatives so creating on a shoestring is always possible. The only thing you'll ever be required to spend is a lot of your own time. A lot.

    The following is a list of what I use (on a Mac) for making these things:
  • Adobe CS3 (Photoshop and Illustrator)
    Yes, very expensive, but nowadays completely indispensable. GIMP, Pixelmator, and other programs will work just as well for doing the graphics, as well as other versions of Photoshop.


  • Taco HTML editor
    Free, completely and totally free. Simple and easy to use text editor with everything one needs, without all of the flair.


  • Technically, that's it. But, in the case of IceTime I needed server space with PHP and mySQL, Virtual PC for testing the Yahoo! version, and an FTP program for file transfers (Cyberduck, also free)...and obviously Mac OSX with Dashboard.

    Books and Help
    I am by no means anything close to a programmer. And by this I mean that I can't hack out code unhindered by the constant fear of having made a lot of errors. I check things relentlessly and one can never have enough books regarding Javascript, PHP etc. There are even books specifically about widget building for Dashboard - although I've never actually seen them. As for Yahoo! they have an extensive knowledge base on-line and a very helpful forum. Dashboard is itself so similar to designing for regular web pages that you can turn to any related forum on-line for answers. There is also a convenient Apple mailing list dedicated to answering questions and offering advice to people working on Dashboard widgets.

    Some Answers
    Why is it called IceTime and no longer NHL...?
    Technically I'm not the NHL, and the widget is not related to the league, so I decided it was better to give it a name that separated it from them.

    Why aren't there any logos? You could use the logos for the standings or on the fronts of the jerseys for unplayed games.
    A lot of people use team and league logos in their widgets. I don't. Primarily because I don't have the rights to. There is a common license act stating that such and such size is acceptable if not in vector format etc. But, to be honest, without the permission of the teams and league I'd rather not take it upon myself to assume that I can use them.

    How do you make money off of these things?
    I don't. To date this site and the widgets have garnered a grand total of $0.00. I make them because I enjoy it, and because it is a great way to learn how to do new things. They have led to a couple paying jobs, and I warmly welcome the opportunity to do commissioned work, however I don't make my own widgets with the intention of charging or asking for donations. IceTime was made because I love hockey and wanted to give something back to other fans.

    Why not Google Gadgets, Sidebar Gadgets, Adobe AIR, mySpace Widgets etc.?
    Well, each of these requires their own set of code. There is no simple way to convert an existing widget to another format. Dashboard and Yahoo! cover the largest number of users and are who I focus on. Even these require two completely different sets of code and are in reality two totally different animals. As for Microsoft Gadgets, the simple answer is I don't own a PC or Vista and hence have no means to test them. I'd be open to allowing someone to the conversion if there was an interest. (The complicated answer is that Microsoft expects images to be in GIF format, which I refuse to do since all of mine are in PNG format.)

    Back To The Overview
    So, you have some programs and you have some books, and you know where to get answers. What do you do next?

    Graphics
    The first thing I did with IceTime was sit down and make about 80% of the graphics. Determining the size of things and what would be needed where. The majority of this was the small jerseys used to show the scores. How many? 60. All 60 NHL new Rbk Edge jerseys, one home and one away for each team in the league. And then numbers 0-10 for each of these. So, in total 11x60...660 individual image files in the end. These were all done in Illustrator then scaled in Photoshop. They are based on the images available on NHL.com, and use fonts that are available, or in some cases ones I made by hand in Illustrator (the new Senators font etc.) These were made at the progress of about 3 teams a day over the period of about 2 weeks after all of the jerseys had been officially released and made available.

    When constructing the actual "shell" of the widget, if one is designing for both platforms, one has to take into account that Yahoo! widgets don't flip and Dashboard widgets don't show preferences when right-clicked. The solution was, and I can hear both Apple and the Konfabulator gang groaning when I say this, to put all of the preferences in a completely different place than both advise/want/tolerate...That is to say I built them all into the main part of the widget itself. This isn't as stupid as it seems when you analyze the workings of IceTime in particular. The "preferences" are more like options and need to be changed depending on how you want to view particular information. In the original NHL widget these were in the typical places, however it became apparent that this was a major inconvenience for users. You had to constantly take the extra step to change which team you wanted to look at, which teams to show and how to show them. Sometimes you want highlighting, sometimes you don't. Etc.

    With the "Options" it was a similar issue. When thinking about what type of information I wanted IceTime to be able to show it quickly became obvious that the drop-down menu method wasn't going to work. It would have been way too big to be effective. So, this was also built into the workings of the widget.

    So, with the basic premise for the look of the widget down you can start dealing with other graphics. There aren't any real tricks or tools for making things look widget-like. The glass/chrome/plastic looks are the most popular ways of attaining the ideal appearance, but you'll find widgets in all different shapes and looks. It's mostly a matter of finding what works with different tools and tones in Photoshop. IceTime contains 71 seperate image files, in addition to the jerseys (of which 5 numbers are included for each jersey, numbers 0-4. All numbers over 4 are stored on-line to keep the download size down...it's already huge.)

    The Database
    While I was doing the graphics my esteemed associate DA was in the Big Apple creating the database which would be used for storing game scores and the schedule. This is a simple mySQL structure with about 10 fields containing team names, game times, and some other bits of necessary information. I don't envy him for the work, I did it last year, and it took about a week to enter 1600+ games. This info can't readily be pulled from anywhere, since the functioning of the widget depends on a specific set of rules. The database also generates the standings and stats dynamically etc. So, to create the look and feel of this type of widget one has to create their own data source. It's a pain, but it gives you a number of options you'd otherwise not have available to you. Such as the limiting of teams to show, divisions, etc. The major, major drawback is the fact that one must manually keep up the info. Everyday the scores are updated...it's a small price to pay.

    The Basic Coding Structure
    When you select to show something on IceTime you are querying the database. Everything comes from there, how it gets to the widget and how the widget shows it is the issue you have to look at, and this takes a lot of thinking out. What information do I require, what don't I need, can I manipulate it, how much can I do with it...etc.

    Once you've got a structure plan you need to get it to the widget for displaying it. The easiest way to do this is to use PHP. (A common coding language for the web for displaying dynamic information through variables. Those really long URL addresses you see that include things like peach.php?time=today&yesterday=tomorrow. PHP isn't capable of displaying information on it's own, it's a chameleon of sorts which can take the identity of any other coding language that it chooses to output in. Javascript, HTML, etc. In this case I have PHP output the information in XML, much the same way an RSS feed works, it puts out the basic data in a format which both Yahoo! Widgets and Dashboard can read without any further changes. So, when you want to see which teams are playing today you are essentially determining the date with Javascript through the widget based on your computer's current date, this info is then sent to the database with whatever team preferences you have set, which in turn outputs the results in XML structure back to the widget for displaying.

    Displaying the Information
    The combination of the code and graphics is what widgets are all about. IceTime uses the information retrieved from the database to determine not just the scores and stats, but also a large portion of the image elements. This is done through a lot of if - else statements in the Javascript. In simplified terms it's something like this:
    If the score of the game is not 0-0 the background of the game block should be the skated on ice, not the clean ice.
    If the home team's score is higher than the away team's score than the lamp should appear on the right side.
    If the home team is LA and the home score is 4 show image LA/home/4.png as the home team.
    You get the basic idea, you can use this method to display an unlimited amount of different things in countless ways. The same information used to show yesterday's games on the widget, is the same that shows the season results in the compact way with different backgrounds for wins and losses when you choose the "Team Season" option.

    The standings tables are probably the biggest problem with the widget in it's current form. The way the NHL breaks ties and orders the Conference standings is a bit tricky to script. Every time a game score is entered into the database it changes the standings by going through all of the games played and changing wins, losses, ties appropriately. Unfortunately it doesn't take into account games played, division matchups, etc when ordering their appearance. Which means teams with the same number of points may not accurately reflect the NHL's official standings tables. I'm working on this.

    RSS Feeds
    I put RSS feeds into this widget with the hopes of offering people some bits of news, gossip, and opinions about the league. It adds a dimension of life and realism to things, and reminds people that these matches are played by real people somewhere. The Battles section came about through contact with Andy Grabia who runs the Battle of Alberta Blog. As for TheCommonFan section, last year they ran free hockey pools which were great. They were simple to use and gave people a place easily set up a pool for any period of time. Due to some licensing issues they unfortunately are unable to continue doing so, however they exist in another form that is equally beneficial to hockey fans. That is to say that they offer a place for anyone to voice their opinions, add comments, and in general discuss hockey. Look at it as every fan's blog all in one place, and so with their permission I put it on the widget. In the next update I hope to add more RSS feeds through a new option.

    Mini-Jerseys
    These were obviously around before the widget and were not created specifically for it. They are included because they offer a slightly more personal (and hockey like) approach to minimizing the size of the widget when not in use. In addition they make a nifty way of showing your support of a certain player and team.

    Differences Between Dashboard and Yahoo!
    Originally the widgets on this site were only for Dashboard and I had no idea how to even start making a Yahoo! version. The coding structure and format are completely different. They involve similar things like Javascript and CSS to some degree, however both require dramatically different sets of files. Dashboard is based on web standards, so if you can build a website you can build a Dashboard widget. Yahoo! despite being at first a bit imposing, turned out to be a rather easy and well documented format to learn.

    The Dashboard version (with all of the on-line files) took in total about a month of work, the Yahoo! version (once the Dashboard one was finished) took about 5 days. Both formats have their own positives and negatives. Yahoo! is much simpler when it comes to instrumenting things like scrollbars and saving preferences. Dashboard is much much better at handling positioning of graphic elements and manipulating them. All in all, there isn't a clear winner on functionality and implementation. You can make something that is nearly identical in both.

    Conclusions
    Well, there you have it. Once all of the pieces were put together IceTime was done, tested and released.

    Labels:

    Saturday, October 13, 2007

    Get your blog on the IceTime widget

    A couple of people have written to me wondering if I could add their blogs to the IceTime widget and I hope to be able to accomadate them and many more by including a dynamic list of blogs/RSS feeds in the next version. This will be it's own category with new blogs being added as they are submitted here.

    The current feeds on the widget will remain as is, since they are intertwined with the contents of the widget. TheCommonFan.com will still be the main solitary feed, since it's well, every hockey fan's blog. If you have something to say, go say it there.

    If you're interested in getting your RSS feed on the widget, and in return getting some exposure to hockey fans around the world just send me an e-mail at:
    hockeywidgets_at_gmail.com

    Include the following:

  • The name of your blog

  • A valid RSS feed link - more below

  • Who you are at said site/blog, I can only really allow people affiliated with sites to submit links, since there are people who would rather not see their material spread around without permission.


  • For your feed to work properly with the widget, and to avoid any issues, please make sure that the XML structure contains the following (exactly as is): -pubDate- -title- -link- (with carrots)
    Variations upon these tags will cause issues with the current code and can result in the feeds not displaying. Most sites use this structure, all Blogger sites have this setup, and most dynamically generated feeds output like this, so for the most part you won't have to worry about anything.

    I'm looking at about 3-4 weeks before the update, so send your sites in soon if you want to be among the first.

    Thanks to the guys over at Japer's Rink for really spurring this idea. It should be a great way to get people to new sites, and get some exposure out for hockey blogs in general.

    Labels: ,

    IceTime (NHL 3.0) Available for Yahoo!

    It was something of a sprint towards the end, but the Yahoo! version of the IceTime widget is now available for those of you with PC's, or who prefer Yahoo! Widgets over Dashboard. I tried to keep it as close to identical to the Dashboard version as I could, there are only a few very small differences.

    Those of you who are users of Yahoo! Widgets are probably aware that the preferences can be found by right clicking on the widget and selecting Preferences from a menu. I found this to be something of a nuisance with this widget in previous versions which is why I went in my own direction and built them into the widget itself. This makes it easier to switch teams, views, highlighting...even the timezone. You can easily go from all teams, to just your own team in two clicks.

    The dock features your team's jersey and their current record.

    A complete FAQ and instructions are included in the widget if you have any problems or wonder about anything.

    I didn't get as much testing done on this as I would have liked since it's been long delayed as is, so if you find any strange behavior or obvious bugs/errors please let me know either here or through the contact form on the site.

    The widget can be download here: Yahoo! IceTime NHL 3.0 Widget

    Labels:

    Wednesday, October 10, 2007

    IceTime NHL 3.0 Released for Dashboard

    Overhauled and updated for 2007-08!

    All 60 Rbk Edge jerseys, a ton of view options, RSS feeds from hockey blogs, and preferences galore...

    The new widget includes:
    - Schedules by team, month, week, three days, today, yesterday
    - Updated results (following the conclusion of matches)
    - League and team stats
    - Goals for and against list
    - Division, conference, and league standings (these may be slightly off at the moment.)
    - Team season schedules
    - Team season overviews (with highlighting)
    - TheCommonFan RSS feed
    - 5 NHL Battle options and RSS feeds
    - Division Matchups for all 6 divisions
    - Stanley Cup winners by year and team
    - Jersey searching and displaying
    - Different mini jersey sizes
    - Top 30 list
    - Team highlighting
    - Home and away jersey options
    - I'm sure I've forgotten something...
    - Oh yes...IT'S RESIZABLE!

    DOWNLOAD THE WIDGET HERE

    The Yahoo! version is in the works...

    Labels:

    Monday, October 08, 2007

    NHL 3.0 Dashboard BETA

    Please note that this is for Dashboard, the Yahoo! version will be coming in the near future...

    Well, it was a bit delayed due to the new jerseys, but the new NHL widget is nearing completion. For those looking for a sneak peak, or just can't wait, here is a Beta version of what's to come.

    I would greatly appreciate feedback regarding bugs, performance, etc. The amount of testing I have done has shown the widget to be rather stable, however the complexity of it leaves a lot of room for errors.

    The final version will include a couple more features, as well some additional items, however all in all this is pretty much what will be released.

    The official version is now available here:www.hockeywidgets.com/nhl

    Labels: