Posts Tagged ‘ibm’

27 Apr 2013
4

Appcelerator Mobile Dev – Chapter 2: Understanding the Titanium Framework

Welcome to Chapter 2 of the Appcelerator Mobile Development Series: Season 1. In this post I am going to explain how the Titanium Framework works and help you understand the pros and cons of using it. I’ll also touch on the Pricing model as I currently understand it, keeping in mind it changed recently.

At IBM Connect this year I had a “Birds of a feather” session that I facilitated and it was focused around Appcelerator Titanium as a Mobile Development Framework and how well it integrates with IBM Notes/Domino and XPages. Part of the session was to give an overview of which other Mobile Frameworks are available and what are the different ways one can develop for a mobile application. Today I will explain this in my post and go deeper into what Titanium offers that’s quite unique and powerful.

The different ways one can develop for a mobile application

For me, Mobile Applications come in 3 flavors:

1. Native Mobile Applications - An application developed for a specific mobile operating system that uses the OS’s core native UI Controls and Objects.

2. Mobile Web Applications - A mobile friendly web application developed using HTML5, CSS3 and Responsive Techniques, that’s hosted on a Server and accessed via the mobile device’s Web Browser.

3. Mobile Web Application in a native wrapper - A Mobile Web Application running in a Native Wrapper that gets installed as a mobile app on the Mobile Operating System.

To develop Native Mobile Applications, you can either use the Mobile Operating System’s core programming language and SDK, (Objective-C in XCode for iOS, Java in Android SDK for Android, Java in Blackberry SDK for Blackberry, C# in Windows Phone SDK for Windows Mobile), or you could use a cross platform SDK such as Appcelerator Titanium, LiveCode or Xamarin. The problem with trying to develop for each Mobile OS using its core SDK, is that it’s a massive learning curve. Also, to develop 1 Solution and deploy it to iOS, Android, Blackberry and Windows Mobile, would mean developing a mobile app for each Platform, even though it’s the same app. Imagine maintaining or enhancing this 1 solution. Quite scary don’t you think?

For Mobile Web Applications, you can use the following of the many JavaScript and CSS Frameworks available:

- jQuery Mobile
- Dojo Mobile
- Sencha Touch
- Twitter Bootstrap
 

When it comes to Mobile Web Application development, I personally prefer Twitter Bootstrap as it allows me to create 1 Website that’s responsive based on the device’s Screen Resolution. So with a little bit of effort, your Website can auto adjust itself, show/hide components, etc based on the device that loads it. Twitter Bootstrap is also integrated with jQuery Core, which is always a bonus. A good example of an online website that’s developed using Twitter Bootstrap is Collaboration Today (Did you know: Collaboration Today is developed using XPages and is Open Source).

Pretty much any Mobile Web Development framework can be used in a Native wrapper. Phonegap is a very popular framework and is free to use. Another great solution is IBM Worklight, which to me is Phonegap on steroids, but it’s focus is primarily for Businesses.

Overview Of Titanium Studio

Titanium is a free Application Development Platform built on top of Eclipse. You use Titanium to create cross platform native mobile applications using one programming language……JavaScript. This means no Objective-C, Java or C# skills required.

Currently Titanium allows you to create, run and package native mobile applications for iOS and Android. Blackberry is also an option but currently in Beta. Windows Mobile 8 Beta is on the way and should be released toward the end of 2013.

The Titanium Mobile API gives you access to pretty much all of the Native UI and non visual components that make up a Mobile Application. These components include Windows, Views, labels, buttons, switches, dashboards, navigation, local file storage, network access, etc.

In Titanium Studio, you can write, test and debug your mobile apps using both the Simulator and the actual mobile device.

So will my Mobile App be regarded as native?

The short answer is Yes. Let me explain.

When you create and build a mobile app with Titanium, the following happens:

1. Titanium precompiles your JavaScript code to minify it.
2. Titanium then builds a dependency hierarchy of all the Titanium API’s used by your application.
3. The front-end compiler creates native stub files, which include platform-specific native code, a native project file (only when necessary) and code to compile Titanium for a given platform compiler.
4. Titanium then calls the platform-specific compiler tool (e.g. xcodebuild) to compile the native application.

On iOS, your JavaScript is Base64 encoded. On Android, your JavaScript is precompiled to byte code. Your JavaScript code is never converted to Objective-C or Java. This is what differentiates a Titanium Mobile App from a Native Mobile App developed in XCode or Android SDK. This means your mobile app uses a JavaScript interpreter for your application logic. To summarize, there is an extra layer of processing in an Appcelerator mobile native app vs a standard native mobile app.

With all that being said though, everything that’s written to the screen is native. Windows, Scroll Views, sections, dashboards, buttons, switches, sliders, labels, pickers, tab groups, menu bars, animation transitions, popups, activity indicators and much much more.

You have near full access to all the device’s apis including camera, video, audio, sounds, recorder, contacts, accelerometer, geolocation, maps, sqlite storage, file system, calendar, facebook, yahoo, network and yes, much much more.

This means, that with an unnoticeable performance knock because you use JavaScript for your application logic and it has to be interpreted, everything else is native.

Can I use Titanium as a native wrapper for mobile web apps?

The answer is again Yes. Keep in mind that Titanium focuses only on iOS and Android, with Blackberry, Tizen and Windows Mobile 8 on the way.

Titanium has what is called a “WebView”. This contains your html code that references JavaScript and CSS files stored locally in your app. The great news is you can have a combination of native controls and html running in the same application. The even better news is they integrate and communicate with each other.

If you needed to create an app that runs on multiple platforms over and above iOS and Android, then PhoneGap might be the solution to go with, or IBM Worklight for businesses.

What else is worth mentioning about Titanium

Well, they are aggressive when it comes to updates, enhancements and new features. Version 3.1.0 of the Titanium SDK has just being released. With it, comes a 20% performance boost for apps developed for iOS and up to 36% for Android.

From version 3, you can make use of the Alloy MVC Framework. This means more structure in your application, better performance, cleaner code and less development time.

I’ll also note that when iOS 6 was released, 2 weeks later Titanium released their updated SDK to support it. That’s an incredible response time in my book.

There’s much one can still mention for this section, but I’ll leave some for the next chapters.

So what are the downsides of using Appcelerator Titanium?

For starters, you can only build for iOS and Android. I know that Blackberry is in a Beta phase, but Beta versions scare me at the best of times. Appcelerator could easily decide to stop supporting a certain api or funtion that was available in the Beta version. So as far as i’m concerned, I can use Titanium to develop for iOS and Android only.

I’m sure many will agree with me on this one. Their pricing model is terribly confusing. I’ve heard stories of developers using the free version and then being forced to pay a percentage or worse. The good news though is that Appcelerator have simplified their packages and i’ll explain them shortly.

Another downside is their sales team take forever to respond or in some cases don’t respond at all. I understand their Support team are only available mainly for the Paid subscriptions, but I can’t say I’m impressed their sales team not responding to potential sales leads or pricing queries that I submit.

How does the Pricing work?

Appcelerator offers the following 3 packages:

- Titanium Community Edition (Free)
- Appcelerator Platform (Public Cloud Enterprise Edition) = $999 / Month / Named User
- Appcelerator Platform (Virtual Private Cloud Enterprise Edition) = $2 667 / Month / Named User
 

Some quick notes about the Pricing Plans:

1. Everything mentioned in the previous sections are available in the Free version of Titanium.
2. A Named user is a Platform User with an Appcelerator User Account. This is not an end user of the mobile application.
3. All 3 packages offer Cloud Services like Push Notifications, API Calls, Cloud Storage, etc, but the Paid versions offer way more than the free version.
4. The Enterprise version of Titanium has more tools and plugins compared to the Free Version. This includes Code Analyzer, Live View, Profiler, etc.
 

Demos and Examples of Appcelerator Titanium Mobile Applications

There are many Mobile Apps that you can download from Online Stores that were developed using Appcelerator Titanium. Below are a few of them:

1. Firstly, here’s Appcelerator’s App Showcase Pinterest Board, just for reference and screen shots.

2. Then, you’ve got Mobile Apps developed by Elguji.com. These apps are available for download from the iStore and I highly recommend giving them a try.

3. Next is Domino To Go. YouAtNotes created an extension for Titanium to allow Appcelerator developers to connect to IBM Domino environments and take Domino data offline. More of a plugin than an application, but still awesome. They have 2 apps you can download from the iStore to try out.

4. There’s also OpenRest, which is a Mobile Application developed using Titanium and is used to create Food Ordering Portals.

Where can I find more resources on Appcelerator Titanium?

- Appcelerator Video Channel

- Appcelerator Online Documentation

- Follow Appcelerator on Twitter

- Follow #Appcelerator Hash Tag on Twitter

- Titanium Mobile Development Essential Training Course on Lynda.com

- Appcelerator Training Resources

- Book – Appcelerator Titanium: Patterns and Best Practices

- Book – Appcelerator Titanium: Up and Running

What’s next?

This concludes my introduction Posts to Appcelerator Titanium. Hopefully by now you have a good understanding of the Product and you have Titanium installed and the Basic Tab Template running on your iOS and Android Simulator.

In the upcoming posts we are going to be diving into Appcelerator Development. Most of these will be video tutorials and there will be many of them.

I’d love your feedback on this and my other posts. Feel free to argue cases or query something you don’t understand.

Thanks and good luck on your Mobile venture.

Regards
John
23 Apr 2013
4

TIP: What to try if IBM Notes 9 keeps crashing on Apple OSX

Here’s a quick tip for those who experience continuous crashing of IBM Notes 9 on OSX Mountain Lion.

Before installing IBM Notes 9 Beta on my MacBook Pro, I had Lotus Notes 8.5.3 running. I ran the IBM Notes 9 Beta install without uninstalling Notes 8.5.3. Every time I opened IBM Notes for the first time since starting my machine, it would crash and return an error report. Notes would only successfully open after 2-3 attempts. This happened both with the Beta as well as the official release of Notes 9.

What i decided to try next is completely uninstall Notes before installing a fresh copy. This was very tricky because Notes leaves files in multiple places after an uninstall. The below link will assist you with a complete uninstall.

Click here to see the article: “Uninstalling Notes from a Mac OS X client”

Even after uninstalling and re-installing a fresh copy, the same problem occurred. I checked with the online community and they weren’t getting the same problem. Thankfully, my final attempt worked:

SOLUTION

- I uninstalled IBM Notes 9 completely referencing the above link.
- During the new install of IBM Notes 9, I deselected all add-ons except for Social Edition. (I think the IBM Connections add-on was causing the issue)

That’s it. I don’t want to blame IBM Connections for crashing my app, but once removing it, everything worked 100%. It might be that I had IBM Connections installed, but not configured. Who knows.

I hope this helps.

Cheers for now
John

14 Mar 2013
0

Video Tutorial: Get up and running with Lotus Domino Designer 8.5.3

Hi everyone. So here’s my next Video Tutorial. I show you how to download Lotus Domino Designer 8.5.3 and I also give a quick demo on how to set up your first Notes Application.

I decided to go back to basics and assist those who are new to IBM (Lotus) Notes, especially those who want to get started on Notes/Domino and XPages Development. I end off the Video Tutorial showing you how easy it is to create a working CRUD Application (Create/Read/Update/Delete) in the Notes Client.

If you use iTunes, you can download this video via David Leedy’s NotesIn9 Podcast series.

Enjoy :)

John.

22 Feb 2013
4

My week at IBM Connect 2013

It’s been almost a month since arriving in Orlando for IBM Connect 2013. It amazes me how time flies. I thought I would just give my 2 cents worth on the week, for entertainment purposes.

SATURDAY. THE FIRST DAY

It was one of the toughest days I’ve experienced in a long time. After a 16 hour flight from Johannesburg, South Africa, I arrive in Atlanta around 5:00am. I spent almost 1.5 hours just trying to get through Customs and then had to spend another 30 minutes getting past security. I literally ran all the way to the Terminal where my flight was waiting for me to take me to Orlando.

From there it was much more relaxed. I arrived at the All Star Movies Resort around 9:30am. The only thing I can say about Disney World is WOW!!! What a beautiful place to spend a week at, even if it’s attending an event most of the time.

By 11:00am I arrived at the Dolphin & Swan. I decided to Register early and get it out the way. Thank goodness as well, because there was no queue. I was in and out in less than 5 minutes. It suddenly struck me like a ton of bricks: “I could do with a beer”. So I made my way to the Outside Bar and treated myself to a “Miller Lite”. This became my beer of choice for the duration of the Event. Many did not agree with this decision (Marky, David, Serdar to name a few). I had the pleasure of meeting Frank Tonn from IBM at this Bar. He officially became the first person I started socializing with since arriving at the Event.

I’m sure Miller Lite has a “Lucky” effect on me, because I had this feeling to go back into the Hotel. Low and behold, there stands Nathan Freeman and Peter Presnell. So I joined them and together we made our way to the Boardwalk. Outside on the Boardwalk I meet Serdar and Tim Tripcony (And someone else I can’t remember who…Sorry). So that’s 6 introductions in a span of 1.5 hours. From there, we all went to the get together at one of the Restaurants on the Boardwalk (I can’t remember it’s name…they Brew their own Beer apparently). This was pretty much where the ball dropped. Inside you had a the likes of Dr Marky “I love jQuery” Roden, David “Videos Rule” Leedy, Gayle Elgort, Matt “Hey David, that’s my line!!” White, Mat “Give me a hug” Newman, Darren “I don’t remember saying that” Duke, Stuart “Let me start a fire :) ” McIntyre, and a bunch more that I just can’t remember at this time. It was a who’s who of the Online Community and it was AWESOME!!!. A few drinks later and we were off to ESPN for something to eat. One thing to mention about ESPN. I’ve never been to a Sports Pub where in the Toilet each cubicle had its own LCD TV. All I can say is…..Kudos!!

I forced myself back to the hotel room around 11:00pm and thus concluded my first day at IBM Connect :) . I was exhausted.

THE IBM CHAMPION PROGRAM

It goes without saying that if you have the chance to be an IBM Champion,  do everything in your power to make it happen. IBM really make a lot of effort to make you feel welcome and congratulate you continuously on your achievement. Joyce Davis and her team are absolute ROCK STARS!!! The Red Carpet was pretty much laid out for all the Champions. We got mentioned during the OGS. We had special seating in the front which was very nice. We had our own Private Room/Suite during the week to be used for meetings or just a place to relax. We had Blue ribbons attached to our Badges for people to recognize us. Games were running during the week where people could take photos of them with Champions and win prizes. A lot of us got video interviewed which was pretty cool. iPad covers with IBM Champion branding, lunch with the Execs, Gift packs with Shirts, caps and all kinds of goodies. The list goes on and on. In short, imagine attending IBM Connect with a tank full of Nitro.

I really need to take my hat off and thank Joyce, her team and the rest of IBM for making it an absolutely awesome week. You guys really outdid yourselves. The best part of this is that everything I’ve mentioned is only related to the week at IBM Connect. There is so much more to look forward to behind the scenes and I don’t know where to start. I think it deserves its own Blog Post and I will publish one very soon so that others can at least learn from me and do what they can to be IBM Champion next year.

Finally, a big shout out to all the IBM Champions for 2013. You are an awesome group of people and I am honored to share this Title with every one of you. I’m glad I got to know most of you during the week (About 60 of the 76 Champions attended IBM Connect).

SESSIONS DURING THE WEEK

The OGS was not bad. I got frustrated with the lack of Wi-Fi during that time. I really don’t have too much to say about this. Sorry.

I have to say that pretty much every session that I attended was of excellent quality and well presented. I remember attending an Event about 1.5 years ago (Not IBM) and for that Event, each session had it’s own personal disaster that took place, whether it was loss of internet, Demos crashing, speakers who I felt didn’t deserve to be on stage, etc. It was a nightmare.

With IBM Connect, It was completely the opposite. Yes, there were a few sessions where the Speakers were a bit too nervous, but having said that, every demo worked and pretty much every session was entertaining.

Having said the above, there was 1 BOF session I attended that I felt was almost a waste of my hour. I was ready to leave but stayed thanks to Mr Russell Maher walking in. The person facilitating the session seemed a bit upset that his Abstract to speak at one of the major sessions was declined and indirectly made the audience aware of this. As bored as I was, I still felt this BOF session was not a true waste of time, because I was able to share some of my experience and motivate a few people who attended the session to take on some new challenges with regards to XPages Development.

I remember getting sarcastic comments from a Mr David Leedy when I attended his session, asking me what I’m doing there and that there’s nothing for me to learn. Well Mr David, both Marky and I walked out your 1 session with at least 2 features we weren’t aware of. So thanks for teaching me something and next year I will attend your session again :) .

I also enjoyed the OpenNTF Session. Bruce Elgort is an awesome Presenter and just had the crowd ignited. Bruce, next IBM Connect we need to organize some on stage music, just for kicks. I’ll play the Electric Symbols :) .

The Closing Session was very entertaining. John Hodgman had me laughing from start to finish. I won’t look at Math the same way again :) . It was a great way to end IBM Connect.

MY BIRDS OF A FEATHER SESSION

So I submitted an abstract to speak about XPages and Mobile Development. Sadly, my abstract was declined, but I was allowed to submit again for a BOF Session. I was overjoyed when this was approved. It gave me a chance to strut my stuff at my very first IBM Connect/Lotusphere.

I also enjoyed the idea of a BOF Session versus a normal Track or Show and Tell Session. It gave me a chance to not only speak about something I’m passionate about, but to engage with the audience and turn it into an awesome discussion. For the next IBM Connect, I would really like to present in one of the main sessions, but I will no doubt still be submitting for a BOF Session.

Even though my session was 7:00am on Tuesday morning, I had an attendance of 14, to which I say, “THANK YOU” to everyone who attended. For those who aren’t aware, coffee is SCARCE that time of the morning, which really impressed me more when I saw people entering the room. My business partner, “Dawid van Heerden” was there for emotional support :) . Sean Cull and Graham Acres also attended. Even Mr Marky Roden made it and he’s session was immediately after mine.

Based on overall feedback it seemed like most enjoyed the session and for that I am very grateful. I remember I was so nervous before the Session I found myself doing stretches and breathing exercises whilst waiting for everyone to show up. After my session I had enough adrenalin to last me the entire week :) .

THE UNDERGROUND EVENTS AND ONLINE COMMUNITY

So looking back, between Saturday the 26th and Thursday the 31st, I managed about 3-4 hours sleep per night. The sessions at IBM Connect kept me busy each day from about 8:00am – 6:30pm. Each night after 6:30pm began the IBM Connect Extra Mural Activities. I never really knew what was happening each night (Mr David Leedy did help me a bit), but I did discover a cool trick. The secret is to go and hang around at the Dolphin Bar (Local Watering Hole). I will almost guarantee you that after about 15 minutes you will be downing your drink to attend whatever party or get together you just got invited to. It was like clockwork and there were so many events to choose from. Having said that, you can’t expect this to work if you yourself don’t put in the effort. With that mean…..DON’T BE SCARED TO SOCIALIZE!!!

I had a simple rule: If I’m walking around and I find someone staring at me for more than 2 seconds…..it will be too bad for him/her…because I’m going to introduce myself :) . Don’t get me wrong I’m still a level 3 Socialist. My goal is to level up for next year and be on par with the big boys. Mr Mat Newman is already Level 10 I think. He hugs everyone he sees. No handshaking of any kind. He Bleeds Yellow everywhere he goes. Mat Newman you are worthy of your yellow Boxing Gloves.

One of the best parts of the week was getting to meet many who form part of the Online Community. Over and above the names I’ve already mentioned in this Post, I got to meet Per Lausten, Mark Leusink, Niklas Heidloff, Mikkel Heisterberg, Paul Withers, Sharon Bellamy, Monika Mora, Brian O’ Niell, Sarah Wise, Mike McGarel, Declan Lynch, Thimo Jansen, Paul Hannan, Rene Winkelmeyer, Dan O’ Connor, John Head, Chris Miller, Kathy Brown, Paul Calhoun, Ed Brill, Colin MacDonald, Mitch Cohen, Tim Clark and many many more. (If I forgot your name here, I am truly sorry)

FINAL THOUGHTS

With facing exhaustion and traveling to and from my hotel put one side, it was an absolutely fantastic experience. I feel that arriving on Saturday before the event starts was a good idea. Next time I’ll try to make it Friday already just to get some sleep and get over some of the Jet Lag. I also feel that leaving anywhere from the Friday onwards is recommended (This is aimed at you Marky). Many still stick around after IBM Connect and it’s a great opportunity to recap and have a few drinks with friends.

I got on especially well with Marky, Serdar, Graham, David and Mark Leusink during the week. It was great to get to know you guys and thanks for all the laughs.

Thus concludes my Week at IBM Connect 2013. I will do everything I can to go again next year. I hope this Blog Post was at least a bit entertaining.

Cheers for now :)

John.

23 Jan 2013
0

Join me at IBM Connect to discuss XPages and Appcelerator Titanium

Good day everyone.

I am glad to announce that whilst I will not be presenting at IBM Connect this year, I will be hosting a “Birds of a Feather” (BOF) session on Tuesday morning at 7:00am. The Session’s name is “BOF206 IBM XPages and Appcelerator – A Marriage Made in the Clouds” and will be held at the Swan Hotel.

So the difference between an IBM Connect Presentation and a BOF Session is pretty simple:
A BOF Session is similar to a “Round Table” or “Chalk Board” meeting, where everyone attending gets to join in and voice their opinions, ideas and concerns around the Session’s Topic. I must say I do prefer this type of set up because I get to engage with the audience.

Below is the Session’s Agenda:

Web Applications vs Native Applications

I explain the difference between Mobile Web Apps and Mobile Native Applications, as well as their pros and cons.

Technologies and Frameworks used to create Mobile Web Applications

I talk about the JavaScript Frameworks used to create Mobile Web Applications including Dojo, jQuery Mobile, Sencha Touch, Twitter Bootstrap, etc.

Skills required to create Mobile Native Applications

I give a quick overview of what is required to create Native Mobile Applications for Android, Apple, Blackberry and Windows Mobile.

What is Appcelerator Titanium

Here I give an overview of how Appcelerator Titanium works and the features that it offers.

Appcelerator Titanium vs other Mobile Native Wrappers

I compare Appcelerator Titanium to other Mobile Native Wrappers like Phonegap, Corona, etc.

Integrating Appcelerator Titanium with XPages

I explain how to create XAgents in XPages which will be used to receive data from Appcelerator Titanium, process the Business Logic and send data back.

Creating a mobile strategy that works

In this final Topic, I bring together everything mentioned above  and discuss the choices I made and the Technologies I decided to use to implement a Mobile Development Strategy for businesses.

My goal with this Agenda is to share my past year’s experience and discuss Appcelerator and other complimenting technologies, which will assist in providing a way forward for hopefully all who attend.

Hope to see you there :)