top-silverlight | Just another WordPress weblog

I wanted to believe, I really did.  It has been over a month since my first impressions of the Amazon Kindle Fire.  Over the holidays, I processed a return for my Kindle Fire.  When the Fire was announced I was intrigued and excited as I thought that Amazon had the real potential to make a great product and the customer base to capitalize on that potential.  For me, it just didn’t live up to the hype.  I’ll stress that last sentence…this is my opinion based on my experiences/desires.  As with anything in life, your mileage may vary.

So what went wrong?

I used the Fire a lot.  I watched videos on it daily (my evening ritual of getting caught up on TV) via Netflix and Hulu apps.  I rented about 10 movies via Amazon on the device.  For video, it was great.  For everything else, it was pretty much frustrating for me.  I’ve been able to isolate it to a few areas: apps, user experience, prejudice.

Apps

I downloaded the free daily app from the Amazon Android store daily…and ended up with a device full of sub-standard products mostly.  The Hulu app really was the only 3rd party one that I felt was designed for the Fire and did most things well.  Even then it had quirks, but mostly it was fine.  Netflix’s app is horrible, lagging, confusing and not enjoyable to use before you get to the playing content.  Most other apps just weren’t doing anything for me.

The lack of a Mail solution *provided by the device* for my mail configuration led to a decreased usage in the device to me.  The responsiveness in the games that I acquired was just not there as well.  Overall I felt the only “app” I was using was video playback.  Everything else wasn’t cutting it…even the Kindle reading app was just too bright for me for long periods of reading.

User Experience

Large area of failure here for me.  Here’s my list of areas that lacked polish and just failed:

  • Hardware home button – I’m realizing how important this really is.  My kids couldn’t figure out how to get back to the ‘start’ screen.  On the iPad, they know immediately.
  • Software ‘home bar’ (not sure what to call it) sometimes appeared, sometimes didn’t.
  • Touch responsiveness – I felt like I had to do gestures multiple times to get it to respond.  The first update was said to fix some of this, but it didn’t do anything noticeable for my use.
  • Touch feedback – I know this seems odd, but there were times I couldn’t tell if I had actually completed a touch interaction…visual state changes didn’t happen, etc.
  • Orientation changing – general inconsistency here in what was supported or not within the own set of experiences delivered by the Fire.  But the transition from one orientation to another was jarring, like a snap rather than a smooth transition.
  • Apps experience – no consistency.  I’m not looking for lets-make-every-app-the-same consistency, but as a user there was know real reliability in controls usage, visuals, responsiveness, action expectations, etc.  This is the good/bad of the Android platform – ultimate freedom but at the price of confusion and quality sometimes.
  • Application lifetime – the management of the state of an application was horrible for an end-user.  The parts of Android really showed through here.  I would occasionally get “not responding” windows in an application or when trying to start one.  These types of things do not pass the mother-in-law sniff test for me.

These were some of the things that continually frustrated me.  There were other nits, but not always in my face. 

Prejudice

Aside from any technical reasons the biggest factor for my return is prejudice.  Don’t get me wrong, I love Amazon.  I’m a Prime member, and only get my purchased digital media from them (i.e., video rentals and MP3).  They have great service offerings and catalog of goods.  These are all the reasons I thought they could execute well out-of-the-gate with the Fire.

However, I also have an iPad.

Make no mistake about it: if you use an iPad for the same amount of time you use a Kindle Fire, you will likely share the same experience that the iPad just is an all-around better product currently.  Now the media (and users like myself) are the ones drawing the comparisons of the Fire to an iPad.  Amazon itself hasn’t done any comparisons side-by-side or even remotely close.  They have never marketed (to my knowledge) the Fire as an iPad competitor.  But that doesn’t matter…because consumers rule the world and we have already drawn that conclusion.  Bottom line is that if you are making a touch device I can travel with that has media and a store where I can get application and content – you’re competing with the iPad.

Since I already am an iPad user I could not erase the experience that I have with my iPad when using the Fire.  All my user experience annoyances around touch are because it is just better on the iPad.  If I didn’t have an iPad, maybe my perception would be hugely different.  But since I have one, my prejudice is set and the comparison bar as well.

Holiday gift taste test

When I arrived to the in-laws for the holidays they mentioned they were getting my wife’s ~80yr old (*very* active) grandmother a Kindle Fire because that is what she wanted.  I shirked a bit (and probably commented too much) at the idea and told them I didn’t think this was a good idea.  GG (as we call her since she has 12 great-grandchildren) is not technically savvy and has never had anything remotely considered “new tech” in her life.  I knew that it would fall on me to be the resident Nick Burns and trainer for the holiday week.  And the time did come where I had to do that.  It went something like this *before* we started configuring her Fire…

Me: GG, why do you want a Fire?
GG: I want to get ‘with the times’ and this seems to be a hot item.
Me: Do you have an Amazon account or have ever bought anything on Amazon?
GG: No, never.  Can’t I put books on it?
Me: Yes, but where do you plan on getting those books?
GG: Can’t I get them anywhere?
Me: No, you’ll be buying them through Amazon.

NOTE: I didn’t want to explain that technically you could put other publications on there as I knew that would be an action never accomplished.

GG: You mean I can’t get something from Barnes and Noble and put it on my Fire?
Me: No.  But why would you, Amazon has a massive content library.
GG: Well, that seems monopolistic.  What about movies?
Me: Yep, you can get movies, but through Amazon.
Me: Most of the time anything you put on there you will be buying from Amazon

This point seemed to have been lost on GG when desiring this device.  Regardless we proceeded with the setup.  Now since the device was purchased from the mother-in-law, when powered on it was attached to her account and we had to set up a new account for GG.  This was going to be fun, I thought.

The first step was to create an Amazon account since she didn’t have one.  The first screen on the Fire to do this asks for 4 simple bits of information: email, username, password, password confirmation.  This was the first introduction GG had to a software keyboard and it did not go well.  The first mistake made was to “press” the keyboard and I had to educate that click, press, push are no longer useful but rather tap, swipe, tap+hold are the new ways she needed to think.  This took some training as she continually hit wrong keys, held the key too long which produced duplicates, etc.  I am not sure if it was her bifocals or what but GG was continually ‘off by 1’ on the keyboard and we had many times to The password field was the hardest because it obfuscated the letter after typing it, providing minimal visual time to see if what was typed was correct.  Now I timed this exercise myself so I could see how long this really took.  With no exaggeration the time to complete this screen was about 30 minutes.  The password/re-enter password took up most of that time.  The next screen was address information…to which I offered to enter this data for her :-) .  After that was credit card data.

GG: Why do they need my credit card?
Me: How do you plan on buying anything, money order?

In seriousness, this pointed to a generational gap of this concept of stored account information for one-click purchasing that is available on things like Amazon, Apple, anywhere.

We moved on to a review of the Fire and notable me mentioning that the user guide itself was a Kindle book.  This did not please GG as she was used to a manual.  Since she is a Scrabble lover and other folks in the house were playing Words with Friends, we downloaded that app, set her up an account, and taught her how to play that.  Again, the touch interaction here was painful to watch.

My bottom line for sharing this anecdote is that I don’t think the Fire is an every-generation device.  Contrast that to the iPad, where I think she would have had a much better on-boarding experience.  I left GG alone for the day with her device and the next day she shared her frustration that things didn’t seem to work and it was hard to use the touch keyboard and understand what to do.  Now I can easily (and will) chalk this up to a generational thing and a first-time ‘device’ user in GG.  However, it pointed to a fact to me that the Fire is only for a class of folks who are familiar with computers in a more-than-one-time-usage manner.

Summary

I will stress that again, for me, the Kindle Fire was a bust.  I still faithfully have my own Kindle reader which I will still hail as the ultimate in reading devices (and think that is what GG should exchange her Fire for).  The Fire, in current form, however is a bust in my opinion.  I think Amazon *can* get this right if they put some muscle behind it and tighten up the Android edges that show and concentrate a little more on experience refinement.  I absolutely loved the size of the device (hoping Apple takes note) and think that in a few versions they might get it right.

But for now, the Kindle Fire has been returned…and with a great customer service policy, my money fully refunded, satisfaction guaranteed.

tags: , , , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

Lately I’ve been doing a lot of re-paving of machines and I never had my favorite tools on them, nor did I want to spend the time to re-install a set of tools that I knew I would blow away each day anyway.  Mostly my daily builds have been to do some scenario validation and is quite repetitive.  However there are times where a stable build combination comes along that I keep for a while to work on customer apps or sample development.  When these times happen I find myself needing my helpful little utilities more frequently.

Recently I’ve been trying to learn Git, a version control system that has been gaining popularity over the past few years and is quite cool and agile.  I am generally a huge fan of GUI tools because I feel that they are more in line with how I use other parts of the operating system/tools.  When exploring Git, however, I wasn’t a fan of having to re-install any of the tools over and over and do configuration, etc.  That’s when I discovered portable Git.  It immediately made me realize how dumb I’ve been all this time across machines and renewed my love for portable tools.

What is a portable tool? 

Quite simply it is a tool, regardless of size, that can run with no other dependencies than those that it comes with in the directory or executable.  No requirement of “oh you must have Foo framework 1.0.2.123 installed to use this” as the portable tools completely operate on their own.  Now some are single, small executables.  Others are full-blown programs that bring some serious runtime environments with them.  But both don’t require anything to pre-exist and can run without installation.

I took one of my 8GB USB drives (Costco was having a sale – 3 8GB sticks for $24!!) and started loading up my favorites.  Here’s what it ended up like:

portable tools directory

Now I use other tools on a more stable basis and when Windows 8 goes into more stable releases, I’ll probably lock to on-the-metal installs for those.  I also don’t require any huge amount of tools all the time, but like my favorites.  So what are those directories?

  • DiffMerge – a great, simple-but-visual tool to help do file or directory diff checking and merging if desired.  Some like WinDiff a lot, but I’ve been liking DiffMerge lately.
  • Git – as mentioned above, this is the portable Git tools which provides a bash or command prompt environment.
  • Inkscape – a vector-based graphics tool
  • Notepad2 – my absolute favorite simple text editor
  • Notepad++ (npp in the above image) – another great text editor.  Why two you ask?  The one thing I like about Notepad++ is that I can open up multiple files at a time and do find/replaces across multiple files.  I don’t always do that, but it is a time saver when I need it.
  • Sublime Text – yet another text editor.  When looking for cool portable tools I found this one.  I’m not sure I’ll use it given Notepad2/++ but since it is in the picture, I thought I’d explain it.  Some say it is the TextMate for Windows.
  • “portplat” – more on this in a bit.
  • _ninja – I wish I could tell…but, well can’t

This USB is now extremely helpful to me on a regular basis.  After loading up a new machine I have instant access to tiny little things that just make me more familiar and immediately productive.

NOTE: There are a few more that I use more infrequently but I think I’ll add to my USB key like reflector-type tools.

In writing this post I wanted more…a lot more and started looking around.  Then I found PortableApps.com!  I felt like a complete idiot when I discovered this because I thought I was so cool to seek out portable tools and here was this site who already aggregated them for me and went above that and made it easy to acquire them!

What they do is provide a “Portable Apps Platform” that serves as basically a mini-launcher for a set of portable tools.  In addition to my folders above, here’s what my USB key now allows me to have as well:

Portable Apps Platform

Now I should note that my existing tools (with the exception of diffmerge and git) are all available through this Portable Apps Platform tool setup.  I was already set up in my ways so I figured no need to change what I already had.  The Portable Apps Platform tool has a directory of a ton of apps:

Portable App Directory

Notice the scrollbar in that image above?  There is lots of stuff here.  Most I would never need, but nonetheless it is there…even portable games!

So now I have versions of some browsers on my USB and two of my other favorite tools I didn’t even know were portable: 7-zip and Console2.  The great thing as well is that any configuration you make for these portable tools travel as well…so my customizations for my Console2 environment are on the USB drive and I don’t have to set up my fonts/colors each time!

Within each tool there are likely customizations that you may want.  For example, I like having the “Open With…” settings on my context menu for Notepad2 and Notepad++ for convenience.  On my USB key I keep a setup.bat file with any special configurations for each tool that I want (that may either not be kept in the portable environment or may be machine-specific like the context menu).  I quickly run that and am ready to use my tools how I’m familiar with them. 

Some tools also have config files built in to their environments, like Git.  I was sick of continually typing git config –global user.name “Tim Heuer” and other config each time I set that up.  Luckily a few questions on Twitter and Paul Betts was able to point me to the obvious.  So now I have a customized .gitconfig file on my USB key and whenever I use the bash environment my settings are already there!

So what’s missing?

I’m feeing liberated with these tools lately that now I’m frustrated I can’t get everything in an install-free environment! 

Please don’t rant about Mac, Linux, whatever OS environment lets me do that.  I’m on Windows and it doesn’t for everything.  Yes…the registry lives…I deal with it.

There are a few things I wish that were portable that would complete me.

  • Visual Studio – ah, someday maybe, someday.
  • Paint.NET – While Inkscape is awesome, it isn’t as familiar with me as Photoshop-esque tools.  Paint.NET is the closest to that and would be awesome to always have around.
  • Fiddler – nuf said.
  • Silverlight Spy – extremely cool tool

It’s not a long list, but these are some regular tools that I wish were portable. 

So there you have it.  If you haven’t discovered a portable set of tools, you should get out a USB key and load some up.  Who knows when you’ll find it handy!

tags: , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

One of the features introduced with Silverlight 4 was the out-of-browser feature, enabling you to create an application that can be installed, run offline, automatically updated, etc.  As a part of that feature, some of the major code signing certificate vendors (for Authenticode certs) provided our team with test certificates so that we could go through the same process as a developer would to acquire the cert and apply it to an app…and, of course, validate it works.

During that time some of those vendors had promotional codes for the first year for Silverlight developers, providing reduced-rate (but not reduced quality) code-signing certificates for their apps.  Still during this time there were a lot that questioned why some providers were still expensive and didn’t value “the little guy.”  By that I mean that there are a lot of smaller firms or independent personal developers.  The thought of dropping a few hundred dollars on a cert is sometimes tough.

Last week a representative contacted me about their offerings as a premier partner of one of those providers.  Certs4less.com is now offering Thawte code-signing certificates for individual developers.  They are doing this at a price of $99 per year (less for multi-year). 

NOTE: As a part of this, like before with SL4, Certs4Less graciously offered a promotional cert for me to validate the end-to-end process so that I could speak accurately about it.  I do not use any of these certs provided by these companies for testing purpose toward any production application and they are for testing purposes only.  Besides, I’ve not found the time to write production code for apps lately ;-) .  I am not getting paid for this post, nor am I getting another promo code for personal use myself.  I am simply providing what I think is valuable information and get no compensation from Thawte or Certs4Less.

I went through the process of obtaining this cert from Certs4Less.com and it produced exactly what you’d expect, a valid Authenticode code-signing certificate I can use for my Silverlight and Windows 8 application packages!  I shared a few points of feedback with the contact there and will enumerate them here for you as well (as well as some tips)

Your ‘Common Name’

Think about this one pretty good when you buy a cert.  This has a two-fold purpose why I mention this.  First, it is what your customers will see.  Do you want them to see an app signed by a name that isn’t recognizable or doesn’t make sense…of course not.  Additionally this is the name that will be verified.  So if you claim you work for Fizbin Enterprises, but that doesn’t actually exist…you’ll have issues during verification.

One year, 2 or more

One thing you should know about code-signing certificates is that once they expire, the keys change during renewal.  In some cases this can cause issues for your app (ClickOnce).  For this reason I personally recommend getting the longest you can afford.  Most likely this will be a wise investment and you’ll have piece of mind.

Apply on the computer you will receive it

One thing we as developers don’t do well is read directions.  One of the instructions you’ll see is to be sure that you do the cert request process from the same machine you plan on picking up the cert from!  Seriously, this is critical if you use the browser process because of the private key.  If you don’t…you’ll be screwed and out some cash.  Plan ahead and don’t do this while on vacation on your laptop that you repave weekly.

Verification Process

This is an area where I think I had the most negative feedback.  These verification steps are a bit old.  I understand they have their reasons, but in this digital age the fact that I had to find a notary was…well, just inconvenient.  This Certs4Less/Thawte process required me to do this.  The ‘form’ they emailed me really wasn’t a form…just an email with text broken out with ‘==========================’ before each section.  So when I brought in my printed out GMail ‘form’ to the Notary he looked at me like I was an idiot.  The verification form was nothing formal looking at all and I had to have 3 different people look at it before they finally just said ‘okay’ and signed it.

The thing that was most troublesome in this process was it was a distractor.  I had to actually print stuff out, find a passport, go to a bank, wait in line…you know, real people stuff.  But still, it felt annoying in this modern age.

Some of my other process with other vendors have been a lot more streamlined and I think this can/should improve.

Acquiring the certificate

Most of the time this is a quick process.  Remember when I mentioned that developers don’t read instructions?  Yeah, I’m no different.  The final email I got indicating my cert had instructions that I didn’t read that talked about making sure I had intermediate certificates installed first.  Without this I got ambiguous errors when trying to retrieve my certificate.  Be sure to read any verification instructions in detail to provide a good experience.

Back up/export your certificate

I don’t know about you but I’d probably use my cert in automated build processes, keep it on a share (perhaps a dropbox/Live/git location) so that I don’t have to only use my one machine to sign an app.  One thing I highly recommend is after the key is installed is to use the certmgr.msc tool and export the certificate.  When doing this be sure to export the all the key data as well as cert chain so that your resulting PFX file is portable.  Then you can use it in your build process for Silverlight as described here in my previous blog post about that feature.

Summary

I want to thank Certs4Less for reaching out to the independent developer and providing a valuable product at an ‘independent developer’ price level.  I appreciate them also reaching out to allow me to test the process to verify it is fairly painless and the result is what I expected.

Code-signing certificates are very valuable in many ways and I believe every developer should have one for their personal projects as well as their large ones.

Hope this helps!

tags: , , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

Silverlight 5 is finally released!  Congratulations to the team for getting through some of the toughest parts of finishing a product and validating with customers.  It’s been a pretty crazy year for the Silverlight team and this is a really good release for the product bringing some solid features to the platform for folks to leverage in building their apps.

In addition to the platform having a release, I was really pleased to see an update to the Silverlight Toolkit, which has been one of the most popular things almost every Silverlight developer/application uses.  If you didn’t know where to get things, here’s some links for you:

Rather than enumerate all the good features that were finished from the RC/Beta, you should head on over to listen/watch Pete Brown’s presentation on the Silverlight 5 release overview.  He also has a post about the release enumerating in short form (with links to tutorials for some of the key features) on his blog.

What I think is really cool is also the amount of effort put into the Silverlight Toolkit for this release.  The one large thing of note is the extensions to enhance your 3D development experience in Silverlight 5.  David Catuhe has a post outlining in great detail some of the 3D extensions included in the toolkit.  You should really go check out his post.  Scrolling to the bottom I was really surprised/impressed to see a set of 3D samples included to help you understand how to use this feature:

  • Bloom – uses the Content Pipeline and post-processing effects
  • CustomModelEffect
  • Generated geometry – how 3D models generated by code
  • Particles – c’mon, who doesn’t like a particle generator!
  • Platformer – while not 3D it appears, it is a complete game with levels
  • 3D Animation
  • Skinning – shows skinning a character using the content pipeline

I mean, wow, great stuff David! 

I hope you all enjoy the release of Silverlight 5 and kudos to the team for getting it out the door.  Go download the bits and start building awesome stuff.

tags: , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

十二/11

9

The joy of running daily builds

It seems like a daily question I’ve been answering lately when working on internal email discussion groups and folks report an issue, my initial response is: what build combination are you working on? 

As a part of my job, I like to ensure the fastest resolution (or awareness depending on how you look at it) to issues that affect our product.  This involves staying on top of ‘latest bits’ as we call them.  Every morning I come in and install the latest Windows build as well as the latest Visual Studio build.  We have an automated Hyper-V environment that makes it easy to get the initial Windows builds up and going and then I selectively apply VS on top of that.

So if it sounds so simple, why do I ask that question to people that ask?  Allow me to show you a few diagrams.

The above is a *snapshot* of just a few of the branches that affect the tools area that I work on.  This is not representative of the entire branching structure, which is huge. 

NOTE: This diagram is automatically created for you from Team Foundation Server…you select the branches of interest and it visualizes for you.  There is also an awesome feature to track changes which I’ll note below.

The red box items make up the different teams working to bring together the holistic view of some of the core developer experiences.  Since they aren’t *just* working on my stuff, nobody can live in a single branch together in harmony.  You can see that the spread of varying levels of branches required to get something working is pretty broad.  And merge (we call them RI/FI) processes are on different schedules and managed to reduce conflicts as much as possible.  The above is just one piece of the puzzle – the developer tools.  Windows has a similar ancestry view we have to deal with:

The red boxes here are basically other Windows teams that we need stuff from to get our product working as well.  These RI/FI process go through many, many checks and if any regressions, they don’t allow merging, which can cause issues if you are waiting on a fix to come to your branch!

So the answer to whether something should work at any given time during development milestones has different answers depending on where you got your bits from.  I’ve personally resorted to hosting a page on our team wiki with the title Tim’s Guide to Finding a Build Combination™.  I’ve also added a few helpful scripts to get any missing pieces aligned for builds.  So now I’ve got my daily build routine down to a science.

Occasionally there are times where a fix is completed and I look back at my tracking bugs.  Sometimes you’ll get a team that just fixes things and you aren’t given a chance to test out private bits, or whatever…so you have to go hunt down where the fix is at and when it will come to you.  In most source control systems there is a good mechanism for viewing/following a changeset.  In TFS I think they’ve nailed the feature to do this in two ways of visualization.  You can “track changeset” and choose a timeline view or branch view…it is awesome for pinpointing just where a fix is working the way through the source depots.  Here is a view of a bug using the branching view.  Green shows which branches has the fix (changeset):

Here is another bug using the timeline view showing me when the fix made it to certain branches:

For me, this has been invaluable to really identify when/where things are and determine a predictable path for resolution on issues as they converge.

Managing a process to get a Good Daily Build™ is not always easy when you need pieces coming from two different organizations which are very large and working in many, many branched source depots.  But staying on top of things so you can quickly help your customers/partners move forward progress is a very rewarding experience.  My daily routine has helped me stay on top of the core issues at hand and determine a daily quality on the mainstream scenarios as our customers see them, which isn’t always caught with test automation or unit tests all the time (but yes, we have those too).

Well, a new build just came out…time to update my wiki!

tags: , , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

Today there was an event in San Francisco which introduced the Windows Store for Windows apps as well as some details on revenue sharing and policies.  As a part of that Antoine LeBland, Vice President for Windows Web Services, also opened up a new dialog about the store specifically in a new blog Windows Store for developers.  This blog will help developers learn about aspects of the store as well as serve as a place for dialog between the store teams and you, the app developer.  I think it is great that the store team is following in the footsteps of the Building Windows 8 blog and reaching out to share some of the high-level and, hopefully, behind-the-scenes aspect that makes up the store.  I look forward to future posts on the blog.

The inaugural post reviews the events that transpired today sharing some information for those who were not there, as well a a video clip of some of the highlights from Antoine and Ted:

The key store highlights discussed in the post are:

  • Designed for discovery – store will be searchable and permalink-able (is that a word?)
  • Flexible business models – including in-app trial upgrades, etc. as well as flexible payment options
  • Transparent terms – clear understanding of the terms as a developer/business
  • Best economics – you’ll have to read the post about the revenue split and advantages after certain milestones

In addition to this news, Microsoft announced a First Apps Contest.  The basics of this contest are that you have the opportunity to show your awesomeness to the world first.  The contest will select eight (8) winning apps to be the very first app in the Windows Store when it opens.  You’ll also get some goodies as a winner such as a Samsung Windows Developer PC and 2-years worth of subscription to the store as a developer.

The contest starts now, so be sure to read the rules and register and learn about what is required of you.  This is a great opportunity to be a first-mover in the Windows Store which will have some incredible reach opportunities for you as a developer.

I can’t wait to see the types and compelling experiences that developers will create with our platform…get started!

tags: , , , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

Well, today I received my Kindle Fire.  I pre-ordered this on Sep 28 when they were announced.  I’ve been eagerly awaiting to see if there is anything that can be a better-priced tablet-like consumption device like iPad.  I absolutely love my existing Kindle reading device.  Love it.  If you are looking for an e-reader device only, you should look no further than the Kindle reading-specific devices.  They are priced so good now that there is no excuse if you are an avid reader and have always wanted one.

Before I get to my “review” I wanted to share a little bit about myself, my usage and my reality with these types of things.  I hesitate to even call this a review because I’m not a gadget reviewer, paid jaded journalist or a fanboy of any kind when it comes to these things.  My allegiance is to awesome products that are practical for me.

I currently own an iPhone 4, iPad 2, MacBook, Lenovo, Roku, XBOXen and a Windows Phone.  In the past I’ve also had an Google Nexus One device but no longer have that (or other Android device) in my possession…until now.  I use my devices for personal use mostly, but as a super nerd…it is hard to say that I don’t use my phone as my communication device for work either.  My usage is mostly consumption.  I look at my calendar/contacts, watch movies, listen to music, read books, take pictures, play some casual games, watch television shows and other Internet TV and read/compose email content.  I am not creating large content, movie trailers, etc. with any of my devices.  I like when things work, are easy to use (or easy to figure out how to work around things when they aren’t easy to actually use) and are responsive to my needs.  I don’t care/know about any clock-speed benchmarks on performance stuff between any devices that I’ve ever owned/used because, frankly, it doesn’t matter.  What matters to me in performance is my perception and expectations…now what a high-speed camera says. 

With all that said, here are my initial impressions after a few hours (not an exhaustive use, agreed) with the device from opening to writing this.  Forgive the thoughts if they seem random…they are in order of my thoughts and usage.  Also forgive some of the Apple comparisons…but I trust you’ll understand them to be valid as they are the king of user experience.

Packaging

I friggin’ love Amazon packaging.  It is industrial but easy to use, no tools required, and just ‘get to the product’ fast.  I’ve often said I’d love to sit in a focus group and watch all the executives from cereal companies open their product boxes.  The Kindle Fire packaging is just what you’d expect from amazon and with a pull of the cardboard ‘zipper’ I was at my Fire.

Kindle Fire strapped in MoleskineI pulled it out and my gut reaction was huh, this feels heavier than I’d expect for the size.  The size also struck me as small initially…even knowing what the dimensions were.  It is just a bit smaller than my Moleskine that I use…which, in fact, is kind of an advantage as I can carry the two together (surely someone will latch onto this and make an awesome case). 

 

The one thing that disappointed me was the power cord.  The current Kindle’s that I own have a well-designed power cord.  It has personality, compact and just has that just here to give you power kind of attitude.  The Kindle Fire one feels like I just bought a ThinkPad laptop.  Disappointing.  But I realize this is a power cord…still, just feels like a step back in product design when compared to their existing platform.

First power-on experience

Sorry Amazon, you colossally failed here.  Now I’m not complaining about the speed because my iOS devices take forever from a cold boot.  But I could sense the Android-ness of the boot here.  The logo flashed a few times rather than a consistent image on screen.  This just made it feel unpolished a bit.

But that’s not the part that bothered me.  Immediately upon getting to the first screen, I was greeted with a list of wireless networks.  Very nice start.  I selected the one for my house which is WPA-2 protected and I have a long passphrase.  I was prompted quickly to enter the phrase and presented with a keyboard in portrait orientation (more on orientation in a minute).  The keyboard really felt comfortable in the portrait orientation and I could use it quickly. 

Once I entered my password and clicked next, it immediately recognized me…as the Kindle owner.  And by this I mean it said “Welcome TIm Heuer” and connected to my Amazon account.  I suspect they associated my serial number with my account pre-ship and this was a good touch.  I had the immediate impression that my library of content would be immediately available (more on that in a bit too).  However, this is where it went downhill…fast.

The screen then said it was downloading updates.  W.T.F.?! 

My first impression of a brand new device that hadn’t been on the market was that an update was already needed?  Big time un-polish.  I was not even able to get to any user screen and this update is in my face.  I figured it wouldn’t take that long though…after all, what could need updating already.

I was wrong.

I didn’t clock-time it but I was able to complete the following before the 100% mark was hit: eat a bowl of cereal (already poured), wash my bowl, vacuum my kitchen wood floor with a quick sweeper, go upstairs to take off my shoes and put some slippers on (yes, I wear slippers when I get home…don’t be jealous), come back downstairs, get a drink, get a pad of paper to start taking some notes, and then sit down in the living room.  There are a lot of factors here that could be in play like WiFi strength, bandwidth, etc. but the bottom-line for me was that this was a horrible first impression.

All that aside I figured it was done.  After all, I hadn’t even got to a real user screen yet.  Nope, it rebooted.  Ok, fine let it reboot.  After the reboot I was then presented with an Installing Updates screen.  Seriously?  Man, this was frustrating.

It applied the updates and brought me to the start screen.

Start screen organization

FIrst a note on the lock screen.  This appears to be a portrait-only orientation thing.  This seems odd, but not a deal-breaker by any means…just odd.

After a quick little walk-through on-screen of where things were, I got presented with the start screen.  There wasn’t a ton there but the Facebook logo was prominent as was some simple navigation that was obvious: Music, Video, Docs, Books, Apps, Web. 

Your ‘recently used’ items are presented in sort of a bookshelf flip view thing.  Then there is another ‘shelf’ of where you can put favorites.  Fine.

The device doesn’t seem to respond fluidly to orientation changes and the change is abrupt feeling.  There were times I did the shake it a bit because that is supposed to wake up the gyro move to get it to flip.  This is slightly annoying.

The presentation of items in the shelf-flipper-thingy is pretty responsive to navigation in touch, although I felt the number of items it scrolled on a small touch gesture was too much.

Navigation

Kindle Fire touch pointsI didn’t think I’d mind not having any hardware buttons, but I do.  The lack of a ‘home’ button is kind of annoying especially since the device itself is hard to distinguish the top of it.  Having a hardware home button I think is key.  It is the eject button to get you back home no matter where you are in the device.  Kindle Fire doesn’t have one.

Instead they maintain navigation through a toolbar on the bottom, which does have a home button.  When in apps it can be visible or will be subtly hidden and you have to tap it to bring it up.  It isn’t always obvious, but it is there.  Still a hardware home would be nice.

There are also no volume hardware buttons.  This bothers me less actually.  Most of the time when needing to change volume I’ll be in an app that has these controls or me.  It’s one of those nice-to-have features but I don’t think it degrades the experience too much.

The picture presented here in this section shows you my touch points on the screen used after a few hours…this should give you an idea of all the places I had to touch to navigate in different areas.

Mail, calendar, contacts

I quickly went to configure mail.  Colossal fail #2 for the Kindle Fire.

I was presented with a screen asking what type of account I had.  Sweet, I picked Gmail.  I was then asked my login information, which I provided.  Then I was presented with What kind of account is this? screen and asked to choose POP or IMAP.

W.T.F.?!

I am currently awaiting a phone call from my relatives who bought one of these to have me help walk them through this phase.

This is horrible.  POP/IMAP is not user-friendly things to put in front of users unless you absolutely have to.  I’m not convinced for the major email providers they present as options this is at all necessary.  The problem is clearly that I use Google Apps for my domain and Fire doesn’t understand that.  This is a shame.  I was unable to complete my email setup without looking up settings.  Fail.  Fail.

I then also noticed explicitly on the mail screen that it calls out that you will not be able to connect to a Microsoft Exchange account without buying an app separate for this.  Fail #3 in the mail experience.  Seriously, I realize that they may not cater to Exchange, but iOS supports this as well in their platform!  My suspicion here is licensing…but that is just a guess that Amazon just didn’t want to do work here and rely on the Android app ecosystem…which will fail them.

So in the end I did not set up mail…it is just too cumbersome and is not going to fit my needs.  This is a minor problem as I can use web mail, but still annoying.

There doesn’t appear to be a calendar app at all.  Not just to sync with my actual calendar (which won’t work anyways since I use Exchange), but not a calendar to even look at.  This seems odd.

Contacts is there, but again, no sync. 

Basically this will not be a mail, calendar, contacts device for me.  This is a problem for my usage.

Media content

I do use Amazon media content and am a Prime member.  I have a set of music in Amazon Cloud player and also regularly rent/view movies from Amazon.  The video and music experiences are acceptable to me here for the Amazon-based content.  I have no real complaints.

As I noted earlier when I turned on my device it automatically recognized me as the user.  These media areas are tightly integrated with your account so I didn’t have to “log in” anymore to use them.

There is a Pandora app that came pre-installed and I configured it with my account.  The interesting thing is that when I launched it I was warned about data usage fees.  I realize this is because this is an Android app that is used elsewhere, but it shows the lack of customization tailored to the device.  This is a WiFI only device right now…I shouldn’t have seen that warning.

Hulu and Netflix were my next tries.  I had to go to the Store to download these apps first.  These both installed fine and I was able to configure my accounts quickly.  I actually like the Hulu app.  I think it feels right from a UX perspective and the playback was fine.

Netflix app needs some work.  Frankly it feels like they are wrapping their web site.  It sucks.  It most closely resembles their Roku app, which sucks just as equally.  Part of me suspects it actually is the same app.  The input controls, etc. just didn’t feel like they belong.  Regardless I was able to watch movies.  That’s what counts I guess.

Store

If you’ve never used Android before, then the store will appear unfamiliar in some ways.  I’ve seen this before and was able to quickly navigate, understand how purchases are queued in the background, etc.  I had no real problems here.

What I find interesting is the lack of consistency that Amazon is enforcing in the Fire.  The Facebook, Pandora, Hulu and Netflix app icons are all different sizes.  The Netflix one is clearly their iOS one…as does the Pandora one feels the same.  When these are all next to each other on the home screens in the ‘shelves’ they really do look inconsistent (size, rounded, square, etc.) and some are just blurry.  No attention to detail here.

The other thing I didn’t like about the store was the amount of email receipts in my inbox!  Amazon hasn’t figured out how to batch things.  This is only slightly annoying but after getting used to the fact I can make 10 purchases over the course of 2-3 days on iOS and get a unified one-receipt mail, this is another lack of attention to detail.  Not a show-stopper, just an observation.

Reading experience

This is a Kindle after all, right?!  I’m not an avid reader, but have been reading a lot lately.  My Kindle 3 works great for reading and is easy on the eyes.  I don’t think you can really beat e-ink.  The reading experience on the Fire is much like the iPad.  It’s a glossy screen, very bright, and for long reading intervals probably won’t be great.  I have changed my colors and font sizes to adapt to this.

Other than that the reading experience is fine.  Touch to page flip, etc.  No complaints here.

“Other” category of feedback

Here are just some thoughts on some other areas of feedback

  • touch performance seems inconsistent from app to app and even within the Kindle’s own apps
  • Keyboard doesn’t auto-dismiss in areas where it should for me
  • auto-complete/correct are annoying – this is not a Kindle-specific problem as I realize every system needs to be trained
  • since the speakers are on the ‘top’ of the device, when lying on a desk to listen to music I prefer the landscape orientation and the music app actually looks better in that view, IMO
  • web browsing seems fine.  it doesn’t feel as fast as they keep talking about, but so far frankly no browser seems fast to me.  I wait for pages to load and deal with it.  The Fire browser isn’t fast to me, but doesn’t feel terribly slow either when compared to my real use on iOS Safari as well.
    • Note that YouTube defaults to their mobile site, which royally sucks (unless iOS)
  • Web pages as apps – Facebook and Twitter actually give you icons as “apps” but really just launch the web browser to their mobile site views…nothing special as an app.  If you want a better Facebook/Twitter app experience I recommend the Seesmic app as it will do both in one app quite well
  • The Amazon settings seem to be broken on my device
    • It gave me the option to name my device, which I did, but despite that the upper left corner of my device still reads “Tim’s 3rd kindle” which was the default name…and yes I’ve rebooted a few times.
    • The app has a “Your Account” tab on the top that no matter how much I stare at it or tap it, does nothing.  No idea.
  • No opinion of battery life yet
  • The lack of camera, microphone don’t bother me.  My iPad has these and the camera sucks and I don’t use it anyway.

Overall impression

The thing that frustrates me is that Amazon cut corners here.  They have one Kindle Fire device.  They aren’t saying that Kindle Fire is available on Android tablets…they made one.  Because of this I expected a really tailored experience…and am not seeing it.  You had one platform to optimize perfomance, you owned the implementation of certain things, etc…and you took advantage of little of that.  You put a good start screen on content…but didn’t tailor the other portions…this is a shame.

If you also want to be a serious contender there are also areas you shouldn’t rely on the app ecosystem to fix for you.  I am primarily talking about the ‘work’ side of things.  Seriously, invest in a good Microsoft Exchange story here.  Get the mail client to work with it, make it better than 3rd party apps and create a calendar app too.  Give me, the user, the integration that feels right.  Don’t make me install 2 apps to get mail/calendar and then I have 3 separate apps that don’t integrate with each other *at all* – not good for the user.

For the price point, this feels like a good device for those who want to consume media and books but don’t want to shell out for an iPad.  After using it I am liking the size a bit more.  I think all the arguments of the amount of apps available for the Kindle Fire is a bunch of BS.  It isn’t about the number of apps…it is about the amount of apps that matter.  They big name casual games are there, the big media apps are there, etc.  So far there is only a few niche things that I “miss” but can still live without. 

Will I keep this device?  Not sure yet.  The mail/calendar/contacts thing bothers the heck out of me.  I’ll use it for a few weeks on my normal consumption to determine the realism of if I’ll use it.  I think I will, but need some more real-world usage on may day-to-day life to determine.

If you only want an e-reader, don’t get this.  Get the $79 Kindle or Kindle Touch.  This will be over-kill, confusing and not great on the eyes for *lots* of reading (neither is the iPad).  If you use Amazon services already and want an Amazon-driven experience for that content (books, Amazon MP3/Cloud Player, Amazon Prime, Amazon Instant Video) then this device seems reasonable to acquire for the price.

Hope this helps!

tags: , , , , , , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

十/11

13

Anatomy of a good bug report

I was searching my archives for sending something to my team this morning after looking at various bugs logged from customers, internal partner teams and ourselves.  I had an old post from 2005 but it unfortunately used a Shrinkster URL that appears not to be working.  So here’s the mail I sent to my team this morning.  This is purely my opinion but things that I think make a great bug report for fastest resolution:

——

As we triage and such I know that there are likely times that you are frustrated with not enough detail to even determine if this is a bug or needs investigation. This leads to feature teams spending time doing unnecessary things getting more data…and the cycle of time eventually delays product quality. To that end, when *we* log bugs I’d ask that you take into account my opinion of the “anatomy of a good bug”:

  • Title: Required. This is obvious. The title should be concise but describe the problem in one line so that someone can quickly glance at it and get a feel of the issue immediately. Something like “control doesn’t work” is not helpful. Something like “TreeView shows blank nodes when binding to hierarchical data” is much more descriptive, yet concise.
  • Path: Required. Almost every bug system requires and area/path assignment. You should do your best to assign this to where you think appropriate. If you are crystal clear, select the specific path. If you aren’t, then don’t guess too deep. Putting something at Product\Feature-Team\Feature-Area\Functional-Area\Control-Name might be too “deep” of a guess and would get bounced around. When in doubt, get up to the feature level and let triage teams who likely know the right path put it deeper or re-assign.
  • Keywords: Optional. This is helpful for you usually. If there is a place to set keywords, you should consider putting some that might be helpful for searchers or yourself. However don’t spackle keywords all over titles/descriptions.
  • Assigned: This usually defaults in bug systems to something like “Active” or “Not Assigned” – unless you know the specific person it should be assigned to, don’t guess.
  • Priority/Severity: Optional. This usually defaults in systems as well. If you think the default is not correct for your issue, then change it. But if you are changing it to a higher (read: must fix ASAP) then you owe it to someone to send an email out. Logging high-pri bugs without an email is usually not a good idea.
  • Build/Branch/Version: Required. Systems call these things different, and sometimes they are individually separated as well. However, this should be seen as required information. When someone looks at a bug they should know on what version of software you are using. They may immediately know “oh that was version 4.12, cool I know we fixed that in 4.2” and add that information to you back. Absent that information the investigator is left guessing on which build/version you were using and they may be flailing for a while with various versions. Even if there are fields for this in the system I usually always put this at the top of the repro steps as well for greater visibility.
  • Description: Required. Yes you put a title, but you still owe it to the investigator/triage to provide a bit more depth. The description should re-iterate the title, but also provide the scenario and other supporting detail. Things like “it worked in version XYZ” or “works on competitor platform Z and adds significant value to customer” are some additional data points that help understanding why you are logging it. Descriptions maintain history of the bug so pasting emails for context, etc. are entirely appropriate IMO.
    • NOTE: I used an example of “worked on version XYZ” – some systems have specific indicators whether this is a Regression or not. Even if they do I would indicate regression data in the description.
  • Repro Steps: Required. Perhaps the absolute most critical portion of your bug log. IMO this should include:
    • Version/Build/Branch
    • Steps – verbatim – yes I usually write these out with numbered lists:
      • 1. Open VS
      • 2. Create new C# Application
      • 3. Open designer and write this code
    • Once you hit the issue at hand break into Expected/Actual statements. This is where you would note what you Expected (i.e., “Control would render on UI surface”) and what was the Actual (i.e., “UnhandledException of type foo shown and crashed VS”).  In the Actual section would be a good place to paste call stacks, exception messages, etc. in addition to any simple error seen.

Here’s a template I use for the “repro steps” area of a bug report to remind me:

Repro on Version XYZ

Repro Steps:

  1. Step 1
  2. Step 2

Expected:

What did you expect to happen

Actual:

What actually happened

I find this has been helpful to continue to remind me of what is required and helpful.  Most systems allow you to create bug templates.  I have a bug template that includes this primer data in the repro steps for me.

  • Sample Repro: Required. In my opinion, this is required. There is no greater path to resolution or understanding of a given bug then by having your specific issue immediately available. Without it the repro steps are helpful but may not be detailed enough in the code that you are using as well. This sample repro should be isolated to the issue at hand and should be simple to get up and running. If you send me a zip of your ERP system and expect me to fix why text is right-aligned incorrectly, that’s a colossal waste of my time getting a huge app set up trying to find the one issue. Often this exercise of narrowing the repro also identifies some issues where it might be user code. Regardless, provide a repro and keep it simple.
    • Sometimes attaching screenshots of what you are seeing is appropriate as well to help with an issue that might be a visual one and leads to faster understanding than setting up the repro.
  • Close Bugs: When bugs are resolved back to you as fixed do your diligence to verify your bug quickly and close it out. Historically up to 15% of resolved bugs are re-activated. If we re-activate too late, we run the risk of missing key quality points in that area where you logged the bug. If you cannot verify it (because of time, out on vacation, etc.) then reach out to a test lead and indicate you cannot verify soon enough and request assistance to re-assign the Resolved bug to close.

Following these principles helps drive quality into our products. It does this by leading to faster times to get to understood, agreed-upon bugs. Please make sure we help our own team and partner teams when we log bugs to ensure we’re providing good information to help them fix what we think are issues.

——

I hope this helps perhaps as some guiding principles when you log bugs against products that you use and/or within your own team.

tags: , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

My family and I do not have traditional television in our homes (see My move to free HDTV Part 1 and Part 2).  In our home for “live” TV (which of course we have none) we rely on services like Hulu (which has been working perfectly fine and we haven’t felt we’ve missed anything).  We get Hulu, Netflix and Amazon media through our XBOX.  It works for our needs for things that are mainstream.

This weekend we wanted to watch a conference that wasn’t on any of these outlets and the stream provided wasn’t working on their website.  A friend pointed out to me that they did, however, have a channel on Roku.  I had been wanting to try out a Roku for a while but never really pushed over the edge because the main content I cared about I was already getting through my other devices.  This gave me a good excuse to try it out and the content was convincing enough for the wife to not wince at the purchase.

First impression and setup

Roku 2 XSThe box itself states “Plug it in.  Add to home network.  Enjoy” in a 3-step instruction on the box.  It also states “no PC required.”  Both of these statements actually couldn’t be further from the truth. 

First, I got the Roku XS because I wanted the wired network option (call me silly).  I also have an HDTV so I was pleased to see that it had HDMI.  I thought I read that it came with an HDMI cable, but it doesn’t.  For something that touts a feature for 1080p streaming, they should really own up to that and provide one.  It comes with standard (not even composite) a/v cables only.  No worries there, but just kinda lame in this digital age.  I mean, ship a cheap HDMI cable and make customers happy.

The “plug it in” was just as it sounded.  There is no power button for Roku, it’s like a little smart box…goes in and out of standby mode.  The “add to home network” step was, in fact, easy.  But I had a wired network, so no brainer there.  I tried the wireless just to make sure and if you are going that route be ready to be annoyed to type that long passphrase of yours using a remote with no keyboard (this is one thing that annoys me about XBOX as well).  Easy enough though and I was connected to my network.

The “enjoy” step took longer to get to.  And requires a browser.  You need to activate your box.  You can’t do anything until you do so.  I needed to create a Roku account and provide payment information.  What?! you may be asking is the payment information for?  It is for in-device purchases.  Roku is set up with “channels” and some are premium that you can pay for straight from the box.  Nothing gets charged during payment info setup, they are just trying to provide a seamless experience.  Whatever, I’m not bothered by this but did catch me off guard.

The physical size of the device is appealing but honestly I chuckled that after plugging in my Ethernet cable and a decent quality HDMI cable, the cables tipped the box up.  It’s almost too light and small.  But it definitely doesn’t take up space nor does it have any noise emitting.

Channel setup

The next thing you have to do is set up some channels.  This is offered during your account set up on their website pointing to the free apps like Hulu, Netflix, Amazon, etc.  Notice I didn’t say free “services” – these are just their channel apps.  You don’t get Netflix for free here if that is what you were thinking.  I set up my most popular and figured I’d do the others later.  I was off and started.  The Roku device started downloading some updates and I took the time to figure I’d add my custom channel we got the device for.

Turns out, this is not intuitive IMO.  Since it let me set up the Hulu, Netflix, Amazon during my account creation I thought I’d be able to add other channels via the website and my profile.  Nope.  You can browse all the channels but there is no “add to my device” option.  In fact, I had to search the help FAQ to even find out how to do that.  It would have been at least nice to have that prompt in the areas where you’d expect to add a channel.  I found this to be incredibly lame and my first area where I think Roku can improve.

Nonetheless I searched for the channel on the device and added it no problems afterwards.

For the other channels that required authentication (i.e., Netflix, Hulu) it was a mixed bag.  With Netflix I had to log into my account on the device.  Again, “typing” with a remote is extremely annoying.  The others pointed me to a website with a code.  While I needed a PC, it was much quicker to set up than things like Netflix.  I went to the site, logged in, entered the code on screen, then the screen realized I was linked and proceeded. 

Games

One quick word here.  I think games on these types of devices is quite lame.  But take that from someone who isn’t a gamer.  The Roku XS came with Angry Birds and I just found it lame to play on the remote.  Casual games are for casual use, not my big HD screen…that’s for “real” games.

Bottom line: don’t let the games thing sway you.  In fact if you don’t care about games or don’t care about wired Ethernet access, then you should get the Roku XD for less money.

Content Quality

Impressive.  Of course this depends on the source of the content but my quality was very good HD quality and no buffering experienced.  I have no complaints here.

Content Acquisition

“Acquisition” is the best word I can think of for this experience – that of finding and the start point of your desired content.  The Netflix interface is horrible.  For an avid Netflix user (on XBOX) this needs to be improved, seriously.  Same with Hulu Plus actually.  I don’t have solutions other than “make it more like XBOX” because that is what I’m used to.

The Amazon app is a welcome one to me because, while I can get my Amazon content on XBOX it isn’t the greatest experience I’ve set up…and I can’t get my rentals easily without an extra step.  The Amazon app gives me direct access to my purchased and Instant Video content (for Amazon Prime members) on the device.  I anticipate I will like this feature the most for my Roku usage.

Pandora is a welcome app.  Although admittedly it seems lame to “listen” to music through your TV, it’s nice to have that option.  I think Pandora can step it up as well on their UI for their app…at least make it a bit more engaging to me.

Parental Controls

Stop looking, there isn’t any.  The FAQ points to the fact you can set up a PIN to prevent anyone from purchasing in-device content.  Um, that’s not parental controls at all.  I don’t consider myself a prude but I also don’t think my daughter needs to browse through Netflix and see movie covers with gore or half-dressed folks on them.  She’s 9.  And same for my son browsing his Inspector Gadget videos…he doesn’t need the occasional NC-17 cover passing him by.

Seriously, if Roku wants to be a serious family device, give me *some* throttles.  XBOX does this well and it flows through their apps.  I set permissions on the device and the apps flow.  I can set a limit of PG movies/content and anything above that isn’t showing pictures (it still lists the titles) and requires a PIN to play.  That’s all I’m asking.

Developer story

One of the things that bothered me about TiVo was the lack of an initial (and even later) good developer story.  Roku puts a developer link on their home page and has a whole section complete with SDK, design guidelines, Photoshop templates for screen designs, etc.  I’m just now digging into this to play around, but it is pretty cool to see the company encourage this.  There is a free and premium developer account and I suspect the free allows very basic RSS type feed insertion where the premium allows you to be more of an app.  I’m still checking it out, but while deep it appears not to be entirely intuitive as well.  Some searches showed some Roku/C# forum posts so I’ll be checking those out.

Overall

Good purchase so far.  Annoyances exist for me as does any product but nothing I can’t get over for my specific use case.  I’ll be looking at the developer platform, but I think for now the inexpensive purchase for our immediate need paid off and we’ll see how much I use the little thing over the XBOX for the mainstream content we already get.  I suspect that I’ll be more annoyed by the apps’ user interfaces and revert to XBOX, but we’ll see.

If you’re in the market for a single device to get things like Hulu, Netflix, Amazon, Pandora, etc., etc. and don’t have an XBOX, Playstation or a TV that has those built in, then the Roku might be for you and at $79 or $99 it’s well worth the investigation at least in my opinion.

tags: , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

九/11

15

XAML Sessions at BUILD

By now hopefully you’ve seen a lot of the revealing of what the next version of Windows has in store for developers.  Trust me there is a LOT to absorb as the week continues and you should absolutely keep your eye on the BUILD conference site where session information will likely start to appear.

I know that a lot of readers here will be interested in the XAML-specific sessions so I thought I’d iterate them here real quick. 

NOTE: Anything on the agenda with a “C” after the session number is a chalk talk and is not recorded.  These are more interactive sessions for QA with attendees.

Again, there is a lot to cover so be sure to spelunk the sessions on the site for more things that might interest you, but here are the XAML-specific ones from our team and some ones I felt relevant to my readers:

  • [APP-737T] WED 11:30 AM (Joe Stegman) Metro style apps using XAML: what you need to know
  • [APP-741T] WED 02:00 PM (Marco Matos): Metro style apps using XAML: Make your app shine
  • [TOOL-479T] WED 02:00 PM (Vikas Bhatia, Joanna Mason): A lap around Visual Studio 11 Express for Metro style apps using C++
  • [APP-494T] WED 03:30 PM (John Papa): Stand out with styling and animation in your XAML app
  • [APP-517T] WED 05:00 PM (Hamid Mahmood): Build polished collection and list apps using XAML
  • [APP-503T] THU 09:00 AM (Alnur Ismail): Make great touch apps using XAML
  • [APP-847T] THU 10:30 AM (Tim Heuer): Reach all your customer’s devices with one beautiful XAML user interface
  • [TOOL-834T] THU 10:30 AM (Joshua Goodman): What’s new in .NET Framework 4.5
  • [APP-912T] THU 01:00 PM (Laurence Moroney): Build data-driven collection and list apps using XAML
  • [TOOL-790C] THU 01:00 PM (Daniel Plaisted): Bringing existing managed code into Metro style apps
  • [APP-542C] THU 02:30 PM (Alnur Ismail): Building accessible Metro style apps using XAML
  • [APP-788T] THU 02:30 PM (Marco Matos): Integrating stunning media experiences in XAML
  • [APP-914T] THU 04:00 PM (Chipalo Street): The lifetime of XAML text: from input to display through printing
  • [TOOL-515T] FRI 09:00 AM (Tim Heuer): Tips and tricks for developing Metro style apps using XAML
  • [TOOL-810T] FRI 09:00 AM (Mads Torgersen, Alex Turner): Async made simple in Windows 8, with C# and Visual Basic
  • [TOOL-529T] FRI 10:30 AM (Peter Provost): Unit testing your Metro style apps built using XAML
  • FRI 10:30 AM (Krzysztof Cwalina): A .NET developer’s view of Windows 8 app development
  • [APP-528C] FRI 02:00 PM (Tim Heuer): Build world-ready Metro style apps using XAML

It will be a great week (I’ll try to be diligent and update the above with video links if they come available).  If you are here at BUILD be sure to look our team up in the expo hall area if you have XAML-specific questions.

tags: , , , ,

This work is licensed under a Creative Commons Attribution By license.


No tags

Older posts >>

Theme Design by devolux.nh2.me