Discorax's House of w00t

A collection of technology lessons learned though doing. Sharing of code samples, tips and tricks for web design and development. Written by an interactive designer/developer for other designer/developers.


My Smart Phone delima...

iPhone 3Gs and HTC Tilt2

I recently received an offer from AT&T inviting me to trade-in my old Smart Phone. I would bring in my old Blackjack II and get $100 rebate on a new HTC Tilt2. From a marketing perspective this was a timely email. I am in the market for a new Smart Phone for two reasons my current phone (Blackjack II) is getting a little warn out AND I will be attending MIX10 this year in Las Vegas and I will be tweeting, blogging, networking with my mobile device so I need something that can keep up with me.

There are a few factors that I am considering before buying my new Smart Phone.

1. Price

The HTC Tilt2 is $250 w/ 2 year contract + $50 mail in rebate + $100 email discount for trading in my old Smart Phone. Data plan is $30/mo and talk is part of my family plan.

The iPhone 3Gs 16 GB is $199 w/2 year contract and no rebates. Data plan is also $30/mo and talk is again part of my family plan.

2. Speed

I played with both devices at the store and the Tilt2 is noticeably faster than my Blackjack II but also noticeably slower than the iPhone 3Gs, which just plain smokes. The touch interface on the Tilt2 is clunky running Windows Mobile 6.5 and the iPhone is "zippy-zoom" responsive.

3. Features

Applications - everyone knows about the iPhone App store. The Windows Mobile app store has a few useful apps that I currently have installed on my Blackjack II. No games to speak of on the Tilt right now.

Keyboard - I have an iPod Touch and I have used the screen keyboard on it. It’s clunky and makes for lots of typos, but it’s not overly horrible. The Tilt2 has a slide out QWERTY keyboard in addition to the touch screen keyboard. The slide out keyboard feels amazing. The keys are a perfect size for my fingers, the buttons are easy to locate and the device sits effortlessly in my hand while I type. This is a HUGE plus for the Tilt2.

Media - iPhone offers the same features of my iPod Touch (which I love except for the lack of HD Radio). An iPod is a WAY BETTER media device than a Tilt2 especially with iTunes attached to it. Plus all my music/media is already in iTunes.

Storage - Tilt2 has built in 512MB but expandable to 32GB with a microSD card (~$50). The iPod at my price point has 16GB and isn’t expandable unless I get the next level up which is 32GB for an additional $100.

Screen Size - I believe both devices have the same screen size. The iPhone UI makes better use of the space with their app layout design.

Battery Life - Tilt2 up to 6.5 hours iPhone up to 5 hours.

E-mail - iPhone and Tilt2 both have full Office Exchange support so this is a wash.

So I guess the final question; is $100 less (via rebate) and a much more usable slide out QWERTY keyboard on the Tilt2 worth more than the iPhone dominating in every other category?

On a side note, I was considering getting a Zune HD just because it can listen to HD radio. There are rumors that Windows Mobile 7 or "7" will be out later next year about the time I'm ready for another upgrade, so maybe sticking with (or suffering through) windows mobile is what I'll do. So many choices.



MIX10: Sales pitch or career resource?

I believe it's common knowledge that vendor lead conferences will involve some level of marketing, otherwise how could you justify the expense to the bean counters. MIX10 is no exception.

Last year, there was a lot of hype about Blend/SketchFlow, Silverlight, Azure, and IE8. Some products lived up to the hype, others not so much. Regardless, the message was pretty one sided, Microsoft has some great new tools to help the designer/developer work flow improve and deliver outstanding content to users.

One thing I am seeing this year both from Microsoft as a company AND in some sessions is a real commitment to Open-Source and alternative technologies (JQuery, HTML5, PHP, MySQL, Ruby, Python to name a few). Seeing Microsoft include these technologies in the box with their software makes me smile. Windows Platform Installer will install and configure these technologies for you automatically. That's a far cry from the nightmare it was to get PHP/MySQL running on an IIS server in the (recent) past. It now takes minutes. I also love seeing the Mix lab work with projects like Oxite, Gestald, and Wordpress. I'm also seeing more session content revolving around these technologies. That's a good thing.

I attended an event in Seattle put on by Interact Seattle a few months ago where two software evangelists Adam Kinney (Microsoft) and Ryan Stewart (Adobe) showcased their respective products Blend & Flash Catalyst side by side. This session created an amazingly interesting dynamic. It wasn't about which features were better, it was about how tools could help execute and ultimately realize ideas. There was some great dialog during and after the presentations.

Seeing Open-Source technologies being talked about and used at MIX is a great step forward as far as breaking out of the "Marketing Marketing blah blah" of vendor conferences. I am hopeful that today, when the Open Call sessions are announced more of these alternative technologies will be showcased.

Finally, the part of MIX10 I'm looking forward to the most is getting a chance to talk with other industry professionals, most of which use Microsoft technologies, but not exclusively. It’s those conversations that I find the real value of a conference regardless of who is footing the bill.

See you in Vegas!



jQuery Session that needs to be shared - from Devdays Seattle

Yesterday I attended the Stack Overflow Dev Days Seattle conference. First of all, a $99 conference locally that had this amazing collection of topics made this a must attend. Honestly, though, this jQuery presentation was worth the $99 by itself.

Cody Lindley [@codylindley] gave a great intro and exploration of what jQuery is all about!

Sure there was lots of great ideas for how to use this technology bubbling in my head after Cody introduced feature after feature of jQuery. The best part was his 'How to build your own jQuery plug-in in 6 Steps' starting on slide 82. I can't tell you how many times I've wanted to extend a library but the documentation doesn't clearly outline best practices for building new classes or plug-ins. It's a lot of trial and error, not to mention headaches. This presentation was so valuable I just have to share it!

You can also check out Cody's PDF book jQuery Enlightenment for just $15. It is a collection of useful code and samples which can rapidly get you up and running with all the power of jQuery.

jQuery: The Write Less, Do More JavaScript Libary!

P.S. Microsoft was at Dev Days Seattle giving FREE RAM upgrades to every computer that wasn't already maxed out. Unfortunately, my laptop was maxed so I couldn't take advantage, but what a cool way to engage this audience.

P.P.S. You have to check out this video of the guys who brought you Photosynth. Steve Seitz talked about how their team has taken the ideas behind Photosynth further and this technology is seriously impressive. Their goal: Re-Build Rome in a day! http://grail.cs.washington.edu/rome/

Labels: , ,


What TweetStats says about you.

Have you visited Tweetstats.com yet? Well I guess the first question would be have you visited Twitter.com and set up your Twitter account? If you haven't you can stop reading now.

If you have, and are curious about your Twitter usage, take a trip to Tweetstats and enter your account name. The service will go and fetch all tweets and build some fun Flash graphs to illustrate how you use Twitter. For instance you'll notice that March of this year was a particularly busy tweeting month of me. I was attending MIX and letting everyone know all the cool things I was learning. You'll also notice that I pretty much only tweet during the day. Mostly in the morning as I review all the cool stuff from the previous day.

Curious, here are my results:

There is also my TweetCloud featuring the words I tweet the most.

any my HashCloud featuring the words I hash the most.

My TweetStats give a glimpse into how I use Twitter. What will TweetStats say about you? Also, if all this Twitter Speak hash tags and @mentions is confusing you, check out Twitter Speak - A Beginners Guide to learn the basics! Happy Tweeting!



What WebsiteSpark can do for you!

Microsoft recently announced a program called WebsiteSpark. You can read more about it on Scott Guthrie's blog. It's a variation on their Spark program which is intended to give people that have an idea for a business or web site an opportunity to use Microsoft technologies for free to develop and deploy their ideas for 3 years.

Personally, I think it is a brilliant program that finally shows a desire from Microsoft to embrace a culture of open-source without having to sacrifice their business model of making software to sell to people. If you let someone use your technologies for free, support them making something amazing with it and add that to your portfolio of successful projects, it just fosters positive connection to the community that ultimately will drive success in the future.

Microsoft products can be extremely pricey. A windows server license alone can cost near $1000 per processor. With this program you get 4 licenses for free for 3 years. Talk about offsetting the start up costs. You can have a solid, supported, industry standard technology in place while you build your business.

The WebsiteSpark program joins the other two successful "Spark" programs previously launched - BizSpark for startups, and DreamSpark for students.

While I was in school back in 2005, the only technologies we learned and used were open-source because we couldn't afford to use anything Microsoft. I can only imagine how many fun, off the wall, projects I could have created in school with access to some of the products available in these programs.

I'm sure a lot of this sounds like I'm spitting cool-aid out all over the place, but I honestly believe that this program is a good thing for everyone. Microsoft got this one right, and I'm giving credit where credit is due.

Now go out and bring your ideas to life!



Getting and using the pixels of your Visual in WPF

Have you ever wanted to get the Bitmap Data (pixels) of a Visual (Canvas, Grid, etc) in WPF or Silverlight from memory and without having to add it to the root visual. After doing a lot of trial and error here is a quick piece of code and a sample project that can help you accomplish exactly that.

There are plenty of cool ways to extend this project including some cool transition and other code based animations. Just let your imagination go wild!

First, create a new WPF Application in Visual Studio or [download a sample project]. In your Window1.xaml give the Grid an x:Name value. You'll use this to add your elements later on.

Now lets add a new Page to our project. We're going to alter the Page to extend a Canvas rather than a Page for no other reason then when I'm creating animations I prefer to work with a Canvas. We are going to put some visuals onto our canvas. In the sample it's a blue square with a red circle next to it and a little bit of text below it. It could be any UIElement including another Canvas/Grid, Images, Text anything.

In our Window1.xaml code behind we're going to create an instance of our Canvas1 and call the methods to have WPF Measure, Arrange, and UpdateLayout in memory. We need to call these methods in order for WPF to figure out where all the pixels are positioned in our visual to return accurate Bitmap Data. These methods are called automatically when you add a Visual to WPF using the Visual.Children.Add() method.

The CreateBitmapSourceFromVisual function was taken from a project on CodePlex, unfortunately I can't recall the link. I'll add it here if I run across it again. That function takes a Visual and returns a BitmapSource object with the pixel data. It automatically updates the dots per inch (DPI) to 96, which is required for WPF to render properly).

Here is the code behind from our root Window.

You can run the sample project and you will see the visual we created in Canvas1. We used the BitmapSource object of the Canvas1 as the Source of our Image. Note: we never added Canvas1 to the root visual, we simply created it in the code behind and retrieved the pixel data from that visual to use as on our Image. I leave it to you to play with this technology to create cool WPF/Silverlight animations.

[Download Source Code] as Visual Studio Project.

Labels: , ,


Mother's Day Collage

Mother's Day Collage, originally uploaded by discorax.