Appcelerator Developer Blog

Titanium appCamp London 2013 in Review

The following guest post is from Ketan Majmudar, an active Titanium developer and organizer. He recently helped organize Titanium appCamp, a mashup of a traditional barcamp and hackathon. The details of the event are in this post.

Ketan and other Titanium organizers have been instrumental in hosting several recent community-led Titanium events (see also ticonftitokyo). There’s a strong interest for more of these events where developers can share and learn from the amazing projects that others in the community are working on. If you are interested in organizing an event, contact community@appcelerator.com for more information about support and guidance from Appcelerator.


The World’s first Titanium AppCamp Unconference/Hackathon kicked off in London, England last month!

Titanium AppCamp Logo

February 2-3rd 2013 marked the launch of London Titanium’s flagship event. It was designed to be a mashup of your traditional barcamp style event and a typical hackathon. I’ve been wanting to run an event like this for a long while.

Last month, we had over 100 people attend the event which was held at the amazing Mozilla Space in central London. With its rock-solid wireless internet, comfortable working space and cool refreshment area, Mozilla Space is an ideal location for hosting such an event. We welcomed attendees from all over Europe, including different parts of the UK, Denmark, Sweden, Italy, Hungary, Cyprus as well as the US. We even had interest from as far away as India!

2013-02-02 10.14.13

I envisioned an event where both experienced devs and complete newbies were able to learn; share ideas, tips and tricks with each other; and attempt to get to grips with real-world hacks without feeling intimidated. I’ve attended a few hackathons and barcamps over the years, and have also run Titanium sessions at them, so I wanted a run a mobile/Titanium-focused event. London Titanium seemed the perfect vehicle for that!

An organisation team was assembled. I was knocked out by the approach everyone took and the energy given to make this happen! The team (in black t-shirts on the day) worked tirelessly behind the scenes for months beforehand to make the event happen — designing t-shirts, organizing breakfast, lunch & dinner, catering to all diets, and making sure kick-ass coffee was available all weekend! All of this had to be at no charge to the attendees, and on the day, we relied on a bigger team of Titans & volunteers to help us pull it off.

We had a larger number of newcomers to mobile development than expected at the event. This just proves the power of the unconference. We quickly mobilised the attending Titans (in special green expert t-shirts so you couldn’t miss them!) and ran 2 large Titanium bootcamps, helping Mac and Windows newbies install all dependencies and Titanium Studio on everyone’s machines. Thanks must go out to all the Titans — it is not surprising that the feedback was that they did an excellent job!

The volunteers (in special blue t-shirts) helped us all day, and late into the nights, making sure there were great talks — and plenty of coffee and food. Thanks go out to them all for giving up their own weekends to make everyone’s experience awesome.

Two of the biggest interests during the weekend came in the form of the new Alloy framework and Blackberry support for Titanium. Appcelerator was kind enough to send Tony Lukasavage, the project lead on the Alloy Project to speak and support the event. He joined us and selflessly shared his knowledge and remained approachable all weekend. His attendance was so popular! Attendees were scrambling to see Tony’s talk on Saturday afternoon. Blackberry Native BB10 devs and Titan Jeff Antram were around all weekend to help developers install and configure their Titanium Environments for BB10 development. Generously, Blackberry provided us with 5 Playbooks as prizes for the hackathon.

Dinner came in the form of burritos from local outlet Chipotle. They went down a treat, but were so filling. One of the hardest things to judge are catering numbers, and I was determined not to throw anything away. Attendees scoured the web, tweets were sent out, and eventually, in an attempt to find a way of not throwing away perfectly good hot cooked food (we had missed the pickup deadline for a local food charity that operated in Central London), myself and 4 volunteers walked out onto the streets of London at 11pm and distributed burritos to the homeless community. Nothing went to waste.

Day 2 kicked off early with bagel breakfasts for everyone and the day was quieter, yet more focused. We welcomed the hack entries and were suprised at the number of ‘Game themed’ hacks. This fit in nicely with the prizes from our Startup Sponsor, Lanica, who generously provided 5 prizes to hack winners, in the form of early-access beta to the Platino engine, as well as codes to use their Animo spritesheet tool.

The hack entries were a lot of fun and as usual, had their mix of humour, polish and frustration! Some of the entries included:

Eng Wei Chua who built a “BB Bieber app” using the Appcelerator BB10 pre-release. His intention was to build an app that connected to an image gallery API, such as Flickr. Eng has been developing an app for the past 12 months which utilizes a single code base, but outputs to iPhone, iPad, Android phone and tablet.

Gergely Cziva built a demo called “Space Game”. He used Alloy and the Websocket module for the iPhone app, and HTML5 canvas + websocket + node.js server for the game. Gergely has been using Titanium since version 1.5 and has developed a series of apps on the platform.

We would like to once again congratulate our hackathon winning apps (in no particular order): BieberView, SpaceGame, One pound fish, Get It Sorted, Best Effort, Stalagtweets, SnapADish and Who stole my beer? Our sponsors generosity means they won one of five BlackBerry Playbooks, five Lanica Software Packs for game development, or an Amazon or iTunes Gift Vouchers – not bad while having fun writing code and being fed quality food from local restaurants!

Watch the hackathon demo’s here (courtesy of Kosso):

Video streaming by Ustream

Pics: We have a set of images on Flickr: http://flic.kr/s/aHsjDRnK6A Plus, the event has been preserved at eventifier – http://eventifier.co/event/tiappcamp13/

A couple of weeks following on from our event saw another User Driven conference kick off in Valencia, Spain, tiConf EU! Boydlee Polentine (the main ticonf organiser) helped us out during the Saturday at our event as one of our resident Experts.

Finally, we would like to thank our sponsors: Appcelerator, Mozilla, BlackBerry, Lanica and Multizone. Community-driven events would be impossible without them! Please follow us and them on twitter, and thank them if you can.

All in all, AppCamp was a great success! We learned a lot from the event and will most definitely be running another one in the future. Watch this space.

Organisers - @ketan, @mfujica, @nuxnix and @thiswayup

Sponsors - @appcelerator, @mozldn, @blackberrydev, @lanicaco, @multizone

More about Ketan:
Ketan Majmudar is a Titan and TCAD certified. He has been involved with the organisation and running of the London Titanium Meetup group since its inception in May 2011 (the group was co-founded by Liz Myers & Betty Tran). Ketan has been helping to organise the meetups since the group’s launch. and has been running the group with co-organiser, Joe Lee since May 2012. Ketan has published and worked on a few cross platform Titanium Apps, including the SCI-FI-LONDON Surrey & Tayside Police and the CuppaCoffee app (for Blackberry 10).

London Titanium has 320 members of the meetup group, and we are growing each month. Please consider joining our group if you want to be kept informed of new meetups talks and events –http://www.meetup.com/London-Titanium

 

 


Consuming Web Services

In a previous post I talked about a library that makes it super easy to communicate with web services. In this post, I’ll step back a little bit, explain what exactly a web service is, and go through the process of consuming data from them.

Understanding web services

By its name, a Web service can be any service that is accessed through a web browser, such as Dropbox, Evernote or Gmail. However in software terms, a web service is a program that you can interact with through a network call. In modern web applications, developers have implemented groups of web services called APIs (Application Programming Interface). The concept of an API is not new and it’s not exclusive to web or mobile programming, but I’ll only talk about its application to web and mobile technology.

Ten years ago the idea of having data available for consumption by third-parties was not common, in fact it was avoided at all costs. Companies adopted the approach of “my data is my data, and it’s my competitive advantage”. Today, we have seen that providing access to data is an essential part of companies like Facebook and Twitter. For them, having an API is a way of expanding the reach of their services, increasing engagement, innovation and adoption. Even governments have embraced the use of APIs in order to speed up the development of web and mobile apps for their citizens.

JSON

JSON, or Javascript Object Notation is the data structure of preference for today’s web services. As opposed to its counterpart XML, JSON provides a much leaner way of structuring data, ideal for data transfer over mobile networks.

The beauty of a web service is that it provides an agnostic way of transferring data over the Internet that is both platform-independent and language-independent. Every computer language has a string data-type. With JSON you transfer an object in string format and the receiver converts it back to a native data structure. That’s why you can have a web service written in Python and consume it from Javascript, or one written in PHP and consume it from VB.NET. There’s a JSON implementation for virtually all modern programming languages, but its home base is Javascript.

Why is JSON so important

The combination of Javascript objects and arrays make JSON strings multi-dimensional. The JSON string can either start as an object or as an array depending on the design of the web service, but nesting them is what makes this format so versatile. However, at the same time, as JSON files get more complex, they become difficult to read. This is normal, so don’t feel overwhelmed. In fact, you’re not supposed to be able to read it; JSON was designed to be consumed by computers. I’ll explain more technical details about Javascript object and arrays in a future post.

HTTP GET and POST

The two most important methods for HTTP communications are GET and POST, GET being the default. You perform a GET every time you call a URL. Although you can send data through a GET call, it’s usually data that will be used as contextual information to retrieve more data. You perform a POST every time you send data to a web service, such as filling out a form. The POST method encodes the data in a different way, providing more security and allowing you to send more data in each request.

Consuming data

If you’re going to be working with JSON, you will need some tools to help you along the way. In my opinion, the most important of these is the JSONView extension for your browser. This extension will allow you to view JSON files not as a block of unreadable text, but as a hierarchical structure. Although this extension was originally developed for Firefox, there is a port for Google Chrome that adds a the feature of automatically displaying your Javascript array/object path. Head over to http://jsonview.com and install the extension on your browser. Browse to your JSON endpoint (URL) and see what happens. In this example I’m browsing to https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=appcelerator&count=20.

You’ll see the JSON string neatly formatted. Also, notice that you can collapse and expand each branch. Last but not least, hover over any of the entries and see how it displays on the status bar the path to use on your Javascript code. In this example [0].text refers to the “text” property on the item “0″ of your array.

With the XHR library described earlier, you perform a HTTP GET call with a single line.

xhr.get(url, onSuccessCallback, onErrorCallback, options);

The callbacks are simply functions you send to the library to be used later on, in this case when the process was successful or when there was an error. Note that you need to define these functions before calling the GET or POST method.

Let’s examine the onSuccessCallback.

When you receive the data in the variable e, we run the JSON.parse method on the data property. This will create a native Javascript object in the variable response. Since we had previously examined the response using JSONView, we know it is an array, so can then loop through all the items. Inside each array element, there’s a complex object. Using dot notation we extract each of the properties from the object. Run this code and you’ll get tweets in individual variables, ready to be used as needed.

To perform a HTTP POST, you simply add an additional parameter to the POST method. Testing POST is a little bit different though, because sometimes there’s really not feedback from the server. Time for another cool tool that might help you. To test HTTP POST calls before actually hooking into my actual web service, I use http://www.posttestserver.com/ as my endpoint. This website is just sitting there waiting for HTTP POST calls, naturally for testing purposes. The POST data is sent to the XHR library as a regular Javascript object. The values you’re assigning to the payload variable are equivalent to the values on an HTML form, so if you’re interacting with PHP code to submit a form, this variable holds the values of each form field.

The POST server website will confirm that it indeed received the data and will give you a URL to view the data received. Remember, this is a public website so only use it to send test data.

Once you know that your data is being properly received by the “post server”, then you know that your app is working properly, so not switch the post call to the actual one and you’re set.

Now that you can communicate with web services, the next step is to do something useful with the data. By combining Appcelerator Alloy with this very basic example, you can have a native interface to read tweets. You can see all the required files here: https://gist.github.com/ricardoalcocer/5190529. Here’s what it looks like.

Want some homework? Why don’t you implement the “Post a tweet” functionality?

In a final post of this series, I’ll explain how to create your own web services using Appcelerator Cloud Services. Stay tuned.


Introducing the Appcelerator Platform

Earlier this year, we launched a redesigned website to celebrate our epic developers and customers, and to provide customized content for each group. Today, we are making some product changes to provide more clarity about the difference between our open source and commercial offerings.

Our commitment to Open Source

I recently returned from a three-week trip around the world to meet with you – our community and our customers. One thing that I heard over and over again in my conversations at TiConf in Valencia, Spain and TiTokyo in Japan was that many of you are building successful businesses on your Titanium apps. I was amazed by your stories about the demand for your apps from enterprises and your journey to becoming successful entrepreneurs. You truly are changing the way the world communicates, and I am honored that you have chosen to build your businesses on our solutions.

I also heard requests for more clarity about what is open source/ free vs. what is commercial: When do you need to pay? What is the value that you get if you pay for our solutions? Are we going to make any changes to limit (or eliminate!) our open source/ free offerings? What happens if you exceed the free limits?

To be crystal clear, there will always be a free / open source version of Titanium. This is a sacred truth, it is in my heart, and you can count on me to always cherish and protect it. Open source and free are core to who we are, it is the soul of the company and we will continue to invest in it. Our goal is to democratize the mobile revolution – to enable all developers and all enterprises to create the future. To achieve this goal, we must always provide a great free product because we believe that developers are the engine that will fuel the mobile revolution. We want you to start businesses, to build transformative mobile apps, and to be successful. It is our belief that a free and open source Titanium is the key to making these things happen.

Titanium and Appcelerator Branding Changes

Starting now, we are going to start making a clearer separation between the Titanium suite of products (which will all be free) and the Appcelerator suite of products (which will all be commercial).

Certain products today that have a free tier, such as Appcelerator Cloud Services (ACS), will be rebranded over the next few months as Titanium Cloud. The paid offerings for ACS will now be available and branded under the Appcelerator brand.

Moving from the Titanium products into the commercial offerings will be seamless. And, you’ll already be familiar with them, given that they are built on the same foundation, but with additional capabilities more suitable for enterprises that need those features.

Of course, we wanted to “release early, release often” – so we’ll need a few months to work through all of the changes to reflect them more fully on the website, products, etc. I ask you for a little patience as we do this.

Introducing the Appcelerator Platform

Today, we are announcing the Appcelerator Platform. This offering focuses on the specific needs of mobile enterprises.

The Appcelerator Platform provides a commercial solution for the entire Mobile First lifecycle, with commercial support, SLAs and technical training. This offering includes Appcelerator Studio, Appcelerator Alloy, Appcelerator Cloud, Appcelerator Test, Appcelerator Analytics, and Appcelerator Performance Management – all under a single, newly branded SaaS offering called the Appcelerator Platform. This solution serves the specific needs of enterprises that require a comprehensive platform for the entire mobile lifecycle – from ideation and design-driven development, to continuous delivery, to experience-driven analytics. (We refer to this redefined lifecycle as Continuous Mobile Innovation.)

The Appcelerator Platform is powered by Titanium. In other words, we can’t have the Appcelerator Platform without a strong, successful Titanium product and community behind it.

Titanium will continue to include Titanium Studio, the open-source projects such as Titanium SDK, Titanium CLI, Titanium Code Processor, Alloy for Titanium, and community-driven enhancements; all coupled with flexible and non-restrictive licensing (Apache 2) to allow you to develop and sell your apps for free. Titanium will also include the free versions of our cloud offering. Titanium allows us to continue to collaborate through various pull requests, JIRA, wiki and other wonderful ways to all work together to make this an awesome product for all.

What’s coming next?

My commitment to you is to be transparent and open about our plans. Thus, let me outline the direction that we are taking:

Our website launch today features a new homepage that clearly defines the difference between what is free/open source and what is commercial: Titanium and Appcelerator Platform. We’ve launched detailed product pages for each solution, as well as online demos of the Appcelerator Platform.

In the next few days, look for another blog post where we outline the commercial pricing for the Appcelerator Platform. To be crystal clear, the free “Explore” package with the existing free usage-levels and existing licensing terms will continue unchanged.

We plan to continue to make a cleaner separation between the Titanium suite of products and the Appcelerator suite of products. In 2-3 months, we will launch a separate website for Titanium and all of the open source/free resources (forums, community, etc) associated with Titanium. At that time, Appcelerator.com will focus entirely on the Appcelerator Platform and the commercial offerings associated with it. We also plan to launch a free trial for mobile project teams that require a comprehensive enterprise-grade mobile platform.

Thank you for your support

I’m going to be completely honest with all of you right now (and please don’t take this the wrong way), but I was pleasantly surprised during my trip by the reception by the community of my discussion around commercial vs. free and the Appcelerator Platform vs. Titanium branding changes that we are making today. I received many compliments including tweets of excitement around that. Admittedly, I was a bit worried that perhaps our community would be a little skeptical – but quite the opposite, you were encouraging and thankful to see that Appcelerator has a path to commercial success, and that we were providing you with the clarity around plans that you have been seeking.

Forgive me for being sappy here, but I was truly touched by how you all want Appcelerator to do well.  I saw how you are rooting for us to grow and be commercially viable as you are staking your careers and businesses around our business. So thank you for your support.

As always, I am honored each and every day that we have the opportunity to empower you to deliver transformative mobile experiences to the world. Let me know your feedback!


Appcelerator Cloud Services (ACS) – Frequently Asked Usage & Billing Questions

As many of you know, a couple of months ago we made some significant changes to the pricing of our Cloud Services and Analytics packages. We boosted the monthly allotments of both, giving you – for all intents and purposes – an all-you-can-eat offering for any mobile app – all for free. We made these changes to better serve the needs of our community, and the feedback we received was extremely positive.

Over the last few weeks, several questions have been asked around the general usage of ACS for this free tier, so I wanted to address and clarify them here:

1. Is there an availability SLA for the free tier of ACS?
Although the service is provided as-is with no guarantees or formal SLAs, we do strive to keep the service up and running and available. We monitor the underlying services and infrastructure and have a DevOps team that responds to real-time alerts and notifications. We’ve also made a lot of progress over the last few months in bringing the overall availability and reliability of the service up several notches.

To read the ACS terms of service license agreement, click here.

2. Do we enforce the ceilings of the free tier, and what happens if my app exceeds the monthly allotment?

As a quick reminder, the current free ACS plan provides the following metrics (per month):

  • 5 million push notification
  • 5 million API calls
  • 20GB of storage
  • 100,000 emails

We know that many of you are building sustainable businesses and the predictability factor for forecasting is important. Although this ceiling is very generous and most apps will probably never get close to it, there may be some that reach or even exceed it. In such cases, ACS will initially continue to function uninterrupted and we will not disable the service; meaning your mobile app will still work as expected.

We do keep track of the monthly usage of the allotted metrics (push notifications, API calls, storage and emails), and if one or more of them is exceeded in a given month, you’ll be notified by email of the overage. Our policy is to provide you with a grace period for that first month and no further action will be needed. If however, during the following month the app again exceeds one or more of the allotted quota, you’ll be notified again and this time our corporate sales team will engage with you to explain the upgrade options to a paid/commercial plan.

3. What does the paid/commercial plan offer?

If your application usage is expected to continue to grow, the corporate sales team will likely introduce you to one of our select Partners who will help you transition to the Appcelerator Platform. This upgrade will provide you with double the cloud services usage ceiling (per month) as follows:

  • 10 million push notification
  • 10 million API calls
  • 100GB of storage
  • 200,000 emails

In addition to these increased usage limits, you’ll also get additional functionality such as enterprise capabilities (including automated testing and performance management), as well as guaranteed and higher service levels for both technical support and cloud services availability.

If you’re interested in learning more about the Appcelerator Platform, please contact us by clicking here.

Summary
Keep the questions and feedback coming, we do appreciate it and we’re committed to ensuring your continued success.


Featured Developer – Vaughn Dabney

In today’s “Featured Developer” post we’ll be talking with Vaughn Dabney, a Titanium developer for the last year and half who has recently developed a mobile app for the NAACP Annual Image Awards. Let’s hear more about him and his latest project.

Interview with Vaughn Dabney

Tell us a little about yourself

I have been a developer for about seven years. I was an electronics engineering student at DeVry University (Arlington, VA Campus), and it was last year that I started to delve into the world of websites and programming. After taking my first pro bono client in 2006, I never looked back.

Since then, I have been a multi-language developer working for various companies, as well as independently. I started out teaching myself Flash and Actionscript 2/3 when I started working for MySpace (FIM Labs/Spring Widgets) in 2007. While I was there I learned best practices and troubleshooting techniques from some of the best developers I know to this day.

After being laid off in 2009 with many others in the economy, I did my own thing for about a year. During that time I taught myself in depth: Javascript, PHP, and MySQL. Long story short, I love what I do.

For fun, when I’m not working (which is rare), I am a hardcore roller skater. I skate at least three times a week here in Atlanta. That’s one place where I go to forget everything for a couple hours and lose myself on the rink floor. Pretty heavy into my photography too – mostly wedding and lifestyle. Besides that, I’m an artist at heart which is probably why I love to create apps that people can use.

So tell us a little bit about your mobile app

The NAACP 44th Annual Image Awards App – The app was developed to engage users and attendees on the day of the Image Awards ceremony. Features include: nominee voting, celebrity outfit voting, and a live Instagram feed using specific hashtags. The content was updated throughout the show via calls to various APIs, as well as custom content from our server. Compatibility: iPhone and Android phones.

Can you speak to the voting integration of your app?

As for the integration with voting this was a simple but thought out process of course. Let’s look at the MySQL database and tables first. I set up two tables for both voting views (Nominee view and Outfits). So for the Nominee view, I created the ‘nominee_voters’ and ‘nominee_voting’ tables. In the voters table, I am storing the device MAC ID and the nominee ID (this comes from a table with all nominees). This table is responsible for storing a user’s vote count because we only wanted to allow one vote per nominee/outfit. In the voting table, I am storing the nominee ID as well as the vote value (value of 0 = no / value of 1 = yes). The process for nominee voting goes as follows:

  1. User clicks the ‘Yes’ or ‘No’ buttons when asked if they think the Nominee should win.
  2. The MAC ID, vote value (0/1), and nominee ID are then passed to a PHP page to handle the communication to the MySQL database and tables.
  3. The php page checks to first see if the user can vote. If the user has not voted for that nominee yet, a new row is inserted into the nominee_voting and nominee_voters tables with the aforementioned values for each table.
  4. After successful insertion or if the user has already voted, the php page outputs a JSON response for the app to display. If a new record was inserted (i.e. the user voted successfully) the response would be something like ‘{“rsp”:”OK”,”msg”:”Your vote has been counted!”,”percents”:[56,44]}’. If the user already voted for that nominee the response would be: ‘{“rsp”:”ERROR”,”msg”:”You have already voted for this nominee.”}’
  5. The app would then display the response messages (msg value) in an alert as well as update the percentages for yes and no responses for all votes in the database.

The same setup and process happens for the outfit voting except I store the image url as a reference instead of an “outfit_id” since that is the image url.

All calls to the php action handler from the app were made via the HTTPClient object using both POST and GET methods depending on what data was needed.

And of course along with error handling if anything should go awry with the php communicating to mysql, I also have the app calculate percentages of ‘yes’ and ‘no’ votes both on load as well as immediately after a vote.

And how about the Instagram integration?

When it came time for integrating Instagram into the mix, it was very simple. Instagram’s API is easy to use so I just made a REST API call to get all images that were tagged with a specific tag. In this case, the tag was #ImageAwards. The function below was exactly what I used:

Of course one would need an access token after registering their Instagram app (what they call ‘Clients’), but it is pretty straightforward. The API returns a JSON object back and then parsed through that to build a scrollView with the images and usernames.

Why did you choose Titanium for your mobile development?

I’ve been developing with Titanium for about a year and a half, and I simply could not say more about the quality of the platform. Once I started with Titanium, I knew this was something good…something that was going to open up more opportunities for my business and clients. Seeing this happen has been amazing, so it was evident that I use Titanium as the platform of choice. Finding the time and capacity to learn Objective C and/or Java was not exactly ideal since I didn’t have any employees to field existing projects. The only option was to find an alternative platform that allowed for solid results without sacrificing the experience.

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

The primary benefit that I love about Titanium is the rapid prototyping and development for multiple platforms. The use of one code base is perfect when the client has a wide base of users with both iOS and Android devices. With this project, not only was multi-platform compatibility a factor, but also time. In this case, the timeline was effectively three weeks — starting development the week of January 7th. Knowing that Apple typically takes six to seven days for approval, the pressure was on. Not to mention, I work as a developer for a company during the day.

How long did it take to design, implement, and test?

I proposed a design the last week of December and they loved it. The design, again because of timeline, was done in a week. Development took about 18 days to finish with about three to four hours of work each night, including weekends. I usually test throughout development, but we did final testing the last week.

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

Since I was already involved with development before I discovered Titanium, it wasn’t too difficult to understand the syntax of the Titanium platform. Developed around Javascript with an emphasis on object notation (JSON), it didn’t take long to see the power of the platform. I think the challenge was to learn what to use and when to use it and with that, I looked towards the community when I was just getting started. Typically, forums and community boards associated with a specific software products aren’t that helpful. Usually it requires time-consuming searches and/or digging around the web for abstract hints to solutions.

I must applaud the way the Q&A forum is setup on Appcelerator.com. You can really find a solution to a problem or help with issues you are having as a developer — and people are active! That’s the great thing about it. You don’t feel like you’re sending your questions off in a bottle out at sea, hoping for someone to read it.

Do you have plans for updates to The NAACP 44th Annual Image Awards App or future Titanium apps? Care to share some details?

There are plans to either update the existing app or develop a more general one, but we’re still in talks right now. Considering how busy they were with getting ready for the awards, they were awesome clients to work with and I’m looking forward to future projects. As for other apps, I have projects coming up that are pretty exciting and I’ll be sure to keep you posted about those!

What advice do you have for companies that want to delight their users with mobile?

If easy maintenance, reliability, and rapid development are priorities with mobile campaigns, Titanium is the platform to do that. I’ve developed 11 apps with six more on deck and it’s just me…think of what a company can build out with a team!

What inspires you about the future of mobile?

The aspect of mobile development that inspires me the most is the integration of mobile into our daily lives and objects around us. There are so many ways to do this and the opportunities are endless!

Big thanks to Vaughn Dabney for taking the time to give us some insight into his 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!

Vaughn’s Links

,Showcase
Page 7 of 92« First...56789...203040...Last »