Finally getting my preso up

Jacob Wright
September 5th, 2008

Here’s a PDF version of my presentation.

Advanced ActionScript APIs Presentation

Stealth Component Framework Demo

Jacob Wright
August 20th, 2008

Back in February I posted some ideas Tyler and I worked on for a component framework we’re calling Stealth. We were inspired after Ely Greenfield’s Flex Roadmap presentation at MAX last year. It struck a chord with may of our talks together about how the components ought to be architected, so we set out to make an AS3 component set.

We made a proof-of-concept and shared with a few friends. Because it’s so basic and raw we didn’t want to post any of the code, but after talking with Ben Stucki (Open Flux) at 360 Flex this year and some of the Gumbo team I thought some of the ideas we had might be of use.

We put core code into the components package, I created a CSS parser so we’re not using Flex’s stylesheets. This allows us to have full selector support, but also disallows classes to be compiled in. So we reference a few needed classes in the base file to make sure they’re compiled in. We’re using an AS3 project, but also using MXML. Pretty cool stuff. Also have undoable text in the text field.

You can check out the architecture on my previous post. And again, this is proof-of-concept code, and hasn’t been touched since February.

http://jacwright.com/stealth_concept/

Right-click to view the source code.

Here at 360 Flex

Jacob Wright
August 18th, 2008

Here I am! I’m presenting today at 360 Flex in San Jose. I’m only slightly nervous as this will be my first time presenting at a conference, but I’ve presented at user group meetings plenty and even practiced today’s preso with Rob Taylor, Tyler Wright, and Joe Snow over at their company offices.

I’ve had a very enjoyable time already at the speaker dinner last night and afterward at the mix-n-mingle. Met some great people such as Ben Stucki and Ryan Campbell, Paul Robertson, JOSH BUHLER! (wanted to make sure you were mentioned Josh ;), and Tony and Doug from Effective UI. Doug wanted to get married (he’s from Canada, should explain everything), but I’ve already get a wife and three kids and don’t need anything more for the moment.

Today my presentation will be on some more advanced stuff you can take advantage of when creating code libraries and making good APIs. I’ll cover the Proxy class in-depth, including many features most people don’t even know about. I’ll talk about IExternalizable, what it is and why/how you’d use it. I’ll cover metadata and how it can be used in your APIs. And if we have time, I’ll talk about code namespaces (not XML namespaces, it’s different) and why and when you would use them in your libraries. Should be fun, but I will be dumping a lot of info on people. But hey, it IS an advanced level class.

I’ll be attending a few framework sessions such as Swiz and Mate. I’m interested to see what others are doing and get better ideas on what I want to use. Swiz uses metadata to hook components together (dependency injection pattern) so I think that will be quite interesting. I’ll keep you up on what I learn. Maybe. :)

Oh, and it looks like Wordpress needs an update… again. Man, this gets so annoying. Later I’ll look for a plugin that auto-updates wordpress or something.

Layered Content, 2 Parts

Jacob Wright
July 8th, 2008

I’ve had some time between jobs recently and been working on Layered Content. Layered Content is a website management system or web content management system (CMS). I’ve had a lot of fun over the past two years using it, architecting it, and planning it out. When I started I was determined to make a usable CMS, one that didn’t require training courses to use, one that wasn’t too simple that you couldn’t make the website you wanted. A big challenge, but one I felt needed to finally be addressed by somebody.

There have been a couple versions, the first was completely web-based using Ajax, the second a mix of Ajax and Flex. Both of these versions were browser based. Both of these versions had limitations and issues because they were browser based. Enter final version.

The final version will be in 2 parts, a server part and a client part. The server part will be a RESTful webservice using Atom Publishing Protocol, the same protocol Google uses for its Google App Data services. This allows other applications to hook into the CMS and export data and make changes with the appropriate permissions. It could even allow for mashups. I’m certainly interested to see what people will do with it.

The client part will be created using Adobe Integrated Runtime (AIR). This multi-platform (i.e. runs on Windows, Mac, and Linux) will give people the benefits of a browser-based admin along with the benefits of the desktop. I’ll have one browser to deal with and will be able to easily allow in-page editing. The javascript used will be much smaller and easier to deal with since I’m not worrying about cross-browser compatibility. And I’ll be able to add features such as drag-and-drop or client-side caching of the data in a local database.

I’ve almost got the server component done. It will be called Layered Content Server. Layered Content Client will run off of a server instance and together they’ll make Layered Content, a usable — as in easy to use while not limiting functionality and features — CMS.

You can learn more about the architectural decisions behind Layered Content which will allow it to be easier to use and still quite functional at the wiki. I’ll be asking for help once I get a pre-alpha version out so keep an eye out for it.

360|Flex, here I come!

Jacob Wright
June 30th, 2008

I have been invited to speak at 360|Flex this year and am very excited. I will be presenting a level 400 (100 is beginner, 400 advanced) topic entitled Advanced ActionScript APIs. I’ll be talking about how to make your own advanced APIs.

We’ll go in-depth on using custom metadata and we’ll go over extending the proxy class to its fullest. My aim in this presentation is to bring about better APIs in the libraries people are putting out there. Of course, metadata and Proxy extension aren’t the answer and cure-all for this. But they are some of the cooler things you can do. And most people attending the preso will already know the other stuff you should do, such as planning out the API before you start coding, etc.

If we have time I might go over a couple other advanced topics that relate. Such as the IExternalizable interface. But that’s not quite as useful since many of the remoting engines don’t support it. But I can provide a patch to allow AMFPHP to use it! :)

Should be way fun. 360|Flex is going to be in San Jose this year in August. So make plans soon!

Taking the big leap

Jacob Wright
June 27th, 2008

I’m taking the big leap. Again. I’m leaving employmentship and going out on my own. Today is my last day working for mediaRAIN. Suck.

I’m planning on partnering with a friend, Jake Hilton, to provide heavy Flex development for local companies and media firms. We’re both top in the state in Flash, Flex, and Flash Media Server, so we should be able to provide a very nice offering. And we’ll be working on our own products as we find the time. Layered Content is my first priority along those lines and I hope to have a working version out in the next month.

mediaRAIN has been one of the greatest companies I’ve been with. I’m totally going to miss the guys here. I know they’re going to do great things and have mixed feelings about leaving them. But I know what I need to do and will do it.

So now I am free to do contract work. If Jake and I create a company we’ll have to name it something like Jake and Jac. It will probably be a source of confusion for people. :)

If you’re looking for some Flex work go ahead and email me. I’ll see what we can do for you.

I’m also thinking about moving to Portland. Wouldn’t be for a year if it happened, but I’d like to know your thoughts about Portland. Good place to work? Do they have a good user group? Cool people there?

Next Page »