KyleHayes.me Registered!
The re-launched non-country specific .me TLC has been released as of today! I registered mine, kylehayes.me, and have it pointing to this site.
Get yours as they are going by fast!
The re-launched non-country specific .me TLC has been released as of today! I registered mine, kylehayes.me, and have it pointing to this site.
Get yours as they are going by fast!
It's been a long time coming (and a long time since I've blogged); the newest addition to the Family.com site that I , and many of co-programmers, work on has officially been released. Months and months of research, development, and testing should hope to prove fruitful for the continual success of Family.com. Introducing: Family.com Community.
This new feature is an attempt to bring in the great social networking benefits that the Internet offers to the moms and families that visit this site. It's a place where they can start groups and topics on anything related to family and children. They will connect with other folks who are in the same boat as they are to comfort them that they are not alone.
The site incorporates the latest technologies such as: Java 6, Spring, Hibernate, DWR, AJAX, DHTML, and many other "Web 2.0" features.
Go to Family.com and click on "Community" to create your own avatar and family. Then invite other friends and family to join as well!
Any programmer worth his salt knows that when you perform even the most minimal validation on a set of input textboxes for a form, that you need to wrap some kind of trim function around the string. So many times, I see developers write the following as a validation rule:
Clearly, all the user would have to do is provide a value with either a space or line break to make the value valid. The whole point of checking the value to ensure it is not empty is to ensure that the user did not provide only non-characters as well!!! The way to accomplish this type of validation would be simply to use the common programming function known as trim. The basics is that the function will shave off any spaces at the beginning and end of a given string to ensure the string is not padded. In the case of value that has only a space, this would make the string appear as completely empty.
Well for those attempting to accomplish the above in JavaScript will be out of luck unless they write the function themselves. Now, simply searching for "JavaScript trim" provide a plethora of results that will work just fine. However, being a proponent of YUI, I prefer to use the built-in tools and functions it offers if available. Sure enough, simply searching for YUI Trim in Google yielded that the function does indeed exist and, of course, is quite easy to use:
My wife and I are finally at the end of escrow on our home in Chino Hills, California. We should be closing any day now. We've been extremely busy packing, signing, and worrying about getting stuff done. As we actually make the move and get settled into our new place, I will not be able to be online much, nor be posting anything for a little while here. Thank you to all my faithful readers who have stuck with me this long, I promise some decent content upon my return.
Thanks.
Today Netflix, Inc, the nation's most popular online DVD rental service, announced the first Netflix ready device in a series of more to come. The Netflix Player by Roku, as they're calling it, is availabel immediately and will provide over 10,000 movies to Netflix subscribers instantly to their TVs.
This is clearly a product that is aimed at the AppleTV which allows users to rent and download movies from its popular iTunes Store. The immediate clear difference between the two products is the large number of offerings (10,000 with Netflix, and less than 1000 movies from iTunes) and the cost of the two devices. Roku is offering their device for $99 whereas the AppleTV starts at $229. Naturally, I would be the first to agree with anyone that says you are getting a lot more from the AppleTV than you would be from the Roku device, such as home networking capabilities, network music and photo sharing, as well as the Apple name, support, and design. However, I'm thrilled to see this product as it is really the first of its kind to offer a low-cost option for online streams of movies and TV without the need for any kind of individual physical medium such as DVDs or Blu-Ray discs.
Another notable difference is that the Roku device claims the content is "near" DVD-quality, compared to that of Apple's soon-to-be-released HD versions of their movies.
I've been telling folks and friends that I think we have seen the end of physical format wars and that the future is online downloadable content. For you will no longer have to rebuild your entire collection with the latest high-quality tape/disc. This announcement from Netlfix was the next step we needed to push our home entertainment choices into the next century more quickly.
In today's day and age where the Internet is a part of our everyday life, there has never been a time more appropriate now then to have really good navigation on your or your client's website. As sites grow more advanced and complex, it is vital to the success of your website that users are able to find what they need in a timely fashion without jumping through hoops to get there.
Designing Web Navigation: Optimizing the User Experience helps you lay the ground work to achieve a great user interaction experience. This full-color O'Reilly book clearly explains the full process of designing web navigation in three parts: Foundations of Web Navigation, A Framework for Navigation Design, and Navigation in Special Contexts.
In Foundations, the author writes an adequate analysis of various types of navigation systems, such as the search model, browse model, or the liquid information model to name only a few. He describes why poor navigation design will turn away users and may actually decrease the credibility of your website. Furthermore he touches on topics such as banner blindness where your users may not truly notice intentional site navigation, simply because back in their minds it looks like a vertical advertisement banner.
In Framework, Kalbach evaluates different forms of navigation for different types of sites. He talks about the need to engage your users to help determine what style will work best for your target audience. Moreover, he discusses types of technologies that may be implemented such as back-end technologies and front-end technologies like CSS and JavaScript.
James Kalbach does an excellent job describing every facet of this complex and sometimes daunting process in a very detailed yet easy to comprehend fashion. He backs up all the research he has done with references as well as providing great additional reading and other resources. The full-color diagrams and case studies of existing navigations on real-world websites prove invaluable to the reader. One small complaint I have is that for a book on designing navigation, the page numbers are quite small and difficult to glance at when you are flipping through the book. Aside from this small glitch, as it were, this book is a must have in every web developer or designer's library. Even if you consider yourself to be an expert at web page flow, you cannot go without learning a rule or two, and perhaps some great what not to dos in this book.
Despite being an Adobe fanboy, I never cared much for how the Spry framework handles things like animations. Seemed complex at the time for basic operations. At work, they have standardized on using the YUI framework. This has been great for me because I have always wanted to dive deeper into it and learn about its ins and outs. With that, I needed to do some basic fade animations for a User Interface I am working on.
I looked up the docs for the the animation package. After reading for a few minutes, I was blown away at how the YUI developers were able to execute such a powerful, customizable feature in a very simple way. First, you simply create an attributes object that contains the property you want to change (in our case it will be the opacity) and what you want to change it to:
Notice that a from attribute is not present. This is only because if from is not provided, YUI will perform the animation based on the current value of the attribute you are modifying.
Once you have your attributes object defined, animating your object is simple:
We instantiated a new Anim object by passing in a string of the id of the element we want to animate (note: a dom element object can also be passed), and the attributes object. Then we simply call the animate() method to play the animation.
Extremely simple and straightforward. On top of this, YUI, having the incredible event engine that it has, allows you to subscribe to events for onStart, onTween (which occurs on every frame), and onComplete providing limitless animation effects and chaining.
Be sure that when you try the examples above, that you have included the following files in your document head:
Finally, you must also create an element that you actually want to apply the animation with an id of "myDiv" for the above examples to work.
Peter announced today on the Mach-II blog to expect the 1.6 beta release in early June. This release is bundled with a few powerful and long-awaited features. Some of these include but are not limited to: logging, caching, as well as the new ColdSpring property.
Don't forget, if you are really anxious, you can always download the BER (Bleeding Edge Release) from our SVN repository as well as our nightly builds: http://www.mach-ii.com/index.cfm/go/code/
I blogged the other day about an Office 2007 feature for the tabs that are apart of the ribbon in that you can use your scroll wheel to change the selected tab. I thought this was actually pretty cool.
I decided to implement it in Flex because I figure it would be extremely easy... and it was! Took about 15 minutes total. However, it seems it is having issue when playing without a breakpoint in the code. Just playing through normally, when I scroll up or down, it actually seems to skip a tab when going through them. Yet, if I put a breakpoint at the beginning of the event handler and play through it that way, it goes to the next tab as it should.
Here is a demo of what I have done. Source is included...
The Leopard upgrade to OS X changed a few things with the local web server configuration. Namely, it comes standard with Apache2 now which means that VirtualHosts are done differently as well now. After attempting to add my own custom VirtualHosts to what I thought was the right conf file, I gave up and found a better solution.
Patrick Gibson provides a great little shell script that I simply run with the name of the VirtualHost that I want to create and it automatically makes all the appropriate changes to the VirtualHosts conf file as well as the "hosts" file. More information here:
It was said that the introduction of the unified ribbon toolbar in Office 2007 would increase the productivity and efficiency of its users. With my experience thus far, this has really yet to be the case.
However, today, I accidentally stumbled across and interesting feature that I think could be wisely used in other tab controlled interfaces (e.g. modern web browsers). While your mouse is in the boundary of any of the application ribbons in Office 2007, if you scroll your mouse wheel, the tab index advances (scroll up) or regresses (scroll down). It seems to be very quick and responsive on my system.
I find this to be very useful for getting to content even quicker and would be quite cool to see this in Firefox or even other applications like Photoshop and Illustrator where tabbed content lives on.