Skip to main content

InfoPath & SharePoint (Part 1)

A departure from sports and politics. This one is about technology.

InfoPath sucks and SharePoint is the most expensive piece of crap ever. InfoPath, as a development environment, has absolutely no redeeming value. It's worthless and if your boss ever thinks of using it, you have three options:

  • convince him not to (not easy once he's been brainwashed by the Microsoft marketing presentations)
  • use one of Al Gore's lockboxes to store away your sanity 'cos you'll lose it. Also, pad your estimates very generously. You'll need every bit of time you can get.
  • quit immediately while you still have your sanity
First, InfoPath:

To me InfoPath is like programming in assembly language. Sure it makes it easy (too easy in fact) to bind data to controls. But it doesn't provide you with easy access to your controls. Why is this important? Say you want to disable a button:

in most technology: buttonA.enabled = false (or something similar).

In InfoPath, you simply can't do this. You have to use something called "conditional formatting" to bind the button's enabled state to the a data field. While this is not so bad in theory it quickly breaks down in practice where you have multiple buttons. And where you sometimes have to set a button's enabled state to another button's state. In InfoPath, you'll have to "point & click" to set up conditional formatting for each and every button.

InfoPath doesn't have a label control. If you are developer, you'll know why this is glaring oversight. In fact, InfoPath has a very limited set of controls. Thinking about adding custom controls, good luck! You'll need to write ActiveX and convince your users to download your controls to their browser. Say goodbye to non-IE users.

InfoPath forms are saved in a proprietary binary format (really it's just a cab file). Why is this an important deal breaker for any sane developer? Because having ALL your source code in a binary format makes source control virtually impossible.

Now, InfoPath is not totally useless. You just have to use for what it is designed for (i.e. simple forms). And even then, trying to push the envelope will cause you untold amount of headache.

I'll write about SharePoint in my next post. Of course, it goes without saying that this is my personal opinion.


  1. I googled "Infopath sucks" and your blog are right bro¡
    I have to work on infopath (politics :S) with an access connection, and i am frustrated; the queries on infopath are just plane selects (I need the WHEREs, the LIKEs...but noooo... "you can do anything with just 8k" righ Bill?), the security alerts appear every 10 seconds, and also, as you said, the control over the "controls" is just follow a line... I AM SO PI$$ED OF...
    Anyway, again, you are right bro...

  2. You're either lying; or have no idea how to use infopath.

  3. I salute you! I have spent already 4 months on the road of InfoPath - SharePoint to do the simplest things in life! I tried everything so far and i m really pissed off with it! Politics in the name of business,.... and the most important piss takes goes to:
    1) no multiline text box in secondary data sources nested within sections (i.e. imagine u want to retrieve-submit to and from XML web service (the only easy submition for lists in infopath secondary datasources) such as this example: ( unfortunately works ok but no control over the appearance of controls and NO multiline text box... so no nicely edited comments in comments table.
    2) SP foundation 2010 / or SP Server 2010 runs only 64bit server.... nice one i will have to save some money on my next bonus to buy one....
    3) Sandboxed (since when code is a luxury) solutions require administrator approval.... Yeah right very nice when working in a large corporate environment and the admins don’t even know what that means...
    4) The default Sharepoint-list infopath form that binds everything automatically does not allow for code editing! Yeah some things better remain unknown!
    5) The end user experience sux when everything you used to know about .net it meant to be working but actually it needs admin setup. And when the big boss says disable external DB connections/Code etal i say Sharepoint-Infopath-M$-Politics SUXXXXXXXXXXXXXXX
    6) Lets hope Infopath 2020 will address these issues!

  4. 7) Infopath retrieves all items from the list then reders them then lets the controls decide on how to display them. This sucks when retrieving from large lists i.e. more than 5000 items and doesnt work.... even my grandma can handle more rows!


Post a Comment

Popular posts from this blog

Does InfoPath (still) suck?

A couple of years ago, I wrote a blog post titled "InfoPath & SharePoint (Part 1)". Back then I had just started working on a project using InfoPath 2007. So, expectedly, the post wasn't very complimentary to InfoPath (or SharePoint). In fact, I said: InfoPath sucks and SharePoint is the most expensive piece of crap ever. InfoPath, as a development environment, has absolutely no redeeming value. It's worthless.... ( more ) Since then my opinion of InfoPath has changed slightly. It still suffers from all the flaws I pointed out in that post. However, I think when used right, InfoPath can be an OK tool. I think it's well suited for designing one off forms and not for anything that requires complex logic or multiple iterations (like most software development requires). Alas, most CTOs fall in love with its point & click simplicity and integration with SharePoint that they try to use it to replace more developed technologies like ASP.NET. What do you get? A h

Technical Certifications are worthless

Technical certifications, especially in the IT field, are totally worthless. Why? All a technical certification prove is that you were able to buy a couple of exam prep books, cram them in a week or two and take an exam. My monkey (if I had one) could do that. I can't tell you how many times I have interviewed certification-carrying candidates for open positions at my company only to find them severely lacking in thorough understanding of computer science. I don't care that you have an MSCD or MCP or whatever it's called these days if you don't know foundational concepts in computer science and database design. For example, I don't want someone who just knows that you store things in a hashtable using keys. I need you to know why a hashtable is better than an array in some cases. I need you to know when an interface is better than an abstract class; when to use recursion; the different kinds of joins and when to use each one; I need you to understand how crucial so