I’m about to start a research project with some academic colleagues from the HCI community in the area of touch-based applications. What we want to create isn’t a game as such, but it contains game-like elements in that it needs to support:
- the creation and deletion of ’tiles’ that can be dragged and dropped over a canvas
- grouping, stacking and labelling of tiles
- the ability to pan, zoom and manipulate the canvas
We are not aiming to create a product here – that will come much, much later (if at all). Instead, what we want to do is find/create a platform that allows a distributed team of researchers (who are technical but *not* developers by training) to rapidly experiment with interaction design ideas with the minimum fuss, ceremony & learning curve. So our immediate questions are:
- Can we achieve this as a browser-based web app? (in a previous life I’ve developed Java applets, but that was many years ago & have no idea whether that is still a good solution)
- Is it better to develop a native app? If so, which platform best fits the criteria above (iOS? Android? Surface?)
- Is there any other possibility we’ve missed?
Tony, I’d say bringing an experienced developer into the mix is something you should consider as well.
If you’re looking at cross-platform, Sencha Touch (www.sencha.com) might tick a few of your boxes. Without knowing any of the requirements in detail, it’s a tough call. However, I’d personally pick a platform and develop a native app – with the thought in mind that you may want to then port across from iOS to Android or vice-versa (As I’m currently doing). All depends on the target market which one you go for.
Axure will also allow for an amount of prototyping, but I haven’t dabbled with it for a while, so couldn’t swear how useful it is.
Altenatively for early rapid prototyping you could look at Amir Khela’s GUI Toolkits (http://guitoolkits.com) for basic stuff.
On a personal note – moved on from ShopDirect – in completely different territory at the moment.
Simon
Simon – thanks for stopping by. I’d heard of Sencha, but got the impresion this was a rather expensive solution judging from the cost of their training courses so didn’t pursue this further. Is it a commercial product, ie. we’d need to invest just to get hold of a copy?
Interesting to hear your suggestions re native apps – as I know Java from a previous life that might suggest Android, right? Is that the direction you are porting in?
Axure – that’s an interesting one. I use it regularly for prototyping web apps, and to a certain degree mobile, but it’s always been ’emulated’, i.e. you create a HTML prototype on your PC/Mac to show conceptual interactions intended for touch but actually driven by the mouse/keyboard. Can you actually use Axure to create bona-fide touch apps that you upload to a device (or host somewhere)? That would certainly be useful, although I suspect it might lack the fidelity we’d need to really explore detailed IxD issues…
BTW, do let me know what you’re up to these days (perhaps offline :))
Everything described may be accomplished with a standalone browser application and if willing to leverage existing pattern libraries at a fraction of effort when compared to developing native solutions.
All interactions, drag, flick, pinch and multitouch are well documented and supported in numerous JavaScript libraries (e.g. Hammer.js, jQuery Mobile etc.)
For interface, sounds like you are describing the Masonry framework which has many filter / sort derivatives worth exploring (e.g. http://isotope.metafizzy.co/)
Finally, I recommend taking a look at Roambi Squares Flyby Mode http://youtu.be/qzHmS-20NUc?t=1m12s as an example of leveraging touch capabilities in grid based environments.
i’d look at fluid ui. works across platforms, and on the web. Easy to build on, no code needed and pretty inexpensive. It’s what I use for a lot of our prototyping needs in our office.
@petarsubotic: that’s good to hear. The more I think about it, the more I prefer a browser-based solution. I’ll check out those Javascript libraries asap – is there any one in particular that you’d recommend?
Not without understanding the problem better – as with many rapid prototyping endeavors significant factors for determining best suited components are cross integration of those components with data, logic and views as well as their capacity to expand in the direction of solution objectives.
Additionally, note that if you decide to develop a browser-based solution no one is forcing you to account for all platforms. In other words, it may live on the web but only be optimized for one OS. This further minimizes the effort while increasing control. IE 10 for example has native support for all gestures available in the OS itself so you wouldn’t even need a library.