Friday, August 24, 2007

Designing Software Is Fun Again

I know this may come as a shock but I don't like .NET. I never have and never will. Perhaps, one day they will see the light and go open source but I doubt it. I won't get into a technical debate as to why because it doesn't matter. It's my preference and that's it. That's not to say that .NET is bad because it's not. In fact, I've been messing around with Blend and I've been very impressed. More on this later. I prefer Flex & FileMaker simply because it's easy. If there is a weakness of Flex is its ability to connect with DataSources. Basically, you only have two choices out of the box. They are Web Services and HTTP. Now, that would probably serve most needs unless you're connecting to a SQL compliant database. Doh! If so, you'll have to wrap some web services around it to make it work. Adobe does offer choices but they're not cheap. Flex Data Services allows you to connect to back end systems via remote objects. Of Course, there is Cold Fusion which can also work. Unless you're using ColdFusion for your Intranet and/or website, it's probably not the choice here. There other companies that provide middle ware connectivity. The best seems to be WebOrb. If you haven't checked them out you should. It's powerful stuff. If you're needing a highly scalable application then you'll need one of these tools.

So, why do I like Flex and FileMaker? Glad you asked. Okay, maybe you didn't ask and maybe you don't care. If so, then why are you here? Go home, leave, vamoose. Okay, for the rest of the two readers of my blog - here you go. I like Flex & FileMaker because they both begin with the letter "F". You know what else begins with the letter "F"? Get your mind out of the gutter. It's (F)un! Sorry had to go there. Anyway, back to the story. It's like FileMaker and Flex were meant to be together. Why? FileMaker has a built in Data Services API that can be utilized using Flex's two out of the box choices. Perhaps, this is FileMaker's most underrated feature that seems to get lost in haze. Using Flex, you can connect and write to FileMaker's database in 3-4 lines of code. FileMaker's API has all the CRUD operations built into the API. Let me also clarify for you geeks that I do understand that FileMaker's API is not really data services in the truest sense. I know that. However, its still easy.

You can also use FileMaker's layout capabilities to build forms in Flex. Here's how. Design a layout in FileMaker. Put some fields in the layout and you're basically done. Use FileMaker's FMPLAYOUT grammar to get the definition. Voila! Here's the down side -- you'll have to write Flex code to interpret. Here's an idea. Use a FileMaker custom function to build the MXML code for you. Write a script to call the function and then to publish the MXML to a directory and have some code in Flex to load modules on the Fly. Okay, now you're probably thinking I'm on some 1960 drug trip. You're also probably wanting to see some sample code like most sites would do. If you're interested, just leave a comment and I'll be happy to send you some code and/or show you via my Adobe connect account. Just let me know.

Finally, the title of the post is "Designing Software is Fun Again". I didn't really explain that -- huh? Programs like FileMaker, Axure, and Flex make designing software fun. As I mentioned, it's a preference. It's what works for me. I believe that companies should focus more on making the process fun in lieu of getting bogged down in places that can halt or stifle the creative process. I need a canvas not a document. I want to draw rectangles not write x and y coordinates. I want collaboration not acceptance documents. I'm having a blast.

Monday, August 20, 2007

Rave: Axure & Ubunto

Rave: Axure (Prototyping)
PictureForLife.net is close to completion. I'm really excited about this. It will be more than just a standard photography site. Thanks to my friends at Akcelerant, they turned me on to this prototyping software from Axure a couple months ago. It's a great piece of software for designing applications. I've never been a fan of wire framing because to be honest....I found it boring because they're basically just some pictures of what screens will look like. What sets Axure apart is the fact that you can put some code bits behind the wire frame. Thus, allowing one to be able to see interactions between components.

There are basically two approaches you can take. You can start designing screens and interactions (i.e. wire frame) or you can start with a flow model which utilizes a flow chart approach. I chose to go the wire frame route. Once you're done, you can have the system generate a specification document. That's the icing on the cake. I don't write specifications -- NEVER!. This system does it for you.

Going forward, I will use Axure. It's a wonderful tool in the toolbox.

You can check out the prototype for the website. I've developed this site using Flex and FileMaker. The next phase will include a FaceBook application to my site. I've been working with the FaceBook API for the past couple of weeks and it's powerful and very easy to code in. More on this later.

Rave: Ubunto
A colleague recently told me about a Linux flavor called Ubunto. It's a simplistic flavor of Linux. I've installed Linux before and I've always struggled with them. Then, trying to install instances of php, ruby, apache, and MySQL was painful. Installing Ubunto only took 10 minutes to install and get up and running. I installed this in my parallels system using a linux kernel 2.6. The download of Ubunto is an ISO file. Once you mount it on parallels - a working version comes up instantly. It's like doing a try before you buy approach. I played around with it and all I had to do is click on the "install" icon. I answered a few questions and then it was done.

Once Ubunto was installed, I installed PHP, Ruby on Rails, MySQL, and Apache2 via a couple of commands I was up and running. Literally took me 10 minutes to install these applications.

Ubunto comes with OpenOffice installed. It also comes with Gimp which is an underrated imaging application.

Sunday, August 19, 2007

God Took Ryan and I For A Drive Yesterday

oldhomestead


This past week, I was in Texas with my son getting him ready for school. Yesterday, we decided to take a drive out to Wharton, Tx where I grew up. I have not been back to Wharton since I left twenty two years ago. At first, I just wanted to go check out the places where I grew up for my own nostalgia trip. However, it turned into something else. It turned into an education for my son. He got to see where his mother and I grew up. On every turn, he was asking all kinds of questions. I could tell that he was somewhat surprised that I grew up out in a small farming area. I could tell that he was able to start connecting some of the dots in my life. I took him to all of my hangouts and drove him by all the places where my friends lived. We drove to where his mother grew up. There was a baseball field that his mother's family had built. Ryan didn't know that his mother was an awesome soft ball player. I on the other hand --- sucked.

We drove to my high school. He was absolutely shocked to see how small the school was. It was very surreal in that this place where I spent four years had not changed at all in twenty years. We peaked into some of the windows. We noticed that not even the interior had changed.





As we were going to all these places, all the memories I had just starting pouring out. It was like dumping an encyclopedia of my life. Ryan was listening. I could tell that he was soaking this information in.

Overall, this was probably one of the best days I've ever had with Ryan. It was moving in the sense that I had not returned to these locations since I left twenty years ago but more importantly was an opportunity for my son to experience his own roots. Walking around my own high school with my son who's in his last year of high school was a blessing. Perhaps, one day he will return with his children educating them on where his grandparents grew up. A right of passage I will never forget.

Now, I'm on my way back to Indiana. It's still painful knowing that when I return he won't be there but I also know that God took us out for a drive yesterday to help me and hopefully Ryan to get through this step in his life. For that, I'm grateful beyond words can describe.

A note about Ryan:

Ryan got a job at the first place he put an application at. He will be a cashier at Randall's supermarket. He starts training on Monday and is very excited. He and I went to his new school and it looks like a great school. Katy schools are among the highest rated in the state. He starts on August 27th. I'll keep you updated on his journey.

Tuesday, August 14, 2007

Put It There!

CAM  3981.jpg



This week my son and I will be traveling to Texas. He will be finishing his last year of high school with his mom. He will be a 1,000 miles away and I can tell you it's the hardest thing I've ever had to do in my life. All of sudden, this little boy is now eighteen years old and ready to take the first steps into the world. I couldn't be prouder of Ryan. He's got a big heart, great values, and has a strong devotion to his family.

When Ryan was younger, he spent his early years with his mom. During those years, I worked non-stop. I always found time to be at Ryan's significant events and was always there for him as best as I could - so I thought at least. About eight years ago, I knew this wonderful man named Ralph Bender. He was a World War II veteran and had fought in four major battles. He was one of the first guys to storm the beaches at Normandy. He was part of the Army Corp of Engineers. This man had seen everything his lifetime. The stories he shared with me were unmeasurable in terms of the impact on my life. I was in awe of him in so many ways. He, like me, was not much of a talker. With him it was never about the quantity of words but the quality. One day, I was visiting him at his house and he asked me how things were going and I mentioned that I was working a bunch of hours on a special project at the time. All of sudden, he asked me to take a ride with him. He drove me to a local cemetery. We walked through this cemetery and he asked me to look around on the head stones and read their inscriptions. He asked me if I noticed a pattern with these inscriptions. I was stupid and just couldn't seem to make the connection. "If you look around you will see inscriptions like....Beloved Father, Loving Mother, Loving Daughter, etc", he stated. "Did you notice that none of these headstones stated what these people did in their professional career? You don't see....Great Programmer, Beloved Lawyer, Loving Manager, etc", he said. That was a defining moment in my life. I was calm in the understanding of that but also saddened by the reality of my situation. What an idiot I was.

Since that defining moment, I realized that my legacy was not going to be what I did in my professional career. It would be the son I left behind. It changed me. I focused a great deal of my energy on preparing Ryan for the moment he would begin his journey into the world. Ryan spent the last six years with me while his mother was in Texas. During that time, we had some wonderful times together. Yes, there were the teenage moments where he drove my wife and I crazy but they were brief periods of time. Now, those moments are more precious than ever. I wouldn't trade them for anything.

It's hard to describe what I'm feeling. I'm very sad that he's leaving but I'm proud of him for wanting to take these first steps on his own. I look back and wonder where all the time went. I still remember as if it was yesterday; the first time I saw Ryan in that hospital in El Paso, Texas on April 11, 1989. Next year, he'll be off to college. Wow!

The good news is that with modern technology such as cell phones, blogs, video iChat, and youTube we'll be able to stay in contact. Also, Carol and I are already planning our quarterly trips to Texas. Going to rack up those frequent flyer miles.


Give Me Your Hand I'd Like To Shake It
I Want To Show You I'm Your Friend.

You'll Understand If I Can Make It Clear
Its All That Matters In The End.

Put It There If It Weighs A Ton,

That's What The Father Said To His Younger Son.
I Don't Care If It Weighs A Ton,
As Long As You And I Are Here, Put It There.
Long As You And I Are Here, Put It There.

- Paul McCartney - Put It There


Wednesday, August 8, 2007

FileMaker Conference Notes

The FileMaker conference is winding down. Tomorrow, I'm in an all day session focusing on creative design.

I have been to a lot of conferences in my lifetime. This was my first time at the FileMaker conference. Let's say I was at home. First, MAC users out numbered PC users 20:1. Second, almost everyone had an iPhone. Third, the people were just groovy man. Well, except for the guy that had gas -- that's a story for another day. Finally, these folks were absolute raving fans of FileMaker.

During the conference, I had to the opportunity to look at some of the applications that are being developed by the FileMaker community. Let me say, that some of these applications were just amazing. The majority of applications developed by the FileMaker community don't necessarily come from programmers and/or analysts. They are developed by people that use the software. You could tell just by how some of these applications flowed. I spoke to a doctor who designed his own patient record system. I Spoke to an accountant who designed his own accounting system. I spoke to an owner of a bowling alley who wrote is own point of sale system.

What impressed me the most -- was how folks from different backgrounds were able to collaborate with one another. Witnessing programmers sitting down with non-programmers to see how they were learning from each other was impressive. One actual conversation I was apart of was watching a programmer explain recursive functions to a doctor. The doctor was listening and learning. Then, I saw that same doctor show the programmer how he integrated document processing through PDF's using PHP's PDF library. BTW - I learned something from this doctor. He did some amazing stuff with PDF documents.

Over the years, I've taken abuse for being a FileMaker fan. I think their database is powerful and easy to use. I love the scripting features that would rival any established business rule engine. In fact, that's one of the reasons I used FileMaker in an application I've designed. I don't think Microsoft or Oracle are concerned or threatened by FileMaker. Why? FileMaker has carved off a niche for themselves that these two powerhouses don't want. FileMaker caters to the small to mid-size organization. In fact, Microsoft, Oracle, and MySQL have partnered with FileMaker in integrating their databases into FileMaker Server. What's great about this integration is that all the integration is done on the server. Clients don't need ODBC connections for it to work.

Finally, you could tell that FileMaker listens to their customers. They understand them and want to collaborate with them. Recently, they cut the price of their technet program to only $99.00 per year. This includes a developer version of FileMaker Pro and FileMaker Pro Advance Server. That's a bargain. I heard some grumblings from some folks stating that it was a mistake because it's only going to diminish the quality of the technet community. I say good for FileMaker. They want to hear from their customers and they're going to.



PS: Here are some notes I took from the conference:

Saturday, August 4, 2007

Art or Science?

I'm a big fan of 37Signals. I love their applications and I think their approach to developing software is unique and innovative. Their book titled "Getting Real" is their approach to developing software.


Getting Real: What is Getting Real? (by 37signals)

They use their forums to collect information about what their customers are talking about. Sometimes they listen and sometimes they don't. Periodically, you will see them tell their customers "No". Yet, most of their customers are raving fans. They don't release documents that talk about what's going to be in the next release. They just release it (see below). They don't schedule software updates. They just release them when they're ready (see below). I use BackPack, BaseCamp, and Highrise on a regular basis and I can tell you that there is always something new every month.

Highrise - Dashboard


Another thing I like about 37Signals is that they develop software through inspiration.

We realized project management isn't about charts, graphs, reports and statistics — it's about communication. It also isn't about a project manager sitting up high and broadcasting a project plan. It's about everyone taking responsibility together to make the project work.

Our enemy was the Project Management Dictators and the tools they used to crack the whip. We wanted to democratize project management — make it something everyone was a part of (including the client). Projects turn out better when everyone takes collective ownership of the process.


37Signals

I've never liked the fact that in the software industry you have engineers, analysts, and programmers. I've said this on many occasions, I believe the approach to developing software should be similar to how an artist paints a picture, an author writes a book or an actor prepares for a part. It should be more about art than science. I don't write functional specifications; never have and I never will. I believe in just developing from the heart. I know that sounds cheesy but its what I believe. The best stuff comes from the heart. Companies like 37Signals are proof of this.