Wednesday, June 11, 2008

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.

4 comments:

  1. I googled "Infopath sucks" and your blog appeared...you 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...

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

    ReplyDelete
  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: (http://www.infopathdev.com/blogs/matt/archive/2006/02/02/Add-SharePoint-List-Items-with-InfoPath.aspx) 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!

    ReplyDelete
  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!

    ReplyDelete