Some Useful Flex/AIR Tidbits

Posted in AIR, Adobe, Flex on April 22nd, 2008 by dan

Recently I had the “pleasure” of learning the ins and outs of building Flex and AIR applications via the SDK on a Linux machine.  I wanted to do this for some of the libraries that underpin my project so that they could be built and tested automatically.  So, I setup SVN, Trac and CruiseControl on a Ubuntu VM on my mac.  To get started there are tons of resources about getting SVN and Trac setup under Apache on Ubuntu so, just Google for them.  Setting up CruiseControl was really easy thanks to their good documents, I started with the source distro but, do whatever works.

Now, onto why I’m posting today, along the way I found some annoying things about how FlexBuilder played with the SDK.  For instance, the .flexLibProperties file that is hidden in your FB project, is not the right format to be taken in as a parameter to “compc” ( the library compiler, which seems to require a list of class names to include ), so I wrote a quick Python script to convert that file into a config file that is readable by compc.  Here is how to include it in your Ant script:


<target name="setupClassList">
    <exec executable="python" failonerror="yes">
        <arg line="${helperDir}/classFileConverter.py ${lib_root_dir}/.flexLibProperties classes.xml"/>
    </exec>
</target>


 

It takes in two parameters so you can manipulate the output location of the new file.
Another odd part is that the application descriptor for an AIR project doesn’t get correctly populated.  FB itself fills in the <content> tag for you when it goes to compile.  If you look in your source directory the application descriptor has this string, “[This value will be overwritten by Flex Builder in the output app.xml]” instead of the name of the SWF.  One more little python script:


<exec executable="python" failonerror="yes">
    <arg line="${helperDir}/appDescrFix.py ../bin-debug/${app_descriptor}"/>
</exec>



 

Of course, I am going to give you the scripts!  Here are the links:
.flexLibProperties Converter
Application Descriptor Fixer

 

If someone knows a much easier way to do this just using the command line tools and/or Ant, I’d love to hear it!

New Year, New Gig

Posted in SAP, blog, et alii on January 9th, 2008 by dan

San Francsico

My blog has been quiet and I’ve been off Twitter for close to a month now, mostly due to taking some well needed time off after the SAP Fellowship but also weighing a pretty big choice I had to make.

Stay at Colgate-Palmolive or leave for a job working for Adobe in a new product group creating a new enterprise software offering.  A new job certainly has its risks especially when compared to the stable home I have made for myself at Colgate.  However, with some good advice from my friends I have decided to leave Colgate to pursue the opportunity with Adobe.

Working at Colgate has allowed me to do so much and opened so many doors for me.   I cannot begin to express how much I appreciated all the support through the years the company’s management has give me.  I’ve traveled ( and taken pictures ) all over the world from India to Bangkok to Dublin.  I got to learn what makes a business like Colgate run from both the IT and business side.  I’ve presented in front of thousands of people in both the US and EU.  These experiences cannot be learned from a book and having this as my first job out of school was a great experience.

However, working for Adobe is going to be a great new chapter in my life — getting to see how software goes from just an idea on a whiteboard to a full fledged product is going to quite an adventure and I look forward to the challenge.

Thanks again to Colgate and more importantly all the Colgate people that made my time there so enjoyable.

For those of you keeping track my last day at Colgate will be Jan 18th and I will start at Adobe that following Monday, Jan 21st.

Crack Addicted Invisible Hand

Posted in SAP, innovation on December 9th, 2007 by dan

In Scoble’s blog Why enterprise software isn’t sexy, he asks a simple question, “Any of you have any ideas on how to make business software sexy?”  A lot of my fellow Enterprise Irregulars have taken Robert to task about this, saying that it is in reality sexy:

“[B]eauty and sexiness is in the eye of the beholder… [seeing] UPS give each one of its drivers a DIAD – and they did it years before the recent wave of personal gadgets – with GPS, wifi, scanning and other technologies. And with a battery that lasts all day. Can our iPhones do that?”

Vinnie does a great job showing how underneath the ugly exterior enterprise software is amazing and sexy.  Most of these posts are all missing the important comparison Scoble is making that Nick Carr picks up on here:

perpetuating a false dichotomy between the friendliness of consumer apps and the seriousness of business apps, all that Krigsman is doing is giving enterprise vendors cover for continuing to produce software that’s difficult and unpleasant to use

The post from Michael Krigsman(which although Nick beats up on chooses not to link to) talks about, how all this isn’t relevant because enterprise software is “intended to “enable core business processes” with a high degree of reliability, security, scalability, and so on.”

Enterprise vendors need to be keenly aware of the consumer market but, SAP’s customers don’t pay them to run around like Scoble and chase every new technology/website that comes out.  They pay them to make measured, smart choices with what they create and how they spend their R&D money.  Their customers do indeed expect the software they create to have a “a high degree of reliability, security, scalability.”

Enterprise vendors have an advantage – they can ride on top of the frothy startup market cherry picking things that work well and will deliver value back to an enterprise’s bottom line.  In the consumer tech industry, the invisible hand of the market is addicted to crack and has the attention span of a two year old.  The consumer market is chaotic, jumpy and prone to fickleness.  Online companies/ideas are created and destroyed everyday, and it is up to Scoble and other followers of tech to survey what’s out there, they need the thousands of readers.  The two industries have totally different business models, Twitter needs millions of users to monetize their software, SAP is very profitable on about 40k “users” world wide.

This shows the Enterprise software market is much more focused and so is their advertising.  Dan Farber does an excellent job of handling this topic and refocusing the discussion on what Gates actually said:

The business computing market, which is way bigger than the consumer computing market, no one pays attention to it. Even in the Wall Street Journal, and you think, oh, this is the paper they’re going to tell me about business computing; no, it’s all about consumer computing

LiveSide.net – Bill Gates, Mix n Mash, and the future of Microsoft

Dan goes on to point out why ZDnet covers enterprise topics:

We recognize that in the 21st century you cannot easily separate the two, given technology is deeply embedded in work and personal lives… [T]he financial equation is not just about page views or number of readers–more important is the quality of readers we draw into the ZDNet orbit

Who am I to contradict Dan when it comes to the determination of advertising revenue — after all he is the Editor in Chief of ZDnet.  In the advertising arena you can also point to things like SAP sponsoring golf stars, tennis pros, formula one cars, etc.  Who watches these things?  CIOs, and other TLA execs who make these decisions.  If SAP cared about CPM they would advertise with NASCAR.  Let’s just give SAP the benefit of the doubt that they understand their market more then Scoble.

I couldn’t agree more that Enterprise vendors need to make things easier to use and an all around friendlier experience but, they need to be smart and measured because that’s what their customers want.