Play now on your WebKit device!
The entries for our Sencha Touch App Contest remain some of the most creative and impressive web-based mobile apps available.
The grand winner of the competition was DailyCrossword, created by Cahit Gürgüc and his team. This tablet application allows users to load and play crosswords from around the world, using Sencha Touch in some of the most interesting and innovative ways we’d ever seen. What’s more, it’s just plain addictive — our judges felt it combined the technical excellence, all-round capabilities, and exciting creativity deserving of a winner.
We were lucky enough to be able to talk to Cahit about the app and his experiences in building it.
Cahit, how did you come up with the idea for DailyCrossword?
The simple reason is that I like crosswords! I had lots of different ideas, but the crossword puzzle app was the hardest one to develop and I wanted a challenge. Just think about it: people love to complete crosswords in newspapers, and you can’t easily change their behavior. So I decided to try to develop an app that people would love and that I knew they would use.
You could have used native or web-based technologies for your app. What made you choose the latter? And was Sencha Touch an easy choice?
Of course, there are some inherent limitations when creating a web app versus a native app, but at the same time there are some compelling benefits. If you want a truly cross-platform application that can be updated without requiring a user download, then web apps are best.
And functionally, I don’t think a native app version of DailyCrossword would have been any better than the web version.
I must confess that this was my first Sencha Touch application, but after I read the ‘Getting Started Guide’ I started to play around with it, and in a few hours I had a basic skeleton of the app. Sencha Touch handled the UI, and we could concentrate on the core application. That was great, and I got a lot of help from developers on the Sencha Forum. So Sencha Touch was the perfect choice, and the community was very helpful.
Tell us a little about how the app works. How do you get and use the crossword data for example?
DailyCrossword is a typical client-server application. You know, there are a lot of daily and weekly crossword publishers in the market — like newspapers and they are serving these puzzles online in a specific file format called “puz”. These files include all data that we need for crossword puzzle, including the clues, solutions, authors and so forth.
So on the server side, I wrote a PHP script that parses these file and returns required results as a JSON string and the rest is handling by client. You can take a look “puz” file specification here.
Which Sencha Touch component did you use? How did you need to extend or enhance them?
Almost all of them! My viewport was bottom tab-panel and the others, forms, lists, overlays, carousels, tabs are embedded into it. Extending components is quite easy in Sencha Touch. Generally, default view and behavior of the components were sufficient for me but to improve the sortable grid I extended Ext.Sortable and the Ext.List component. And for the virtual keyboard I enhanced the Ext.Toolbar component with an overlay.
One unique aspect of your app is the audio feature. Tell us a little about that, and how it works.
At the beginning of the development we didn’t have this feature. After we were selected as a finalist, my colleague, Hicran Korkmaz was playing around with the app and she found one of the clues was very long to read. She investigated this text to speech idea and we decided to use the Google Translate URL based service. Try this link in your own HTML5 browser and I am sure everyone will understand what we did.
So how has the reaction to the app been? What are your plans for the future?
I got lots of feedback from crossword fans all over the world. They are really happy that we combined all these puzzles into one application. But they had also some requests: running competitions with the app will depend on having a timer as well as multiple language support.
Finally, we had some contact with publishers who would like to publish their daily crossword puzzles. So, we are working now to improve the app, and we then plan to use PhoneGap to distribute it into the Apple App Store.
That’s really great news. Thank you, good luck — and of course congratulations on winning the contest!