Add to Technorati Favorites

September 12, 2007

10 Free Software Development Tools That Rock!

That's Right! Free Software Development Tools!

As a software developer, you require the best tools to do your job effectively!  Here are some tools you can use right now absolutely free!  The tools range from applications that will speed up your software development time, to graphics design tools, all at no cost to you!  Enjoy the software!

  1. ConTEXT
    A small, fast and powerful freeware text editor, developed mainly to serve as secondary tool for software developers. This tool will easily replace notepad.
    Visit Site | Download
  2. AutoHotkey
    This tool sends several tools into retirement. It unites hotkey and text macros and offers a scripting-language, which is more powerful than every batch-file and easier to learn than the Windows-Scripting-Host. Beginners are able to start fast because of the scripting-language, similar to BASIC, contains a macro-recorder and syntax-checker.
    Visit Site | Download
  3. Aptana
    The Aptana IDE is a free, open-source, cross-platform, JavaScript-focused editor and development environment for building Ajax applications. It features code assist on JavaScript, HTML, and CSS languages, FTP/SFTP support and a JavaScript debugger to troubleshoot your code.
    Visit Site | Download
  4. CSS Tab Designer
    CSS Tab Designer is a unique and easy to use software to help you design CSS-based lists and tabs visually and without any programming knowledge required!
    Visit Site | Download
  5. Paint.net
    Paint.NET is free image and photo editing software for computers that run Windows. It  features an intuitive and innovative user interface with support for layers, unlimited undo, special effects, and a wide variety of useful and powerful tools. An active and growing online community provides friendly help,  tutorials, and plugins.
    Visit Site | Download
  6. Gimp
    GIMP is the GNU Image Manipulation Program. It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
    Visit Site | Download
  7. Adsen Software
    Adsen FavIcon is a simple favicon editor that lets people make a favicon ico for their website, which shows up in IE's favorites. It can use either bmp or jpg files, and will convert them to ico format using the size and color quality you choose. Not only can you create fav icons, but it can also be used for creating icons for programs. Adsen FavIcon comes with notes on what settings to use for making fav icons and how to install them.
    Visit Site | Download
  8. WebLog Expert Lite
    WebLog Expert is a fast and powerful access log analyzer. It will give you information about your site's visitors: activity statistics, accessed files, paths through the site, information about referring pages, search engines, browsers, operating systems, and more. The program produces easy-to-read HTML reports that include both text information (tables) and charts. View the WebLog Expert sample report to get the general idea of the variety of information about your site's usage it can provide.
    Visit Site | Download
  9. FileZilla
    FileZilla Client is a fast and reliable cross-platform FTP, FTPS and SFTP client with lots of useful features and an intuitive interface.
    Visit Site | Download
  10. PSPad
    This tool rocks is all I can say! If you work in different software development environments, and want a simple tool that will highlight source code and give you powerful features usually reserved for expensive software development applications, this tool is for you!  It handles VB, PHP, Python, you name it!  All in one editor!  Never use notepad again!
    Visit Site | Download

 

September 08, 2007

Why SharePoint Portal Server is Terrible

I'm going to start a controversial section to my blog entitled Learning from Failures.  The idea here is the analysis of failed software projects, and how we can learn from them.  The other possible outcome would be that someone from these software development companies and their respective divisions will stumble across my blog or article, and make some changes!  I won’t hold my breath on the last point, but it should make for some interesting articles!

It should be noted (and should be obvious), that the reason I chose to talk about SharePoint is Microsoft HAS learned from their failures/mistakes, and has now shipped a pretty decent version of SharePoint!  The problem I still have with it is the marketing behind it, but hey, marketing is marketing.  That said, the thoughts below are mostly around the first few versions of SharePoint.  SharePoint 2007 rocks!  Try it!

What Went Wrong With This Idea?

First let me say that I think SharePoint is a fantastic idea.  That said, I think it's a fantastic idea that has failed because of four key reasons:

  1. Far too complex to install, configure, and customize.  It is not agile.
  2. It is being sold as a solution to organize unorganized companies.  It is being sold as a system to add process's to organizations that don't have them.
  3. It's rendered HTML is brutal, along with the CSS files.
  4. It is one of the most unflexable applications I have ever used.

Have you ever heard the "KISS" theory?  Keep it simple stupid.  Well unfortunately nobody on the Microsoft SharePoint Portal Server team seems to have heard about it.  First off, let me say that SharePoint Portal Server is an awesome tool, in theory!  However, it seems to have been designed by people that thought they were rocket scientists, and expected some massive adoption.  I mean it’s super easy to configure, all you have to do is become a master in:

Technologies You Must Master

  1. SharePoint
  2. SQL Server
  3. Internet Information Server
  4. Active Directory
  5. File Stores
  6. Indexing
  7. Software Development
  8. Search Engines (To help customize the brutal search built into it)
  9. Database Design and Development
  10. XML
  11. .NET 2.0
  12. ISA Server
  13. Master Pages

Sure Microsoft will tell you its super simple to configure and set up, but it’s simply not true, which is why hardly anyone to any kind of mass uses SharePoint.

Basic Design Flaws

Another basic rule in Microsoft has again royally broken, is the "Less is more" rule.  Especially when you are dealing with non power users.

All you've managed to do now is install it by the way.  What is next?  Well setting up a process for document management. 

Document Management Process

Why do most SharePoint Implementations fail?  Does it eventually get setup?  Of course, Microsoft will bend over backwards to get someone up and running rather than say their technology doesn't work.  But what happens after?  Nobody uses it?  Why?  Oh lack of training right?  Wrong!  Although, that is another reason it could fail. 

A major reason it fails is because of how they are trying to sell it!  They are basically saying "SharePoint will help bring happiness to your organization by organizing all your documents, enabling tracking of documents, indexing, searching, workflow, etc."  The reality is, this is completely untrue!  What will help you do all those things is good process!  If you do not have good process behind your current file structure even, or an idea of what you will be doing when you want to apply taxonomy, tagging, and other document management principals to your organization, you have no business even looking at software yet!  Especially one as complicated as Microsoft SharePoint Portal Server. 

Wiki's Rock!

This is why wiki's work so great, they are simple places to organize your thoughts and find things!  They are great for places with no processes in place.  Do you know what happens when you turn on workflow features like check in and out, approval paths, etc. in an organization that has trouble enough keeping up with email?  Disaster!

I mean, even if you somehow manage to find a great implementation partner, and convince Microsoft to give you money to use with their partner, what are the chances that the partner has any clue of how to manage documents in a large organization?  What are the chances they will help with the hard stuff, which is not (should not be) the technology? 

Just Try and Change!

So if for some miraculous reason you have made it this far in your SharePoint implementation, I'm impressed.  Now, what happens on patch Tuesday, or any time your IT team decides to upgrade anything that SharePoint talks to.  SharePoint issues galore! 

In Closing

SharePoint is a great idea; it was just built completely wrong.  It's a perfect example of trying to build something that does everything, making the software so complicated that it is so hard to use, that it is useless.  Have they learned from mistakes?  I don't think so!  Instead, they went and integrated Microsoft Content Management Server, which had great potential, and put it into SharePoint.  Ouch.

Will Microsoft ever get SharePoint right?  It's possible, if they start copying Wiki's and other great easy to use software like BaseCamp, Zoho.  If strip away the layers of junk and useless complexities in setting it up (it takes me about 5 minutes to set up MediaWiki, or 2 minutes to setup BaseCamp).   Yes they are vastly different and much less complex, however, the way the marketing is done on SharePoint, if you called your local Microsoft Partner and said "I want a site where I can share documents and edit web pages and have others contribute" the first thing out of their mouths would probably be SharePoint.

What they should do?

I know pro SharePoint people out there will say, SharePoint can't be compared to BaseCamp or MediaWiki, because it’s far more complex!  To which I say, "Exactly".

What should Microsoft do?  I would let SharePoint die, and start a whole new initiative of applications that are easy to use, fast, and efficient.  Applications that can tie into other existing applications that do things better!  Don't try and be everything to everybody.  Let's try and create an action item list for them:

  1. Fix your search, it must be better than Google's search, and it is not even close.
  2. Get rid of your hierarchy and start teaching people to use tagging.
  3. Make installation easier.
  4. Make Development easier.
  5. Make Training Easier (Better Training, and Easier Product).
  6. Create Clean XHTML standard code; fix your 4MB+ CSS files!
  7. Make it "Mashable".

What They Will Do?

Microsoft will continue to poor money at it, and put the marketing machine of Redmond behind this product.  Partners will continue to push it because some large corporations are paying huge licensing fees for the product. 

It is possible that one day, maybe in 5 to 10 years, SharePoint will finally be great a few years, since 2007 is actually really awesome! But for a company that has hundreds of thousands of developers at their disposal, thousands of partners, an insane amount of money, and has an operating that is installed on a large majority of the population, isn't it a little ridiculous how long it's taking?

What we learn from Microsoft

If you are trying to make life easier for users by organizing documents, and creating a central place to find things, you need to make software that is easy to use!  You cannot expect users to love something that is harder to use than what they already do!  You can't expect to turn legions of developers into pro SharePoint developers if you make it so complex to write simple search queries and add web parts that do anything besides display the weather.  Here is what we learn:

  1. Keep it simple.
  2. Your software needs to be easy to install.
  3. You need to listen to your users.
  4. Developers must be able to easily customize and extend your application.
  5. Your application should not rely on certain infrastructure being present, if possible, or at least, very minimal.
  6. If your application generates HTML, it better be proper XHTML and not Microsoft HTML.
  7. Ensure your application has a very low learning curve.  SharePoint should be included as an example in the dictionary for "Steep Learning Curve"
  8. If you have a lot of money, you can sell even the worst application.

Any other lessons to learn, more faults to SharePoint?  Please share below!

 

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.

Add Us

  • Add to Technorati Favorites
    Add Miguel Carrasco's Feedburner

    Add Miguel Carrasco to Google

    Subscribe to MyMSN

    Subscribe to MyYahoo!

    Subscribe to Bloglines

    Subscribe to Newsgator

    Subscribe to Feedster

    Subscribe to NewsIsFree

Great Sites