Archive for the ‘cvebook’ Category

The Book is Out…

Friday, November 14th, 2008

Today a FedEx package dropped on my desk. Inside was the book Andy and I spent so much time on writing, finally printed. When I talked to Doug about when he received his book in hand he said it was all worth it and I have to agree. To think, this book started as a presentation given at 360|Flex Seattle.

For those of you who pre-ordered, the book should be on it’s way soon. Andy and I will be working on getting the source code up as soon as we get back from MAX. If you see us, we’ll have copies there.

You can learn more about the details of the book at the book’s website. The one thing that isn’t immediately apparent is Appendix A: Skinning and Styling Diagrams. To give people an idea, here’s a little sample of one of the diagrams:

Now, imagine every single Flex component with the exact same diagram that points out every skin-able and style-able part of the component and maps to a legend. Better yet, imagine a poster of these diagrams:

The book doesn’t come with a poster, but it does have all the diagrams spread across several pages. That poster is one I printed out at the EffectiveUI office in Denver as a reference to hang on the wall. I also made mini printouts for anyone who asked to tape under our glass desk tops for quick reference. Believe me, there was a lot of time spent in Illustrator to get those done :-D

Thanks to Chuck Toporek from Addison-Wesley, NJ from the Adobe Thermo/Flex team for writing the foreword and everyone who provided feedback and guidance along the way.

Programmatic Skinning on Adobe TV

Wednesday, October 29th, 2008

For those of you who are interested in skinning beyond the graphical approach, Adobe TV has a nice video covering the topic of Programmatic Skinning. Kevin Hoyt does a nice job covering some of the basics of getting started with creating Programmatic Skins. He explains some of the differences between both methods of skinning and some of the impacts of going all graphical.

Check out the video on Adobe TV.

If you’re interested in expanding your knowledge on the topic, the book I co-authored with Andy McIntosh goes into detail on creating Programmatic Skins and provides some great tips and tricks. Apparently the book is slated to start shipping early next month (fingers crossed).

This method of creating skins is very powerful, however it can take a bit more time than creating graphical skins unless you’re doing it on a consistent basis. I’ve always been a fan of what you get from programmatic skinning, like the dynamic nature of them, the ability to customize through CSS styles,  and the optimization improvements. However, the necessity of working with the Drawing API and time it takes to create the skins eventually pushed me into getting involved with Degrafa. You’ll also see these benefits in Flex 4 and the introduction of FXG.

Writing a Book? These Tools Might Help.

Sunday, July 6th, 2008

Authoring a book is no small feat, especially if you’re diving into writing one for the first time. During the process of writing “Creating Visual Experiences with Flex 3.0″ with Andy McIntosh, we tried and used a number of applications to make the process easier. There were several areas we had to overcome, which included: communication, writing, revising, collaboration, versioning and distribution. I thought I’d share some of the tools we evaluated and what we learned using each of them, also what worked and what didn’t work.

First off, there doesn’t seem to be THE perfect tool out there for authoring technical books. We came across “all-in-one” applications that were great for non-technical writing, but focused more on the author than the entire process of putting a book together. There are a lot of roles that get involved besides the author(s). There’s technical editors, peer reviewers, production, senior editors, etc. and they all play different roles. Some people don’t even get involved until half way through the process. All that said, here’s some of my notes on various applications we evaluated and/or used while putting our book together.

Communication

When Andy and I first started writing the book I lived in California and he was in Colorado. Every few day we’d discuss the direction of the book or review each others work. To avoid any additional phone charges we’d use some applications for chatting. Some of these might seem obvious, but hey, they work.

SkypeSkype
I’m sure a lot of people are familiar with Skype, but I’d say we used it 90% of the time to talk to each other. The quality was awesome and since I was already in front of my computer it made it really easy to jump into a quick call.

iChatiChat
If you’re a Mac user you know iChat. We would use this a lot, but not really for voice chat. We’d use the screen-sharing feature to review material, walk through a sample or collaborate. The quality of the screen-sharing was really smooth and worked great.

Writing

As you can imagine we spent hours upon hours in front of our computers writing. From the get-go we wanted to find an application we could easily work in without getting frustrated over things not formatting correctly. We also need an application that could export to MS Word because that was the format required for reviewing.

BuzzwordBuzzword
What better way to write a book about Flex applications then in an actual application created with Flex. Awesome, we thought. We started writing the book in Buzzword, but gradually discovered it was not to be. There were a couple things that didn’t work for us.

First off, there’s no way to create Text Styles, so we could predefine how text should look for Captions, Headers, Chapter Numbers, etc. We needed that in order to make sure formatting was consistent.

Then there was the horizontal sliding toolbars for paragraph formatting, list styling, images, etc. We dug the toolbars at first, but a lot of what we did revolved around formatting, so we were constantly having to switch between toolbars and wait for them to slide open. Sure, it only takes a second, but those seconds add up.

Sometimes we couldn’t remember which feature was in which toolbar, so sometimes the wrong one would get clicked and then you’d have to click another one. It would have been great if we could have dragged a toolbar out and have it take the form of a palette so we could quickly access the features we needed.

The last thing wasn’t a big issue, but it still came up. To use Buzzword we had to be connected to the internet. This was an issue when I was traveling, specifically while in mid-flight. In those situations I would usually work in another application then copy and paste it into Buzzword when I got a connection.

Eventually we gravitated away from Buzzword, which is a bummer ’cause I liked being able to collaborate on stuff.

Google DocsGoogle Docs
We had the same issues with Google Docs as we did with Buzzword. Google Docs does have Text Styling features, but they’re predefined. It also appears Google Docs is integrating with Google Gears to enable you to work off line. This may have helped us, but it’s just barely getting rolled out now.

Both Buzzword and Google Docs were great for the “pre-writing” or smaller parts of the book, like putting together the book outline, bios, proposals, etc.

PagesPages
Eventually we settled on using Pages. It had everything we needed and was super easy to export to MS Word without any loss of fidelity. Sure there’s no smooth way for collaborating, but we figured our ways around that.

One thing I’m keeping my eye out is for a web version of iWork that ties directly into MobileMe. It would be even better if the desktop version of Pages could sync directly with the web version. Throw in some iChat and you’ve got complete collaboration.

Pre-writing

The stuff I’m calling “pre-writing” are beginnings of chapters, code snippets, thoughts, ideas, links, etc. In our case this type of writing was a collection of thoughts and ideas of what we felt would work in the book, like an evolution of the outline. We’d then take those thoughts and start forming them into chapters. There’s a few apps we found that worked great for this.

JournlerJournler
Journler was an application I started using right around the time we started the book writing process. I would use it to capture ideas, images I came across on the web, sample UI scenarios, links, or whatever else caught my eye. I could assign categories and tags to the content and it would automatically list all the resources (images, links, etc.) in another panel, which made it easy for browsing. Best of all, it was freeware and worked with WordPress. Now it looks like you have to pay for it.

EvernoteEvernote
I didn’t use Evernote at all while writing the book. In fact, I don’t think it was even available then. Evernote was introduced to me by Tony Hillerson while we were working on our 360|Flex preso at the EffectiveUI offices. I just started using it and it seems to have real potential. It’s a desktop application that lets you freely write, capture web pages as text, capture images and more. What’s really cool is it syncs selected Notebooks with the service online, so you can access them on the web as well. Another cool feature is that it will scan photos for text, so you can search for text in photos.

It would be nice if text in photos could be translated to live text for editing. I’m think for handwritten notes, content I took a picture of in a magazine, etc. Being able to highlight areas in text would be nice too. I’d also like to be able to share notes with others, so they can edit them as well.

These applications work great. However, sometimes you can’t beat a pen and a pad of paper. Especially when trying to figure out what illustrations or diagrams should look like.

Distribution

When I say distribution I mean getting files to people so they can be reviewed, edited, etc. There were a lot of people involved in the process and they all needed to have the most current version of every bit of content.

Email
We very rarely used email because it was pretty much inevitable that it would get blocked or get stuck in someone’s junk folder. Plus, using email meant once you got that email you’d have to put it into some kind of organizational structure that may be completely different than someone elses. Probably not a big issue, but we wanted to try to keep things as organized as possible.

FTP
When we first started trading files we used FTP. This quickly became a hassle and had the potential to get real unorganized real quick. Plus, our Pages files would get uploaded as directories instead of files, so we would have to zip them up.

BasecampBasecamp
Eventually we settled on Basecamp. It was really easy to keep things organized with the latest version and make sure everyone was notified when the files they were most interested in were updated. Once we started using Basecamp the process became much smoother.

DropboxDropbox
We didn’t use Dropbox while writing the book, but I just started using it and I’m liking it so far. Basically it creates a folder on you computer where you can drop files into and have it sync up with their servers. You can then access those files on the web, share folders with people, add new folders, etc. This is kinda like .Mac, but it’s free (so far). I could see Dropbox fitting into the whole file-sharing thing depending what you were trying t accomplish.

Conclusion

There’s the rundown of the applications that played a role in the process of writing the book. During this process Andy and I kept brainstorming on the “Book Writing Killer App” that would incorporate all the features we needed for ourselves as authors, but also for all the other roles involved. For example, giving technical reviewers certain access rights to do what they needed to, but then also give us the ability to easily address their feedback.

Again, this is my first book authoring experience, so I’d love to hear from others if they had any applicaions they found to be helpful.

Finished with “The Book”

Monday, June 16th, 2008

CVE FlexFor the past 6+ months I’ve been working on a book with Andy McIntosh titled “Creating Visual Experiences with Flex 3.0″. Well, I’m happy to say we turned in all our material last week. Right now we are reveling in the fact we actually made it through the whole process.

Our goal for the book was to distill everything we know about customizing Flex 3 and AIR applications. Basically everything we wish we knew when we started trying to customize Flex applications. This includes layout, styling, skinning, filters, effects, transitions and many, many other visual aspects of Flex. We even threw in some very helpful (at least we think so) reference material and exercises.

In the beginning we were a bit skeptical how our various experiences would meld together into a book, but as it turns out everything seemed to compliment each other. Andy and I both do design and development. Andy is stronger on the development side and I’m stronger on the design side. This helped tremendously in addressing both perspectives from a beginner to advanced level. However, we wrote the book with the intention that the reader already knew the basics of Flex.

During the process my feelings were mixed, but now that we’re “done” I can say I’m happy I did it. Of course, talking to Deepa Subramaniam and Doug McCune during their process helped me realize I wasn’t the only one going through it. Now I get to wait for the printed version and the comments on Amazon ;-)

For more information, check out the “official” site for the book. If you’re thinking about writing a book and want to know about my experiences feel free to email me juan [ at ] scalenine [ dot ] com. With the book done, I can focus my attention back on this website (big plans), Degrafa and some other side projects.