Blog
-
April 30, 2009
Handy Federal Election donation limits chart (thanks McKenna Long & Aldridge)
A friend of ours over at McKenna Long & Aldridge LLP in DC gave us this great donor limits chart (in a business card size). It is a pretty handy tool so here it is for all you campaigners out there:
DonorsRecipientsSpecial LimitsCandidate CommitteePAC (1)State, District, Local Party Committee (2)National Party Committee (3Individual$2,400* per election (4)$5,000 per year$10,000 per year combined limit$30,400 per year*Biennial limit of $115,500* ($45,600 to all candidates and $69,900 to all PACs and parties (5)State, District and Local Party Committee$5,000 per election combined limit$5,000 per election combined limitUnlimited transfers to other party committeesNational Party Committee$5,000 per election$5,000 per yearUnlimited transfers to other party committees$42,600* to Senate candidate per campaign (6)PAC Multi-Candidate (7)$5,000 per election$5,000 per year$5,000 per year combined limit$15,000 per yearPAC Not Multi-Candidate$2,400* per election (8)$5,000 per year$10,000 per year combined limit$30,400* per year*These limits are indexed for inflation in odd-numbered years.
(1) These limits apply both to separte segregated funds (SSFs) and political action committees (PACs). Affiliated committees share the same set of limits on contributions made and received.
(2) A state party committee shares its limits with local and district party committees in that state unless a local or district committee's independence can be demonstrated. These limits apply to multicandidate committees only.
(3) A party's national committee, Senate campaign committee and House campaign committee are each considered natinal party committees, and each have separate limits, except with respect to Senate candidates - see Special Limits column.
(4) Each of the following is considered a separate election with a separate limit primary election, caucus or convention with the authority to nominate, runoff election and special election.
(5)No more than $45,600 of this amount may be contributed to state and local parties and PACs.
6) This limit is shared by the national committee and the Senate campaign committee.
(7) A multicandidate committee is a political committee that has been registered for at least 6 months, has received contributions from more than 50 contributors and - with the exception of a state party committee - has made contributions to at least five federal candidates.
(8) A federal candidate's authorized committee(s) may contribute no more than $12,000 per election to another federal candidate's authorized committee(s). 2USC§432(e)(3)(B) and 11CFR 102.12(c)(2).
-
April 28, 2009
Boston Globe burys White House related errors!
Which is the true news story here?
Today's Wall Street Journal front page states:
"A 'Classified Photo Op Turns Into A Soaring Blunder for the White House
Mission to Get Beauty Shots of Presidential Jet At Statue of Liberty Panics 9/11-Wary New York."
This headline is followed by a nice color picture of a Air Force One 747 and a fighter jet flying at low altitude. The article then goes on to talk about the Air Force admitting that the flight was a secret mission of which city officials had been made aware.What about the Boston Globe?
The Boston Globe has a very different take on this story. On the Globe front page, there is a small lead that says,
"A flyover by two jets sent frightened workers pouring out of buildings..."
The AP article is printed on page A7 and doesn't mention the fact that one of the planes is an Air Force One 747 until the 8th paragraph, 300th word. Talk about burying the lead.
The fact that it was a Presidential Air Force One buzzing Manhattan and scaring folks is THE STORY! Why hide it?
This is not a huge story so why protect the White House in such a heavy handed manner? What else are you hiding?And the Globe (owned by the NY Times) wonders why its subscribers are defecting to Internet based news sources.
-
March 26, 2009
Presidental fundraising: 2008 verses 1976
While doing a little market research today, we pluged the past 9 election cycle fundraising numbers into a graph. Besides the dip in the 1980 election, we've got a serious growth industry here.
Note that the Y access is in millions so the total amount raised in the 2008 cycle was $1.63 billion. That buys a lot of yard signs.

-
March 26, 2009
Calling all Australian PHP developers, we need bodies to manage our CodeIgniter/AJAX mashup CMS
Calling all Australian PHP developers, we need bodies to manage our CodeIgniter/AJAX mashup CMS which we call Tegel: http://tinyurl.com/cg6x4g.
Candidates must be able to work on-site at our offices in Rozelle, less then 7 minutes for the center of Sydney.
-
March 17, 2009
Twitter for complete and utter beginners
A client of ours who is not very "new media" savvy wants to jump into the Twitter pool without looking like a total rube. They asked if we could jot down a few notes to help them get started.
If you are halfway familiar with Twitter, you can stop reading now. If you are new to the Twitter world, the following notes may help you get started. Note that these thoughts were pulled together from a bunch of folks in the office so if there is any plagiarism here, please be flattered ;)
------------------------------------
1. Twitter Basics
Twitter is a free mass text-messaging service that allows you to send out 140-character messages to a group of followers. It is used by friends, family and co-workers to stay connected. Twitter utilizes real time updates (referred to as Tweets), which are posted on your web-based Twitter profile and sent to your Followers’ (other Twitter users) mobile phones.
Twitter is like a casual digital diary and is used for publishing fun facts, useful tools, thoughts, questions, etc. The 140-character space limit emphasizes a large number of short posts. Twitter posts traditionally consist of:
- Status Updates: “Off to the store for some milk”
- Musings: “The construction on 95 in Stoneham is driving me insane!”
- Interesting Links: “Peggy Noonan’s comments today on the economy hit the nail on the head: http://online.wsj.com/peggy-noonan.html”
- Questions: “Is anyone else having problems with their GE fridge freezing up?”
- And much more.
It is not necessary to make each Twitter post substantial. Twitter followers are most interested in what you are interested in or what you are doing now. Twitter should be treated as a fun, slightly self-indulgent broadcasting toy that can lead to a deeper connection with your audience.
Note that Twitter is not just a way to broadcast messages, you can also reply, “@replies” in Twitter-speak, to your followers. Replies are not necessary but are considered good form in the Twitter world.
2. Glossary- Tweet – a short (I40-character) message.
- weeters/Tweeple - People who use Twitter.
- Twoosh - A perfect 140-character tweet.
- Followers - Tweeters who are following your tweets. Followers will see any updates you make on their homepage of Twitter.
- Following - Tweeters you are following. You will see any updates (tweets) on your homepage from anyone you are following
- TweetUp - An ‘in person’ meeting between Twitter users.
3. Getting Started
All you need to use Twitter is a computer with an Internet connection or a mobile phone. Go to http://twitter.com and sign up. Take a look at who is using Twitter by using the Find People tab. Some successful tweeters include:
- eNilsson - http://twitter.com/enilsson (we couldn't not include this one)
- CNN Breaking News – http://twitter.com/cnnbrk
- Stephen Fry – http://twitter.com/stephenfry
- Barack Obama – http://twitter.com/BarackObama
- Anderson Cooper – http://twitter.com/andersoncooper
Once you are comfortable with the experience, you can take advantage of all Twitter features.
4. Things you should do- Post tweets that add more value than the attention it consumes. Instead of posting “just had a great burger”, post something like “great burger specials today at Joe’s Burger Palace in Cambridge”.
- Be aware of how often you tweet. Post enough to keep followers interested (at least once a day), but not so much that you flood their feeds with 50 new tweets a day.
- Use Twitter to provide updates when a new blog post or press release is posted on your website. This can be done automatically provided the content is already in an RSS feed.
- Use services like tinyurl.com and is.gd to shorten links. Tweet real estate is important because of the 140-character limit. Tweeters use these services (often built into desktop and mobile Twitter applications) to shorten links like https://www.freestrongamerica.com/contribute to http://is.gd/kHdP.
5. Things you shouldn’t do- Do not post just news updates. News updates are important, but including personal content in your tweets allows for that human feel that makes social networking and media work.
- Don’t post and read at the same time. What happens is that you are all set to make a post, but you see updates from people you follow so you stop to read those. After a while, you have forgotten what you intended to post, as well as your to do list. Schedule time to twitter.
- Do not use an @reply to send a message to someone that you would like to be private. This will show up on the public timeline.
6. Mobile Tweeting- Text Messaging/SMS: You can send updates to Twitter by linking your mobile phone number to your Twitter account and then sending a text message to 40404. You can also elect to receive Twitter updates of other users by allowing Twitter to send their updates to you in a text message. Important: Twitter is limited to 140 characters while most mobile carriers set the text message limit at 160 characters. If you go over 140 characters then your message will be curtailed.
- Smart phones: Popular devices like Blackberry’s and iPhones have applications that can be downloaded to improve the user’s experience with Twitter. For the iPhone, try TwitterFon at http://twitterfon.net or Twitterrific at http://iconfactory.com/software/twitterrific. Each device and application has its pros and cons, but the general principals of Twitter remain the same.
7. Twitter applications for Blackberry users- TwitterBerry – The most widely used Twitter application for Blackberry phones, TwitterBerry has its legions of loyal followers. With all applications, TwitterBerry can only pull from the Twitter api less than 70 times an hour. A complete FAQ can be found here: http://www.orangatame.com/products/twitterberry/faq.php. The supported devices and system requirements can be found here: http://www.orangatame.com/products/twitterberry/.
- Twibble – The second most popular Blackberry application for Twitter. Twibble will function on any JavaScript enabled mobile device. Pros for Twibble include keyboard shortcuts and minimal amounts of data transferred. A huge draw for most Twibble users is that Twibble can be configured to be ‘geographically aware’ on some devices – this includes updating your latitude and longitude coordinates with each Tweet. For obvious security reasons we would not recommend enabling this feature. More information here: http://www.twibble.de/twibble-mobile/.
- TinyTwitter – TinyTwitter succeeds in that it will work for any phone that is JavaScript enabled. All of the basic functions are the same, including a number of settings to customize the user interface and data displayed. More information can be found here: http://www.tinytwitter.com/about.html.
8. Actions/Features- @replies - By using “@username” at the beginning of your tweet, you can direct that tweet at a specific user. It is intended to support back and forth communications. This type of messaging is publicly visible.
- ReTweet - To re-send a previous tweet or to resend someone else's tweet so it reaches a larger audience. Proceeded with “RT @username” with the username being the original author.
- Direct Messages - You can send a direct message to another user by using the message link on their profile page, the reply icon from your own direct message, or using the command “d <insert username> <insert text>” message. Only you and the person you are direct messaging will see the contents of the tweets. You can only send a DM to someone who is one of hour followers.
- Favorites - You can store any of your favorite tweets by clicking the star icon by the message.
- Tags, hash tags, and #’s – You enter a tweet that reads: #golf Augusta National GC opening soon. The #golf is a tag. Users will often include a tag somewhere in their messages if they are relevant to a popular topic. The tags can be searched at http://search.twitter.com/. The search result for #golf is http://search.twitter.com/search?q=%23golf. All tweets with the #golf tag will be listed.
9. Recommendations- Acquire your name, fore example: twitter.com/DavidBeckham: As in domain names, a Twitter account name is important. The more personal you can keep it, the better. Example: WarrenBuffett is a better username than BerkshireHathaway.
- Use mobile tweeting, but use an application and not the text message service. If someone were to gain access to your account then that individual would be able to access your phone number. Also, an application can allow you to browse tweets easily – the SMS/text message option would require you to subscribe to a user and would also open yourself up to a plethora of text messages.
- Consider using a service like TweetLater.com to track relevant keywords and hash tags, automatically post pre-written tweets at scheduled intervals, and automate a host of other actions.
-
February 26, 2009
Australian Department of Immigration is all kinds of awesome
It appears that usability standards have not reached Down Under.
While filling out a 457 Long-Stay Visa application, we were faced with the following pulldown:
"If you wish to lodge only one nomination application then leave the counter set at "0". Entering "1" will generate two nominations, this nomination and an additional nomination. Entering "9" will generate ten nominations, this nomination and an additional nine nominations."
The best part was that one of the pull down options had two seperate zeros to choose from. Don't choose the first one becaust that zero doesn't work.
Calling all usability experts, there are jobs to be had with the Australian Government! -
February 26, 2009
The wrath of Internet Explorer

Lifehacker.com header - from top to bottom - in IE 6, IE 7, and Firefox 3. If you're involved in the world of web design and developing then you know all about the horrendous family of browsers from Microsoft. The nomenclature is quite appropriate - each labeled as Internet Explorer and then followed with a number that dictates what ring of hell each hails from.
The awfulness of Internet Explorer (6 and 7 being the presently used versions) doesn't really have all that much to do with the user experience. IE 7 is actually a tolerable browser when you're stuck running Window Updates and downloading spyware tools on your computer illiterate friend's computer. The real evil shows itself when you write up code for a website and you have to insert some annoying workaround to get some simple element to render correctly.
Case in point: When we want to use images with transparency in IE 6. Or building a Flash application that will run on a https server and the problems that causes with IE.
In Internet Explorer's defense, other browsers do miss the mark in the same respect. But at least other browsers are grouped somewhere around the bull's eye. Internet Explorer is the drunk at the local bar that's, at times, lucky if it's hitting the wall that supports the dart board.
Like an idiot I held out hope that IE 8 would make all of this a bit easier. Nope. Recent news from ZDNet is quite sad. IE 8 has a growing list of high traffic sites that apparently are not compatible with how it wants to render them. The best one on the list: microsoft.com.
And all these browser issues is another reason why we love Flex.
-
January 26, 2009
My.BarackObama.com used to spread malware
It appears that our misgivings regarding the Obama campaign and our our online privacy protection posted in our October posting had some merit.
According to the "Websense Security Labs Threat Seeker" (that is quite a product name), bogus my.barackobama.com user accounts are being used to spread malicious code. Here is the full posting: http://securitylabs.websense.com/content/Blogs/3284.aspx. The scary part is that these reports of malware on my.barackobama.com began last spring and have yet to be resolved.
Don't get us wrong, we believe in the use of technology to bring people and ideas together. Unfortunately, when every you bring large groups of people to one place, there will be opportunities for bad guys to be bad. As in meat-space, we all need to do our level best to make public areas (social networks) safe for everyone.
In the end, we are responsible for ourselves and for what we download or share online. Embrace change but "hey, let's be careful out there... " -
January 16, 2009
eNilsson contributes to job growth in Washington, Boston and Sydney
eNilsson is hiring! Our business is doubling this year and we need your help.
Boston (Westford) - We are looking for a Project Manager who is comfortable getting their hands a little dirty by working on our PHP based platforms.
We'd also like to get our hands on a Front End Developer who has strong design skills.
Sydney (Rozelle) - We need an up and coming star to help build on our existing Flex products and to take ownership of new projects. Strong design skills are a must. Skills and enthusiasm in microarchitectures (Cairngorm), custom AS3 components, states and transitions, AMFPHP and user interface design would be very desirable.Washington DC - Are you connected? We need a Business Development Director to help us capitalize on our DC area sales momentum. Can you help us develop clients and new strategic partnerships within the hallowed halls and corridors of Washington? If so, we need to talk.
Learn more about these positions and how to apply at: www.enilsson.com/careers.
-
January 08, 2009
Help, my AWS instance has fallen and it can't get up...
Our first day back after the festive break was an eventful one! So as we eased back into working life our AWS instance, a nicely optimised Fedora AMI that was serving both our suite of Tegel hosted sites and as the core testing area for our new Struktor application platform, suddenly went silent!!
While I thanked my lucky stars this didnt happen while I was stuffing my face over christmas dinner, or glued to the TV watching the Boxing Day Test I was none the less perplexed and a little lost.
The symptoms were strange, the instance appeared to be running when we checked the ec2-describe-instances call but no matter what we did, either via HTTP, SSH or SFTP we couldnt raise it at all. So we checked further, and it appeared that all our S3 data and the Elastic Storage Block (EBS) data appeared to be intact (thanks jeebers for that!), but the EC2 instance was toast.
So we raised the topic on the AWS EC2 forums and got a fairly quick response which was nice;
Hi James,
We are investigating a misbehaving network device that seems to be affecting connectivity to a small number of instances. We are working to fix or replace that device. You can relaunch your instance or wait and we should be able to restore connectivity.
Regards,
JoeJHmm, that is strange, well at least it wasnt something we did. As you can imagine we were mentally running through all the things we may have done to bork the server, so it was nice to hear we were in the clear.
So after some more checking we decided the best course of action was indeed to rebuild the server onto a new instance, however this posed a few issues;
- The running AMI could not be stopped, it hung in terminating mode indefinately
- It proved difficult to unmount the storage block from the running AMI, unless we used the force option
- We had neglected to institute Elastic IPs so the IP attached to this AMI was lost to us, meaning all our domains needed to be repointed to the new server.
Once we realised what was involved, the disaster recovery proved relatively straightforward if however inconvenient.
- Instantiate a new instance of the AMI from the saved snapshot
- Mount the detached EBS onto the new server, and test the instance
- Grab yourself an Elastic IP if you dont have one already and assign the new instance to it (this article proved most useful)
- Make sure all your domains have the new IP address listed
- Test
The beauty of the Elastic IP as we discovered is that if this were to happen again, we can simply assign that IP to a new instance and we can skip step 4, which can be a huge timesaver if you have a lot of domains with different registrars.
A learning experience to be sure, but now we know the recovery should be pretty quick and painless!
-
January 06, 2009
eNilsson pursues the non-violent overthrow of bad user interface design
About a year and a half ago, Bill Higgins wrote a very interesting article about user interface design. In short, he says that products/programs should be developed to look like the platform in which they run on. So, says Bill, “a Windows application should look and feel like a Windows application, a Mac application should look and feel like a Mac application, and a web application should look and feel like a web application.” For Bill, if you don’t heed this warning then you will confuse your users because the application won’t feel natural.
Bill, this is me disagreeing with you:
Your average user has come a long way and is not made so easily uncomfortable by differing UIs anymore. Exhibit A: iTunes for Windows. Launched back in 2003, iTunes for the Windows platform maintains the same exact look, feel, and functionality as native OSX programs. In fact, it has become Apple’s flagship program (with the help of the iPod) and has been exciting young people with the Apple UI since its launch.
And it doesn’t stop there. Exhibits B, C, and D: Fluid, Adobe Air, and Mozilla Prism. Fluid uses Site Specific Browsers (SSBs) to make web applications look like desktop applications. And Adobe Air is a cross-platform runtime environment for web applications, allowing developers (and sometimes the user) to bring a consistent UI to web applications regardless of the operating system. Mozilla Prism is yet another program bridging the divide between the Internet and the desktop in that it "focuses on how web apps can integrate into the desktop experience... also working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to 3D graphics hardware." Plus Prism has the benefit of being built on our beloved Firefox - yes, that means support for HTML, JavaScript, CSS, and <canvas> on ANY operating system.
And then there’s ElephantTrakker. eNilsson built ElephantTrakker in Flex to look and feel like a desktop application regardless of the environment. It has the rich feature set of a desktop application, and speed to match from its cloud data service, so the look and feel is a great complement. But is it confusing or uncomfortable? Quite the opposite. When it was first deployed to volunteer fundraisers for the Romney campaign it was embraced by all levels of computer users whom soon couldn't live without the program. Perhaps eNilsson has taken advantage of working in an area where few standards have been established, so users have little to no expectations regarding UI.
Whatever the explanation might be, it seems that the UI divide that Bill speaks of is shrinking despite his warnings. As more programs migrate to the cloud (announced today is that iWork is even moving to the cloud with iWork.com - in beta at the moment) and other programs focus on syncing data and functionality across multiple platforms (see the success of Evernote), users seem not only open to changing the way they interact with their information, they are relishing it.
-
December 23, 2008
Online software a bright spot in a down economy
The Wall Street Journal reported today that "online software, which businesses access over the Internet... is expected to gain attention since it can save money and help productivity."
We've been preaching this for years! Even Larry Ellison (Oracle's CEO) who didn't think one could make money selling Software As A Service (SaaS) is now pushing Oracle into the SaaS pool.
The 900 lb. gorillas have now decided that our market looks attractive. Microsoft too, is trying to swim in our pool by recently launching online services.
Luckily the market is big enough for everyone. Now that the gorillas are on our own turf (or swim-club, to continue the analogy) we have the opportunity to make the the gorillas cower before the creative might of eNilsson International llc.
Have you ever seen a gorilla swim? It is not pretty. -
December 14, 2008
Boston office hammered by December 11th ice storm.
As of this morning (Sunday 12/14), we still do not have power in our Boston office. Thursday night's ice storm knocked out power for over 1.25 million people.Luckily today the temperature should break 42° F / 6° C which will keep folks' pipes from freezing and it is only suppose to get down to 35° F / 2° C tonight which will make for a comparatively warm evening.
The Sydney office has just checked in. They are reporting that it is sunny and 78° F / 24° C and Raf is just back from a early morning surfing session. Somehow I think that there will be a flurry of transfer requests tomorrow.
It is Monday the 15th in Sydney so apparently the ice storm has not affected the time change.
2008 New England Ice Storm
Wallpaper

1024x640 1280x800 1440x900Boston Globe:
As cleanup continues, 162K still waiting for power -
December 05, 2008
Is it time to start talking about the 2012 presidential election yet?
Poll watchers, start your engines!
Huckabee and Palin top early 2012 list
CNN - Barack Obama is still more than six weeks from White House, and the next Iowa caucuses are more than three years away — so naturally, it’s time to start talking 2012, as a new national poll suggests that Sarah Palin and Mike Huckabee top the list of potential 2012 Republican presidential hopefuls...
http://politicalticker.blogs.cnn.com/2008/12/05/huckabee-and-palin-top-early-2012-list/
-
December 05, 2008
Free Beer experiment fails
Back on November 14th we posted a blog entry to test the theory that the words "free beer" would drive web traffic to the eNilsson blog.
Our theory was based on the popularity of our "US Tax System - Explained With Beer" posting from 11/4. At the time, we were shocked by the number of visitors coming to eNilsson.com just for this posting. We figured that the word "beer" was the driving force here. What better way to test our theory then to add the magic word "free" to "beer" in a blog post?
RESULTSAfter 21 days, here is what we found. The Free Beer blog posting was:
1. 16th most popular content page based on page views
2. 13th most popular landing page, only one page behind "US Tax System - Explained With Beer"
CONCLUSIONPeople like blog postings on beer. No supprises here but the beer postings are far less popular than most of the more eNilsson centric pages. This is good as our website is not a pub.
All is well with the world.
-
December 01, 2008
Having fun while respecting your customers
I found the following label on the back of a door mat and it really got me thinking about how companies treat their customers. First the label:
Important things you should know about your new doormat
Warning: Do not use mat as a projectile. Sudden acceleration to dangerous speeds may cause injury. When using mat, follow directions: Put your right foot in, put your right foot out, put your right foot in and shake it all about. This mat is not designed to sustain gross weight exceeding 12,000 lbs. If mat begins to smoke, immediately seek shelter and cover head. Caution: If coffee spills on mat, assume that it is very hot. This mat is not intended to be used as a placemat. Small food particles trapped in fibers may attract rodents and other vermin. Do not glue mat to porous surfaces, such as pregnant women, pets and heavy machinery. When not in use, mat should be kept out of reach of children diagnosed with CFED (Compulsive Fiber Eating Disorder). Do not taunt mat. Failure to comply relieves the makers of this doormat, Simply Precious Home Decor, and its parent company, High Cotton, Inc, of any and all liability.
My guess is that our lovely US product liability laws have forced High Cotton, Inc. to put a warning statement on their doormat which is a ludicrous requirement. Instead of caving in to "the Man" High Cotton, Inc. made the best of the situation by having some fun with their label. If my assumptions are wrong and High Cotton, Inc. created the label just for laughs, nice job!Will I buy another High Cotton, Inc. doormat based on the warm fuzzies brought on by reading the warning label... probably not. I will, however point out the label to friends, neighbors, associates and the occasional enemy whenever the opportunity rises.
The upside of this witty warning label is that High Cotton, Inc., besides having a good time, is treating their customers with respect and affection.
1. We as a company respect your intelligence and are not going to give you a stupid, "do not ingest this doormat" warning label.
2. We care about you, our customer enough to give you what amounts to a "free prize" inside every doormat package.
This is good business. A company can never go wrong respecting its customers and offering a free prize inside every product.
-
November 21, 2008
eNilsson is still hiring and is even adding to the list
That's right. In addition to our previously posted openings, eNilsson is now looking for a LAMP Developer for the Boston branch. Come wow us.
Yet again, you can learn more at: http://www.enilsson.com/careers
And if you think you are a strong candidate, contact us at jobs@enilsson.com.
-
November 18, 2008
eNilsson is hiring developers. Help us fix the economy!
Calling all developers, unlike everyone else, we are hiring.
We need a shiny new LAMP developer for Sydney and 2 front end developers (one for Boston and one for Sydney).
Learn more at: http://www.enilsson.com/careers
If you think you are a strong candidate, contact us at jobs@enilsson.com.
-
November 14, 2008
Free Beer!
Quick interesting Friday afternoon factoid: For those of you who are looking to build site traffic, the secret is to blog about beer.
It was just brought to my attention that the "US Tax System - Explained With Beer" blog posting that went up last week is the 4th most popular landing page on enilsson.com during the past 30 days. I am not sure what all these people are looking for. We did not use the magic words, "Free Beer."
I guess that next to sex, beer is the next best sales tool. Lets see how this blog item performs: free beer, free beer, free beer, free beer, free beer, free beer, free beer, free beer!I will pull the stats on this posting in a week or two and let you know how "Free Beer" did as a traffic draw.
-
November 07, 2008
Thank you Michael Crichton
The passing of Michael Crichton this week brings to mind his great work of bringing scientific thought to the masses. His belief that the "work of science has nothing whatever to do with consensus" strikes me as something our media infested world forgets.
"Consensus is the business of politics. Science, on the contrary, requires only one investigator who happens to be right..."
I guess Crichton really speaks to the contrarian in me.
"Nobody believes a weather prediction twelve hours ahead. Now we're asked to believe a prediction that goes out 100 years into the future? And make financial investments based on that prediction? Has everybody lost their minds?"
Keep this thought in mind next time you read a hysterical article about global warming. Yes our climate is changing, but how is it changing and why?
As you answer these questions to your self, ask your self, are you sure, and why are you so sure.
Thank you Michael for bringing out the scientist in all of us.
[These quotes are taken from a lecture delivered by the late Michael Crichton at the California Institute of Technology on January 17, 2003]
-
November 04, 2008
US Tax System - Explained With Beer
Following is a fantastic email that is making the rounds this Election Day. I don't know if the math works out correctly but it makes for a great story.
Begin forwarded message:
From: XXXXX
Date: November 4, 2008 11:39:46 EST
To: XXXXX@enilsson.com
Subject: Taxes explained with beer................
Suppose that every day, ten men go out for beer and the bill for all ten comes to $100. If they paid their bill the way we pay our taxes, it would go something like this:The first four men (the poorest) would pay nothing.
The fifth would pay $1.
The sixth would pay $3.
The seventh would pay $7.
The eighth would pay $12.
The ninth would pay $18.
The tenth man (the richest) would pay $59.
So, that's what they decided to do.
The ten men drank in the bar every day and seemed quite happy with the arrangement, until one day, the owner threw them a curve. 'Since you are all such good customers,' he said, 'I'm going to reduce the cost of your daily beer by $20. 'Drinks for the ten now cost just $80.
The group still wanted to pay their bill the way we pay our taxes so the first four men were unaffected. They would still drink for free.
But what about the other six men - the paying customers? How could they divide the $20 windfall so that everyone would get his 'fair share?'
They realized that $20 divided by six is $3.33. But if they subtracted that from everybody's share, then the fifth man and the sixth man would each end up being paid to drink his beer. So, the bar owner suggested that it would be fair to reduce each man's bill by roughly the same amount, and he proceeded to work out the amounts each should pay.
And so:
The fifth man, like the first four, now paid nothing (100% savings).
The sixth now paid $2 instead of $3 (33%savings).
The seventh now pay $5 instead of $7 (28%savings).
The eighth now paid $9 instead of $12 ( 25% savings).
The ninth now paid $14 instead of $18 ( 22% savings).
The tenth now paid $49 instead of $59 (16% savings).
Each of the six was better off than before. And the first four continued to drink for free. But once outside the restaurant, the men began to compare their savings.
'I only got a dollar out of the $20, 'declared the sixth man. He pointed to the tenth man,' but he got $10!'
Yeah, that's right,' exclaimed the fifth man. 'I only saved a dollar, too. It's unfair that he got ten times more than I!'
'That's true!!' shouted the seventh man. 'Why should he get $10 back when I got only two? The wealthy get all the breaks!'
'Wait a minute,' yelled the first four men in unison. 'We didn't get anything at all. The system exploits the poor!'
The nine men surrounded the tenth and beat him up.
The next night the tenth man didn't show up for drinks, so the nine sat down and had beers without him. But when it came time to pay the bill, they discovered something important. They didn't have enough money between all of them for even half of the bill!
And that, boys and girls, journalists and college professors, is how our tax system works. The people who pay the highest taxes get the most benefit from a tax reduction. Tax them too much, attack them for being wealthy, and they just may not show up anymore. In fact, they might start drinking overseas where the atmosphere is somewhat friendlier. -
October 07, 2008
FlexBuilder update to 3.1 SDK
Hopefully this little nugget will help someone, cause I sure wish I had known this a little earlier...
Yesterday I upgraded my Flex Builder with the Adobe Update manager to include the new 3.1 SDK and it led to some very strange behaviour. Basically the software stopped compiling on save and I had no idea why. This was on top of some other errors that manifested before that where Flex Builder was seeing errors on commented lines of code...
So after some frustrating time trying to work out what the hell was wrong, I finally stumbled upon this...

The update some how turned off the auto compile feature!! Wow did that raise my stress levels, in a week where our new product needed to be ready for a show and tell I spent more than a few hours struggling to get my main dev tool running. Awesome!
Hopefully someone will find that useful!
-
October 07, 2008
Will Obama's iPhone App translate into votes?
We are kicking the tires of the Obama iPhone App this week. The application is interesting in many ways but what will its true impact be?
Mike Nobil gives the Obama iPhone app a test drive
First the numbers:- 14.000,000 iPhones will be sold by end of 2008 (Goldman Sachs)
- 4,183 active Obama iPhone users (according to our Obama app)
- 19,021 calls have been made on the iPhone app to talk about Obama (again, according to the app)
- 100 calls have been made by the "Top Caller" for Obama (everyone loves a high-score)
The other features of the Obama app include:
1. the location of the closest local Obama HQ to the iPhone
2. ability to sign up for email and SMS campaign updates
3. local and national campaign news feeds
4. campaign events in your area (which seems pretty geographically broad as I wouldn't drive to Cape Cod for a event)
5. campaign videos and photos
6. talking points for Obama's position on about 24 issues
7. a "donate now" button that automatically calls the donation hotline
Except for the phone-banking features, most of these features are included on all but the most rudimentary campaign websites.
My big question is, what sort of information is the Obama application collecting from my iPhone? Is it capturing names and phone numbers of those people you call? Is it raiding my address book? The application doesn't have any privacy information which really scares me!
IMPACT
In terms of a campaign's view of the world, their goals are to capture
1. supporter contact info
2. volunteers,
3. donations,
4. good press, and
5. votes.
In terms of #1, depending on the privacy features of the app, it may be great at stealing all your contacts and adding them to the Obama database. I have yet to find a privacy policy on the app that tells me if it is or isn't doing such a thing.
Regarding volunteers, hey I downloaded this tool, I must there for want to volunteer to make calls. I give it a thumbs up for #2.
Political donations... If someone is willing to make calls for Obama then, I would have to assume that they have already donated via other means. If anyone has data on donations made by iPhone, I would love to hear about it.
Number 4 is a slam dunk, the press loves the confluence of "mobile gadgets" and politics. I bet there have been thousands of articles about political organizations leveraging the power of phone texting. I can't imagine how political texting has garnered a single vote but the press eats it up. They are going to love this app.
Lastly, voting is were the rubber hits the road for campaigns. Will all these Obama supporters actually vote? If the iPhone app developers were smart, this app should turn into one big get-out-the-vote tool on election day. It should notify the user of the closest polling station, it should give the users repeated reminders to "vote now!" and it should provide a steady stream of election day news.
Election day could be the greatest opportunity for this application. From my own political views, I hope the Obama development team didn't think this far ahead. -
October 02, 2008
How not to market a product 101
In today's Advertising Age, Al Ries writes a great article on how many marketers focus too much on a product rather than the consumers' perception of the product in the market as a whole. Ries refers this broad approach as an "holistic" approach gives some great examples that really got me thinking about our own approaches to products:
Tiger Woods
Do you really think a guy who made $115 million last year drives a Buick? Based on the fact that Buick's sales have dropped each of the past five years, my bet is that you think Tiger probably drives a Merc, a Cadillac, or probably a Bentley. Great spokes person, wrong product for him.
Coca-Cola
Coke gives you a big refreshing punch of sugar and caffeine. Diet Coke gives you no calories but makes you think you are getting a big refreshing punch. Coke C2 gives you... what? I'm not sure, and based on sales, nor are you.
Red Bull
Do Red Bull drinkers care about calories? Doesn't "energy drink" stand for "massive dose of calories" (i.e. sugar)? That's the reason Red Bull sold in small cans, because its syrup and caffeine, right? So what do you think the market demand is for Sugar-Free Red Bull? And for the not so swift consumers out there, humm, if there is a sugar-free Red Bull, how much sugar is there in regular Red Bull? Hey, this stuff isn't so healthy.
Campbell's Soup
Same problem here, if there is a Low Sodium soup, then the regular soup must contain an entire salt-lick. If there is a "chunky soup" then the regular soup must be thin. Mmmm mmm good, thin soup.
Charmin
We have the softest toilet paper. "Squeezably soft," remember. Oh wait, we lied, that regular stuff isn't so soft so we created "ultra soft." What's next, super ultra soft?
TAKE-AWAYS
Really think about your entire market or product line when you do a line extension. Are your spokes people or reference cases credible? Does your new product fit a customer need in you product line, or does it just cast doubt on the strength of your your old product.
Again, what a great article. -
September 22, 2008
Humor Sells Laboratory Equipement?
I can't say that I've thought about pipetting since my sophomore year of college but Eppendorf's foray into the music video world has definitely changed my view of what goes on in a laboratory.
Pipetting all those well-plates, baby, sends your thumbs into overdrive
And spending long nights in the lab makes it hard for your love to thrive
What you need is automation, girl, something easy as 1 2 3
So put down that pipette, honey, I got something that will set you freeIs this how a company sells laboratory instruments and consumables for the life sciences? Eppendorf AG (Hamburg Germany) seems to think so.
Eppendorf created a funny "boy band" music video to promote it's automated pipetting machine. My understanding is that this video is enthusiastically making the rounds among lab jocks and university PhD denizens.
The question is, will the video help sell laboratory equipment? My guess is yes. Eppendorf is now the first (and only) name I think of when I think "highest quality laboratory instruments and consumables for the life sciences," but... I am not their target market.
I will have to have an intern give the Eppendorf marketing department a call and see if they have seen any increases in interest in their auto pipetting robot. How many "epMotion" machines do you have to sell to pay for the video and website?
Kudos to the lyricists, this is a great rap:DNA
RNA
Proteins
Cell Cultures
Less reagents
Faster workflow
Saves you money
Well, well, well
Note that Eppendor also allows you to download MP3 versions of the song or ring tones. I would be very interested in seeing those download stats.
I wonder if you can use epMotion to make cocktails? If so, it would be the coolest kitchen appliance known to man. -
September 01, 2008
Protestors or Terrorists
I think the protestors have lost their minds. I am sitting on a Republican Convention bus full of elderly delegates from Florida and Washington State on our way to the first day of the RNC Convention.
While exiting Interstate 94, a large object was dropped on our bus as we passed under a bridge. This could have been a major catastrophe had the object gone through the roof of the bus or struck the windshield.
The police have just come off the roof and the object was a 30 lb sand bag.
How would injuring or killing elderly delegates help the public opinion for any cause? Another wonderful example of vandals behaving poorly under the guise of "protesting." -
July 05, 2008
"McCain Campaign, in Relaunch, Seeks Tighter Message Focus" - Wall Street Journal
According to today's WSJ, "The McCain campaign will also rely more heavily on surrogates for the candidate, a technique they say they have used ineffectively in the past. To keep control on the message, ads will carefully brief surrogates on specific talking points and then deploy them to reinforce Sen. McCain's message."
This is very exciting for eNilsson as the McCain campaign has had us make a few major adjustments to the Elephant Scheduler which will help the campaign with their new strategy.
The first feature is that we can now track all campaign events, surrogates and event proposals based on the media markets in which they take place. This allows the campaign to make sure they have either target states or major markets covered at all times.
The other great new feature, which is key for the McCain campaign, is that campaign aids can now attach custom talking points to individual events, or to specific surrogates. These talking points are automatically included in each surrogate's briefing book.
With these two new features, it will be infinitely easier to get the right surrogate into the right place with the right message meeting campaign strategist Charlie Black's demand for "more surrogates, more appearances, more air time." -
June 15, 2008
Amazon Web Services - EC2 AWS
So we decided to test Amazons Web Services – mainly their elastic compute cloud or “EC2” – Its pretty straight forward to setup although it can be somewhat tedious especially with the bundling, uploading, registering and relaunching to make a change to the server. Having said that EC2 has proved a useful base on which to install subversion and a plethora of other server applications such as sphinx search (see my other post), apache and mySQL. Having root access to the machine also gives us greater control on the server settings and allows us to do things such as converting word documents to pdf and experiment with some new software.
There are some drawbacks – mainly that the instances are non persistent and the IP addresses of the machines are dynamic – but if you can work round these by using dyndns and writing some bash script to save your settings and files to Amazons “S3” you end up with a reasonable system that seems pretty stable.
Currently you don’t have much of a choice when it comes to the location of your servers - It’d be nice to see some servers in different countries other than the US – somewhere in Asia would be nice. The ping time from Sydney to the East Coast is about 255ms, which is pretty poor and means when we view websites on EC2 they tend to be a little un-responsive.
It’s got to be said that EC2 would defiantly benefit from persistent storage (which is now in its beta stage) as well as static IP addresses. This would make setting up and maintaining EC2 much simpler. Persistent storage at least is in Amazons pipeline and you would presume that static IP addresses would follow. Weather Amazon will eventually make servers available in different countries remains to be seen – I’m somewhat doubtful. -
June 03, 2008
Don't be a bad client - Part II
I have some good news and some bad news.
First the good news, we have found a consistent tool for turning bad clients into good clients, AND, more importantly, reducing the risk of having a new client go bad. (see my February 29th post)
Now the bad news, the tool is a contract with lots of fine print... boo.
In our decade of providing services, we've prided ourselves on our simple, plan-english contracts. Clients loved them for the uncomplicated and easy reading. We loved them because clients quickly signed the simple contracts. No need to "run the contract by legal."
Unfortunately a few clients took advantage (usually unintentionally) of our "friendly" contracts. The communication breakdown was typically when a client demanded total control of a project and requested innumerable unnecessary changes.
We have experimented with all kinds of tools to control these "bad clients." We've tried weekly client meetings, client intranets, timely project management reports, weekly invoices with time-sheets, you name it. Most of these tools create more work for us and the "bad client" continued their excessively demanding behavior.
Finally, after falling into a endless project that looked like it would never see the light of day, we managed to get a difficult client to agree to a very detailed contract. This contract specified every aspect of our client/vendor relationship.
It was a very painful process from both the word-smithing side and the "gee, this goes against everything eNilsson stands for" side, but... in the end both parties are much happier. The client knows their boundries and, most importantly, the contract makes it very clear when a client request is going to take the client off the agreed upon budget.
With this ridged relationship structure, everyone is happier and can focus on the work rather than "project management issues." We've found that a byproduct is that creativity actually increases.
My good news/bad news story has a very happy ending. -
June 02, 2008
More is not always more
Remember that when it comes to software development, more is not always more. My appologies for the trite Apple/Microsoft comparison but Windows Vista is a great example of more not being more. Steve Jobs gets it:
"I know you have a thousand ideas for all the cool features iTunes could have. So do we. But we don't want a thousand features... Innovation is not about saying yes to everything. It's about saying NO to all but the most crucial features."
- Steve JobsFocus your development list on the most critical features and your software will come in on time and on budget.
-
April 16, 2008
Flex Charts
The charts are thethe most useful and easy thing I find in flex.
I've just been requested to create an application that should generate some charts for a reporting tool we are developing for one of our clients.
It is very simple, nothing really fancy but it does the job. The goal is to control the chart and some of its option from the XML side. So whenever we need to use charts we just plug the swf file we generate from our component and voila.
Right now it supports BarChart, ColumnChart, LineChart, AreaChart and PieChart.
As far as the XML, I tried to use a similar structure for all of them.
They have 2 main nodes, options and item, where options is some of the options you can set from the xml side while item contain the real information used on the graphs.Let's get one of those xml, the bar chart, and analyze:
<enilsson type="bar">
<options>
<title>Bar Data Chart</title>
<verticalAxis>Month</verticalAxis>
<horizontalAxis>Amount</horizontalAxis>
</options>
<item yfield="Jan">
<Profit>2000</Profit>
<Expenses>1500</Expenses>
<Amount>450</Amount>
</item>
<item yfield="Fev">
<Profit>1000</Profit>
<Expenses>200</Expenses>
<Amount>600</Amount>
</item>
<item yfield="Mar">
<Profit>1500</Profit>
<Expenses>500</Expenses>
<Amount>300</Amount>
</item>
<item yfield="Abr">
<Profit>1800</Profit>
<Expenses>1200</Expenses>
<Amount>900</Amount>
</item>
<item yfield="May">
<Profit>2400</Profit>
<Expenses>575</Expenses>
<Amount>500</Amount>
</item>
</enilsson>
The first node contains the options<options>
<title>Bar Data Chart</title>
<verticalAxis>Month</verticalAxis>
<horizontalAxis>Amount</horizontalAxis>
</options>
title: The title it will display in the header
verticalAxis: The information it will display vertically
horizontalAxis: The title it will display horizontallyThe following nodes contains the chart info
- <item>
<Profit>2400</Profit>
<Expenses>575</Expenses>
<Amount>500</Amount>
</item>
yfield: The information that goes to the yfield.Inside the item node, there is what we call series. Every node inside the item will be displayed as a series or, in this case, as a bar.
And last but not least, the most important is to tell what chart you want it to display. And you do this setting the "type" attribute in the root tag. The options are, so far, pie, bar, column, area, line.
<enilsson type="bar">
View-source is enable for this component.
- <item>
-
April 01, 2008
Globalization is Old News - Part 2
Funny how just hours after posting my last blog entry, two news items hit my desk that directly relate to it (so I will now re-title my first entry Globalization is Old News - Part 1).
The first item is the fact that Ireland's annual GNP growth rate is projected to fall to 1.6% for '08 verses its average rate of 6.5% from the period of '96 to '06.
The cause for this growth free-fall is attributed to the euro's growth when compaired to the dollar and the pound. Ireland is no longer the low cost manufacturing center for Europe. Remember that during the 1980s Ireland was still considered a "second world" country. They were an amazing "miracle" during the '90s and early '00s. Now globalization is going to force Ireland to become more efficiant as they can no longer depend on their low-cost workers.
Surprise, China is the second country that is feeling the competitive pressure of globalization. According to Booz Allen Hamilton & the American Chamber of Commerce in Shanghai, the costs of workers in China is sky rocketing. Check out the 2007 average one year price increase for the following:- Management: 9.1%
- Support-staff: 10.3%
- Blue-collar: 7.6%
- Raw materials: 7.1%
What happens when China can't compete on their low-cost work force alone. Will India, Pakistan, or South Africa eat their lunch? The US has already gone through this painful learning expreince. It will be interesting to see how China copes with these unfamiliar competitive pressures. -
April 01, 2008
Globalization is Old News - Part 1
I had a couple meetings last week that focused on economic globalization. One meeting was with a political action committee who wanted to draw attention to the positives affects of globalization. The second meeting was with a major US foundation that is funding globalization research.
What has occurred to me is that the globalization discussion/argument/battle is long over.
As we all know, globalization has created winners and losers (and I mean "loser" in a strictly economic manner). The only reason the globalization discussion is still a political "discussion" because some of the losers are just discovering that they received the short end of the stick.
I was a globalization loser. In a past career life, I was employed by my family business which made very good revenues in the fastener industry. The fasteners in which we dealt were the bolts, screws and rivets that hold together cars, trucks, appliances and toys.
Along came Taiwan, then China. With a quick one-two punch, our 50 year old business was no longer viable. "Off-shore" manufacturers were selling fasteners that were priced lower than our raw materials. We were globalization road-kill. Just to put the final nails in the coffin, the majority of the car, truck, appliance and toy industries went off-shore too.
I was a globalization loser: wrong industry in the wrong country.
Don't shed a tear for me. As all economists will tell you, populations will always move towards more lucrative occupations. Why else is the US so good at turning out investment bankers? I saw a new opportunity for my career and established eNilsson. eNilsson now has clients on 5 continents and employees from 4 continents. Being global certainly mitigates my risk. Being an economic loser is a great education.
So if globalization is a done deal, why is it still a current topic and one that will probably get a lot of airplay this election season?- Because a large number of our economic losers have not come to terms with the fact that the tasks that make up their occupations can be completed cheaper and, dare I say it, better in a different country.
- Artificial trade barriers are continuing to fall as economically weaker counters are gaining trade traction. This means that poorer countries are going to be positioned to compete more easy for low-skilled jobs. This competition for low-skilled jobs means that countries like China are going go move up the economic food chain and compete with the US for higher skilled jobs, thus affecting a new segment of the US population. A new group of US economic winners will move to the loser column.
The big take-away from this dynamic economic world is:
- globalization is here to stay,
- economic losers make more noise than economic winners,
- people who are economically hurting are more easily manipulated than financially successful individuals (just ask Hitler).
Lets not let pandering to, or manipulate our economically fearful workforce. We need to give them the tools to take part in all the new and interesting global oportunities.Conversely, lets not let the economically fearful strong arm us into making bad economic decisions. Closed markets always fail.
-
March 27, 2008
PhotoShop Express Public Beta
I just read that Adobe has launched Photoshop Express, a Flex based web application

I've signed up and tested for a while. Although sometimes its behaved slowly (we are talking about a web "photoshop" so it's understandable) it seems to be a very powerful tool.
It allows you to store up to 2GB of images online for free as well as edit them and share them online.
I'm very glad that Flex is progressing to higher stantards and creating amazing web tools.
What will come next?
-
March 05, 2008
IE6 PNG Transparency Fix
Sometimes we get designs that require us to use transparency. What I personally don't see any problem unless you have to worry about IE 6.
In our case, we try to make our website as much cross-browser as possible which put us in the position to make those transparencies work also on IE 6.
I googled it and I found a few solution that could fix my problem. Some of them very smart, like Dean Edwards that developed a javascript library to MSIE behave as standards-compliant browser.
But my problem was simple this time. Than, I found a post on Bioneural that gave me a pretty simple idea to fix it.
All I had to do to was:
<!--[if lte IE 6]--> <style> #myImageID{ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',src='http://www.domain.com/images/myimage.png'); padding-top: 115px; } </style> <![endif]-->That's it! Simple and easy!
-
March 04, 2008
Flex Builder 3 Licenses
I have been following Flexcoder's list for a while as I have mentioned here a couple of times. Time to time I read a few comments about people having trouble with licensing Flex.
If you are one of them, please visit the links below:
(via Igor Costa)
-
March 03, 2008
Flajax
Lately, I have been working on this new version of our CMS which requires an interaction with Flex and Javascript, also includes some AJAX calls.
I found out the ExternalInterface class very useful and simple to work with.
If you want to make a call to a javascript function:
In Flex:
import flash.external.ExternalInterface; function sendToJavscript():void { ExternalInterface.call("testingFlexCall","parameter1", "parameter2", "parameter3"); }In javascript:
function testingFlexCall(param1, param2, param3) { alert('Param1: ' + param1 + '\nParam2: ' + param2 + '\nParam3: ' + param3) // Or You could use some AJAX call in this function. new Ajax.Request('http://www.yourdomain.com/foo.php', { method: 'post', postBody: 'param1='+param1+'¶m2='+param2+'¶m3='+param3, onComplete: function(tl) { alert(tl.responseText) } }); // note: new Ajax.Request is a Prototype function. }Or you could do the reverse, making the javascript calling a function inside your flex application.
In Flex:
import flash.external.ExternalInterface; private function init():void { // Associate the functions between javascript and flex ExternalInterface..addCallback("sendToActionscript",flexFunction); } private function flexFunction(param1:Number, param2:Number):void { Alert.show('The numbers choosen are: ' + param1 + ' and ' + param2); }In javascript:
function sendthistoFlex() { document.getElementById('myFlashID').sendToActionscript(10,20); }Because of its limitations, Adobe created FABridge.
Dave Johnson wrote an application that makes use of the FABridge and show how good "Flajax" can be. Not just good but also useful.
"Flex™ AJAX Bridge (FABridge) is a small, unobtrusive code library that you can insert into an Adobe® Flex™ application, a Flex component, or even an empty SWF file to expose it to scripting in the browser."
If you are wondering what should you use on your project, Adobe give you three situations you could use FABridge:
- You want to use a rich Flex component in an AJAX application but do not want to write a lot of Flex code. If you wrap the component in a FABridge-enabled stub application, you can script it entirely from JavaScript, including using eval()’d JavaScript generated remotely by the server.
- You have only one or two people on your team who know Flex. Although I would strongly encourage everyone to grab a copy of Flex and try it out (you will love it, I promise!), the FABridge library lets everyone on your team use the work produced by one or two Flex specialists.
- You are building an integrated rich Internet application (RIA) with both Flex and AJAX portions. While you could build the integration yourself using ExternalInterface, you might find it faster to start with the FABridge as a head start.
Either way, it is just a matter of what scenario you are working with. :)
-
February 29, 2008
Don't be a bad client - Part I
I read an interesting definition of a “bad client” in “Why Johnny Can’t Brand” by Bill Schley and Carl Nichols Jr.
The boys state that there is such thing as a bad client and I realize that there are some who disagree with this comment completely. If I may paraphrase, they define a bad client as one who:- hires excellent professional creative people,
- demands total control of a project
- limits the hired professionals' free rein, and
- makes far too many unnecessary changes.
The result of this "bad client" behavior is that it stifles a firms' ability to hit its creative stride.
The firm ends up simply regurgitating what the client wants so they can get approval rather than adding the special sauce which they are capable of providing. In reality, the special sauce is usally why the client hired the firm in the first place.
Now that we've defined a bad client, the real trick is how do you turn a bad client into a good client. How do you get the bad client to relax and loosen up the reins. Let me ponder this one for a few days and I will see if I can come up with some bad client to good client conversion steps.
-
February 26, 2008
Flash x HTTPS
I'm building a Flash application that will run on a https server.
Everything was working fine on my localhost until i uploaded it and test it. On Firefox i had no problem whatsoever but on the other hand i had this error message on IE, either 6 and 7, where says: Operation Aborted

I googled it and found little about this error but what i found put me on the right path.
If you have the same problem try one (or both) of the following suggestions:
- Upload a crossdomain.xml file to your https server
<cross-domain-policy> <allow-access-from domain="*"/> </cross-domain-policy> - Insert the above lines on your actionscript file:
System.security.allowInsecureDomain("www.yourdomain.com") System.security.allowDomain("www.yourdomain.com")
I used both solutions and seems to be working just fine now.
- Upload a crossdomain.xml file to your https server
-
February 25, 2008
Flex 3

This is just a brief note to let you know about the new Flex 3 that adobe has release today. I haven't put my hands on the new version as i've been working on a beta version but i read some really good reviews.
If you are new on Flex its highly recommended to visit Flex Examples which has been very helpful. And if you have any question, Flexcoders is definitively the right place to get help.
-
February 25, 2008
Flex security.... the PHP way!
So one of the things we were concerned about when we first started delving into Flex was how do we accurately secure a client side app? The standard model of your garden variety vanilla server side PHP/HTML app was a well known security blanket (if you will pardon the pun).
With that in mind we set out to replicate that sort of idea with Flex and Codeigniter. Our authentication routines built on Codeigniter are tried and tested and it seemed a shame to throw them out just cause we decided to go to web 8.0 with Flex.
The core of this idea is that we focus most of our application development with Flex on modules. This mimics to some degree the format of HTML apps in that you can have a main Application.mxml file that houses all the layout, css and template and then the business end of the stick is in each of the modules. So something like this;
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Canvas id="container"> <mx:ModuleLoader id="content" /> </mx:Canvas> </mx:Application>Now getting back to the security the most worrying thing about the whole client side app stuff was having the code sit in the publically accessible webroot of the application. So to sidestep this we decided to serve the content via PHP proxy pages that could be authenticated. Kinda like this...
<?php class Flex extends Controller { function Flex() { parent::Controller(); $this->super_awesome_security->door_bitch(); } function application() { $name = $this->uri->segment(3); header("Content-Disposition: filename={$name};"); header("Content-Type: application/x-shockwave-flash"); header('Content-Transfer-Encoding: binary'); header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT'); echo file_get_contents(APPPATH . "views/flex_application/$name"); } ?>Anyway seems to be a useful solution for us anyway.....
-
February 21, 2008
Mike Nobil, previously Mitt Romney's Fundraising Systems Manager, joins eNilsson
Mike Nobil has made the uncommon jump from client to agency. Mike recently joined eNilsson upon the completion of the Mitt Romney for President campaign bringing his unique experience of eNilsson from the point of view of the client.
At the Romney campaign Mike acted as the Fundraising Systems Manager for Mitt Romney’s record setting fundraising activities. Mike juggled multiple vendors, the needs of 500 fundraising staffers & volunteers, and 9,000 system users to help the Romney Campaign become the most successful Republican fundraising organization in history.
Mike was able to bring all these projects to completion even under the adverse environment of the modern political organization and its constant shifting of priorities.
eNilsson recognizes talent when we see it. Mike will act as a Project Manager and now be able to beat on our development team from the inside. Mike is a graduate of the University of Massachusetts at Amherst and works from our Boston office. -
February 19, 2008
The Fulltext search is dead. Long live the Sphinxsearch.
If you’ve ever played about with mySQL fulltext search you’ll notice that as soon as you put any reasonable amount of data into a table and build the index you start hit a number of problems which only grow as the volume and complexity of data increases.
You might have seen this message before when you try to make a fulltext index
Error: Too many key parts specified; max 16 allowed.
This is because mySQL can’t index more than 16 different columns.
There are solutions; for example you could have 2 fulltext indexes… but if you’ve seen the size of the fulltext index mySQL creates you’ll know that their frequently huge, slow and if they weren’t set up when the data was initially inserted could take forever to build.
Sphinx search is an indexing tool that sits outside of mySQL. Capable of indexing vast quantities of data exceptionally quickly (up to 10mb/sec) while being able to search upwards of 1GB of data in less time than it takes a cheetah on crack to run 20cm. If that’s still not fast enough sphinx has inbuilt distributed search capabilities to improve latency and throughput meaning you could utilize a whole bunch of servers to do your searching for you.
Sphinx also offers some refreshing options, like that of word stemming (in both Russian and English) and stop word lists (which could even be different for each group of documents or tables if you want). It also offers the standard minimum and maximum word length as well as a myriad of other features such as the ability to easily rank the importance of fields – for example giving the title of a document more weight than its content.
Sphinx runs as a daemon and handles any requests sent to it via its PHP API (which also supports Python, Perl and Ruby), its indexer, aptly named indexer works its way through your configuration file reading in mySQL queries and generating indexes for the daemon to use. When you present a search query to Sphinx it sends back a list of documents that match your query ranked from best to worst, it can even return the entire set of documents if you want.
Unlike with the passive updating we see with mySQL, updating the search indexes in Sphinx is a case of re-running the indexer on the changed db - yeah – I know what your thinking. It can be slow; especially if you have upwards of 1GB of data – luckily Sphinxsearch provides the “main + delta” method to get over this where by it has an index of old records that it rarely updates but frequently updates the “delta” index with the new records.
Vastly out performing mySQL’s native search Sphinx is great solution if you’re coming up against the limitations of a painfully slow fulltext query. Sphinx isn’t great for everything and
Fulltext searching will always have its place in the realms of tiny databases and the odd query but as far as I’m concerned, when it comes to a database of any substantial size fulltext search may as well be dead. -
February 17, 2008
Tip of the Week
As a Firefox lover i'm going to be a little biased in talking about this tip. Actually, it goes beyond firefox because you can also install on IE or Safari.
I'm talking about PicLens.
This incredible software impress me everytime i use it, not just for being fancy, usefull and powerful but also for supporting most images related websites, like Flickr, Google Images, Yahoo Images, Picasa, and much more...
"PicLens instantly transforms your browser into a full-screen, 3D experience for viewing images on the web. Photos will come to life via a cinematic presentation that goes well beyond the confines of the traditional browser window. With PicLens, browsing and viewing images on the web will never be the same again."

Better yet, it's free and does not contain any adware or spyware.
-
February 17, 2008
Blackberry vs Labrador Puppy
It only took 5 minutes for Otto, our 6 month old yellow lab puppy, to bring my cellular communications to a full stop today. My Blackberry now looks like a prop for the Starwars Rebel Forces.It is almost as good looking as my old Nokia that I ran over with my lawn mower and then left out over night in the rain, except that with the help of a little electrical tape, that Nokia was (may still be) fully functional. The only problem was the occasional sliver of plastic in bedded in my cheek. This blackberry is now a paper weight with a flashing green light.
Remember when phone were big, black and always worked? No, not those 1990's cellular bricks, I am talking about the big black phones with rotary dials. There was no way a six month old puppy could hurt them. Even the curly, always tangled, cords were chew resistant.
In our quest to make everything smaller, are we in fact making everything more disposable?
I am going to go out and pick up an iPhone today. I used my rotary phone for 15 years. I wonder how long it will be before I drop my iPhone in a puddle, sit on it, leave it in an airport, etc, and have to buy yet another phone?
-
February 14, 2008
Made to Stick
Hi, my name is Erik Nilsson and I am a read-a-holic.
I just put down Made to Stick by the Heath brothers. Besides being a very readable book, it does a great job systematizing the creation of a "sticky" or memorable message.
This book is an invaluable tool for anyone who needs memorable communications. I think that includes all of us.
After almost 20 years in the "communications" business, the biggest take-away I had from this book was the concept of the "curse of knowledge."
The brothers Heath describe the curse of knowledge as when "we start to forget what it's like not to know what we know."
This is a issue that faces us all, especially when writing online persuasion copy. I believe the best way to combat the curse of knowledge in the world of web interfaces is the use of personas.
eNilsson uses personas to:- define the target audience(s),
- identify how the audience arrives at the site,
- discover the audiences' goals, and
- map how to connect the audience to the content or tools that will help them achieve their personal objectives.
The audience personas allow the eNilsson team and our clients to walk in the target audiences' shoes and negate the affects of the curse of knowledge.
-
February 14, 2008
Mark Occurrences
As most of Flex developers, I experienced a hard time a couple weeks ago when my Flex 3 Beta 2 expired.
After a couple of tries installing the new version, after i got it running i notice that there was this annoying cyan highlighting my code everytime that i was editing it and I must have spent about an hour trying to turn this option off with no success.
Lucky me, i have the FlexCoders groups where i normally find some peace when i'm fighting with something on Flex.
Apparently, the option was just in front of my eyes. The option Mark Occurrences, just on the middle of my toolbar (as you can seen on the image below), comes enabled with the new update and all you have to do is disabled.

Voilà, now i can sleep in peace.
-
February 14, 2008
Blogs are a fad
About 10 years ago I created my first blog. Blogs were all the rage in the late 90's and there must have been almost a thousand of them.
Blogs were hip and I was young so I gave it a try. After a week or two of fooling around with my new blog toy, I decided that the blog was yet another web fad that was going no where. I threw my blog account right in the trash next to my PointCast desktop application.
At the time, blogs were simply a web page that had a rudimentary web-based content management system (CMS) behind it.Big deal. I was a real man and wielded a text editor to write my HTML. Who needed a CMS tool for a single web page?
Obviously Netscape or Microsoft would build web posting tools into all of their products so any kid with a keyboard could build a full-on website. Why would anyone waste their time on a single page with time-stamped text postings? More importantly, how would anyone find my blog page and care what I had to say?
It's been a decade and I am now willing to admit that I was wrong. There is something to this blog fad and I am going to give it a try. No promises that I have anything interesting to say. Maybe my intentional avoidance of blogging for the past decade has given me a vast store of fantastic blog content.
We will see. Stay tuned... -
February 14, 2008
First post....
Hello World...
I am James Nicol, principal of eNilsson Asia Pacific, and technology leader here at eNilsson. I thought I should get the ball rolling with our first post on the 'so new you can smell the paint drying' eNilsson blog.
The main focus of the blog is for us to share with you, the readers, some of the interesting (and hopefully useful) snippets of information we have gathered in our pursuit web design perfection. We are all PHP devotees and use Code Igniter as our framework of choice when building just about any client app. So expect more that a few posts on that....
While we are all Black Belts (5th dan) in HTML, CSS and Javascript kung-fu, Flex is our new plaything. For those of who dont know Flex is an offshoot of Flash, that is more developer focused but still runs in Flash Player. We love the cross browser functionality and the broad range of cool components that come straight out of the box. Makes developing apps fun again. Seriously the amount of wasted company time on making things work on IE could have bought an a small island in the Bahamas ;-)
So greetings everyone, and expect some nuggets of information and other web stuff to come your way soon.
del.icio.us
Digg
Reddit 
