Add to Technorati Favorites

March 23, 2008

Deep Zoom Composer

Deep Zoom ComposerIf you Silverlight 2 Beta 1 announcements at MIX, you should know that Silverlight 2 includes support for the Deep Zoom technology to allow you to quickly and smoothly zoom in on really large images. You have to check it out to see what I am talking about, it's pretty crazy cool.  If you want to see an amazing implementation of the Deep Zoom technology, check out the Hard Rock Memorabilia site: http://memorabilia.hardrock.com/

Deep Zoom Composer allows you to quickly import your own images, arrange and position them to your liking, and export the final output as either a Deep Zoom Image or Collection that can be fed into Silverlight's MutliScaleImage control. This means that you too can use your own images and display them using our Deep Zoom technology.

Deep Zoom is related to the SeaDragon technology that Microsoft has been demoing in their PhotoSynth application.

 

image

  Download Deep Zoom Composer

 

Technorati Tags: ,

March 20, 2008

Amazon Releases New Fulfilment Web Service

Amazon launched a fantastic web service today that allows merchants to tap into Amazon's network of fulfilment centers and logistical expertise.  Fulfilment Web Service.  Basically you can ship them your products, and they will in turn, store them for you, and ship them whenever you need, to whichever customer you need to ship them to!

What makes this so powerful, and worth noting on this software development blog is that this is the first time someone has successfully merged web services, with such a "brick and mortar" task, and allowed the world to use it through a simple API.

Amazon Fulfilment Web Service

The new Fulfilment Web Service builds upon the Amazon Fulfilment by Amazon service by adding this impressive programmatic access to the fulfilment process.  Manufacturing companies have been doing similar things for years with EDI, however, the implementation of electronic data exchange is very expensive.  With the new fulfilment web service, amazon finally evolves EDI with Web Services, and brings order fulfilment capabilities to millions of entrepreneurs.

What a smart move by amazon.  The do what they do so well, they are building ways of sharing everything they do well, with the rest of the world, and taking a profit in the process.  Books will be a thing of the past in the coming years.  Sure amazon will still sell books and other merchandise, but they will also be the backbend for many companies.  It just makes sense.

Make sure you check out the Amazon Web Services Blog for more details.

February 07, 2008

The Silverlight Strategy, this will be a great movie

Bill Gates

Have you seen Pirates of Silicon Valley?  I love this movie.  It's basically a docudrama that was made to show the rivalry that existed between Apple and Microsoft (Micro-Soft at the time).  During the movie you get a glimpse into what transpired in the 80's and 90's, that brought us the rise of the personal computer, and created the software development machine that is Microsoft.  It's a cool movie, although my wife would not agree.

Looking at the landscape today, you see a world that has 98% (90% to 98%, depending on what you read, point being, domination) of the machines that access the Internet Windows (Microsoft) based. 

How did this happen?  Was Microsoft first?  Did they have the best platform?  Nay Nay to both.

This all happened before in the land before the web

This story is a story about Silverlight, and how what you are about to see with Silverlight, happened already.

I remember back in the day when Bill Gates and crew were busy working on MS-DOS, and Steve Jobs shows up with his Apple.  Bill Gates was furious that nobody wanted to talk about the PC, and everyone wanted the Apple.  So easy to use, such a nice graphical user interface.  Heck I would have been all over Apple myself! 

Picture a Pontiac Sunfire showing up to a party, only to realize its surrounded by beautiful, hand crafted Aston Martins.  Apple looked unbeatable.  Their passion for beautiful operating systems and beautiful machines was unmatched.  How on earth could Microsoft get attention back on them?

Without going to much into history, Bill Gates became obsessed with creating a better graphical user interface.  The significant difference was Bill Gates and crew did not focus on creating just a beautiful experience, they focused on creating an operating system that would allow developers to easily create applications for their platform.  This is a key point.  This mindset literally changed our lives today!

Apple vs. MicrosoftMicrosoft loved what Apple did, and tried to copy it.  They did an ok job, but Vista is no OSX, Bill Gates would even agree.  Apple and Jobs would rant and scream, probably to this day that Microsoft has "No Sense of Style!" (akin to Flash and Adobe posts everywhere slamming Expression Studio and Silverlight), but Microsoft didn't care because that wasn't their game.  Heck, they were probably happy at all the attention Apple put on making things beautiful, all the while completely ignoring the bigger issues of software development lifecycles, deployment, architecture, and scalability.

What Microsoft did very well, way better than Apple, was form partnerships with developers, ISV's, and made it easy for companies to develop software for their operating system through fantastic software development tools.

Developers by the Masses

They made genius innovations like the DLL.  The DLL allowed developers to create tools that could configure themselves dynamically.  They were later extremely smart in looking into the work of Alan Cooper, who would later help Microsoft create Visual Basic, the first GUI form designer and editing tool ever created for Microsoft Windows.  They even allowed, and heavily promoted third party applications to be built to develop Microsoft applications.

Before Visual Basic, it was very hard to create graphical user interface applications.  Some could do it, but it was a very difficult and intense process. You would have to be an expert in a large amount of technologies and programming languages to get things to work just right.

By creating tools for creating windows applications, and creating these tools to work extremely well, Microsoft started drawing large numbers of developers flocking to their development tools.  Why would any developer want to spend time doing things, that with Visual Basic, you could do in a matter of seconds.

Web 2.0 Today

The web has been around forever in tech terms.  But nothing really revolutionary has gone on, besides marketing getting a hold of Asynchronous JavaScript and XML and calling it AJAX.  HTML, CSS, the DOM has been around since forever as far as we web is concerned.  Where is the real revolutionary leap?  I mean, sure, you have a ton of Web 2.0 companies coming online, everyone and their dogs are doing start-ups these days, but it’s hard to get everything to work together.  Things are coined "AJAX" and "Web 2.0", but really, all these technologies are old!

Nobody has really stepped up to the plate and taken a total dominating stance on the web.  Google is pushing applications to the web to "compete" with Microsoft, but has anyone really tried to compete with them?  Is everyone missing the boat completely?

Why hasn't Google created development tools to develop "Google" applications?  Why hasn't Facebook?  Why haven't any of the so called visionary companies out there created a real viable platform for building web applications?  Some of you are thinking they have.  Nay Nay they definitely have not.  They have all created API's and very simple Wiki documentation surrounding their API’s. Sure the concept of Mashups, XML standards, Web Services is becoming mainstream, but has anyone really taken the time to BUILD the development tools that are needed to build Web 2.0 applications?  Has anyone taken the time, or the ridiculous amounts of money they have, to build a platform on which future web applications can be built?

Microsoft missed the boat on Web 2.0, and the Web in general, and are currently way behind on the advertising side of things, but they have a plan, believe me, and it’s deeper than people think.  What kills me (and almost makes me laugh), is that they have done it before, and nobody seems to see it coming!

Why Microsoft Will Win, and Dominate the Web

Silverlight

You can bash Microsoft all you want, I personally hate the Zune (But the new version is pretty awesome, so I might have to retract that statement soon), but Visual Studio is by far the most impressive development platform end to end, ever created.

Building a "Web 2.0" application today involves having great designers, php script kiddies, JavaScript guru's, and mysql database designers and admins working for you.  Everyone is working in different toolset's, and it’s very hard to get everything to work just right.  Sure you have AJAX, but it’s really just a packaging of scripting technologies, that work fairly slow and clunky in comparison to standard windows applications.

Enter Microsoft.  With the introduction of Silverlight, they are bringing over 20 years of experience building visual, interactive business and shrink wrapped applications, to the web.  That is amazingly powerful.  You simply can’t discount this. It's so powerful in fact that speaking with Flex developers recently, they even drooled at the things they could conceivably do with a .net/Flash interactive package.  I mean, have you tried building really rich data driven, interactive, cross domain, scalable applications in Flash/Flex?  It’s horrid, if not next to impossible.

Is Silverlight a Flash killer?  No.  Is it intended to be?  Nope.  It's much more than that.  Will you still see flash animations on sites? Absolutely.  But, will you see real applications on the web, built in "AJAX"/Flash?  Nope, they will be built using Silverlight.  Dare I say, you might someday see Flash running on top of Silverlight!  Why not?

It's like Chess really...

Check Mate

And now, maybe you start to get it.  Roy Ozzie gets it, Steve Ballmer gets it, and Bill Gates is retiring and not even worried about it.  He's onto bigger more important things. Like in chess, the other side played its game, which I would equate to repetitive wins using Scholars Mate. Everyone else looked at how easy it was to execute the scholars mate, and just copied it.  Microsoft has a deep playbook, and they are ready to launch their attack, and its not just a one or two piece play, it’s the entire board. Trust me when I say with conviction that Microsoft has an army of .net developers ready to execute one of the most awesome plays you have ever seen, and it ends with developers everywhere winning.  As a consequence, Microsoft wins.  The problem with playing a scholars mate, is you are left in such a bad situation, that the end game is not just a win by the other side (Microsoft), but a clear destruction of the opponent, to the tone of 98% market share...

The bottom line is simple. 

If you want to win in software, make it easy for people to build applications for your product by:

a) providing a platform on which fantastic applications can be built.

b) provide the best development toolset's you can for your platform.

This is what Microsoft did with Visual Basic for the windows platform, and are now about to do with the Web.

And nobody is going to see it coming. 

People within Microsoft, like Scott Guthrie and John Bristowe see it coming, but mostly everyone else is in denial.  I'm looking forward to renting Pirates of Silicon Valley 2.0 - Silverlight.

 

January 07, 2008

Silverlight is coming!

SilverlightIf you live in Winnipeg, make sure you check out my presentation on Microsoft Silverlight at the Winnipeg .net Users Group!  What else are you going to do in -30 degree weather!  This month I am going to try and shake things up a bit by combining some really cool technology, to make an extremely impressive Silverlight application.  As some of you may have read already on TechCrunch, Silverlight just had a huge win at CES when it was announced the weapon of choice to develop an extremely kick ass site, would be Microsoft Silverlight.  That's gutsy!  Your talking hundreds of thousands of users accessing content, 2,200 hours of live video coverage, and an additional 3,000 hours of on demand videos.

I've been playing around with WPF, WPF/E (Silverlight) for some time now, and I love the possibilities.  The key's to its success are mainly developer adoption, and powerful systems. I will leave the getting powerful systems up to Moore's Law, however, I am going to do my best attempt over the next few months to show developers, and artists, the power of Microsoft Expressions, and all the goodness that WPF and Silverlight bring to the table!  This will be the first run of a pretty heavy technology intensive demo, so if you come out, make sure to be nice!

What I will be showing is nothing you haven't seen hyped before.  However, during this presentation, we will build the application, run the application, and actually see it working in front of you.  I will be taking the same principles that Johnny Lee and Brian Peek came up with, and applying them to WPF, Silverlight, and real world applications. 

You can register for the event here.

Below is the official Presentation details!  Hope to see you all there!

Featured Product/Topic: Silverlight
Recommended Audience: Software Developers
When: January 29th, 2008 5:45 PM - 8:00 PM
Welcome Time: 5:15 PM Central Time

From Movies to The Real World: Silverlight is here!

Join us on a tour of one of the most exciting, graphic intensive application development platforms to come out of Microsoft in years.  Don’t expect to see hello world or death by PowerPoint during this world wind tour through Visual Studio.net 2008, WPF, Silverlight, Expression Blend, Expression Design, Expression Media, and XAML.  This presentation will have you energized and pumped to expand your horizons. Closing the night, users will be allowed to try the application built during the presentation, and believe me, you will want to try this!  If you watched in awe as Tom Cruise navigated a futuristic 3D interface in Minority Report, you will leave this session running home (or driving in this cold) and loading up your development weapons of choice.

Minority Report Display

August 15, 2007

10 Software Quotes from 6 Titans of Software

Love them or hate them, these figures have changed, created, and re-booted the software industry we all live and breath in.  Bill made it profitable, Steve made it sexy, Larry gave us Larry, Google boys made it searchable, and Marc killed the desktop.  The one common denominator between all of these visionaries is extremely clear.  Passion! 

There is something to be learned from every one of them!

Bill Gates - Co-Founder and Chairman - Microsoft

Bill Gates

"The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency."

"Measuring programming progress by lines of code is like measuring aircraft building progress by weight."

www.microsoft.com

Steve Jobs - Co-Founder and CEO - Apple

Steve Jobs
  • "A lot of times, people don't know what they want until you show it to them."

  • "We made the buttons on the screen look so good you'll want to lick them."
  • www.apple.com

Larry Ellison - Founder and CEO - Oracle

Larry Ellison

"You have to act, and act now!"

 

"When you innovate, you've got to be prepared for everyone telling you you're nuts. "

www.oracle.com

 

Larry Page - Co-Founder - Google

Larry Page

"We have a mantra: don't be evil, which is to do the best things we know how for our users, for our customers, for everyone. So I think if we were known for that, it would be a wonderful thing."

"If you have a product that's really gaining a lot of usage, then it's probably a good idea.”

www.google.com

Sergey Brin - Co-Founder - Google

Sergey Brin

“We believed we could build a better search. We had a simple idea, that not all pages are created equal. Some are more important.”

www.google.com

Marc Benioff - Founder and CEO - Salesforce.com

Marc Benioff

"Always pitch the bigger picture. Salesforce.com was about "the end of software," not customer relationship management software or software as a service."

www.salesforce.com

August 11, 2007

How to Rate a Software Developer

15 tips to getting the promotion you want, and the salary increase you will deserve!

How do you rate a software developer?  That's a fantastic question!  There are so many theories out there, and there are so many forms that HR teams try and come up with to help you conduct performance review.  However, what really makes a great developer?  And if you are a Software Developer, how can you improve your career today!  Below is my bible for rating the developers on my team.  By following these tips and rules, you will improve your status from "good developer", to "great developer"!

  1. Time spent writing great code
    It's not about the quantity it’s the quality!  However a twist to this is: It is about the quantity, and the quality.  Far too many times you will get one of two scenarios. 

    In scenario A, you have a developer that pumps out code like mad, things seem to be working... then bugs start happening, you don't know why, seems to take forever to fix!  Or they fix 10 and cause 5 more!  But you get a lot of code...

    In scenario B, you have a developer that seems so smart!  You interview him and he knows everything about everything, can speak the theory up and down!  Yet for some reason, you have assigned him three features, and three weeks later, he is still working on something that should have been done in 3 days!  You are so confused!  He is so smart! He knows everything about generics, multi-threading, and can explain pointers to your grandmother and make her excited to want to code! Why is nothing getting done?!

    In your dream scenario, you get great code!  Great code is done by a great developer that is super smart, knows what quality code is, and writes code like Tony Hawk rides his skateboard.  It looks so natural!  He or she is almost entertaining to watch!  They also get it done at blinding speeds!  They know how long each problem should take, and do not get caught up in finding the world’s best solution, that has multiple threads and layers, to write a game of pong.  Bugs are nonexistent because they write unit tests for themselves, and just plain can code in their sleep!  These guys are worth their weight in GOLD! 
  2. Interpretation of the problem
    So there is a problem out there, with millions of ways to solve it.  Some people are just natural quick thinkers and can come up with multiple solutions instantly.  However, what a great developer would do is totally define the problem before doing anything!  A great developer will create a document or whiteboard the problem out.  They will email their managers and say things like "Can we meet so I can explain to you how I understand the problem?"  Next they will start giving you various solutions, etc.

    See, a great developer knows that the way they see the problem and interpret the problem, is probably not the way that the problem creator intended it to be understood. This is a key point, commit this to memory! A great developer will want to understand it fully, before attempting to approach a solution.  Do you understand the problem 100%, no?  99%?  Go ask more questions and be sure you are 100% clear!
  3. How the problem is approached
    So once you have clearly defined the problem, you start coding right? Wrong!  A great developer will look at the layout, and start thinking of various options, and based on the problem, will start thinking about the best approach to solve the problem.  I view this like a game of chess.  You can know how all the pieces move, know all the rules of the game, but do you just start moving?  No!  You analyze the board, come up with a game plan, look at your opponent, and look at what he or she usually do.  It’s the same case when you approach a problem. 

    Look at the problem, figure out what the outcome needs to be, what kind of time you have, the quality being expected, the tools you have to work with, etc.  Then, start solving the problem. 
  4. Confidence in code
    As a manager, how confident can you be in their code.  Some developers you can say "I need this completed by Friday"  come Friday, you get an email saying "I have checked the code into the branch, it is ready for testing" and you  just know that there will be very little, if any, bugs found by the quality assurance team.  On the flip side, there are some developers that will email you instead and say "I am still not done, and it will be done on Monday morning first thing."  And you are nearly 95% sure that it will be there, however it will be ridden with bugs, and basically unusable for days, if not weeks, until bugs are completely ironed out of the code. 

    Bottom line: The higher the confidence you can have in a developer, the closer they get to being great developers!  Imagine being your manager, and the weight you lift off their shoulders if he doesn't have to worry about your code!
  5. Confidence in the solution
    It's one thing to be confident in the code.  If you have a great developer on your hands, you are confident in the solution.  These great developers will be great architects.  They are able to dissect the whole problem, and figure out how the problem needs to be solved. See it’s not just about coding with great code, it’s also largely about how you architect the solution!  This is a key point, and really what separates the good, from the great in the software world. 
  6. Meets user requirements
    At the end of the day, you can have the best code, and the best solution possible, with all the best architecture, but does it meet the user's requirement?  It's possible not!  And you have completely failed.  Now there are various degrees of missing the mark, but a great developer will hit the bull’s-eye consistently!  They find out exactly what the user wants, come up with a great approach, show the user what they will get every step of the way with weekly builds that have no bugs, and continue to build upon the last version.  Requirements are bang on, and the users do the jig!
  7. Staying up to date
    Great developers are constantly updating their skills independently and proactively!  They thirst for new knowledge and perfection like a cat with milk.  They don't wait for their managers to come to them and set goals, ask them to take courses, or are given books to get up to speed on.  They go and get these things on their own! 

    They find the conferences they want to go to, and send emails like "I would really love to go to Tech-Ed This Year!  I will learn <insert reasons here>, and I will be able to contribute to <insert projects here>.  I foresee this saving us <money/metric reasons here>.  If it's at all possible, can the company help me pay for this trip?”  If someone sent me this, I would not only help pay, I would pay the entire trip! 

    Great developers are always attending all the user groups, like a .net user group for example, or a Java user group.  They go to the "free local" meetings, and do whatever it takes to feed their brains!  Do you read all the latest blogs and magazines?  List your top 5 favorite development blogs right now!  Can you do it? You should be able to drop them like you can do the actions to the YMCA!  Stay up to date, it will stretch your mind!  You will have the next big idea!  You will be rewarded! 
  8. Contributes to team
    You can be one of the best, if not the best coder, architect, most brilliant guy on the team, but as far as I am concerned, if you are not able to share and contribute to your team, you are losing about half your value, if not more!  A great developer makes others great around them! See, a good developer keeps getting better and better, but doesn't share the knowledge they obtain, or how they obtain it. 

    They learn new things, find out about new technologies, but don't let anyone know about them!  A good developer finishes their projects on time, but when push comes to shove, is not there for the rest of the team.  A great developer is in touch with all the projects that are going on within the team, and is ready to lend a helping hand when needed! They will say things like "I noticed team A is working on <issue>, and I think I can help out, do you mind?"
  9. Makes great meeting minutes
    This is incredibly important!  There is nothing worse than calling a meeting, taking the time to explain new concepts, new ideas, brainstorm, come up with great designs, and not have anyone taking meeting minutes!  Even if you have a designated meeting taker, I want to see everyone showing up with a pen, and paper (developer notebook is preferred).  A great developer takes great notes!  They write out all meeting minutes, and at the end of the meetings can be heard saying "So just to confirm, my action items are:  <action items here>.  Did I get everything?” 

    Next, a great developer will send their meeting minutes to the manger, listing the date of the meeting, the topic, and attendees.  Following this, you will have the action items at the top, with who is the champion of the item.  Below that, you have the detailed meeting minutes.  A good developer, takes no meeting minutes, says yes every time you add something to his list... and hopes that his memory will serve him well.  He then later emails you to check out his changes, and you cringe as you see he forgot a few things, but got 90% if it correct.  This is a HUGE WASTE of time!  For no reason at all!  Take Great Meeting Minutes! 
  10. Teachable and takes criticism well
    If you have read this far, then hopefully you are taking all this in and will be trying to implement some of my suggestions in your day to day development efforts.  See, another key area is the developers’ ability to learn from others, and take criticism well!  By making yourself a teachable person, you turn into a sponge, and absorb enormous amounts of knowledge faster!  Your seniors are there for a reason!  Sure, they might be rusty at day to day coding, but they have gone through the trenches, and been through hundreds of battles, and have the wounds and scares!  They have the "Blink" instinct to make great decisions, and make you great!  They are in the position they are in because they LOVE to see you succeed, and want to make you grow! 

    Of course, this is the ideal work environment, but that's where you want to be anyway if you are a great developer!  I absolutely guarantee you, and promise you, that the better you can improve this skill, make yourself extremely teachable, make notes on suggestions and criticism, and make a point of improving them, the better chance you have at becoming greater than you have ever imagined possible!  If you on the other hand, choose to think of yourself as "elite", and have nothing more to learn, you will always be stuck where you are.  If you are not growing, you are not even staying at status quo, you are dying!  Grow! 
  11. Always available when needed
    This is a give and take.  If you are working for a great company, they will be flexible with you.  They should never question doctor’s appointments that you couldn't schedule after work, start times, end times, or lunch breaks.  They should encourage you to go to the gym at lunch, pay for lunches when you go out with the team, etc.  They should give you a few days off after some crunch time work.  This list goes on and on. 

    However, with all those perks, comes responsibility, no question!  If it’s crunch time, a great developer will suggest to you that he will come in on the weekend if needed.  They will stay as late as possible and as late as is needed to ensure the job gets done!  See, great developers take responsibility for their creations!  Now, this is not a necessity of course, but it is the mark of a great developer. Some people just want the 8-4:30, and will be good developers, but they will never be great. Great developers are team players to the end, and view their work like art, and view their team, like a family.
  12. Dress's professionally every day
    You never know when a client will come by on a tour.  You never know when you will be called into a meeting, not everything is planned.  And when that time comes, you have to be ready to dance!  A good developer wears normal clothes Monday to Friday, even stretches it with black jeans, and runners that look like dress shoes.  On casual Fridays, they wear shorts, runners, and a T-shirt.  When the tour comes by on Friday with a new huge account, you can’t call on him to join you for lunch because he is not dressed appropriately.

    A great developer dresses in great business clothes Monday to Friday. They dress for success!  See, by looking the part, you become the part!  Of course, if you have no skills, you will not be promoted to a manager or team leader just because you dress sharp.  But if you have great skills, and dress in a suit and tie, you have just catapulted yourself up in rank, no question.  The 400 dollars you will spend on a decent suit and tie will pay you back within the year.  I promise you! 
  13. Communication Ability
    This is another critical category!  There are so many good developers out there, but there are not a lot of great developers.  Why?  Because a lot of the good developers, are terrible communicators.  There are many levels of communication, ranging from email, to small SCRUM meetings, all the way up to large executive meetings and your ability to contribute at the executive level.  Then you get to "The Show" where you are presenting for hundreds of people, showing off software.  While you don't need to get to the final stages, you need to be able to at least communicate your ideas clearly and effectively in meetings.  The better your communication, the farther you will go. 

    Bottom line:  If you want to be an executive, you have to be a 9 or 10 at communication. Even when you take meeting minutes, or send out status reports, you need to communicate extremely well!  Don't just say "I fixed bug 1371" on your daily report!  Show off; explain how hard it was to solve the problem, how long, or how quick you solved it!  Explain the technology you used!  And explain how you will ensure the problem doesn't happen again.  Your status reports should not be a bad thing you don't like to do!  They should be an exciting part of your week where you get to show off to your manager!
  14. Goal Setting Skill
    Good developers can get things done, and go throughout their day to day by doing what you tell them to do.  They don't really think far ahead and think of what they want to be doing in a year, five years, or even 10 years.  Some good developers know what they want... but have no real plan to get there!  A great developer has the goals for the year, the next five years, and knows roughly where he will be in 10 years.  

    Great developers also take it to the next level by not only thinking about their goals, but also visualize it!  They can see exactly what they will be doing in five years, to the level of where they will be doing it.  Even more, a great developer will create a detailed plan for his next year, complete with courses he will take, projects he will complete, and relationships he will build. 
  15. Organizational Skill
    The final key component that really brings everything together is organization.  You may be the best developer in the world, but if you are not organized, you will fall apart and become bogged down!  Eventually you will be overwhelmed and start losing your edge.  Great developers keep an extremely clean desk, they keep all their notebooks, and write very clearly.  They print out their daily outlook calendar of meetings and tasks.  They have an inbox process to deal with emails, meetings, and new assignments.  They keep file folders and can instantly pull up projects, meeting minutes, and other details when asked to produce them.

Bonus Tip:  Passion!
One of my team members read my post and reminded me of something that every single person on my team has in buckets!  Passion!  Without passion in what you do day to day, you will not be a great developer, or great at anything for that matter.  Lack of passion is the number one reason so many developers never become great!  It is also the number one reason people do not succeed! A passionate developer will outperform even the best technical developers if they are not passionate about their job, their role, and their project.  Think about it, if you have read this far, are you going to make an effort to make all the changes I listed?  They seem simple, but without the passion to do these things, are you really going to commit today and be successful?

So there you have it!  These are some of the key principles I am using in rating my development team during the review process.  Mind you, I provide my team members with the best environment I possibly can, and in return I want great developers!  And they want to all be great developers!  You can use these rules to rate your developers, or if you are a developer yourself, please use this list to make changes if needed, and catapult your career past your peers! 

Follow these tips, and you will get the promotion you want, the increase you have been waiting for, and you will overall be happier with your achievements!  Try it out and post your results in the comments below!  I'd love to hear from you!  Also if have other points you think I should add, let me know!

August 10, 2007

Web Site Top 10 Things to Consider!

web20 So you are creating a new web site!  That's fantastic!  But what do you need to make sure you consider when you embark on the project?  Below is a list of 10 things that you must consider before you build your site.

  1. Browser Resizing
    Does the web site resize nicely in different browser window sizes.  What is the target size you are designing your site for?  A site can look great on 1024 by 768, but what happens when you put your site on a high resolution 21inch LCD Panel.  Your site should look good on any resolution!
  2. Background Color
    If you use white background colors, do you actually specify white, or just leave it as default? A lot of people have their default background colors set to grey instead of white.  When you load a site up that does not explicitly set the background color to white, it shows up as whatever the user has set up as his default.
  3. Site Alignment
    Will the site be aligned on the left, right, centered?  Very important decision to make!  Ensure you have this question answered before you begin, although it can be changed later, it can be a pain.
  4. Will the header and footer of the site resize?
    Does your header need to resize every time the browser window is resized?  what about the web page footer?  Make sure you speak with the designers if you have any working on the project and get this detail hammered out!
  5. Browser Compatibility
    Will the site need to be 100% compatible with all browsers? Opera? Safari? Internet Explorer? Firefox?
  6. Dynamic Rollovers
    Does the site require dynamic rollovers for navigation buttons and hyperlinks?
  7. No Tables
    Do not use any tables, use DIV tags or SPAN tags for everything.
  8. Standards
    What standard will you follow? W3C Valid HTML 4.01, W3C Valid XHTML 1.0 Transitional, or W3C Valid XHTML 1.0 Strict.
  9. Make sure to use SEO Semantic Coding with complete presentation separation.
    You are probably really familiar with normal HTML coding.  SEO Semantic Coding, or Semantic Markup focuses on writing code that is descriptive.  It enables search engines and other web site indexers to categorize your site properly, and give it more weight in search results.
  10. Web Site Loading time.
    Make sure you know all the basics about saving images.  Doing this piece wrong can cause your page load times to increase exponentially!  PNG/JPG/GIF... make sure you know which file type to use in the right situation.

Think about these things the next time you work on a site.  You will be miles ahead of the competition!  Stay tuned over the next few weeks as we focus more on each individual section above.  Are there any I missed? let me know through the comments!

August 08, 2007

Best Web 2.0 Web Sites - July 2007

We have a returning Web 2.0 champion this month, facebook!  We also have a few other awesome web sites that you have to check out!  Improve your web experience today by checking out the top 10 sites, and seeing which ones you love the best!  Let us know your comments by using the comments below the posting!

  1. logo_facebook-rgb-7inch-785733
    For the second month in a row, Facebook is ranked at number one for Web 2.0 companies and web sites.  With traffic growing at a ridiculous rate, new users signing up by the thousands every hour, Facebook is perfectly poised to be the reigning king of Web 2.0.  While myspace still has the most traffic on most accords, facebook with launching its new development platform has really propelled itself ahead of the competition.
  2. logo_182x40_000000

    One of the world's largest social networking sites, Fotolog is an ever-evolving global network where members communicate and connect through photographs.  A simple and fun way for anyone to express themselves on a daily basis, Fotolog allows members to easily publish an online photo diary, or photo blog, and share it worldwide.

    What makes Fotolog special is not just the ability to post photos, but the ability to connect with people. While many people use Fotolog to stay in better touch with their friends and family, others use it to explore the wider Fotolog universe, discover the photos of new people from around the world, participate in group projects and, perhaps most importantly, receive personal feedback on their photos.

  3. logo_home
    As flickr's tag lines states, flickr is the best online photo sharing application on the Internet today.  It by far has the best tools for uploading your photos, organizing your photos, and sharing them with your friends and family.  You can use your browser, mobile phone, PDA, and literally any device that can take pictures, to upload your photo's to flickrflickr then takes it to the next level by allowing you to share your pictures in a million ways! 

    Friends and family can search the pictures on the web, subscribe to an RSS feed to be notified of new pictures, sending emails from the site, and other crazy ways that you might want to suggest!  If you want to share pictures, flickr is your tool!

  4. delicious 
    del.icio.us is a social bookmarking website -- the primary use of del.icio.us is to store your bookmarks online, which allows you to access the same bookmarks from any computer and add bookmarks from anywhere, too. On del.icio.us, you can use tags to organize and remember your bookmarks, which is a much more flexible system than folders.

    You can also use del.icio.us to see the interesting links that your friends and other people bookmark, and share links with them in return. You can even browse and search del.icio.us to discover the cool and useful bookmarks that everyone else has saved -- which is made easy with tags.

  5. maps_results_logo
    In the old days, Google Maps would still be the new kid on the block, however, in Web 2.0 days, Google Maps is ancient.  However, there is no better way to help you get from A to B quicker.  Sure there are other tools on the market, some of which have been around even before Google itself, but they are terrible in comparison to the speed and ease of use!

  6. vimeo
    Because everyone shouldn't see everything.  What a great slogan, and a great way to compete with YouTube and other clones.  vimeo is extremely clean and easy to use, and I love it and enjoy the experience much better than YouTube.  If I want to see ridiculous videos, and read comments with people bashing each other, I use YouTube.  But when I want to share a video with my family, I use vimeo.  Check it out today, I guarantee you will love the site and visit it daily!

  7. 43 things
    People have known for years that making a list of goals is the best way to achieve them. But most of us never get around to making a list. 43 Things is great for that! Make a list on 43 Things and see what changes happen in your life. Best of all it’s a way of connecting with other enthusiasts interested in everything from watching a space shuttle launch to grow my own vegetables. So the next time someone asks you, “what do you do?” you can answer with confidence, “I am doing 43 things!”.  Check out 43Things.com today!

  8. zillow
    Zillow is an amazing real estate site!  It not only provides you with actual housing value for millions of homes across the country, but it also provides an extremely visual and easy to use interface for finding the data!  With its integrated mapping capabilities, you can even zoom in on the area the house is located in, and see visually the location! 

    Zillow really gives you the edge and a great high level overview on homes and their values.  If you are in the market, or just curious to what is going on in real estate, check out Zillow.com.  You won't be disappointed.

  9. farecast
    Chances are you haven't even heard of Farecast.  Too bad.  It's awesome!  Farecast.com is the first airfare prediction web site. They help online travel shoppers save money by answering the question; should you buy now or wait? They offer airfare predictions from over 75 U.S. departure cities to top domestic destinations.  So next time you start wondering, should I buy my ticket now, or later, and what timeframe, just go to Farecast.com!

  10. odeo
    Do you love podcasting?  Do you love finding new and exciting podcasts to listen to?  Are you a publisher of podcasts?  If you answered yes to any of those questions, this is the site for you!  What they are trying to build here is the ultimate podcast center on the Internet, and from the looks of things, they are succeeding!  If you need to find fresh content to listen to on your iPod, or want to promote your own new podcast or music, check out Odeao.com today!

August 06, 2007

Check Website Uptime Automatically

When you start managing hundreds of web sites, it becomes critical to ensure your web sites are live and performing well.  Even if you only have one Blog that you care about, it's nice to know if the site is actually up and running.  In an ideal world, your data center, or web host would be up and running 100% of the time, and in case of a failure, inform you.  Unfortunately this is not the case.

How much does it cost you to have a site down?  How unhappy do your customers become when they try and access their site, and its down!  One solution is to write a ping tool on your own, and monitor your sites.  This actually works really well, however there are some free tools on the Internet, and some paid services, that actually do a great job these days.

Monitorus

monitorus is a wonderful service similar to pingdom, however it is free!  One plus side to pingdom is the ability to do internal monitoring as well as the external monitoring.  This means you can also monitor disk space, CPU usage.  With monitorus you can also monitor your VoIP Gateway, E-mail servers, and other Network Devices and Servers.

Installing the Smart Agent is extremely easy, simply download from your control panel, and install on your server.  You will be emailed an activation key, which is simply entered into the new system tray application, and you are up and running.

agent_acivate1
Figure 1 - Install Smart Agent 

Once you have installed the agent, you can easily create reports and tests to run on your server.

add_agent_test1

Figure 2 - Create Tests

So you now have external monitoring of your site with information on if it goes down at all and its response time, you also have the ability to find out if your memory is running low, or your CPU is being hammered.  There is more!  This package also lets you track your visitors via a basic Web Analytics Package.  Setting it up is again very simple!

VTandSpeed
Figure 3 - Visitor Tracking with monitorus

monitorus is a fantastic tool, and best of all, most of the features are free!  This one gets my recommendation.

 

pingdom

Pingdom offers everything from simple to very advanced server, network and website monitoring services. Pingdom offers you the ability to monitor your servers and infrastructure 24/7, all year long. They have a multitude of monitoring servers placed all over the world with just one goal in mind: To alert you as soon as any of your servers, networks or services fail. Pingdom gives you full control over your infrastructure.

The best part about pingdom is it only takes 5 minutes to set up and you're up and running.  Everything is done through their custom interface, and no code needs to be added to your website.  No software is needed to be installed and you will be monitoring your websites instantly.

Unlike monitorus, pingdom is $9.95 per month.  However I find the reports you get from pingdom are much better quality than competitors.

June 10, 2007

Java Not Worth Building In

Steve Jobs with iPhone

"Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain..."

Those were the exact words of Steve Jobs in January of 2007.  You have to keep this statement in context.  Jobs was talking about the portable device market, and the desktop market.  In 2000, Jobs actually made a valiant effort of bringing Java to the desktop with the launch of Mac OSX.  The harsh reality for Java supporters out there is that software developers don't want to write desktop application in Java.

I mean sure they want to write games, and small applications here and there, but for the most part now, desktop applications are ruled by C, C++, or .net.  For every one (1) Java application released, there are 10 .net, C, or VB applications released.

Java does have its place still in the enterprise market, but they have lost the desktop battle.  The only other "desktop-ish" battle they had a chance to win was the browser battle, but on that battle field, Flash is the master, hands down.  Adobe made a brilliant move in acquiring Macromedia.

When the iPhone is released at the end of the month, it will sport the most sophisticated, well thought user interface ever written for a portable device.  It will not run Java.  This will make the device a hundred times more stable as it will protect people from going to download badly written Java applications onto their mobile phones.  It will force anyone that wants to write an application for the iPhone, to go through Apple.  Here is where many will call fowl, however, I call "hurray!".  It will start forcing application standards and performance requirements on people!  And this of course is only if Apple decides to open this up.  And they will, once they own the cell phone market and make it the platform for cell phones.

Listen to the D 2007 Conference and watch Steve and Bill chat.  Steve Jobs knows that the mistakes he made in the past were partnerships, or lack thereof. 

"We weren't so good with partnering with people. Bill and Microsoft were really good at it."

Look at facebook, they own the social network market (There are others, but for usefulness and most avid users, they win hands down), and have now opened up the development via the facebook API.  This was sheer genius on Mark Zuckerberg's part!  This will surely catapult facebook into the stratosphere!  Steve Jobs will make the iPhone the cell phone.  Sure there will be others, but the iPhone will capture market share you would not believe when compared to other phones.

 

At the end of the day, people want great software that is fast, easy to use, and performs the way they expect it.  The iPhone will do this, as the iPod did. 

Now what if Apple decides to sell the iPhone "Operating System" to phone companies once they smell defeat...  This could be Apple's chance to take a road that was once not taken, and saw Microsoft become what Apple could have been.

December 29, 2006

Web 2.0 Design Guides

Web 2.0

What is Web 2.0 anyway?  In reality, Web 2.0 is the second coming of web services that put an emphasis on collaboration and sharing between users of the systems.  Another clear aspect of Web 2.0 sites, although not mandatory, is the clean design of these sites.  Big clear buttons, less columns, extremely simple interfaces.  All this makes these applications much more user friendly and useful.  I was going to set out to write a Web 2.0 Design Guide, and I still might, however, based on some searching on the internet, I decided I would first compile a list of excellent resources you can already use today!  Please comment below on your favorites, and any other additional resources you would like to see!

Anyway, this list should get you started on the path to Web 2.0 greatness.  From the overall, to how to actually make the buttons, all is covered in the links above.  Hope this helps you on your quest to enhancing your web sites!  Ok, time to get back to my Wii, I’m approaching pro status on boxing!

October 26, 2006

Best of the Best Web 2.0 Web Sites

Web 2.0 sites are cropping up all over the place!  From Social Bookmarking Sites, to Real Estate sites, this list has only the best Web 2.0 Sites available today!  What makes a site a Web 2.0 Site?  Web 2.0 is the second coming of World Wide Web. New and improved sites that make the web their platform, provide users a way of interacting with each other, and organize and categorize their content are perfect examples of Web 2.0.  Below is a list of web sites that are the best of the best!  If you would like to see some added to the list, please comment below!

Best Web 2.0 Guides - July 2007

Best Web 2.0 Guides - June 2007

If you enjoy this blog, please help us out by adding this blog to your technorati favorites! It's really simple to do, just Add To Technorati Favorties here.

Social Bookmarking Sites

Software Development Web 2.0

Social Communities

Software Development Web 2.0

Start Pages

Software Development Web 2.0

To Do Lists

Software Development Web 2.0

People News Production

Software Development Web 2.0

News Sites

Software Development Web 2.0

Image Storing and Sharing

Software Development Web 2.0

File Storage

Software Development Web 2.0

Video Storage

Software Development Web 2.0

Blog Filters

Software Development Web 2.0

Word Processing

Software Development Web 2.0

Calanders

Software Development Web 2.0

Classified & Business Directories

Software Development Web 2.0

Online Dating

Software Development Web 2.0

Financials

Software Development Web 2.0

Scientific Research

Web 2.0 Development

Advice

Mobile Web Communities

Software Development Web 2.0

Project Management and Team Collaboration

Software Development Web 2.0

Content Filtering

Software Development Web 2.0

Mash-Ups

Ning

Aggregators

Software Development Web 2.0

Web Site Analytics

Software Development Web 2.0

E-Mail and Communication

Software Development Web 2.0

Mapping

Software Development Web 2.0

Parts

Software Development Web 2.0

World Improvement

Software Development Web 2.0

Business Software

Software Development Web 2.0

Command Line

Software Development Web 2.0

Validator

Jobs and Work

Software Development Web 2.0

Wiki

Software Development Web 2.0

Shopping

Software Development Web 2.0

Search

Trusted Search

Software Development Web 2.0

Real Estate

Software Development Web 2.0

Music

Software Development Web 2.0

Travel

Software Development Web 2.0