Development

I Heart Blogs…Most of the Time

Posted in Development, Random Thoughts on August 28th, 2009 by Wessty – 4 Comments

Every now and again I come across an article out there that explains to me how blogging is old newsor how blogging has diedor how it has died yet again. I have read over those articles, and they definitely make some solid points. Just looking at my blog experiences where software developers post solutions all over the Internet, and in reality they are really poor solutions. Unfortunately, there are plenty of people that won’t see that and they simply repeat the poor code they have learned in their own code. Heck, I’m even guilty as doing that every now and again.

But blogging is definitely not dead. Let me tell you why.

Why Blogging is not Dead: Matt Weber

As I mentioned in my previous blog post, the development on the Wesstyware.com site has been delayed because I have working on creating a proof of concept for the WCF services that I would like to use to drive the content on the site. I have done this in an environment where I have had complete access and control to the IIS server, but as I’m paying GoDaddy to host everything for me, I don’t have that luxury anymore.

The technical issue that I have been dealing with is determining why I can get ASP.NET applications working, but cannot get WCF service working. I know they work with IIS, but there must be some sort of setting that isn’t configured properly. For the past week, I have been dealing with GoDaddy’s support staff (which have been exceptionally patient and friendly by steering me through their IIS setup and helping me as much as they are able to do) but have had no luck with getting past the wonderful “500 Internal Server Error” that would appear whenever I attempted to load up the page. After searching for a solution for the past week, last night I found what was needed.

Last night I found Matt Weber’s blog. Matt Weber saved my life. Or at least my future web site.

Matt Weber has apparently dealt with the exact same problems I have been dealing with for the past week. When he found a solution, he did a quick post with the changes that were needed to the Web.config and there you have it. Literally every IIS issue that I did not know how to address myself, he had the solution sitting out on his blog. This is why blogging cannot be dead, at least not in the software development community.

So Why Heart Blogs Only Most of the Time?

Although I am exceptionally happy that Matt wrote out those posts, for every solution that I have found on the web, there have been two more that have incorrect or incomplete solutions. For example, when looking up how to do something with CSS in a web application, I have found many solution that address how to fix it in only Firefox, but fail to mention that it will only work in Firefox. I understand a lot of people dislike Internet Explorer 6, 7, and 8 but a large portion of the web surfing community uses IE and it is probably in the best interests of your web site/application to support at least IE 7 and above.

Here’s the good thing about the bad: blogs are community driven. So, if you come across someone who has explained how to solve a problem, but it doesn’t work properly in IE or just doesn’t make any sense, you can leave comments and let the writer know that they haven’t got it working, or that they might want to clarify how to get the solution working in all browsers.

Sure the blogger has the ability to delete your comments, but I don’t know of any would. The point of blogging about software development solutions, is to get the right information out there to other developers. I know that when the Internet is down and I don’t have access to Google, my productive drops dramatically. That isn’t because I’m a bad programmer. It’s because I lose access to the wealth of knowledge posted on the web by the entire development community. Having that kind of information at your fingertips definitely makes finding a solution to your development issues easier.

And Your Point?

I don’t have much of a point other than blogs are definitely not dead in the software development community. Sure, I don’t read any blogs about celebrities or some stranger’s day. I could care less about that. Although if I were to lose blogs as one of the tools in my software development arsenal then I am pretty sure we would all be worse off.

In conclusion, if you are a developer and feel like sharing your solutions start one! You can do it for free with Blogger or with WordPress. You might not think anyone is reading your posts in the beginning. I certainly didn’t think anyone was, and I had the analyticsto prove it. But it’s a few months in now, and I am getting feedback from people I have never met and getting comments about how my posts are interesting and helpful.

It might not be much, but it is definitely something that I am proud of…even if my friends call me a nerd for blogging on a Friday evening.

Catch you on the flip side.

Resources

Matt Weber: http://blog.mattweber.name/

What is an RIA (Rich Internet Application)?

Posted in Development, Web on April 27th, 2009 by admin – 1 Comment

Let me start with a quick introduction to this blog post/question. When I was interviewed by ANVIL for my current position, I didn’t know what an RIA was. Obviously things turned out well as I am still working here, but for all you people applying for jobs out there, make sure you know and understand all the works/acronyms that make up your potentially future job title.

This question isn’t as simple as it seems. When I started my journey as an RIA Developer here at ANVIL Digital, I pretty much considered any web-based application or web site with an exceptionally rich UI and/or UX to be an RIA. Using the magical power of Google to try and answer this question and the most relevant link that I have found is this one. The criteria that helps Mrinal decide what kind of applications can be considered Rich Internet Applications makes a lot of sense. In case you didn’t click the link above, they are as follows:

  1. It has to be an Application … something that deals with dynamic data, takes an input and processes it to produce valuable output.
  2. Its primary function should be to deal with data that lives on the Internet (or intranets).
  3. It should offer a user experience that is Richer than what we’ve been used to in the past in a particular environment.

Taking these criteria into consideration when looking at different web applications that are out there, really got me thinking outside of my regular UI point of view.

Going back to what I had originally believed to be an RIA, the key element that I was not considering was Mrinal’s first point: It has to be an Application. I suppose a flash site or any regular web site could be considered an application to a certain degree, but in reality is it just a really fancy document. The sites present static data and the users read it. They don’t manipulate it, they don’t work with it, they just read it. If we had a desktop application that did the same thing as a website, would we consider that an application? I certainly would not.

I suppose what I am trying to say is that a web site that looks really pretty, and has an exceptionally rich UI does not necessarily make it an RIA. This is something that everyone should consider when they are throwing around the term “RIA”, as if you put that in your product definition, you might be biting off more than you can chew. The way I see it, web designers nor web developers should really be able to build an RIA on their own. You really need both to your application a full-fledged RIA.

What are your thoughts on the matter? Do you think the criteria make sense, or am I way off base. Leave comments and let us discuss. :)

Catch you on the flip side.

Side Note: I will be away from my blog for the next two weeks as I’m on vacation overseas. Hopefully your hearts can handle it, but I assure you that I will return. Take it easy friends.

Usability Resources for Standards/Best Practices…Do they exist?

Posted in Best Practices, Usability, User Experience (UX) on April 11th, 2009 by admin – 3 Comments

Now that I have my software setup, I have decided it is time for me to share my thoughts about how much I enjoy the UI changes they have made to Windows 7. At least that was my plan for the weekend until I discussed my weekend plans with my boss. He said “Windows 7? Nobody cares about that” jokingly as he wanted me to blog about my work project as they are forming a new corporate blog. Funny thing is he joke was right. I have build 7000 of Windows 7 and the Internet has already started to discuss a newer build. In conclusion, I am going to blog about something that I find challenging in my chosen field of interest: UI Standards.

To me, it feels strange being a software developer without a set of standards that you can refer too at any given moment. I mean, sure there are coding standards, but that isn’t the focus of my job. My focus involves creating user interfaces and experiences that suit the needs of the users for an application. Considering that each application is different just based on the functionality it is supposed to provide, and how each user group might be using the application for different reasons, it makes sense that nobody at Microsoft or IBM has written a “best practices” white paper explain how to lay out your application.

Plus, compare the UI/UX aspect of an application to the others like communication or data access. In communications, you are always moving data from one place to another. With data access, you are reading and writing data from some form of database. These things never change. With UI/UX, the variables make it so grey. Sure, you are always presenting data to someone, but that someone is never the same person (unless you are writing yourself an app you never intend anyone else to use, EVER).

So the question is, are there standards or best practices for UI? And if so, what are they and where can find them?

Well, as I’m sure everyone who has ever used a computer for some amount of time, there are applications that are easy to use and there are other that aren’t so easy to use, thus the answer to the first part of the question is “yes”. The variables that make them usable/unusable vary, but if we measure those variables and remember why they worked and for what, then we can compile a collection of standards for all these different situations and therefore have some documented standards for usability.

As for the “what are they" part of the question, that can have many different answers in my humble opinion. For starters, any good UI is something that is developed over time. To develop something, you need to monitor the current results you are getting from your users. On top of that, when you have something that works for something specific in your UI, it is good to note what you used whether it be a type of control, general layout, or colour scheme. Ultimately, I think UI resources should consist of the following:

  • UI Collection Practices (how to watch your users react to your UI)
  • UI Purpose and Design (why your application is laid out the way it is and for what purpose)
  • Users and their UX (the experience that your user gets when they use your application)

Finally, I suppose the final part of the question is “where can find these resources”. As I was preparing to write my Windows 7 post, I was trying to find some sort of empirical evidence that supported why I thought certain things worked and didn’t work in Windows 7. The kicker is, I failed in finding these resources to help support my decisions. One philosophy that I tend to follow is that if you want the job done right, then do it yourself. Ultimately, you will find a “UI/UX Resources” widget on my blog here and it will be there that I will compile a bunch of links that I find exceptionally useful, starting with Quince from Infragistics. You will need Silverlight 2 installed, but it is quite the resource for getting some ideas on where to go with what you are trying to do in terms of UI.

If you have some resources you know of, please share it with the rest of the Internet (by means of a comment on this post) and I will start to compile our collective knowledge into a wellspring of usability resources.

I suppose that covers it for now. I’ll be sure to continue to update more frequently now that I actually have everything up and running again. Next time I install an OS, I hope it goes a bit more smoothly as it had been a while since I actually needed to think about what I would be formatting before I did it.

Take care friends. Catch you on the flip side.

Silverlight 3 Beta = Development Environment Overhaul

Posted in Development, Microsoft, Silverlight, Web on March 23rd, 2009 by admin – 1 Comment

If you haven’t been following Mix 2009 that went down in Las Vegas last week, then you haven’t heard that the Silverlight 3 beta has been officially released to the public. Although your "standard" Internet user may not have a serious interest in the new version of Silverlight, as an RIA developer I am exceptionally excited. The features that are to be included in this release finally give Silverlight the power it needs to take on the powerhouse of Flash/Flex. I have missed working in Silverlight 2 for the past many months at work, but with Silverlight 3 finally being available for me to play with, it has awoken Silverlight beast that rested dormant inside of my digital soul.

If you are interested in getting started on learning about this technology, or even better, start a little software development you should start at the source which is the Microsoft community site, Silverlight.NET. I haven’t been visiting as much as I once did, but be sure that you will probably see me wondering the forums a little more often in the upcoming weeks.

With the Silverlight coming alive inside of me and spring creeping up, I have decided to update my personal development environment on my laptop where I author the amazing content you find in my blog. I figure as I will be talking about software development some of the time, it makes sense to share my development environment with the all of you. This list covers all the development software and tools that I will have installed by tomorrow morning.

  • Windows 7 Ultimate (Beta)
  • Visual Studio 2008 Professional SP1
  • Expression
    • Blend 2 SP1
    • Web 2
  • Silverlight 3 Beta
    • Silverlight 3 Beta Tools for Visual Studio
    • Silverlight Toolkit March 2009
    • Blend 3 Preview
    • .NET RIA Services (very cool RIA development component)
  • Gimp 2.6

I realize that using Windows 7 might be a bit of a risk in terms of development as it is only in beta. I have heard good things about the stability of the Windows 7 beta, so I figure why not. The plan is to clean off the laptop and see if I can get all my hardware drivers working properly before I start installing the rest of the software. If this fails then I will just return to using my good old Vista Business with SP1.

With Silverlight 3 being released, Microsoft has also released a preview of .NET RIA Services which, I admit, had a very interesting sounding name but as I hadn’t heard anything of the sort prior to Mix, I wasn’t overly excited. After reading a bit of the lab posted at Silverlight.NET, my feelings changed drastically. From what I can gather, all the difficulties our team needed to overcome in Silverlight 2 seem to be resolved thanks to .NET RIA Services. I think this can really round out Silverlight as a solid development platform, and would suggest that any and all Silverlight developers utilize it ASAP.

The last tool you might be wondering about is the Gimp 2.6. For anyone that has worked with UI development, or with a design team, you should know that you will need to play around with graphics at some point when you are building that UI. As I do not require all the features that comes with Adobe CS4, or Microsoft Design, I use the Gimp because it is free and it has all the tools I need for the image manipulation that I do in my projects. For anyone who likes to play around with images, whether it be for UI development or just playing around with digital photos, I would recommend giving it a try.

I am exceptionally excited to get everything working and to get myself back into the Silverlight stream of things. There is more work to be done before I can start creating partitions, which is what I am going to do right now.

Catch you on the flip side.