Inspiration in the night

Jacob Wright
September 12th, 2008

Speaking of Layered Content, I woke up last night at 2 a.m. with some great ideas that I’ve been putting into action since then. Specifically, Layered Content will be framework independent, and it will be able to integrate with any of the web frameworks (Zend Framework, CakePHP, CodeIgniter, etc.) or be used stand-alone. What does that mean? It mean’s if you’ve got a site to put together for a client you can use your framework of choice and tack on Layered Content. You’ll be able to give them a way to manage their content on top of whatever magic you’ve coded up for them.

More to come, when there is more to tell.

Flight Framework coming soon?

Jacob Wright
September 12th, 2008

I’ve been involved with the Flight framework since its inception at mediaRAIN. I’ve helped Tyler with it via brainstorming, feedback, etc. But he’s been the one mostly to code it up.

It’s been great from the beginning for a lot of our projects because it has built-in undo/redo and allows for some quite custom things along those lines. Well, Tyler went in another direction with it for awhile, wanting to please everyone, taking out Singletons and such for example, and mediaRAIN forked it into a project called Nimbus. I will probably be helping out with both as I can.

Flight is now coming in from the wings more with their changes and it looks like quite a solid and complete framework, even if I didn’t need undo/redo. I’ll have to try it out with Layered Content as I upgrade the admin.

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.

Next Page »