Entries Tagged as Spry
September 22, 2010 · 3 Comments
Inspiration comes from all places. Sitting in Ryan Stewart's presentation at 360Flex this week, I got hit with the geolocation bug again. I saw some of the demos that Ryan was doing and figured that I can take some of those a bit further. This gave me a chance to do some work with HTML 5 and AIR for Android as well.
Seeing Ryan's presentation, I took the initiative and updated one of my old samples around Yahoo! Local Search and Adobe Spry. The old version actually asked you to provide a city state pair to do the local search. After taking a look at how Serge Jespers was using an ExternalInterface call to get HTML5 geolocation data into Flash, I took the same approach to grab the latitude and longitude from the HTML5 geolocation API and pass it into the ColdFusion service that I'm using to abstract the Yahoo! API. The end result, which works in any HTML5 enabled browser looks like this:
Migrating this example to HTML5 was cool, but I felt like there was still something missing. I banged out the HTML5 version pretty quickly because I was migrating existing code. I needed a real challenge. Ryan's examples had all been based in AIR for Android. I had been signed up for the prerelease for a while, but hadn't been able to think of a compelling app to build. I decided to take the HTML5 app that I had just created and build an AIR for Android version, so I fired up IntelliJ IDEA and went for it. I figured a listing of the elements wouldn't be a good showing of what AIR for Android can do, so I decided to sexy it up a bit. I added in some nifty native geolocation functionality and some of the new uri based functionality to trigger the phone system, i.e. tel:4045551212. Since it was a Flex 4 application, I decided to use my Flex framework of choice, Swiz, to help me build the application quickly and keep my code organized. I picked up a beer from the 360Flex party on Tuesday night and then headed to my hotel room to crank out some code. The result isn't pretty, but it is pretty darn cool.
When the application starts up, it will check for the current location and center the map on that latitude and longitude. When you do a search, it will call the same ColdFusion service that the HTML5/AJAX version is using to get the local search results. It then leverages the MapQuest 6 API to plot the data. I added a double-click handler on the POIs to trigger phone calls to a given location.
Download the APK here. Warning, it's still just a POC quality, so you may need to force quit the application to keep it from eating all of your battery.
Tags:
Adobe · AIR · AJAX · Android · ColdFusion · Conferences · Flex · MapQuest · Speaking · Spry · Swiz · Universal Mind · User Experience · XML
(Note: My colleague, David Tucker, has joined me in helping to author this post since we put on our Flash Camps as a collaborative effort between the two of us.)
It's come to our attention that there are a lot of people out in the community who do not know what a Flash Camp event really is all about. If they do know, it's a pre-conceived misconception that they're things like "glorified user group meetings". This couldn't be any further from the truth.
In our minds, a Flash Camp is, in essence, a mini conference. In these days of tighter budgets and the premium placed on our time, we try to make these events as time conscious and price conscious as possible. Why fly across the country to an event when we can bring something that will offer comparable content to your region? We try to keep the presentation quality of these events high so that people will want to attend and they will feel that they're getting a good value for the money.
Typically, a Flash Camp event will be one day, 9:00am to 5:00pm. We try to shoot for a Friday so that people can have a nice end to the week. We've talked about going to multiple days, but we want to make sure we've got this formula down pat first. Lunch is also included in the price of admission. If we're going to ask you to sit through a full day of content, the least we can do is feed you, right?
During the camp, you will hear from a lot of different speakers presenting (in a typical conference presentation format - these aren't 'hands-on' sessions). The speakers are diverse. This means that, yes, as it is a community event, we try to pull a good mix of local speakers and nationally recognized speakers within the Flash Platform community as a whole. This gives attendees a good motivation to attend because you will see both your peers from the local community, plus people who you know from twitter, reading blogs, etc.
Along with a diversity of speakers, we try to maintain a diversity of content as well. In Atlanta, we did an Intro To The Flash Platform session that was really rudimentary, and almost a bit of a marketing pitch. We have had topics as a advanced as "Custom Metadata Processors For Swiz", which is going to be way above an entry-level developer's head. We can't make the content too basic, or too advanced, so we try to shoot for a bit of both with the hope that everyone will take something away from the event.
Cost is always the interesting element. A lot of things go into the calculation of the cost like venue cost, catering, travel for out of town speakers, etc. Our ultimate goal is to get enough sponsorships so that we can keep the event cost to attendees below $100. We feel that that price point is a good place for a one day conference with top-notch content. Some people want it to be free, but the way I see it, you can't please everyone. Paying under $100 to have a full day of presentations from speakers that you would hear at 360Flex and Adobe Max is a bargain.
At the end of the day, Flash Camp events are catalysts for the local user community. Some areas, like San Francisco, have vibrant and highly active Flash / Flex communities. In these areas, the Flash Camp event serves as a way to reconnect with people and inspire the community to more user group meeting and such. In areas like Phoenix, where the community is not as active, the Flash Camp events serve as a way to launch the development community. It's an opportunity to get a large number of people in the room and have the user group managers pitch the user groups and their value to potential members. As these local communities grow and thrive, the Flash and Flex communities as a whole will grow and thrive. They are beneficial to the whole Flash Platform ecosystem.
Tags:
Adobe · AIR · BlazeDS · ColdFusion · Conferences · Flex · FlexCamp · Java · Silverlight · Speaking · Spry · Universal Mind · User Experience
February 16, 2010 · 1 Comment
If you're an Atlanta area (or even Macon / Augusta / Chattanooga area) developer and want to learn more about how a developer sees user experience design, make sure you come to the Atlanta Flex User Group meeting tomorrow. I will be giving my presentation:

It's guaranteed to make you laugh, cry, or angry. I'd like to say it's entertaining, but that's just a bit more shameless self-promotion than I'm willing to do (at this time). I think that this presentation is well suited to any type of developer (not just Flex) that wants to learn more about what exactly user experience design is. I've heard, even Sledge Hammer! might be making an appearance.
Tags:
Adobe · AIR · AJAX · BlazeDS · ColdFusion · Flex · Java · Silverlight · Speaking · Spry · Universal Mind · User Experience · XML
Most of us use tools like Charles or Service Capture to help debug our web applications and flex applications. They show you the AMF data going back and forth between your browser and the server. It's all very helpful. However, there's a little trick if you are trying to debug traffic to a local instance of a server. Say you're running tomcat locally and are trying to debug the calls with one of these tools. In your browser, you would put:
http://localhost:8080/mycontextroot/myapp.html
This works to test the app, but you don't see anything in your debugger tool. If you want this traffic to show up in your debugger, you need to use the following variation on the url:
http://localhost.:8080/mycontextroot/myapp.html
This will ensure that you do not bypass the proxy settings used to route your web traffic through the debugger.
Tags:
AJAX · BlazeDS · ColdFusion · Flex · Java · JSP · Service Capture · Silverlight · Spry · Universal Mind · XML
Want to see what's going on at WebManiacs? Want to see if what you were doing got caught on film? Want to post pictures to the WebManiacs Flickr group? O?uz Demirkap? has setup a flickr group for WebManiacs 2008.
Just like cf.Objective(), I've created a Flickr Group Viewer app.
Tags:
Adobe · AIR · AJAX · BlazeDS · ColdFusion · ColdSpring · Conferences · Flex · General · Java · Mach-II · Speaking · Spring · Spry · Universal Mind
I head out to Webmaniacs tomorrow. I'm speaking at three sessions:
- Fundamentals of Mach-II
- Flex & Java (Implementing BlazeDS)
- Open Source Flex / CF Panel
I am also trying to organize a trip to a local DC area rock gym. If you're interested, or know of a good one in the area (Metro accessible), leave a comment.
Tags:
Adobe · AJAX · BlazeDS · ColdFusion · Conferences · Flex · General · Hibernate · Java · Mach-II · Speaking · Spring · Spry · Universal Mind
Think you know Adobe web technologies? Do you like the idea of working on some of the world’s most interesting web engineering challenges? Do you want the freedom and variety of independent consulting, but want bigger projects and more of them? Then search no further. Universal Mind, the undisputed leader in bleeding-edge RIA development, is looking for a few good developers.
Are you up to the challenge?
Why should you join Universal Mind? Universal Mind offers you a unique opportunity. We focus exclusively on solving hard problems in the performance and architecture of web applications based on Adobe technologies. Not only are these problems difficult, they are the problems that keep our business customers up at night. They’re also the problems that have biggest impact on users. In short, at Universal Mind you will have the opportunity to do something great.
At Universal Mind, we want you to be both hands-on and strategic. You’ll connect the dots between business priorities and technology performance. You will also write the code, configure the servers, and run the diagnostic suites.
Your interface will be IT management, web developers, database admins, sys admins and business unit managers. You’ll be the person technologists call first when they have a web technology problem.
You’ll feel equally comfortable working onsite, anywhere in the world, or remotely via Internet and phone. The value you bring clients will be in the business advantage you deliver, not in where you sit.
In fact, if you’re really good, you have probably already thought about working at Universal Mind.
Does this sound like a challenge you'd be interested in? Send your resume to me at andrew.powell [at] universalmind.com and we'll get the conversation started.
Tags:
Adobe · AIR · AJAX · BlazeDS · ColdFusion · Flex · General · Java · Spry · Universal Mind
This is a follow-on to my previous post.
As CFML developers start to learn Java and move into the realm of Spring and Hibernate, it is very important to stop and ask "What Is ColdFusion?". ColdFusion, since CFMX, has been a J2EE application running within a J2EE server (JRun, JBoss, Tomcat, Websphere, etc.). This is important because thinking of ColdFusion like this lets us expand our mind to what we can really do with ColdFusion. We (CFML developers) can start to leverage J2EE services and frameworks like JPA, JNDI, JTA, and others to make ColdFusion a real player in the J2EE stack.
Java developers are quick to dismiss ColdFusion as simply a J2EE app and miss its real potential: It is the fastest way to get data to the web. It is the fastest way to get data to AJAX, Flex, Silverlight, and even JavaFX (the last two via XML or web service). I think that going forward, ColdFusion will really shine in this space and make itself be known as a the leader in moving data into RIAs.
ColdFusion also provides complex services easier than Java, .Net, Ruby, or whatever wishes they could. Let's look at a couple of examples: CFMAIL is, by far, the easiest way to generate email from an application. CFPDF? Are you kidding me? It doesn't get any easier than this. Don't tell the Java guys this, but it integrates with JMS easier than Java does too (look at the gateways). These specialty services are an often used, but at times, overlooked part of ColdFusion because of their simplicity. By the same token, they're often a source of ammo for the ColdFusion detractors. Maybe they're just jealous.
Simply put, at the end of the day, ColdFusion is a J2EE app that enables you to be more productive than if you were writing pure Java or CFML code, alone. Look at it, and embrace it as such, and a whole new world will open up to you, as a CFML or Java developer.
Tags:
Adobe · AJAX · ColdFusion · Flex · General · Hibernate · Java · JMS · JRun · JSP · Spring · Spry · XML
Here is the code/slides for my cf.Objective 2008 presentation: "Enterprise MVC With ColdFusion and Java". If you are currently sitting in my session, feel free to download the code and follow along. If you're not in my session right now, still download the code and follow along.
Download The Code From My Google Code Site
P.S. Don't forget to come to my BOF tonight on creating & using Open-Source Projects.
Tags:
Adobe · ColdFusion · Conferences · General · Hibernate · Java · JSP · Mach-II · Speaking · Spring · Spry · Universal Mind · XML
If you're going to cf.Objective this week, and want to see something you've NEVER seen ColdFusion do before, come to my session: "Enterprise Class MVC with ColdFusion And Java".
You will need to know what the MVC pattern is and nothing more. Jason Delmore's session would be a good warmup for this one, but it is not required. Oh yeah, I'll have swag to give out at my session too. I am not above bribery to bring butts into the seats.
Session Description:
This session will show you how to leverage the power of Java tools, like Hibernate, to increase the speed and scalability of your ColdFusion MVC based applications. We will look at performance differences between using Java and ColdFusion based solutions and discuss the benefits and drawbacks to both methods. The discussion will also cover when using such an approach is appropriate and why a developer would want to take this approach. Demos will also be provided to show you how to take advantage of this new technique.
I am also hosting a BOF session on Saturday night entitled: Open Source Development & Publishing. The title is a bit wack, but the premise is simple. Lots of people want to write open-source components, but don't know what it takes to publish them. Conversely, a lot of people want to know what open-source components are available to use in their applications. Well, we'll cover both of these topics and other things such as the various OS licenses available to publish under and how they work together, or with commercially released software. Come, sit down, talk. It'll be fun.
Beyond both of these sessions, I will be hanging around, going to some sessions, and generally catching up with people I've not seen since MAX. Come find me in the hall or lunch, or wherever and I promise I'll make some time to talk with you about ColdFusion, Flex, Java, the Braves, the Red Sox, whatever.
BTW, if you do come to my BOF, someone remember to bring me a bottle of scotch (single malt Islay if you have it, or Johnnie Walker Gold Label if you must bring a blend). I promise you, it will make me much more interesting.
Tags:
Adobe · AIR · AJAX · ColdFusion · Conferences · Flex · General · Hibernate · Java · Mach-II · Speaking · Spring · Spry · Universal Mind · XML