Archive for the ‘Misc’ Category

Hello World,

Yes, I know it’s an old joke but the picture shown below reminded me of that jest. Take a look ..

How long does it take to make a mobile app?

Kinvey Backend as a Service

Pretty neat huh? So how does that measure up to your experience as a developer?

And as for the question, “How many Coders does it take to screw in a light bulb?” There have been many answers to that question but I like – “None, that’s a hardware problem”

Until next time (my review for the Tiggzi App Builder is coming up next) …

Keep On Codin’

Cheers!

Advertisements

Hello World,

Many of you may recognize the reference to a well known movie in my post title. Yes, I am a huge Hobbit and Lord of the Rings fan. However I used that title not to discuss the merits of the movie but to look back on my own “Unexpected Journey” as a Software Developer. I thought the best way to look back upon that journey would be in the form of my answers to these few questions:

1. How did you get started in app development? What’s your background?

My career as a software developer started way back in 1985 on a Commodore 64. I returned home after being homeless on the streets of New York City, only to find that my parents turned my old room into their home office. While looking for work during the day I played games on the Commodore 64. Unsatisfied with the games available on the C64 I set out to create my own. Along the way I discovered that I can do so much more with that modest home computer than just create and play games. I discovered the Assembly language and I was hooked – “Phenomenal cosmic powers. Itty-bitty living space”. From that point on I set out to learn all I needed to know about creating applications that would benefit first my parents and then the community.

My first full-time programming job was at Providence Hospital in Washington DC using an RPG-like language (so long ago I don’t remember the name). A few years later I got a position as a Technical Trainer at Howard University. I taught the teachers how to use the “cutting edge” applications of the time (MS Word, MS Excell, etc). During that time I also created a small application for the Howard University football team using FileMaker. This was my first, but short lived, introduction to the world of Macintosh computers.

Years later the world was introduced to the drag and drop, point and click, graphical interface known as Windows 3.1. Not long after that pivotal point in computer history I was introduced to the drag and drop, point and click, integrated development environment known as Powerbuilder. The idea that I could create applications by designing the interface was a Eureka moment for me. I was hooked and spent the next 10+ years developing exclusively in Powerbuilder. During those 10+ years I worked hard to create highly visual applications for organizations such as Providence Hospital and the State Department. I started and ran a Powerbuilder users group as a way to give back to the development community. I taught Powerbuilder classes at the Dept. of Agriculture. Powerbuilder was king and I was loving it! Towards the end of this period I entered a contract with the National Institutes of Health (NIH) to create and support existing Powerbuilder applications. This was in 1999 and I began to see how pervasive and powerful the world wide web was becoming – I could create applications that the entire world can see! I then met a man who would change my development career forever.

In the late 90s I started to become disillusioned with the path Powerbuilder was taking. Sybase bought Powersoft and it seemed as though developers such as myself were abandoned. While workin at NIH I met a developer named Scott who was a ColdFusion developer. I was intrigued with the concept of creating server-side code that would deliver web content to the browser. I was hooked and thus began my conversion from client-server development to web-based development. Although I continued to support existing Powerbuilder applications I dove head long into the world of ColdFusion web development. I created dozens of applications using ColdFusion but I missed the rich GUI application interface builder that Powerbuilder gave me. So I began to learn Flash. I focused on creating Rich Internet Applications using Flash on the client and ColdFusion on the back end (I couldn’t escape the client-server paradigm) . Again I spent the next 15+ years creating highly visual web apps not only for NIH but also other clients. During that time I became a certified ColdFusion developer, gave hundreds of presentations at user groups, and gave several presentations at local developer conferences. I also engaged myself in other related technologies and platforms such as Flex. Upon the release of the Flex Builder IDE I thought it was uncanny how simular Flex Builder was to Powerbuilder. The spirit of Powerbuilder lives again! I though I would be spending the rest of my career developing Flex applications with a ColdFusion/MS SQL back-end … until I started working with my next and still current client.

This client hired me to be a part of their Research and Development team. I created a few prototype applications using Flex with Erlang on the back-end. I was asked to use my knowledge and skills as a game developer (so man years ago) to create bleeding edge, 3D representations of their vision using Flex and Away3D. We soon found these tools to be too limiting and not scalable enough for what we needed to do. We needed an app that was cross-browser, cross-platform (desktop, laptop, and mobile), and cross-OS (Windows, Mac, iOS, Android, etc). So I put Flex aside and eventually reclaimed my knowledge in web development technologies.

Currently I am focusing on creating apps (web and native), on various platforms, across multiple OSs using web technologies such as Javascript (jQuery, jQuery Mobile, jqMobi, PhoneGap, Knockout, Sprite3D, and many others), HTML 5, and CSS3. Where do I expect to be in the next 10 years? Who knows. The seas of technology is ever changing I must listen to the wind and stay on top of the wave or be left watching from the shore.

2. Why did you choose to create the kind of apps you’re creating (health, games, education, etc.)?

My inspiration for the applications I’ve created came first from my mother’s need for applications that would help her run her business and then later from my role as a husband (of over 20 years) and father of two. Throughout my career I have created and supported all kinds of applications, from puzzle type games, to serious productivity, to educational apps, and even a large singles dating site. No matter what I create I always ask these two questions from a user’s point of view, “Why should I use this application?” and “Would someone in my family use it?” The answer to these questions drive the design and development of all the applications I have ever created and continue to build.

3. What are some of the obstacles you face as a developer that you wish you could change? Are there resources you would recommend?

One of the biggest obstacles I have encountered during my career as a software developer is the development community itself. A proliferation of software platforms, frameworks, and libraries have given us unprecedented freedom of choice. However with that we have lost some degree of standardization and synergism. Poor or lack of documentation just seems to exacerbate the situation. I’ve spent a good part of my career having to read, understand, and modify other developer’s code, many times with no apparent structure within their own code. So many times I’ve seen code that is not modularized  or componentized resulting in what is commonly known as “Spaghetti Code”. I admit to, at times, being guilty of such “crimes” myself. I don’t wish to see a reduction in the choices we have in our development tools nor do I wish to take away any personal expression of development styles. I only ask that we ALL consider the fact that there will always be someone else who will be working in “your code” (or some version of it) long after your gone.

4. Some of the latest technology is exhibited at CES. What would you like to see as the best new technology at CES 2022?

Wow! 2022 is like a technological lifetime away. I believe that by 2022 a great deal of the power to create and deploy applications will shift to the users themselves. Tools and platforms will arise that will allow the non computer programmer to design and build applications. These application will communicate, collaborate, process, and live in all kinds of devices and objects, including those you would never think of having computing power. Imagine a hardware and software solution that delivers highly localized, pertinent information to you through an small earpiece no matter where you are in the world. Or being able to exchange digital information with another just with the shake of  your hands and immediately access it through special glasses that create a virtual interface in front of you. Can you tell I watch a lot of science fiction movies? It’s not science fiction, it’s becoming science fact. We’ve already started living in the world of Star Trek with cell phones as communicators and medical tricorders. I am still waiting for my Jet Pack and Hover Car though.

5. What do you, or app developers generally, need most in order to have continued success?

I believe that the most important factors for continued software development success are: Support, Collaboration, and Focus. Support – This includes documentation and forums that are created and maintained not only by the tool creators but also by the development community itself. Collaboration – It has been proven time and time again throughout history that we as a society thrive and benefit more by working together instead of against each other. Focus – I believe that software designers and developers we should seek to maintain focus within their apps. Do one thing well and excel at what you do, my mother taught me. I’ve seen so many applications and technologies grow to become so much more than it was ever intended to be. The result is a bloated, uber tool that does everything good but nothing well.

Well, if you’ve gotten this far I can assume that you either read my entire post or you “skimmed” through this post to get right to the spoilers. Sorry, no spoilers here. We must all take our own journey and discover and learn from those experiences along the way. I hope to chronicle my continuing journey in the posts of this blog – to seek out new software and new platforms and to go where no software developer has gone before (cue rise in music).

CIAO

Hello World,

Last night’s meeting and presentation with the Capital Flex users group was very informative. After the presentation (and pizza break) we began an informal “round table” discussion about the various FREE and OPEN SOURCE tools web developers use to test, debug, inspect, and manage. I did my best to remember all of the great tools that were mentioned that night.Here are a few:

AlivePDF
http://alivepdf.bytearray.org/
An open source ActionScript 3 library for client-side PDF generation

Selenium
http://seleniumhq.org/
Web application testing tool

FireBug
https://addons.mozilla.org/en-US/firefox/addon/1843
A Firefox add-in that enables you to edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.

ServiceCapture
http://www.kevinlangdon.com/serviceCapture/
A tool that captures and displays ALL HTTP traffic

OpenSTA
http://www.opensta.org/
A software stress and load testing tool

Drupal
http://drupal.org/
An open source content management system

ColdFire
http://coldfire.riaforge.org/
A Firefox extension that displays ColdFusion debug information in a separate tab

Web Developer
http://chrispederick.com/work/web-developer/
A Firefox add-in toolbar containing various web developer tools

It is likely that I may have forgotten to mention one or more of the tools we discussed last night. If you attended this meeting and see that I failed to mention a tool that you use, please feel free to comment. If you did not attend this meeting but you still have a valuable web developer tool that you would like to mention, please feel free to comment. Later I may create a page devoted to listing many of the web developer tools.

Thanks everyone in advance!

Ciao

Mockups For The Masses

Posted: August 19, 2008 in Flex, Misc

HELLO WORLD,

Managing a software project can often times bring about confusion as customers attempt to communicate with the software development team about their requirements, especially when it comes to the user interface design. While the software development community may share a general understanding of the various components used in software design (dropdown list box, tab panel, etc.), most users do not. One of the phases used in some software development lifecycles include the creation of application mockups. A mockup is a draft design of a web site or application. By creating a mockup before beginning any software development the customer can correctly determine whether the development effort is on the right path and if the user interface requirements have been correctly communicated.

So, enter Balsamiq Mockups. Balsamiq Studios has created a mockup tool that allows you to create mockups in minutes and without writing a single line of code. The application is so easy to use that you can create the mockup while discussing the software requirements with the customer.

They have released several versions of this tool including;

For Desktop
This version works as an offline desktop application and is fully cross-platform compatible (Mac, Windows, and Linux)

For Confluence
This version works as a plug-in for this popular enterprise collaboration tool.

For JIRA
This version works as a plug-in for this bug and issue tracking system.

For Twiki
This version works as a plug-in for this open source enterprise collaboration platform and knowledge management system. This version has not been released yet but is expected to be ready soon.

There are many reasons I really like this tool. The application interface uses a drawing pad metaphore as the drawing canvas. All of the interface components look hand drawn and can be easily dragged, dropped, and manipulated on the canvas. After creating the mockup it can then be saved in its native format (a standard XML file) or exported as a PNG image. The fact that the mockup is saved into an XML format means that it can be easily shared among many people and even included in your favorite source control system. I am currently working on way to convert the mockup xml into an actual Flex application. Lastly, multiple mockup documents can be opened at the same time in the same way multiple Excel worksheet can be opened and accessed via a tab bar at the bottom of the screen.

For many years I have been using MS VISIO to create application mockups. However I found the software to be a little “overkill” for the task at hand. I also found the it difficult to share the document due to price and its obvious learning curve. The Balsamiq Mockup for Desktop is only $79 (Confluence and JIRA prices are somewhat higher). It has a very low (maybe non-existent) learning curve.

I now regard this application as a valuable addition to my arsenal of software development tools. I believe that you should too.

Ciao

55% Chance of … a Black Hole

Posted: April 11, 2008 in Misc
Tags:

<mx:Greeting text=”HELLO WORLD”>,

No one’s perfect and everyone makes mistakes … including Google. Here is an actual screenshot (with an exploded view of the item of note) of my iGoogle page today.

As you can see, the weather in Germantown calls for a high of 78 degrees, mostly cloudy, and winds approaching that of a Black Hole.

This weather Really Sucks!

“Sometimes we all just need to laugh a little”

<mx:Greeting />

Low-Tech to the Rescue

Posted: January 3, 2008 in Misc

Hello World,

It’s not everyday I stumble across what I like to call a “paper clip” idea. These are ideas that are so simple in design that it even surpasses the intellect of the “well educated” … like the paper clip. Props to the man or woman who invented the paper clip. Well I came upon what I think is another such idea.

For years web developers have been developing way to prevent spam bot from infiltrating their sites and submitting hundreds of form entries. Thus was born the Captcha, a dynamically generated warped image of a word or phrase. The user must enter the word or phrase in the text box before submitting the form. This technology helps prevent spam bot from automatically reading the word of phrase and successfully submitting the form. Unfortunately, many times it is difficult for even the human to read the word or phrase.

Captcha Sample

Can you tell what letter (or number) that is between the 5 and 3? Neither can I.

As I was registering at another forum site I was presented with a rather unique, what I like to call a low-tech way of validating human response. Ask the user to solve a simple expression.

New Captcha

You simply supply the answer to the expression. The expression is dynamically generated and can contain any combination or numbers and operators. Yes, a computer would be able to recognize and calculate such an expression much faster than any human but that’s assuming that the spam bot can read the expression. Could we not use a form of Captcha technology to provide the expression and allow the human to enter the answer? One number … not some word or phrase, uppercase or lowercase, just one number.

Just a thought.

Ciao

EXCELSIOR!

Posted: November 14, 2007 in Misc

Hello World,

Well it has finally happened. Marvel Comics has officially entered the online world of comic distribution. – Marvel Digital Comics Unlimited! This new site gives you access to thousands of Marvel Comics in digital format. For the price of one (maybe two) comics per month you can get access to their entire library of comics.

I’ve been reading Marvel Comics since … I’ve been able to read. I’ve collected many comics (hundreds) over the years and still collect more. I don’t consider myself a “bulk collector” of comics. I only buy the issues that I’m interested in reading and I only read the stories that are of interest to me. I have never been able to find (or afford to buy) the first issue of some of my favorite comics. Now I can read them online and just like when I hear a song I really like, I can purchase the hard copy at my local comic store.

The downside … you are unable to download the comics for off-line viewing. I hope that they add that feature sometime soon. If they would make the comics available for download (I’d pay a little extra for that – .99 per issue) that would give me a reason to buy the Sony Reader Digital Book. Better yet … if they created an API to their library of comics i would dedicate myself to creating a “killer” comic book based app in Flex/AIR.

Oh well … baby steps

Ciao