Scott Hanselman

Best Mobile Websites for Tiny Browsers

January 24, '08 Comments [25] Posted in Microsoft | Musings | Tools
Sponsored By

htc-excalibur-s620-4 I'm getting ready to setup an HTC Excalibur and I wanted to post my list of favorite sites to visit with my Mobile Browser and a list of the apps I really need to install to make my Windows Mobile Smartphone complete.

  • Amazon Mobile - http://m.amazon.com - A basic, but very usable site, focused on search, that lets folks who've setup their Amazon account ahead of time purchase directly from the phone. Nice if you have Amazon Prime Free Shipping.
  • BBC PDA - http://www.bbc.co.uk/mobile/pda or http://www.bbc.co.uk/mobile - BBC has a mobile site and a PDA site, but the PDA site looks best on Smartphones or Blackberries. The best of the BBC on my phone. The mobile site would look good on an old black-and-white WAP Nokia.
  • CNN Mobile - http://m.cnn.com - Same here, mobile CNN, some pics, I use this site a lot.
  • Engadget Mobile - http://m.engadget.com - My favorite tech and gadget blog, now with mobiley goodness. I wish I could see comments though.
  • Hanselman.com - http://www.hanselman.com - Ha! See what I did right there? Back in the day, we taught dasBlog about mobile devices and if you hit hanselman.com from a Blackberry or Windows Mobile browser (and a number of other tiny browsers), we'll detect it and give you a mobile experience. Yay!
  • Facebook - http://m.facebook.com - In terms of pure functionality, I'd say that Facebook's mobile site is, hands-down, the most functional. It feels like you can most everything you'd ever want to using only Tiny HTML. This site and this company continue to impress, probably because it's running entirely on Red Bull and 20-year-olds.
  • Flight Stats - http://mobile.flightstats.com - This fine site has saved my tuckus a number of times while traveling. Their Airport Chatter section is interesting also.
  • Google - http://www.google.com/xhtml - The Tiny XHTML version of Google includes location specific searches and personalization with News, Weather, Movies, etc.
    • +1-800-GOOG-411 (+1-800-4664-411) - If you're able to call this number, either domestically or internationally, it's worth a try because it's amazing. Much better than the "1-800-Tell-Me stuff back in the day, but still of the same vein. I use this a LOT.
  • Microsoft Live - http://wls.live.com or http://m.live.com - If you hit wls you'll get your browser detected and possible prompted to download a nice applet for your phone. If you hit m.live.com you'll get tiny Windows Live Search.
  • Gmail - http://m.gmail.com - If you hit gmail with your phone you should get detected and sent over to the mobile version. If not, you can hit m.gmail.com or https://mail.google.com/mail/x/ where the x is magic. If you're running Google Apps for Your Domain (GAFYD) you can hack that URL also.
  • Joystiq - http://m.joystiq.com - Tiny Gaming Site. Interestingly, while they use (I think) the same back end as Engadget, sometimes the fonts are all wonky.
  • Mobile MSN - http://m.msn.com - A decent mobile portal and good jumping off point. The mobile stocks are particularly good.
  • MSNBC - http://www.msnbc.msn.com - It's astonishingly LAME that you can't get to this site from http://m.msnbc.com but perhaps they'll read this and make that DNS change, because this is a really good tiny news site.
  • Alarm.com - https://www.alarm.com/pda - I use Alarm.com to manage my security systems at the house and our rentals from my phone. If you've got a service available over the web, you really ought to have a minimal mobile website so kudos to them for having one.
  • Twitter - http://m.twitter.com - Does exactly what it says it does...mobile twitter, although I'd like to be able to see Direct Replies in the interface.
  • Wapedia (Mobile Wikipedia) - http://wapedia.mobi/en - Very useful for winning arguments with the wife self-edification, it's the mobile Wikipedia.

I think it's funny that folks thought that the ".mobi" top level domain extension was a good idea and that the internet just changed "www.foo.com" to "m.foo.com" and saved the registration fee. Plus, I don't have to tap out the "obi" which saves me, like minutes.

What are your must-have mobile websites, Dear Reader?

Related Posts:

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

The Weekly Source Code 13 - Fibonacci Edition

January 24, '08 Comments [135] Posted in ASP.NET | Microsoft | Programming | Source Code
Sponsored By

iStock_000000237891XSmall If you're new to this, each week I post some snippets of particularly interesting (read: beautiful, ugly, clever, obscene) source and the project it came from. This started from a belief that reading source is as important (or more so) as writing it. We read computer books to become better programmers, but unless you're reading books like Programming Pearls, you ought to peruse some Open Source projects for inspiration.

And so, Dear Reader, I present to you the thirteenth in a infinite number of posts of "The Weekly Source Code." Here's some source I was reading this week. I wanted to see what a Fibonacci number generator looked like in a number of different languages.

Remember (from Wikipedia) that the Fibonacci sequence looks like this:

...after two starting values, each number is the sum of the two preceding numbers. The first Fibonacci numbers also denoted as Fn, for n = 0, 1, … , are:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, ...

Here's a few implementations I thought contrasted nicely. There's also a great writeup on Fibonacci related things on Dustin Campbell's blog.

F#

  • Here's a basic Fibonacci function in F#.
    let rec fib n = if n < 2 then 1 else fib (n-2) + fib(n-1)
  • Or, if you want input and output as an F# console application:
    let fib_number = int_of_string (System.Environment.GetCommandLineArgs().GetValue(1).ToString());;
    let rec fib n = if n < 2 then 1 else fib (n-2) + fib(n-1);;
    Printf.printf "\nThe Fibonacci value of %u is: %u\n" fib_number (fib fib_number);;
    exit 0;;

Ruby

  • Here it is in Ruby, from RubyTips.org:
    x1,x2 = 0,1; 0.upto(size){puts x1; x1 += x2; x1,x2 = x2,x1}
  • But that's really hard to read and kind of smooshed onto one line. A more typical console app would look like this:
    class FibonacciGenerator   
      def printFibo(size)   
        x1,x2 = 0, 1   
        0.upto(size){puts x1;x1+=x2; x1,x2= x2,x1} # note the swap for the next iteration   
      end  
      f = FibonacciGenerator.new  
      f.printFibo(10) # print first 10 fibo numbers   
    end  

C#

  • There's many ways to do this in C#, so let's start with a basic C# 2.0 implementation.
    static int Fibonacci (int x)
    {
       if (x <= 1)
          return 1;
       return Fibonacci (x-1) + Fibonacci (x-2);
    }	
  • Now, here's a great way using C# 3.0 (actually, .NET 3.5 and System.Func from the new System.Core:
    Func<INT , int> fib = null;
    fib = n => n > 1 ? fib(n - 1) + fib(n - 2) : n;

Scala

  • Lots of folks are excited about Scala, and many are calling it "the latest programmer's shiny object." It's interesting not just for its syntax, but it's full interoperability with Java.  Here's a recursive Fibonacci in Scala.
    def fib( n: Int): Int = n match {
        case 0 => 0
        case 1 => 1
        case _ => fib( n -1) + fib( n-2)
      }

Erlang

  • Here's Fibonacci in Erlang, and you can find many other implementations at LiteratePrograms.org, a great site for reading source!
    fibo(0) -> 0 ;
    fibo(1) -> 1 ;
    fibo(N) when N > 0 -> fibo(N-1) + fibo(N-2) .

Which is your favorite? I like the C# 3.0 one and the F# ones. Also the Ruby double variable swap is pretty cool. They just feel right, although a close runner-up is the LOLCode implementation of Fibonacci from a few weeks back.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Hanselminutes Podcast 97 - ADO.NET "Astoria" Data Services with Shawn Wildermuth

January 23, '08 Comments [3] Posted in ASP.NET | Microsoft | Podcast | Programming
Sponsored By

shawnwildermuthMy ninety-seventh podcast is up. It this episode I talk to the ADOGuy, Shawn Wildermuth, about ADO.NET Data Services codenamed "Astoria." We discuss Astoria and how it's *not* just exposing your database to the Internet. We delved into REST and how Astoria and Silverlight are a good mix for the right application.

Subscribe: Subscribe to Hanselminutes Subscribe to my Podcast in iTunes

If you have trouble downloading, or your download is slow, do try the torrent with µtorrent or another BitTorrent Downloader.

Do also remember the complete archives are always up and they have PDF Transcripts, a little known feature that show up a few weeks after each show.

Telerik is our sponsor for this show.

Check out their UI Suite of controls for ASP.NET. It's very hardcore stuff. One of the things I appreciate about Telerik is their commitment to completeness. For example, they have a page about their Right-to-Left support while some vendors have zero support, or don't bother testing. They also are committed to XHTML compliance and publish their roadmap. It's nice when your controls vendor is very transparent.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

Enjoy. Who knows what'll happen in the next show?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Standing on their shoulders and paying it forward

January 22, '08 Comments [34] Posted in Musings
Sponsored By

It's my birthday! I turn 0x22 today, beginning the downward slide to 0x28, and then death. ;) Seriously, it's an interesting birthday because I'm definitely not a "young hotshot" any more. (It's possible I haven't been for 10 years, but I can dream, right?)

It's funny how these things happen. I didn't think I'd be a Computer Person. In high school I was into Theatre, doing a number of plays, a few as the lead or co-lead, and I'd always assumed I'd be on TV by now. Of course, Ryan Reynolds has my career, so I can't do much about that. Heh, maybe I'm still in theater and I don't realize it?

Anyway, before high school, my 5th grade teacher called a meeting with the superintendent and principal and said "if we don't challenge this kid, we're going to lose him." This is teacher-speak indicating that I was a bit of a rambunctious child, likely to be convicted at some point of a white-collar crime.

The idea they came up with changed my life. They agree to let me and my dad "steal" the school's computer (there was only one at the time) on Friday nights by backing my dad's truck up to the school, so I could use it over the weekend, as long as I got it back before Monday morning. Mind you we're talking about $2500 in the early 80s here, so this was a significant risk she was taking. That risk started me on the road I am today. If she hadn't taken that chance, who knows what would have happened?

I think about the chances that various people took with me over the years and the trust they placed in me, without which I wouldn't be here. I think of the people, like my parents, who love me unconditionally, and for that I am grateful.

I remember when I was 15, in a particularly nasty teenage phase when my father said to me "Son, I love you dearly, but I don't like you very much right now." What a powerful statement that is and nearly 20 years later I remember it. It's important to be able to make a statement like that, and it's a testament to one's love to be that honest.

I'm sure my parents wanted to throttle me (and still do) a number of times, but they stuck with me and my brother - their two boys, now men with families of our own.

And now, at 34, I have two boys of my own. These tiny men who put their trust in me and my wife to do the right thing, stick with them, and take some chances in order to give them the very best opportunities and propel them to heights we haven't dreamed of.

I think about my wife, and the ridiculous decision she made in marrying me. We had a date on July and were married that October. That's a three month-long courtship, talk about taking a chance. That was over 7 years ago. I hope she renews me for another seven! ;)

All these people have helped and continue to help me, and only now as a man of 34 am I mature enough to look down and realize that I've been standing on their shoulders all these years. For this, I thank you all. I will repay you all the best I can by paying it forward.

If you have a blog, Dear Reader, why not take a moment at the beginning of this new year to write a post about the people that helped you get where you are? Parents? Teachers? First bosses? Friend? Spouse? Whose shoulders are you standing on?

Related Posts

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Verizon FIOS TV - Review and Photo Gallery

January 18, '08 Comments [30] Posted in Musings | Reviews
Sponsored By

CIMG8065We are finally out from under Comcast Cable and have just hooked up Verizon's new Fiber-Optic based FIOS TV. There's a long waiting list in my state, so I signed up in October and had it installed just this last week. We already had FIOS internet, with 15 megabits downstream and upstream (a premium service that costs an extra $10 a month) and have been very happy with it.

There is an ONT (Optical Network Terminal) (here's a network diagram) that is a installed on the outside of your house. This device is the bridge between the fiber optic cable that comes right up to your house but not inside and whatever wiring you have in your house.

If you have basic needs, often Verizon will just put a wireless router in your garage and call it done, giving you wireless Internet access as far as that router reaches. In the last six months, however, Verizon has started using routers that include a Coax connector such that the FIOS signal(s) can run over 75OHM Coax cable, switching from Fiber to Coax at the ONT - using the cable you likely already have running through your house into each room. The installer should do a signal test to check for loss over long runs and through splitters. My installer was very happy with the professional splitter I'd preinstalled in my wiring closet, saying that he wasn't able to measure that any signal was lost at all. He said that this speaks to good wiring and a good splitter. He had a certain level that we couldn't certify below, so make sure you ask your installer if the signal is sufficient for a glitch-free installation.

Since I had Verizon FIOS Internet already, hooking up the TV was easy for the installer. He used my existing Coax spliter and split the wire before the router. So, the coax comes in from the outside then splits and heads into all the rooms in the house, with one of the downstream cables going into the Verizon Internet Router's Coax connector. From there the router speaks TCP/IP over RJ-45 and supplies the house, but it also can hand out IP addresses over Coax to the DVR (Digital Video Recorders) that you'll receive with the FIOS TV Package.

There is an optional Media DVR option that will let you watch pictures and share video between the DVRs using the router and TCP/IP for transport, but I decided against that option since my XBoxen already do that fine.

Set Top Box (DVR)

CIMG8056Verizon uses the Motorola QIP6416 set-top box, that looks exactly like the craptastic Comcast DCT6412, but runs a TOTALLY different UI.

Just to make myself totally understood here, there is no way I could assemble a sentence, much less a paragraph, using the English Language to express the utter magical poopiness of the Comcast DVR Software. I hate it with the heat of a thousand suns. Rest assured it's garbage. it is slow, buggy, and has a dozen subtle and horrible bugs that are well documented around the net.

Fortunately the software included with the Verizon box is completly different, written from scratch and it's a joy. It's really beautiful. It's got high-color (24bit?) graphics, very polished and curvy, a distinct contrast to the low-color blocky Comcast software.

The interface is very intuitive, but also includes a number of advanced shortcuts that you'll stumble on in the using. For example, when watching TV, selecting up, down, left, or right on the direction button will take you (as a shortcut) to different modes instantly. For example, up takes you to a TV Guide split-screen with TV on the left, down takes you to a half-screen floating guide. Hitting Guide once takes you to a full-screen guide, pressing twice goes to split-screen. Hitting info once gives you a small popup, hitting it again takes you to a full-screen info page.

CIMG8051CIMG8052

CIMG8060The DVR will hold about 17 hours of HD or 60 hours of SD TV (Standard Defintion) or whatever mix of both you can manage. As with most DVRs you can set each recording to be "protected" (not automatically deleted) or to stick around in a queue with the last x recordings. You can select new shows only, or all shows including repeats.

Software

There's also a few "in progress" features like Widgets, that run on the DVR. Currently the software includes Traffic and Weather, and Notes is coming soon so you'll be able to leave notes for family members. It'd be nice if they did a calendar as well. I suppose it comes down to how far Verizon wants to push the envelope. I hope they are more progressive than Comcast has been. I'll be watching the version numbers closely to see when upgrades happen.

As of this writing my Comcast 6416-P2 is on Verizon's Release 1.0.4 Build 05.68. If yours is different, post it in the comments!  The set-top DVR software has been very stable so far, easy to use and my Harmony 880 remote required no reprogramming as the IR codes are the same for all Motorola DVRs.

CIMG8061  CIMG8062

Recording

When watching Recorded programs they are sorted by Date Descending. This is the one place the aesthetic of the fancy interface kind of gets in the way. You can only see about 12 shows at a time because of the generous whitespace of the interface design. Additionally (this is my #1 and really only major gripe) the interface doesn't automatically take up the complete width of a 16:9 widescreen television. I wonder (and wondered before with Comcast) if this is a limitation of the hardware that overlays the graphics. It'd be nice if these interfaces scaled wider, particularly the TV Guide.

 CIMG8059CIMG8050

High-Def, Standard Def and Picture Quality

Each show that is High-Definition has a little "HD" icon by them, and if you press left while in the Full Screen Guide you can filter all channels to show just High-Def channels. On Verizon TV all the channels (currently) between 800 and 899 are Hi-Def.

In my neighborhood that makes for 26 high-def channels, including all the major US networks. I have no way to measure the sharpness or compression of the channels, but I've personally got an eye for these things (and I'm really irritated by motion artifacts) so you can take that for what it's worth.

I feel like the High-Def Channels on Verizon are re-compressed less than they are on Comcast. Most (every?) provider has to re-encode channels to get them to fit within their bandwidth. I don't know if Verizon has more bandwidth than Comcast, but I can say that I had Comcast Cable for 10 years, the last 4 with High-Def and that Verizon's FIOs High-Def streams seem to have fewer artifacts when viewed on the same TV. This might also be as a result of newer software or hardware in the Motorola Set-Top box.

Certainly the software interface is much nicer to look at as I mentioned before, above. The fonts anti-alias nicer, and the whole interface seems to be designed for high-def more than the Comcast DVR.

The box will push out 480p, 720p or 1080i. There's no 1080p option, but there's also no 1080p source media, so that's fine. I'm running over HDMI and it works great, even through an HDMI switching receiver like my Onkyo.

One thing I noticed was that Standard Definition television, like Jon Stewart on Comedy Central looks MUCH clearer than Cable. Like, I literally said, "wow." There is NO ghosting. This is the first TV experience I've ever had in a my adult life without ghosting on some channel somewhere. That said, the feeds for Standard Definition channels seems slightly more "digital" or "blocky" than Cable. It's subtle, but it's there. You know you're at 640x480, especially on a larger TV. Phrased another way, if there was a "smoothing" setting, it's set to sharp on standard definition on Verizon FIOS, while it seemed "smooth" on Comcast Cable. Your mileage may vary.

On-Demand Movies

FIOS TV has only been available for a month or so in my state, and the On-Demand selection is meager at best, and doesn't yet include HD movies. I had HD movies on Comcast and was happy with both the quality and selection, so I imagine that FIOS will step up in the coming months.

 CIMG8058 CIMG8053

I am heartened, however, by the "AppleTV-like" interface of Movie Posters. It's very friendly and easily navigated. The WAF (Wife Acceptance Factor) will be high on this feature.

Choice and Variety

There are also a number of International Premium Channels available, including:

  • Vietnam's SBTN
  • CCTV-4 and CTI in Chinese
  • TV Japan
  • ART in Arabic
  • MBC in Korean
  • TV 5 in French
  • Rang A Rang in Farsi
  • RTN and Channel 1 in Russian
  • TV Asia

There's also almost 100 Spanish Language channels available if you like, and over 45 movie channels. Now, before you tease me about having too many channels, these are just available ones. You can set your favorites, and we've picked <10 and filter the list to show those.

FIOS also includes almost 100 Music-only Channels from Urge and Music Choice. The wife likes this over the radio because it shows the name of the artist and album.

Cost

The Core Package is currently only $43 a month, and you can get a number of different DVR options, picking between standard, HD, standard DVR and HD DVR. We were paying upwards of $60 with Comcast and we just don't watch THAT much TV to feel good about that much money. The Premium Channels like HBO and Showtime cost the same as they do on Cable, likely because those channels set their cost, not a TV provider like Verizon.

Conclusion

All in all, we've been VERY happy. The picture quality is great, the set-top box just works, and I have high hopes that Verizon will keep updating the boxes with new software and more On-Demand Movies. This is just the first month Verizon FIOS TV has been available in my state, and I feel they are off to a good start. Recommended over local cable if you can get it.

Related Posts

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.