Wednesday, January 6, 2010

Dumbing Down a Report Engine? Another Episode of SSRS for SQL 2008 SUX

I never thought I'd say this, but working with SQL Server Reporting Services (SSRS) has taught me a valuable lesson...

It doesn't matter what report engine you use, they all have their quirks.

I have a Crystal Reports background thanks to the ERP system that I used to support. I learned how to work with it inside outside upside down. It got to the point that I knew how to get it to do what I needed, no matter how obscure my end users got with their requests. It was a good thing.

Now I'm in a SSRS environment, and I curse my unfamiliarity with this report builder. I have to keep reminding myself that it's a Microsoft tool - so many options that I'd be looking for in context menus are probably hidden in toolbars. For example, I was looking on doing conditionally-formatted row backgrounds, and I eventually found it in a toolbar - as soon as I reminded myself that it's a Microsoft product.

But then there's this other maddening (lack of a) feature. Why can I create an expression for my tablix's sort field but I can't use an expression to specify the sort order?

And what's this "A to Z" and "Z to A" sorting terminology? Who are they designing this tool for? As a database admin and a developer, I would know ASC and DESC or even ascending and descending. Dates sort on their date type, numeric types in a numeric order... and neither of those are handled the same way as a character sort. Is the report converting all of its data to strings and literally doing a character sort? Nope - it is sorting ascending and descending. Can SSRS get an update so that it accurately represents the sorting? Is it smart enough to possibly detect the data type of a field and show "highest to lowest" for numbers and "earliest to latest" for dates?

As I continue to work with SSRS, I hope my complaints will subside. But there are some quirks that, in my opinion, make it worthy of the SUX appearances.

Labels: ,


Share this post:             kick this!  live it!

posted by Sarah at 2 Comments Links to this post

Saturday, January 2, 2010

What's Coming Up in 2010...

Happy New Year to you all! I hope you enjoyed celebrating the Gregorian calendar's change in the year. I am currently celebrating with friends - my husband and I have an annual LAN party that runs over New Years weekend, and despite the snow, we have a great turn out.
Looking forward into 2010, I have quite a few things lined up for blogging here...

The SUX Series
In 2008, while frustrated with the Office 2007 packaging, I started the Sarah on User eXperience (SUX) series. I didn't realize that I'd actually run with it, but in 2009, I had 8 entries on things that had poor user experience or awesome user experience. In 2010, this series will continue.

The SoS Series
This is a new series in 2010 - Sarah on Social (SoS) will cover my thoughts on things related to social media and social networking. From what sites I use and how I use them to why businesses need social media policies but why they shouldn't be too restrictive, look forward to seeing social media and social networking covered a bit more in 2010.

Toughest Developer Puzzle Ever Lives On
Once again, I'm working on creating puzzles for the Toughest Developer Puzzle Ever v. 2.0. We're looking for more puzzle creators - so if you're interested, email us and we'll get in touch with you about what we're looking for and how you can help.
Want to see how well we did last year? Check out Jeff's post and see for yourself!
If you haven't seen it yet, definitely check out the Toughest Developer Puzzle Ever at http://tdpe.info (a nice, short, Tweetable URL).

WiTty Perspectives
More and more I'm finding myself writing down my thoughts on the joys and pains of being a woman in tech (WiT), so the WiTty Perspectives series will cover my adventures of being a woman in tech and the lessons and words of advice that I have for other women in tech.

Caught in the Web
As many of you know, as part of my day job, I'm a web developer. I've always enjoyed web development, and I take great joy in making my web sites working on more than just Internet Explorer. So in 2010, look forward to more blog posts on web technologies, web debugging tools, and other things that I'd find interesting for web developers.

Conclusion
2010 will be an interesting adventure to say the least, and I look forward to sharing my thoughts, my experiences, and my perspective with all of you. If you ever want me to cover something in particular, email me and let me know what you want to hear.

Labels: , , , ,


Share this post:             kick this!  live it!

posted by Sarah at 0 Comments Links to this post

Tuesday, December 29, 2009

SSRS for SQL 2008 + TERADATA Config on Install = SUX

Just when I thought I was done with the SUX series for the year, I came across this gem.

Recently, I've been working with SQL Server Reporting Services and trying to work with it in ASP.NET. While reading logs, I came across an error regarding TERADATA. Why is it that my SQL Server Reporting Services (SSRS) is giving me an error like this on a fresh install?

So I did some searching through Bing, which led me to this article on Troubleshooting Configuration Problems. And then I saw this...

This error occurs because the Teradata extension is registered in the Reporting Services configuration file by default, but the Teradata assemblies are not shipped with SQL Server 2008 or as part of the .NET Framework. If the error message does not bother you, you can ignore the error when it is logged.

Wow... really? Why is an extension registered by default if none of the assemblies are included? Why is it an acceptable practice to pollute the event log with errors right after a fresh install?

Granted, they included how to avoid the error. But still....

If the assemblies aren't included, I would expect the extension not to be registered. Let the installer detect if the assemblies are installed and then enable it by default if it is detected. Include instructions in the installer that the TERADATA extension is enabled by default and have a simple way of disabling it on install. Strike up a deal with TERADATA so that the assemblies can be included in the installer. And if that isn't feasible then don't include the extension in the installer and let an installer with the TERADATA assemblies handle registering the extension.

Why add unnecessary clutter to the event logs when it should be avoided in the first place?

Don't get me wrong - adding support for TERADATA may be a nice feature. But for those of us who aren't using it, it's cleaning up setup stuff that - in my opinion - shouldn't be included in the first place.

Because of this approach, the combination of SSRS with SQL 2008 and TERADATA on a fresh SSRS install truly SUX.

Labels: , , , , ,


Share this post:             kick this!  live it!

posted by Sarah at 0 Comments Links to this post

Monday, December 28, 2009

Netflix Silverlight App Does Not SUX

Ah yes - I'm back with another edition of the SUX (Sarah on User eXperience) series. This time, I'm singing the praises of the Netflix Silverlight app.

Recently, I had the house to myself and a day to rest. So I had the idea of playing World of Warcraft while watching movies over Netflix.

The laptop: ASUS G1

The Internet connection: Time Warner cable

A part of me thought this would be a flop and that I'd have to choose between the movie and the game. I had anticipated that streaming a movie would bog down my connection, making it impossible for me to run through the Blasted Lands - maybe more like grinding and then eventually lagging across the continent but not smoothly running through. However, I had forgotten about an awesome feature with the Netflix Silverlight app - it detects the current bandwidth and changes the streaming based on the bandwidth available. It was glorious to play World of Warcraft and watch movies and TV shows at the same time. The best part - the app didn't have to recalculate for bandwidth issues until my husband came home and logged in. Even then, it did its recalculation and resumed my Law & Order: Criminal Intent episode right where I left off. So it was steady Netflix streaming and gaming all day. The Netflix Silverlight app does not SUX - it ROCKS!

Labels: , ,


Share this post:             kick this!  live it!

posted by Sarah at 1 Comments Links to this post

Monday, November 30, 2009

Mobile Safari 4.0 + Horizontal Scrolling = SUX

Recently, I ran into an issue with how some of the sites I'm responsible for were displaying on Android 2.0 devices. Thanks to Google for providing a decent Android SDK - I was able to test my sites on Android 1.6 and Android 2.0. Android 1.6 displayed the sites fine, wrapping like it should. The exact sites in Android 2.0 had all this unnecessary whitespace on the right-hand side and allowed for a lot of unnecessary panning. At first it was reported as an Android 2.0 issue, but after seeing a friend's iPhone that showed similar issues, I was able to narrow down the problem specifically to Mobile Safari 4.0.

Now maybe you guys like your whitespace. But I personally am not a fan of unnecessary scrolling on websites, and I don't want my end users to have to deal with it either. After spending an afternoon with my favorite search engines, I finally found out how to get rid of the annoyance of horizontal scrolling.

The solution? All I needed to do was add the Apple-specific meta tag within my <head></head> tags:

<meta name = "viewport" content = "width = device-width">

For this and more Apple-specific hacks, check out the Safari HTML Reference page on Meta Tags.

I spent way too much time trying to track this down, with so many people talking about their new Droid's user agent string and only a couple references to the problem. So I hope this blog post hits the search engines and helps others out with Mobile Safari 4.0 and horizontal scrolling or panning.

Labels: , , , , ,


Share this post:             kick this!  live it!

posted by Sarah at 1 Comments Links to this post

Thursday, September 24, 2009

Appending to the Zune + Audiobooks = SUX series

Note: This is just a complaint on an incomplete feature that happens to apply also to the Zune HD. I will blog separately on the Zune HD experience as a whole after spending a week or so with it. Here's hoping the overall experience is as awesome as the video clarity!

So I've recently gotten a Zune HD (as in the UPS guy dropped it off today). One of the first things I had to check was the Zune HD interface to see if it was any better for audiobooks.

Obviously, they don't design Zunes with audiobooks in mind. Or if they do, the testers have been sleeping on that feature since the Zune 3.0 release.

Honestly, it kills me to see that they took the time to add the feature in the Zune 3.0 software but they didn't put in a fully-managed audiobook system. You can easily transfer audiobooks through a 3rd party step-by-step wizard to the device, and they appear in an "audiobooks" list on the device. But there's no simple way to delete the files. It's nice to listen to audiobooks on a Zune device, but it's a lot of work to clear off audiobooks from the device. (Yes, the Zune HD needs to go through the same non-intuitive process that I've linked to in the past Zune + Audiobooks = SUX posts.)

Maybe the Zune will come around with a fully-managed audiobook system in Zune 5.0? I won't hold my breath. But as a friend once said, audiobooks are the Achilles heel of the Zunes - and it still holds true, even with the Zune HD.

Labels: , ,


Share this post:             kick this!  live it!

posted by Sarah at 0 Comments Links to this post

Tuesday, September 15, 2009

Blogger Labels SUX - Looking for Recommendations

As many of you know, I currently use Blogger with ASP.NET master pages for this site. It was great in my early days, but I've blogged a lot since my first post, and it takes awhile for me to upload changes. One of the downfalls to using Blogger is that it republishes ALL label pages whenever I update a post or add a new post. And with this blog growing, I realize that a blog setup like this for a blogger like me would lead to a special appearance in my Sarah on User eXperience (SUX) series.

Of course, that's what I get for using a blog engine that renders the posts as individual files and doesn't render posts from a database. Being the developer that I am, I am well aware of my trade-offs, and I think I've finally outgrown this setup.

I am a huge fan of WordPress, as that's what I use on my personal blog site and a few other sites that I run. However, I don't have that option for this blog. I want to stay on my Windows-based host for my Windows-based samples. So... what do you recommend for .NET-based blog engines? Are there any out there that have basic blogging features (add/edit posts, maintain RSS feeds, accept comments, layouts/themes) that are fairly easy to set up?

Labels: ,


Share this post:             kick this!  live it!

posted by Sarah at 3 Comments Links to this post

Zune 4.0 + Audiobooks = SUX

Disclaimer: Disclaimer: I hate writing disclaimers, but I need to make sure that you understand that these are my personal experiences and my personal thoughts. My employer is not responsible for my posts. Also for the record, I am active in the Microsoft community, and this isn't meant to be an anti-Microsoft post. This is a renewal of my previous call to action for them.

Back in February, I had mentioned that there was this horrible user experience when it came to using audiobooks with the Zune. Today, Zune 4.0 came out, and we still have 0 support within the Zune desktop client for audiobooks.

As an ordinary user, I cringe at the current user experience. If I want to stay honest and delete expired audiobooks from my Zune, I need to follow the non-intuitive process that's outlined in this post. Of course, there's also Zune Explorer Enabler, that makes the Zune visible like a hard drive in Windows Explorer. That would be 100x simpler and easier to describe to a non-technical user, like my mom.

In the Zune 3.0 release, the device was able to support OverDrive audiobooks. My local libraries have digital collections, and thanks to my library card, it doesn't cost me anything (other than time and bandwidth) to download audiobooks. I love that I can go to their sites, check out books, transfer them to my Zune, and go. But I don't like that the Zune lets you transfer audiobooks to it, even has its own section for audiobooks on the device menu, but doesn't have a way to manage that section from the desktop client. Even if you could delete the audiobook parts from the device itself, it'd pretty much be guaranteed to be better than the current process. If you can see videos, pictures, and songs in the Zune desktop software, I would think that you could see the audiobooks just as easily. But there I go thinking logically... it's the developer in me.

Add to it that I'm a big fan of docking windows in Windows 7, and the Zune software still does not dock. That makes me pretty cranky.

Now there are some things that I do like. For example, now I can see how many credits I have left of my 10 credits from my Zune pass. When I hover over the credits, I see when they expire. That's nice.

I can "pin" music to make it easier to find them. But for those of you who know me, "pinning" things can get chaotic and disastrous. It reminds me of pinning applications to the taskbar in Windows.

Now there's this feature called "Smart DJ". I'm not too sure what it does - other than analyzing your song collection and possibly playing songs I might like based on the 5 artists that I selected. I really can't talk about this feature for a few days. Apparently it's going to take 80.5 hours to install. Please tell me this is another Windows estimation "feature" and isn't for real.

Oh wait... in the process of writing this post, the time went up to 152 hours and down as low as 61 hours. I'm thinking it might be more like this.

At least the Zune software is still operational while Smart DJ is installing.

And this mini player is cute, but it isn't the same as what I want to do when I want to dock the window in Windows 7.

Overall, I see a lot of "shiny" features, a lot of "fun", and some "cute". But what I'm not seeing is practical functional improvements. The desktop software can somewhat manage the device, but it's sad that it doesn't have full capabilities to manage the device. Overall, I'm unimpressed by today's update. Now maybe the functionality is there for the Zune HD - I wouldn't know as I'm waiting to see reviews and handle one physically before purchasing one. But for us regular Zune users, I'm not seeing anything in this patch that makes it worthwhile (unless you like "shiny" and "pretty" effects, in which case check it out).

So once again, the Zune software is the star of my Sarah on User eXperience (SUX) series. Here's hoping that one day it may be able to fully manage the device. And when the day comes where it supports audiobooks, I'll hopefully be able to sing its praises. For now, I'll continue to use the convoluted process of deleting parts through OverDrive Media Console and stay honest with my audiobooks on the Zune. But all that work just to stay honest... yeesh!

(And as I post this, I'm down to 36 hours on my SmartDJ install. Mind you, I wrote this post over an hour or so.)

Labels: ,


Share this post:             kick this!  live it!

posted by Sarah at 2 Comments Links to this post

Tuesday, April 21, 2009

SUX SE: Unacceptable Behavior from Sponsors

This is a special edition of the Sarah on User Experience (SUX) series, as I'm not talking about an application or object. This time, I'm calling out unacceptable behaviors by sponsors at community events.

There was some behavior exhibited by one of the sponsors during the giveaway at Central Ohio Day of .NET that appalled me, and it made me realize that there are other events that have had some unacceptable behaviors from their sponsors.

During the giveaway, one of the representatives of a sponsor booed quite loudly at the mention of a competitor. The community appreciates the work that these companies do and the tools that the companies provide, but to see such a bad attitude from a sponsor was horrible. Maybe he thought he was funny or something, but bad sportsmanship like that doesn't reflect well on the company. I hope these sponsors realize that we like tools, but we don't like "tool"s.

I've had recruiting companies who've been willing to sponsor Cleveland Day of .NET if we provided them our attendee list and the attendees' contact information. I could not do that, though. First of all, I'd need the attendees' permission to give out their email addresses. Second of all, if you're going to have a table at our event, you've got access to the attendees by being there in person. I have a hard time justifying the need for my attendees' contact information. I can suggest an opt-in list for them, but I cannot give my attendees' contact information away like that.

But the part that irritated me the most last year was having a company ask for the data, telling them "no", and then they didn't understand that "no" means "NO" means "NO!!!!" and tried deviously to see the registration list. My husband was working registration when one of them approached him for the list. He had already been warned about the numerous "no"s we've said and stood his ground too. That behavior is bad behavior and will not be tolerated. So let this be a lesson to recruiting firms in general - devious practices like that are looked down upon and will not be tolerated. There are plenty of honest recruiting agencies here, as I deal with recruiters from them quite often. So please, take your devious behaviors elsewhere.

Just because you're helping the community does not give you the right to demonstrate bad behaviors at an event - that just shows the community what kind of people are employed by the company name, and bad behaviors typically earn bad publicity and give the company a bad rep.

Have you experienced any bad behaviors from sponsors with your events? I'm curious to hear other stories - so leave me a story in the Comments or drop me an email! I want to see what other behaviors have come out that deserve to be lumped in the SUX column.

Labels:


Share this post:             kick this!  live it!

posted by Sarah at 2 Comments Links to this post

Friday, February 20, 2009

Zune Software + Audiobooks = SUX

It isn't a good sign when I revive the Sarah on User eXperience acronym - but sometimes there are bad user experiences that really deserve the SUX label.

Disclaimer: I hate writing disclaimers, but I need to make sure that you understand that these are my personal experiences and my personal thoughts. My employer is not responsible for my posts. Also for the record, I am active in the Microsoft community, and this isn't meant to be an anti-Microsoft post. This is a call to action for them.

I love listening to audiobooks on my Zune. My recent experience though has me a bit dismayed about the whole process, and I hope Microsoft can get this straightened out.

When I download audiobooks from my local library, I can transfer the audiobooks to my Zune thanks to Zune firmware 3.0, which supports OverDrive audiobooks. But what the firmware seems to support is the transfer to the Zune. Deleting expired audiobooks from the Zune is a different story, and hence the reason for my dismay.

With my Zune, there seems to be a step missing. I use the OverDrive software to transfer to my Zune, but the delete process isn't obvious. The audiobook experience with the Zune is like Hotel California - you can check out but you can never leave. You can expire, but you can never delete - at least at a first glance.

After a long time poking around on Live Search, I came across this process on how to delete the expired audiobooks. I apparently must get the OverDrive transfer wizard to a point where I can Browse the device and then delete each file individually. So I need to initiate a transfer in order to delete something - this alone is counterintuitive. But at the same time, the OverDrive software is just to transfer to the device - why doesn't the Zune software have the ability to remove the audiobooks from the audiobooks section of the device?

When you have a lot of audiobook files - like the numerous files behind Ayn Rand's "Atlas Shrugged", in addition to some L.A. Theatre Works productions - this process is tedious and drawn out. If I have gripes about this user experience, I can only imagine the headaches of the non-technical user.

Microsoft dropped the ball in this case. The other devices out there provide ways for deleting audiobooks - be it through their own software or through Windows Explorer. With the Zune, neither path is available.

So Zune software devs, I have a suggestion for you. You know that section of the Zune software where you can see music, videos, pictures, podcasts, friends, and channels - how about adding a section there called "audiobooks" with the delete functionality so that Zune users can easily delete expired audiobooks from their Zunes?

Until this counterintuitive and frustrating process is addressed, I will stick to audiobooks on my non-Zune devices (laptops, desktops, netbooks, and other media players). I look forward to Microsoft adding the functionality to their Zune software to delete audiobooks so that I can eventually go back to listening to audiobooks on my Zune.

Labels: , ,


Share this post:             kick this!  live it!

posted by Sarah at 2 Comments Links to this post

Sunday, July 27, 2008

Office 2007 Packaging SUX

Whether it's explaining complex drug interactions to the elderly at the pharmacy or nailing down last minute features with a project manager, I have always valued working directly with my end user. I am well aware of how important the user experience (UX) should be, and it's one of my major focuses when I write software.

But this entry - a rare Sarah on User Experience (SUX) post - is on the user experience before the software is even installed. While reinstalling software on my laptop this weekend, I finally decided to break out the Office 2007 disk. If my experience with trying to get the Office 2007 disk out of its container was any insight to how my experience with the software would be, I wouldn't even bother installing it.

I'm an engineer by training, and the engineer in me typically likes solving problems and taking things apart. My husband is also an engineer by training, and he knew that something was up since I brought it up to him. If we didn't turn to the Internet, I know that the container would've been demolished. (At this point, I really was considering looking at Google Docs or even going back to Open Office. But I had heard some interesting things about Office 2007 and really wanted to experience it for myself.)

I found this entry on the new packaging over on the Windows Vista Team blog. I'm surprised I haven't run into this packaging (and these frustrations) before. After reading their blog and the comments, I too have to respond.

Designed to be user-friendly, the new packaging is a small, hard, plastic container that's designed to protect the software inside for life-long use. It provides a convenient and attractive place for you to permanently store both discs and documentation.

Opening the container didn't seem intuitive at a first glance. The little red tab sticking from the top was a good clue of where to start, but other than that, nothing seemed too obvious, and this package did not give me any friendly vibes.

These containers are definitely smaller than the old boxes that software used to come in. However, looking at my Office 2000 disks and Office 2003 disks, their CD holders and envelopes are considerably smaller than this plastic container. If getting larger is the new small, then maybe I can get on board with their "small" description. However, I do not see this as small; I see it more as a waste of space. There's a lot of open space in there for one CD and two small pieces of paper. With other companies going more economical and leaning towards conservation of space, it seems odd to see the opposite trend here.

As for "life-long use", are they trying to protect the media to last longer than say if they gave the media to a little kid as a play toy? Media in general has its own shelf life, even when taken care of properly. If they want to get into durability of containers to protect the media from outside sources, they may want to talk with Fisher Price or Rubbermaid in creating something a bit more durable and closer to indestructible.

At least they were on target with calling it "attractive". The container is in line with some of their new technologies (Silverlight? WPF?), in that it looks pretty. But looks will only get it so far. There's got to be more to UX besides appearance. Users like things that are aesthetically-pleasing, but if it's functionality is frustrating, then you can bet the end user will be vocal about that.

Sadly enough, my user experience inspired this blog and I haven't installed the software yet. Here's hoping that installation experience is better and that the software is a lot less frustrating than its packaging!

Labels: , , ,


Share this post:             kick this!  live it!

posted by Sarah at 2 Comments Links to this post