Tutorial Code vs Real Code: A decision

by percent20 12/2/2007 8:58:00 AM
The goal I have set out is to provide easy to understand content for beginner developers.  As such I want to follow specific guidelines:

1) Real-world code (if possible) or Real-world Context
2) All code being shown in an application
3) Explain all code no matter how mundane or repetitive of previous posts

These are very noble goals some people have pointed out to me, but not necessarily possible.  From what I can tell beginners like well thought out explanations and easily understandable tutorials with little to no problems understanding, this is one reason video tutorials are popular.  However, this presents a problem in the world of text as it will lead to REALLY long tutorials that can be overwhelming at times for the writer and beginner. Therefore, a lot of people compromise with code snippets explaining only a piece and leaving some people going "huh".

As I have been working through an example application for my TDD series I am running into a design problem.  Do I show bad practices, because I hate the "don't use this code but here you go" statements that some tutorials have, or do I show workable code that "could" be used.  The benefit of quick and dirty code is I get the point across quickly with little space taken up, but I alienate those that want to understand but there isn't enough information in the tutorial.  The benefit of long detailed tutorials is just that they are long and detailed explain many parts of code to help a maximum amount of people, but they can tend to be to long and drawn out and lead to reading fatigue.

Solution
Go for broke.  From personal experience I prefer long drawn-out well rounded tutorials that explain things well beyond code snippets that barely explain it.  So I'd rather have fewer readers and thorough posts with quality code over shoddy code and quick posts. So basically when I do a series expect there to be a lot of parts because I want to explain ever bit of code, and all the code will need to be usable in any place. Now it doesn't mean that the code can't be better, but it will work.  Also for those that may not want to read through everything I will post up the completed project so they can download and have a look.

These are my views on the subject please post comments with your opinions.  I would love to hear them as I could be completely wrong in my thought process's and decisions.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Complaints

Current Technology is Bad for the End User

by percent20 11/3/2007 9:48:00 AM

Let me describe an average, believe it or not, scenario of current end-users in today's world.

  1. A device of some sort like a smart'ish phone.
  2. A laptop
  3. A home desktop
  4. Mp3 player (iPod, Zune, Sansa, etc...)
  5. Game Console (Xbox 360, Wii, PS2/3)

Some of the common tasks that are accomplished are:

  • Browsing the Internet
  • Bookmarking
  • writing reports or documents
  • listening to music
  • checking e-mail
  • watching video
  • gaming
  • social networking stuff (Facebook, MySpace, Twitter, etc...)
  • Phone conversations / chatting / text-messaging

The above is where things break down they are almost all broken apart each "device" does something different or in a broken manner where the other "device" doesn't benefit or help the other.  Take music for example you may have music on your laptop, desktop, iPod and Game console. However, there may be different music on all of them, but to get them all "synchronized", for lack of a better term, would take hours and usually beyond the scope of the average end-user of these products.

We can also look at browsing the Internet and bookmarks.  Currently, if you are on your laptop looking at something you won't be able to access it with a single click from the mouse, or that simplistically.  It would take remotely connecting into the other computer, synchronizing bookmarks or going to a social bookmark site.  It would take quite a bit of work to accomplish this.  In the end it would be a HUGE headache, and the end-user still has to do a lot of leg work.

Here is how things _should_ be:

You get to your desktop at home in the morning check your e-mail that has all your tasks, todo's, and events easily noticeable location so you can glance at it quickly make a change or two and get back to your e-mail.  Next, you go looking through your e-mail and see a link you want to read so you open it in your browser.  Wait, you realize that you want to listen to some music, but you want something different.  You log into your music download app say iTunes.  Download some new music and turn it on and listen while going through more e-mail.  So, now you are done with your e-mail and get up and go to the kitchen for breakfast, but like the music you are listening to so you quickly turn on the game console in the living room that is adjacent to your kitchen, but away from your office.  You navigate to that song and pickup with the music you just downloaded and queued up without hitting anything extra like sync or get.

A little later you are off and out the door dressed you have your phone/mp3 player, keys and laptop for work and/or school.  Then you get an e-mail you open your phone check the e-mail, not important so you continue.  Now, you are parking and have a few block walk to your office for work or school so you open your phone and turn on the music you just got from your desktop. Next, you are on your laptop browsing the net.  Wait, you opened up a site in your browser at home, but got distracted and don't remember exactly where you got the site link.  No problem you hit a button now all the sites on your home browser are in new tabs in your current browser.  While going through the new site you decide to open up iTunes on the laptop and download some more music so you do, but unfortunately you have to go so you don't get to listen to the music.

Finally, you are home for the evening and want to prepare a nice dinner, but remember you have music you want to listen to that you got earlier from the laptop so you walk over to the game console and hit play.  After dinner you sit down and start a movie that you are really getting into, but realize you forgot to do some work so you go into your office flip on your TV and continue the movie from where you left off and get to work on your desktop doing what ever you needed to do.

 

That is how technology should work for the end-user.  Completely seamless, everything you want or do is always at your fingertips with little to no effort to get what you want or need.  Now, I have no idea if this is even possible at this point in time from my experience it is close, but has a way's to go and takes a lot of leg work to get working properly. Even then it fails to much. The above scenario is where we should be for the end-user and I am always on the look out to get there for the masses.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Complaints | Personal

Ponderings

by percent20 5/30/2005 6:09:00 AM

Well sorry I haven’t posted here in a while. I have been on vacation the last week. While I was on vacation I was thinking. If the linux community really wants to go mainstream they need to unify linux. What makes windows so easy to use is that everything can be done under it and all of it is universal among every windows box in the world. They need to stop playing the best distrobution game and actually choose one.

Also, I was thinking. With as much as I like Microsoft there is one thing they need to give up on. That is their searching technology. The problem is they honestly can’t compete with google. So, why try? Instead help google. Give them funding computers people to help with projects. That will do two things, hopefully. It will show the world that Microsoft does not have to own technology, and that they truely want to help the best if they can’t be the best.

These are just a couple of thoughts I had. Maybe the right person will see it and someone will act on it.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Complaints | Personal

3 Basic Complaints Revealed

by percent20 4/18/2005 5:37:00 AM

One thing that you may have noticed if you have read much of my blog is I find the Microsoft vs. Open Source debate fascinating. I must say I really don't know why I do, I just do. So to continue on this trend I want to add another post on that theme.

Here lately I have been putting thought into the fundamental reasons that have contributed to people not liking Microsoft or their products. I then thought how true are these opinion.

The three opinions are:
1. I don't like their business practices
2. I don't like that windows crashes so often
3. They don't have a feature that I want, and I don't have the option to add it.

These are the three main reasons that I have been able to break it down to. On the surface they seem superficial and not worth discussing, but if that were so I wouldn't be writing this would I?

So lets take a look at them shall we.

I don' like Microsoft's business practices

Well I can understand this who would like a company that goes to court everyday for some legal reason or another. With a the biggest reason that Microsoft doesn't want to run the java runtime on their OS that is licensed to people.

Now when I say licensing this means that you are purchasing the right to use this software. You are not purchasing the software for what ever you want to use. Therefore, Microsoft has the ability to restrict what every they want, in my opinion.

Now if you have such a problem with business practices then you might want to take look at the corporate world. There are scandals happening almost every week of someone that has done something shady in a corporate position. Now the reason that most of them are not so disrespected and flamed is because they are not top of the food chain of their market. I can see why Microsoft can be an easy target because of this it is not fair that you should single them out and call them a bad company, and the people bad people for this reason alone.

I don't like that windows crashes so much

Ok, honestly this problem is an old one that is almost gone in windows XP. I crash my Linux partition far more than my windows partition. Microsoft spent a longtime to make XP run more efficient so that it did not crash as often. Friends, and I have run windows on our pc's for several weeks straight doing everything from 3d modeling and gaming to programming and word processing, and not one time did it crash. Now it did slow down really slow at points, but it would pick back up to most of the same speed.

Now one of the biggest problems with speed and stability is how big that the kernel is for windows. The reason I say this is because of what windows is, a easy to use for many users operating system, it has to be able to run on almost any pc hardware configuration that exists, and has to look good doing it. This leads to a huge kernel so that it can support so much, which ultimately gives way to conflicts of devices when loading something, to me this is common sense like the difference between a router and switch. Because, windows has to work for everything it has to stay big, now the down side to windows being closed source is you can't customize the kernel like you can in Linux for optimal performance. If you read a recent eWeek article the Linux community recognizes the problem of bloated kernel, and are starting to complain about it. So in a sense Linux is heading toward this problem. So ultimately Linux is heading toward crashes on its own, but the one thing it does have for it the customizable kernel.

So in conclusion to this point, crashes are inevitable it is usually a user error, in my experience, and it is something that will continue to happen as long as people are able to install their own software and hardware, because it seems that is were the problem is having to create software that works on several hardware configurations. I mean look at apple computers. They have an OS that is written for a specific hardware configuration and programs that are written for a specific hardware configuration leading less possibilities of crashing, but they are not impervious because I have crashed one at CompUSA. (The hardware stuff I am not sure of I was told that my a Mac person so I am taking him at his word because he seemed like he knew what he was talking about. Please, let me know if I am wrong and I will gladly write a retraction.)

They don't have a feature that I want, and I don't have the option to add it.

This is one that is the biggest complaint basically leading to Open Source dun dun duuuun. Anyway, one thing I hear a lot, not necessarily as an argument, but as a complaint is Why don't the include blah feature in their office software, windows OS, or other software. I hear this mainly when it takes a while to do something, and they want a button to do it all right then.

Now, this leads to more geeky people complaining about not having the option to edit the software because it isn't open source. To me Open Source is awesome, but as far as I have seen nothing compares to some of closed source software that Microsoft has such as office, Visual Studio, and windows. All these are easy to use and helpful for users to move around and get things done. Now OpenOffice.org is a good Open Source comparison that has a lot of potential, but does not have a lot of the things that Office does. I have not yet seen a IDE that even compares to VS. As for windows, to me Linux has a while before they are going to be as easy to use for everyone.

Another thing about being able to edit the software even with the option, how often have you actually taken that opportunity and added that feature. If you are like me you like to have the option, but have never actually done it. So for all those people that complain about it if this is the case it is a moot point because you haven't taken the opportunity so it doesn't really matter.

Basically these are all points that arise, but in a major since is honestly ridiculous in many cases. Now everybody has their right to an opinion and I respect that, but these are some insights into my thoughts on the three basic complaints that I mainly see coming from people about Microsoft. I don't like these complaints because personally I like how innovative Microsoft has been and will continue to be, and want to try to work for them one day. Now please don't think that I don't like Linux or Open Source because that is just not true, because I am currently and admin on an Open Source project iPodder.NET and am a frequent attendee of my local LUG (Linux User Group) because I see the potential in Linux and love the challenge of using it.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Complaints | Microsoft

Powered by BlogEngine.NET 1.3.0.0
Theme by Mads Kristensen


My Flare

AddThis Feed Button

National Blog Posting Month

Eagle Scout

I'm Test Driven

[Reserved for MVP status I want to earn]

View Buddy Lindsey's profile on LinkedIn

Twitter



Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in