A Changing of the Guard!

Posted: February 28, 2013 in appMobi

Hello World,

I have been using the appMobi XDK for over a year now. I found it to be one of the best tools for testing and deploying mobile apps using HTML, CSS, Javascript, and PhoneGap. So you may guess that I was a little concerned when I learned the news. What news? Well, here is a blog post from Intel:

Intel extends HTML5 capabilities

Submitted by jhwolf (Intel) on Fri, 02/22/2013 – 12:12

Developers continue to tell Intel they are looking to HTML5 to help improve time to market and reduce cost for developing and deploying cross-platform apps. At the same time, app developers want to maximize reach to customers and put their apps into multiple stores. Intel is dedicated to delivering software development tools and services that can assist these developers. I am pleased to let you know that Intel recently acquired the developer tools and build system from appMobi. While we’ve changed the names of the tools, the same capabilities will be there for you. You can check these tools out and get started writing your own cross platform apps now by visiting http://software.intel.com/html5 and registering to access the tools. Developers already using the appMobi tools will be able to access their work and files as well. If you weren’t already using appMobi development tools, I invite you to try them out and see if they fit your HTML5 app development needs. You will find no usage or licensing fees for using the tools.

We are also excited to bring many of the engineers who created these tools to Intel. These talented tool engineers complement Intel’s existing HTML5 capabilities and accelerate innovation and delivery of HTML5 tools for cross platform app developers.

I hope you will visit http://software.intel.com/html5 soon to check out the tools and return often to learn about the latest HTML5 developments from Intel.

So what do I think about this? We will see … we will see.

Cheers!

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!

Hello World,

Well I’ve come to the end of my week long evaluation of Sencha Animator. Overall, I was pleased with what the tool was able to provide. It certainly delivers on what it promises … but no more. During my evaluation period I was able to create an decent prototype of a strategy game I am very fond of – Turn About. It’s based on the old 90′s game called Lights Out. I have created many versions of this game using many different languages including: PowerBuilder, Flash, Flex and Actionscript, Coldfusion, and Javascript. I use it to help me learn a new language or platform and discover its limitations. So first let’s look at the Pros:

PROS

It’s a great tool for creating visually compelling animated pages. I will never consider myself a designer but I can do wonders with clip art and photos. Having the ability to simply choose my images, position them on the canvas, and animate them by dragging, dropping, and updating parameters in the IDE was of great benefit. An animated page that took me two hours to construct (struggling with the CSS) took only 15 minutes in Sencha Animator.

It’s very easy for someone with a Flash animation background to pick it up and run with it. I spent years creating applications in Flash using Actionscript. I am very familiar with the timeline in Flash and was pleased to see it implemented in this tool as well.

If you are a designer with CSS experience then it’s easy to enhance your creation with custom CSS. Sencha Animator allows you to add your own CSS to your project. You can also export your project and it will create the HTML, CSS3, and Javasript source files. The resulting CSS is so clean that understanding and modifying the CSS is very easy.

If you are a developer with Javascript experience then it’s easy to extend the page interactions and behaviors with your own Javascript. I found that I needed to extend the functionality of my page beyond what Sencha Animator could provide. Fortunately the tool provides a way add your own Javascript code.

The product support is great with a decent supply of documentation and tutorials. The documentation for Sencha Animator looked complete. There are several tutorials (with source) on the site that will get you started.

CONS

It has limited functionality if you are an experienced Flash Developer/Designer. The “animation model” (for lack of a better term) used in Sencha Animator is scene-based. What that means is that your animation is grouped into one or more scenes.

All animation is a given scene is played when the scene is entered. The only way to prevent the scene from playing is by using custom Javascript code.

Although you can specify certain objects in the scene to play more than once there is no way to control the animation thru code. Once you are in a scene I found to easy way to start animating an object at a specified point. I had to write custom Javascript code and CSS to make that happen. But I had to be careful because any subsequent exports will overwrite any custom code I may have included.

Nor are you able to receive notifications during animation (such as a callback when the animation reaches 50%). I found a couple of libraries that helped report the frame state during animation but since the timeline is time-based I found it not to be 100% reliable.

OVERALL

Despite its limitations I am still pleased with Sencha Animator. Although I will never use Animator as a primary development tool (and I don’t think Sencha had that in mind as well) it will serve me well as a secondary development tool. I will certainly take advantage of Animator for any projects that require the placement and/or animation of images and objects. I can then include the resulting code into the larger project.

It also serves as an excellent tool to learn CSS transformations and animations by example which, is how I learn best.

WHAT’S NEXT

Next up is Tiggzi! Tiggzi is a “Cloud-based HTML5, jQuery Mobile and Hybrid Mobile App Builder”. I took a look at this tool about a year ago when I was first evaluating tools to use for web-based mobile development. At the time I wasn’t impressed with its features and their subscription prices seem quite high for what they were offering (they do have a limited free plan). When I found appMobi (completely free at the time) my decision was made. Now I will come back to do a full TWO WEEK evaluation of Tiggzi. They seemed to have improved their features (including adding Window 8 support).

I will post the game app I created using Sencha Animator (including source) on a later date. I have two Hackathons and a contest that I am preparing for. If you would like for me to send you the game app just comment on this page.

Until Next Time World,

CIAO

“Taking Inventory”

Posted: January 16, 2013 in Uncategorized

Hello World,

CES 2013

Well CES (Consumer Electronics Show) in Las Vegas was a blast! As expected, we simply couldn’t do it all in a day … not even in three days but we certainly did our best. I spent the first third of my time exploring the CES floor, satisfying my “tech geek” hunger to see the newest technology. I then shifted into Application Developer mode for the remaining 2 thirds of my time at CES – viewing all the technology I encountered though the lens of an application developer. I was inspired by most, prompted to explore by many, and working to use and integrate a select few. I hope to provide more details in a future posting.

The MoDev Hackathon at CES was the biggest eye openers for me. My business partner and I entered the contest with a dynamite idea in hand. Although we didn’t expect to win the grand prize we had high hopes that we would win at least one prize. Sadly we didn’t win at all. It was a huge disappointment for us. We knew we had a winning app idea (still do). We knew we had a winning presentation. However after reviewing the video footage of our demo I objectively came to the only conclusion about why we lost: the app’s overall interface SUCKED! Truthfully speaking, I was ashamed of what I saw and that motivated me to analyze, evaluate, and take action. So what happened?

Simply put: I used the wrong tools, with my current skill set, for the right job. First let’s talk about my current skill set. I have been developing software applications for over 30 years. It started with Assembler on a Commodore 64 and now rests in various Web Technologies. Along the way I’ve spent years using languages and tools such as PowerBuilder, Coldfusion, Flash, Flex, HTML, CSS, and Javascript (and many Javascript-based libraries). Last year I discovered a mobile app development, testing, and deployment platform that makes creating HTML, CSS, and Javascript mobile apps very easy. My team and I were able to win prizes in 3 out of the 5 Hackathons using this platform. I got to the point where I believed appMobi was the perfect tool for all occasions. How WRONG I was! I forgot my own rule in application development (and in many areas of life): “Use the right tool for the right job”. If we had planned to build a standard mobile app using standard mobile interface widgets then appMobi (with jQuery, jQuery Mobile, etc) may have been the perfect tool to use. However what we planned to build was not a standard mobile app, it was more game-like in nature and that meant using tools that were more suitable to the task.

So to that end I am spending the next few months evaluating and learning the  languages, IDEs, platforms, and paradigms (my tools) I currently use to develop apps. In addition I will be evaluating other tools used in the development community. I find that the best way to do that is to create one or more small projects that tests the capabilities of each of the tools. In most cases I may need to combine two or more tools in order to complete my learning objective. At the end of each evaluation I will try to post a short tutorial that will explain what tools I used and how. First up …

Sencha Animator

Sencha Animator

I admit that my knowledge of advanced CSS3 topics (animation, fluid layouts, etc) is below average. Right after the Hackathon in Vegas I began looking at Visual IDEs (Integrated Development Environments) that will enable me to create highly visual, HTML/CSS/Javascript based apps by dragging and dropping elements. Sencha Animator is one such tool. So, for the next 7 days I will evaluate Sencha Animator by reading their documentation, watching their tutorials, and creating a working app. At the end of the 7 day period I will post my findings along with the resources I used, the source code, and maybe a screencast demonstrating my efforts.

I will be evaluating a different combination of tools each week and posting my finding. So keep an eye on this site. You never know when you might discover something that could help in your application development efforts. And if you do please share your comments and views. I’d love to hear what you have to say.

// CIAO –>

Hello World,

Less than two days from now (it’s Jan. 3rd, 2013) I will be taking a trip to the city that *really* never sleeps … Las Vegas, NV!! Recently, I won an All Expenses Paid trip to attend the Consumer Electronics Show (CES) and the AT&T Developer Summit in Las Vegas. While there I will be enjoying ALL that Vegas has to offer including participating in my 5th Hackathon, the CEA/MoDev Hackathon, held at CES and sponsored by the Travel Channel. You can get more information here - http://www.meetup.com/modevdc/events/94385142/comments/142895202/?itemTypeToken=COMMENT&a=ed1_17&reply=1&_af_eid=94385142&_af=event

What’s a Hackathon you say? It’s a competition where developers, designers, and other I.T. students and professionals gather together to network and create software applications within a specific amount of time. I find these events to be a lot of fun and very challenging (I love a challenge). You get to meet a lot of really smart people and learn about various technologies. It also tests your knowledge and skills and reveals how well you perform under such trying conditions. In the end you can end up with a potentially commercial application. At worst you will learn what to do and what not to do when challenged with such a difficult deadline. All in all … you will either love it or hate it.

Yes, I competed in 4 previous Hackathons – one in New York City and three in Virginia. My team and I won prizes in 3 out of 4 of these events including taking the global grand prize in the 2012 AppOlympics in held in New York City! So what plans do I have for the upcoming Hackathon in Vegas? While I can’t tell you what we will be creating at the Hackathon (’cause then I would have to wipe your memory – wink) I will give you a summary of the technologies we will be using:

Intended OS/Platform:   iPhone and iPad using HTML5, CSSS3, and Javascript for Mobile

Development Tools/Platform:

appMobi XDK – testing and deployment,

WebStorm – source code editing,

Adobe Fireworks – graphics design

Javascript Language/Libraries:

jQuery libraries OR jqMobi libraries (I still can’t decide which I will use),

Sprite3D.js – 3D visualizations and animation

CSS Libraries:

Twitter Bootstrap – easy element styling,

jQuery OR jqMobi (I still can’t decide which I will use)

Cloud Services:

appMobi XDK – app deployment and push notification

 Kii Cloud – cloud data storage, access to Facebook, and access to Twitter

I can tell you that it will be a travel related app and that we have dozens of pages of hand-drawn sketches describing our app (Rule #1: No coding before the Hackathon begins). After 4 successful Hackathons I have found that this combination of tools and technologies enable us to quickly create a working application prototype. However I am always open to suggestions and I am always willing to learn more (such as Angular.js and Sencha).

So stay tuned to this site as I submit updates about my experiences at the AT&T Developer Summit, CES, and the CES Hackathon. What about my free time? Well somethings have to stay in Vegas.

Ciao

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

I’M BAAAACK!

Posted: December 9, 2012 in Uncategorized
Tags: , , , , ,

Hello World,

I am back from my self-imposed sabbatical from the blogosphere. During that sabbatical I have spent (and continue to spend) a lot of time designing with, developing on, and exploring brave new technologies. During this time there have been major changes in my development career:

Windows to Mac

I have crossed over to the LIGHT. I am now a committed Apple user and developer. This happened as a result of my current project with my current client. I entered the project group as a Windows user and developer surrounded by Mac users and developers. One day my client surprised me by buying me my own MacBook Pro. Since then I never looked back.

phpnodejs

My current client had no use for ColdFusion. The other developers on our team started using Erlang (and now Node.js) and so ColdFusion was dropped from my development toolkit. I now embrace PHP and Node.js.

jquery_logo

I was called to join the team because of my Flash/Flex skills and game development experience. We explored and developed several prototypes using the Flex platform using external libraries such as Away3D but found them unable to scale to the type and size of our project efforts. Because our requirements include the need for cross-platform, mobile apps we are now working with Javascript-based platforms and libraries. I am now able to leverage my longtime web design and development skills to produce web and mobile applications across many platforms using technologies such as: Javascript (jQuery, jQuery Mobile, jqMobi, PhoneGap, Sprite3D, Knockout, and more), CSS3, and HTML 5.

So although I’ve been absent from my blog for over 3 years it’s been a very busy 3 years full of learning, growing, designing, developing, Hacking (I won prizes in 3 Hackathons – World Grand Prize in one), and teaching. And it’s only just begun!!

Stay tuned to this blog as I continue to bring you The World Wide Web According To …

Cheers