Appcelerator Developer Blog

Interview with Julian Buss of YouAtNotes

YouAtNotes IBM Lotus Notes has been enabling large companies to provide a collaborative environment for their employees since 1989. Since then, it goes without saying that it has received many updates, one of which enables its use from a mobile device. YouAtNotes, one of the few members of the IBM Design Partner program, has released a platform for Appcelerator Titanium that allows developers to integrate their apps with IBM Lotus Notes. Their solution, Domino to Go, allows developers to synchronize and work with Lotus Notes data. They have also recently put out their own application, NotesBook, which utilizes Lotus Notes via the Domino to Go platform. Recently, Tony Lukasavage of Appcelerator had the chance to sit down with Julian Buss of YouAtNotes, and speak about both Domino To Go and NotesBook.

Interview with Julian Buss of YouAtNotes

So tell us a little bit about NotesBook and Domino To Go

YouAtNotes Domino To Go is a framework for Titanium that enables IBM Lotus Domino and XPages developers to synchronize and work with Lotus Notes data to the mobile App. Without Domino To Go, a Domino developer would have to implement much more code in order to get data out of Lotus Notes via HTTP, or to push data back to Lotus Notes. Furthermore, it’s hard to find a good way to store and work with Lotus Notes data on the mobile device, since Lotus Notes is a NoSQL database and the mobile device uses an SQL database, which is a combination that generally does not fit well.

YouAndNotes

All of these complicated issues are completely solved in YouAtNotes Domino To Go. And furthermore, the Domino To Go API follows exactly IBM’s standard LotusScript and JavaScript API for Lotus Notes, making it very easy to use for Domino developers.

Finally, Domino To Go is designed for offline usage from the ground up. So a developer can use Domino To Go to synchronize Lotus Notes data to the mobile device and work with it on the device when it’s offline. New and changed data will be uploaded back to Lotus Notes automatically when the device is online again.

We feel that offline usage is very important for business Apps, since there are so many situations where you don’t have a network (underway, in buildings, in foreign countries and so on).

So in short: when you want to mobilize an IBM Lotus Notes or XPages application so that it works offline and has the look & feel of a native App, the best solution is Appcelerator’s Titanium and YouAtNotes Domino To Go.

NotesBook is one App that I built with our Domino To Go framework. It solves a huge problem for many IBM Lotus Notes users: the journal (notebook), which is built in Lotus Notes, is not synchronized to the iPhone and iPad by IBM’s standard synchronization software, Lotus Traveler. So there are many users out there who have important information stored in their Lotus Notes Journal that they cannot access from their iPhone or iPad. NotesBook not only synchronizes the content of the Lotus Notes Journal to the iPhone and iPad, it even allows mobile users to create new entries, edit existing ones and download images and attachments.

YouAndNotes

Technically that was kind of a challenge because Lotus Notes Journal entries are not plain text but RichText, which means text formatting, tables, embedded images, attachments and so on. The Lotus Notes RichText format is old and does not follow any known standards; as an additional difficulty, there was no way to change any code in the Lotus Notes journal applications on the user’s side. This means I had to use the standard HTTP JSON and XML services that are build in the IBM Lotus Domino server.

But Titanium and our Domino To Go framework provided me with all the tools I needed to solve these issues and now NotesBook is live in the Appstore with many happy users.

Why did you pick Titanium for your app development?

I was not satisfied with the possibilities of a web app on a mobile device. It’s hard to make web apps look like a native app and the device would always need to be online and web apps do not have access to the device sensors and so on. I tried hybrid solutions like Phonegap that solve the sensor issues, but the look & feel is still far from that of a real native app. Further, I didn’t like the method of coding in Phonegap with all the callbacks.

So I quickly came to the conclusion that native Apps are the way to go. For me, Objective C for the iOS platform has a huge learning curve, since I lost contact to the C language long ago. And coding Objective C for iOS and Java for Android would prevent any code sharing between the platforms. All of this lead to the only logical solution: Appcelerator Titanium.

What were some of the highlights of Titanium development for you?

The fact that I can write native Apps using simple JavaScript is clearly a highlight. It helps me focus on my App rather than on coding issues.

The Titanium API is logical and easy to follow, and since Titanium 2.0 it’s well documented, too. Working in Titanium Studio is very easy, since it’s Eclipse based and follows all the familiar conventions.

Furthermore, I like the Q&A section of Appcelerator’s website, I found a lot of good answers there.

YouAndNotes

How many people worked on it? How long did it take to design, implement, and test?

I created the core of Domino To Go and NotesBook. Now we’re in the process of leading other developers to Titanium and Domino To Go.

What resources did you use to learn and develop with Titanium?

I learned a lot from the Q&A section of the Appcelerator website and the kitchen sink example.

In the early days of Titanium the API documentation was not very helpful most of the time. But, as of today, it’s a very good reference that I’m using often. Furthermore, I read a lot of articles in the Titanium Wiki.

Was your app built with the Community edition of Titanium?

Yes

Do you have plans for updates to NotesBook or future Titanium apps? Care to share some details?

Sure! The more customers are using Domino To Go, the more feedback we get and the more improvements and new features are built into the framework.

Regarding NotesBook, I plan to add a feature to synchronize multiple Lotus Notes Journals to the mobile device, which enables companies to distribute any kind of Lotus Notes documents to mobile devices simply by using the free Lotus Notes Journal application and NotesBook.

Any additional thoughts or notes on Titanium development?

I love it. And I can highly recommend Titanium for every developer that wants to write great native Apps.

What’s your background as a developer, particularly mobile development?

I studied computer science and made my degree back in 2000. Currently, I’m in the IBM Lotus Notes and Domino business for which I founded my company, YouAtNotes, with two partners.

Working for YouAtNotes, I developed various sophisticated software products, such as a workflow and CRM solution for the Lotus Notes client. More recently, I engaged in the web application business with IBM Domino XPages.

I played with multiple platforms to create mobile web apps (IBM XPages has a lot of cool built-in support for that), but I missed offline functionality and the native look and feel. After some research, I stumbled upon Titanium. I tried it and fell in love.

My company’s head office is the beautiful city of Hamburg, North Germany.

In my spare time and during vacations, I’m a captain cruising the Baltic Sea with my family (wife and two kids). In that role, I’m diving into marine electronic and computer technology, which is fascinating, too.

1.) Domino To Go, the Titanium framework to mobilize IBM Lotus Notes and XPages Apps: http://youatnotes.com/dominotogo

2.) NotesBook App for iPhone and iPad, to bring the Lotus Notes Journal to the iPhone and iPad: http://youatnotes.com/notesbook

3.) Like us on Facebook: http://facebook.com/YouAtNotes

4.) Google Plus: https://plus.google.com/107818550355220576809/posts

5.) My blog: http://julianbuss.net

Big thanks to YouAtNotes for taking the time to give us some insight into their experience and success with Titanium app development. We know the rest of the community, as well as the Appcelerator team ourselves, get excited when we see beyond what is possible with Titanium to what is now reality.

Do you think that you and your Titanium app should be highlighted on the Appcelerator Developer Blog? Send us an email at community@appcelerator.com and we’ll see if you have what it takes to join the ranks of our other featured developers. We hope to hear from you soon!


Open source training curriculum

We believe in openness at Appcelerator, which is why we’re excited to announce the newest addition to our Open Source offerings. As of today, we’re open sourcing our training curriculum just like we’ve done and will continue to do with our Titanium SDK. What does this mean? Well, it means that our amazing community now has free access to all of our training slides, labs, and examples for personal use, for sharing with friends, presenting at their kid’s school, use at universities, or any other non for profit use you can think up.

Why are we doing this? We believe that the best stuff in life comes from the power of community. We hope that by bringing the power of the community to our training materials, we’ll more quickly enrich the quality of the materials with more examples, better labs, more detailed slides, and maybe even other media such as videos components. To be honest, we don’t know exactly where this will go, but we believe that innovation requires trying new things and taking risks. Hopefully you agree and will demonstrate your vote by downloading the materials now and contributing ideas and materials!

The course projects are hosted on GitHub:

We have really great training partners who have worked very hard and invested real dollars to join our Authorized Training Partner program. For that reason, we have tagged the slides with the CC BY-NC-SA 3.0 license, which prohibits commercial use. If you’re interested in commercial use, please become an Authorized Training Partner. If you’re unsure whether your use is permitted, drop us a line at training@appcelerator.com and we’ll be glad to help you out. Looking for a great training experience? Attend a class offered by one of our ATPs or by Appcelerator at our Mountain View headquarters.


New ACS Features & Performance Updates

Since launching Appcelerator Cloud Services (ACS) in April, we’ve seen great excitement and adoption with in our developer community. Innovative photovideochatsocial networkingweather, and many other types of apps have been created utilizing ACS as their powerful, easy to use server backend!

We’ve been hard at work implementing new features requested by our users. Last week along with the Titanium Studio 2.1.1 release, we added new ACS API features:

  • Messages, Posts, and Likes have been taken out of Beta. Send email-style messages to other users, create Facebook-style wall posts, and record the number of Likes for most ACS objects to easily add more social networking features to your apps.
  • Access control lists (ACLs) - configure fine-grained control over which app users can read and/or write any type of object in ACS. For example, now you can allow multiple users to share and update a collection of photos.
  • Secure login via 3-Legged OAuth - enforce secure login to your app via a time-limited token, eliminating security concerns about embedding the ACS key or OAuth token into your app.

New administrative website features have been added to make managing you app’s data even easier:

  • Lookup of push notification subscriptions & delivery status
  • Advanced search and filtering of data for different object types (users, chats, places, etc.)

Additionally we’ve updated our iOS and Android push notification infrastructure using node.js. This has simplified our codebase and given us better performance and capacity than ever before!


Join us in supporting Pixate!

At Appcelerator, we’re constantly thinking about how we can make it easier and faster to build great mobile experiences with Titanium. We think we’re headed in the right direction but also we are constantly trying to improve. We’re always looking for ways that we can accelerate that goal — both in terms of the timeline on progress toward the goal as well as the speed of the core platform and the smart people working on it.

I’m pleased to announce that Appcelerator is the first corporate sponsor of a worthy new Y combinator backed startup called Pixate. Pixate was recently founded by Paul Colton and Kevin Lindsey. Paul was the founder of Aptana, a company we bought 18 months ago and Kevin was one of the key developers on Aptana as well as Titanium Studio. They are launching the funding of this project on Kickstarter so that more people can participate in the project, and hopefully, their ultimate success.

For $99 or more, you can help ensure support for Titanium happens and release an early license to the Pixate engine as well as early monthly betas. Of course, you can always sponsor more and help out!

They put together this short video of a prototype of the Pixate engine running on Titanium. Our goal would be to integrate this technology into a future version of Titanium. You can help by sponsoring their Kickstarter project today.


Developing Mobile Apps for the Cloud with Titanium Studio and the OpenShift PaaS

Editor’s Note: Reposted with permission from the OpenShift developer blog, and author Grant Shipley.

Are you a Titanium developer that needs to develop backend services for your mobile applications? If so, you are in luck as Titanium Studio now has built in support for cloud deployments using OpenShift.

I have been a mobile application developer for both the iOS and Android platforms since the original iPhone was released on the market. During this time, I have seen the mobile application landscape dramatically change from being single user based applications to the vast majority of new applications having some type of social aspect. Your users expect to be able to see application data on their mobile device, on the web, and to even share it via social networks. This has complicated mobile development because not only do developers have to focus on the core UI of the mobile application, they also have to develop and maintain a backend system for their application.

This presents a challenge for developers because you don't know if your application will have 5 users or 5 billion users. Trying to figure out the hardware requirements for your backend hardware without a good estimation of the number of users is an extremely complex and costly process. Deploying your application to a cloud based platform-as-a-service is the ideal solution for this problem. You can quickly deploy your backend code, including a web front end, to a PaaS on a free tier and then scale up if your application is a success. This will allow you to focus on your code instead of managing the infrastructure for your application.

Note: This blog post assumes that you have already installed the OpenShift Integration from the Appcelerator marketplace.

 

Step 1: Create SSH Key Pair

In order to communicate via git to your repository, we need to configure our ssh keys. To create a key pair, open up Titanium Studio preferences and expand the 'Network Connections' tab and select SSH2.

Note:  If this is the first time using OpenShift, and you are creating an account, you can skip this part as Titanium Studio will generate a key for you.  If you want to create an account via the web interface, head on over to openshift and signup.

If you don’t already have a ssh key created on your machine, select the Key Management tab -> Generate RSA Key. Provide a passphrase if you desire and then click Save Private Key. You will also want to copy your public key that is displayed so that we can add it to OpenShift.

Now that you have a key pair generated, we need to tell OpenShift what our public key is. Login to OpenShift website, click Manage your Apps, click on My Account, and select to Add a new key.

Give your new key a name of Titan and paste the key into the textfield provided.

 

Step 2: Create an OpenShift Project

Once you have the OpenShift plugin installed, you will need to create a new OpenShift project. At the time of this writing, the plugin support creating projects based on the PHP, Ruby, and Python languages.

In order to create a new project, select file -> new -> other -> expand cloud folder -> OpenShift project.

 

Once you select to create a new OpenShift project, you will be prompted to sign in. If you don't already have an account, you can create one at this point.

 

 

Step 3: Name your OpenShift project

At this point, you will be presented with a dialog box that will allow you to name your project and set the location of your project source files.

 

 

Once you have specified a name for your project, click finish and wait for the cloud servers to be configured.

After your OpenShift application has been created, you will see a new project appear in the project explorer. Titanium Studio will also open up a web browser tab to display your currently running application.

 

 

Step 4: Code

This is what you know and love to do.

 

Step 5: Deploy changes

Once you have modified your source files, pushing your change to your live OpenShift deployment is easy. The first think you need to do is commit the source file changes that you have made. Right click on your project, select team, and then commit.

 

 

Once you have added and committed any changes, you can then push your changes live by right clicking on your project, select team, and then push. This will perform a git push on your project files and deploy your changes to your OpenShift server.

That is all there to it to create and mange OpenShift servers from inside of Titanium Studio. If you have any questions about OpenShift, please visit our forums or find us on #openshift on the freenode irc network.

 

Step 6: What's next?

If you are interested in learning more about mobile development with a cloud based backend, check out a blog post series that I wrote that details how to get up and running with Titanium Studio, MongoDB, PHP, and OpenShift.

Developing a killer mobile app? Get entered in the Appcelerator Mobile Developer Challenge with $15k in prizes. More details on how to participate here.

Red Hat's OpenShift is also a platinum sponsor at this year's mobile event of the year, CODESTRONG. Register now to get an early bird discount to the show and make sure to check out the OpenShift talks or visit us on the exhibitor floor

 

Page 20 of 92« First...10...1819202122...304050...Last »