• Home
  • /Posts Tagged 'development'

Posts Tagged ‘development’

Offshore Developers Irony

It’s funny how a once brilliant idea can often turnaround and bite you.

Take off-shoring IT roles. What a brilliant idea! We can cut our costs on junior developers and only hire the senior/architect level guys for planning and oversight.

That is, until your senior guys leave and there are no junior level guys gaining the valuable experience needed to be a senior level architect. Now what are you going to do genius?!

This is exactly what is happening in the UK according to some research written in this article by Nick Heath.

So, if you think its tough to find quality development resources now… brace yourself.

Most Enterprise mobile apps suck!

The market, and need, for enterprise mobile applications is skyrocketing. However, most enterprise mobile applications that are available are not meeting the core enterprise needs, according to research2guidance.

“Following the successful adoption of customer-focused mobile applications, companies are increasingly deploying mobile apps to connect to partners and employees. Companies are mainly sourcing these apps through internal or external app development projects. Nonetheless, both established enterprise software vendors and emerging, mobile only vendors have been targeting this market segment by publishing “off the shelf” enterprise mobile apps and making them available on main public app stores. As a consequence, the number of enterprise-relevant apps has doubled from 100.000 to 200.000 over the past 12 months (Q1 2011 to Q1 2012), but as research2guidance has found only 14% of those address core enterprise needs.” Daianna Bassi

Although I don’t dispute Daianna’s research, I would add that many corporations already know this and have been seeking out custom software companies, like On3, to help them build enterprise mobile applications that focus on their business. More importantly, these applications are being build to work across platforms due to the acceptance of the BYOD movement in corporations.

Custom enterprise mobile and desktop applications are the best way to optimize ROI because they focus specifically on the business needs and have optimized usability to better suit those needs.

 

Platform as a Service (PaaS) vs. Managed Virtualization

I’ve been reading a few discussions on how to more effectively manage development of a Flex project. And the reason many are looking for a solution has nothing to do with Flex, per say, but has more to do with the complexity of our development environments.

The hidden reason is cost. Cost for setting up each developer environment. Cost of licenses.

The bigger reason is, or should be, security.

Enter Platform as a Service (PaaS) to the conversation.

Although the idea of using the cloud for development is good in theory, it can be cost prohibitive. Here is why:

• The cost of using the cloud. In reality, you’ll end up spending around $1k per computing instance per year. i.e. per developer

• You still have to license any development tools for each developer seat. Check your EULA, they typically address ways of circumventing license requirements via virtualization.

You do get the benefit of quickly setting up an environment for a team. But lets face it, the only real benefit is the level of security in that your code base is never on someone’s laptop. Don’t get me wrong… this is a really big benefit!

From my research, I would recommend VMware ACE instead of PaaS. VMware ACE allows you to provision standardized client PC environments inside secure, centrally managed virtual machines called ACEs. Each ACE contains a complete client PC—including the operating system and all applications. Administrators use the dynamic policy configuration capabilities in ACE to lock down endpoints with device and network access control, there by protecting confidential company data and ensuring compliance with IT polices. You will get security through a managed virtual machine and the ability to quickly deploy a “ready to go” environment for your developers.
No, its not cheap. But it is way less expensive than the cloud with the equal benefits.

I know this because I’m looking into these tools in order to manage our training facility where we teach ColdFusion, Flex and LiveCycle.

Adobe MAX 2009 Online

Not going to Adobe MAX 2009? Not to worry…

Watch MAX keynotes, streamed live from Los Angeles-register now
(go to http://max.adobe.com/online/ )

On October 5th and 6th, Adobe MAX Online will feature the keynotes, streamed live, highlighting the newest and most exciting developments in the world of technology. Join 10 minutes early and participate in the backstage behind the scenes action.

View the top three sessions from each day on demand:
Check back each day by 8:00 PM PT, from October 5th to 7th, to see the top session of the day from each track: Design, Develop, and Envision. You’ll be able to view these sessions on demand on MAX Online and join the buzz by participating in the extended Twitter conversation.

View all of the session content on demand:
Check back on Sunday, October 11th, for all of the sessions available on demand with the exception of labs or BYOL (Bring Your Own Laptop) labs.

MAX Session Guide: http://assets.max.adobe.com/pdfs/MAX_2009_EventGuide.pdf

FITC Mobile Presentation on iPhone Development

Just finished my presentation at FITC Mobile 2009 in Toronto. And it went very well!
I had lots of questions and was able to answer all but one.
The presentation was about building native iPhone applications using JavaScript and HTML instead of Objective-C. I’m currently using Titanium Mobile to does this.
I’ve posted a slide share of the iPhone development presentation at On3.

Adobe Flex/AS3 Code Quality Tool (PMD)

Adobe recently released (August 2009) the Flex implementation of PMD tool which is extensively used at J2EE shops for code quality management. FlexPMD is a tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices.

The Flex PMD tool is locate on the Adobe Open Source Projects site.

http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD

It is available as an ANT task, command line and Mac OSX Automator.

And before you ask, no, there isn’t an Eclipse plugin… yet.

CFUnited has lots of Flex Training Sessions

One of my CFUnited sessions:
AIR: Building Desktop Applications with Flex 3 – http://cfunited.com/2009/topics/235

Here is a little Q&A about CFUnited and me.

1. Have you spoken at CFUnited in the past?  What would you tell someone who hasn’t been to CFUnited before?

Yes, I have spoken at CFUnited in the past. And I’d have to equate it to seeing your favorite band in a small venue. Same great talent, but not nearly as crowded allowing you to easily network with so many very talented people.

2. Why should people attend your session(s)?

If you have been wondering about, thinking about or just plain curious about Adobe AIR, my session will clear the air… uh, no pun intended.

3. Do you have any projects in the works that you will be revealing at CFUnited?

I have been doing quite a bit in the mobile space, actually more of an add-on to some of our AIR development projects. So look forward  to ways to take your application to iPhone, Symbian and Android.

4. Besides your topic, what other sessions are you looking forward to?

I know I’ll get in trouble for this, but its not the sessions to which I really look forward. Its the one on one conversations that I’ll have with people from all over that help me solve problems and come up with new ideas. That is what I’m looking forward to. Oh and the sessions help me identify who I’d like to meet.

5. Where can people find you at CFUnited?  (At the bar, networking, working, in your room, etc.)

Networking.

6. What’s the latest news with you? Has anything changed since last CFUnited?

Since On3 is all about helping organizations grow their own Flex developers, we have opened a new training center in Denver, CO.

7. When you are not working what do you like to do in your free time?

Mountain Bike in the Spring thru Fall, Ski during the Winter

Set Cursor Focus in Flex

I have a pet peeve, although I’ll admit it’s one of many. The pet peeve is this. When starting a Flex application that requires authentication, I have to use tabbing or, heaven forbid, my mouse to set focus to the “user name” field on the login screen. Why!! We have been doing this for years in DHTML-based applications. Why stop now?!

Using Flex does throw a couple of a curve balls at you, so I thought I’d go ahead and share the solution with you.

Let’s start with the basis. The UIComponent class has a property called focusManager which gets the FocusManager that controls focus for the component and its peers. And since all UI controls inherit from UIComponent, they all automatically have this property as well. This give you access to a couple of key methods and properties necessary to set the cursor focus to a specific control.
First, you need the setFocus( ) method. The argument to setFocus() is the id of the control you want the cursor to show on. Using just this method does set focus to the control and it highlights the control as well, but it doesn’t show the cursor. You also need to set the showFocus(). Sets showFocusIndicator to true and draws the visual focus indicator on the focused object, if any.

So the code might look like this:

private function onCreationComplete():void
{
focusManager.setFocus( username );
focusManager.showFocus();
}

If you run this application as is, you’ll notice that something is still missing… the cursor!

The second part of the solution is to set focus to the flash object in the HTML wrapper. This means that you have to edit the index.template.html file in the html-template directory of your project. It also means that you have to conjure up some of the old JavaScript and DOM stuff we used to do before Flex.
All you have to do is get the flash object reference from the DOM and invoke focus() on it. Place this code at the bottom of the script that loads the flash object.

So the code might look like this:

document.getElementById("${application}").focus();

Because this file is a “template” we can use the variable, ${application}, for the application name.

The HTML page should now set focus on the Flex application and then Flex application will set focus on the TextInput control.

Now for the big “but”. This doesn”t work in Windows Firefox or Mac Safari. arrrgh!
But once you click on the SWF, it does set the focus. PS: these are know bugs in the browser.
In the Firefox 3 rc1, this has been resolved. Thanks Joe.

Dynamic FlashPaper

I was recently trying to create a document collaboration tool for one of my clients. In order to make it a bit easier for the user, I decided I would use FlashPaper to display the uploaded documents they are discussing. It took a couple of hours to figure it out but its pretty simple in the end.

First, you have to have the FlashPaperConnect .dll. Contribute 3, and some other products comes with the FlashPaperConnect .dll that makes it all possible. Contribute also registers the dll on your system, so all you do is CFOBJECT the FlashPaperConnect2.object.2 component.

Like so:

<cfobject type="com" name="FlashPaper" class="FlashPaperConnect2.object.2" action="create">

The method you need to call is BeginConversion(). Its arguments are the source file, destination file; include outline; paper size; and something else. I”m still looking for documentation on this and if it violates the EULA. But until then…

<cfset FlashPaper.BeginConversion(''c:\temp\doc1.doc'',''c:\temp\doc1.swf'',0,210,297)

This seems to work.

Good luck.

  • Page 1 of 2
  • 1
  • 2