<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2871970817575180926</id><updated>2011-07-07T20:59:19.147-07:00</updated><title type='text'>Touchless UML Modelling</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://touchlessumlmodelling.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2871970817575180926/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://touchlessumlmodelling.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Finch</name><uri>http://www.blogger.com/profile/13515824603074948878</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2871970817575180926.post-4757080195775907976</id><published>2010-02-25T03:37:00.000-08:00</published><updated>2010-02-25T03:37:31.282-08:00</updated><title type='text'>Research focus</title><content type='html'>The demo app is up and running. Sadly, through lack of knowledge and resources, I am unable to host this somewhere for readers of this blog to see. &lt;br /&gt;&lt;br /&gt;Now I have proved to myself that the underlying concepts of what I am aiming to achieve are possible. The time has come to focus more on the research section of my project.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Things to consider&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;What are the common tasks a user expects to be able to carry out when using a visual design tool ? &amp;nbsp;As previously stated, although my app demo's editing of a UML class diagram, the creation of a comprehensive and ultimately useful UML modelling tool is out of the scope for this project. &amp;nbsp;The reason for choosing a UML design tool (Class diagrams) for use alongside the Touchless SDK is that in creating and editing even the most basic class diagram, the user demands a wide range of gesture interactions. &amp;nbsp;Should i of simply used Touchless to navigate web-page content then there would only be a need to&amp;nbsp;implement&amp;nbsp;basic click functionality; Either to click buttons or two draw the cursors focus to various text boxes and list box items. &amp;nbsp;In using a visual design tool alongside Touchless, the user would expect ways to click-and-drag, resize, delete, create, update as well as link and unlink elements. This forces my&amp;nbsp;implementation of Touchless to facilitate a much wider range of gesture interactions.&lt;br /&gt;&lt;br /&gt;For this reason, much of the material written about what a 'good' uml tool must include is far too detailed for what i require. &amp;nbsp;The OMG, leaders of UML initiatives, detail a list of essential features of a UML design tool in their publication, "UML 2.0 Toolkit". &amp;nbsp;Such features include uni and bi-directional transformation between model and code, language specific semantic checking to ensure that one cannot create something in a model that is impossible to create in the code&amp;nbsp;implementation (multiple&amp;nbsp;inheritance&amp;nbsp;in some cases), version support, collaboration support, as well as supporting not just Class diagrams but many other UML model types. &amp;nbsp;Again, all of these essential features are far away from the scope of this project, I am merely using the notion of modelling a class diagram as a medium to&amp;nbsp;demonstrate the diverse set of gestures a simple web-cam based gesture system could encompass. &amp;nbsp;To this end, i shall attach to this blog a list of the features (gestures essentially) that my tool should and will support.&lt;br /&gt;&lt;br /&gt;As well as review of others' research, I feel it would be&amp;nbsp;beneficial and ultimately lead to a more through and complete project if i was&amp;nbsp;&amp;nbsp;to conduct some of my own research into the viability of simple gesture based systems replacing common keyboard and mouse interaction. &amp;nbsp;The way i see it, this can be approached in two ways;&lt;br /&gt;&lt;br /&gt;1. Contact development teams directly and ask them if they use UML modelling tools and quiz them about&amp;nbsp;their&amp;nbsp;choice of tool and what it offers them that made them settle. &amp;nbsp;If the teams admit to using UML at some point in their development process but do not use a specific tool (this is the&amp;nbsp;category&amp;nbsp;i suspect most will fall in) then it would not be silly to ask them why they have not chosen a tool to develop with. &amp;nbsp;Hopefully, the answer will be in that the tools take too long to learn how to use or the navigation / construction of diagram elements are more complicated on machine than simply using pencil.&lt;br /&gt;&lt;br /&gt;2. Construct a second demo app which first asks users to place coloured shapes over the top of similar coloured areas of the screen and then draw lines linking all areas of the same colour together (maybe without lines crossing). &amp;nbsp;What this would allow me to do is time users performing the same task using keyboard and mouse against those using my gesture system. As well as time, number of errors and a rough estimate of the level of&amp;nbsp;frustration&amp;nbsp;experienced could be measured, giving a good indication as to weather this gesture based system could actually replace and / or improve on current keyboard and mouse scenarios.&lt;br /&gt;&lt;br /&gt;The latter approach would significantly widen my test group as participants need know nothing about UML and the issues surrounding it. They simply need to be able to understand the basic tasks of the demo app and be able to compare this to keyboard and mouse usage in the same situation. Also, as I have stressed many times that my projects relationship to a useful UML design tool is&amp;nbsp;negligible, one could class the former approach as futile. &amp;nbsp;If one approach must be chosen I think the latter would be a better choice but hopefully time will allow for both to be carried out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2871970817575180926-4757080195775907976?l=touchlessumlmodelling.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://touchlessumlmodelling.blogspot.com/feeds/4757080195775907976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://touchlessumlmodelling.blogspot.com/2010/02/research-focus.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2871970817575180926/posts/default/4757080195775907976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2871970817575180926/posts/default/4757080195775907976'/><link rel='alternate' type='text/html' href='http://touchlessumlmodelling.blogspot.com/2010/02/research-focus.html' title='Research focus'/><author><name>Finch</name><uri>http://www.blogger.com/profile/13515824603074948878</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2871970817575180926.post-5333588949529050830</id><published>2010-02-17T17:27:00.000-08:00</published><updated>2010-02-17T17:27:59.799-08:00</updated><title type='text'>Day 1: Plans and Thoughts</title><content type='html'>Today I finally have everything I need to begin development on a Touchless UML modelling system. &amp;nbsp;This project had originally aimed to develop an online-collaborative UML modelling application, however, as the time given to me to develop this application is very small, I would not be able to develop both the collaboration side of the application along with the diagramming side to any level of quality within 3 months. &amp;nbsp;With the prospect of creating simply another diagramming tool seeming quite boring to me, and the collaborative side alone being little more than a specialised web-service, I began to search for a way of making UML modelling more interesting.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Concepts, concepts, motivation bla bla bla. If your interested in just the project and development side of things, scroll down until the text returns to black once again.&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;My research and idea took my through constructing neural networks to preempt faults or inconsistencies in class diagrams to using Silverlights powerful graphical abilities to add a third dimension to modelling. &amp;nbsp;Eventually, when considering why I enjoy using my iPhone so much over a computer or other touch-screen devices I found myself &amp;nbsp;philosophising&amp;nbsp;over the gap between our real world and our digital world.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;If you think about it, its strange in a way. &amp;nbsp;In 'Todays world' you could say that our digital life is more integrated with our actual life more than ever. My phone can show me my emails on Outlook faster than my computer can usually. &amp;nbsp;I can access Facebook / Twitter ect on both phone and computer and the experience on either is near identical. &amp;nbsp;My computer can tell me who is using their Xbox and if I had the money, my computer could detect im on my way home, run a bath and turn the oven on. &amp;nbsp;I once observed a fridge that detects its low on milk and contacts the local supermarket via internet to order in some more and the other day I was warned of a DVD i had to return to Blockbusters via text as the phone had detected I was close to a store. &amp;nbsp; With such&amp;nbsp;seamless&amp;nbsp;integration then, why can I not interact with elements in my digital life in a way I do with the physical elements of my life ? &amp;nbsp;Any time I wish to inform my computer of information or request information from it, I must use one of its pre-defined methods of communication i.e a mouse or keyboard. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;At this point it is clear, I have strayed far from attempting to make the process of UML modelling more&amp;nbsp;accessible&amp;nbsp;to development teams and more to do with the essence of human-computer interaction. Surely one would rather talk than type (except in a few specific occasions)? Surely one would prefer to simply point at or nod towards an icon / web-link to navigate ? Surely one would prefer to flick through ones digital photo album as they do their actual photo-album ? &amp;nbsp;Indeed these&amp;nbsp;transformations in human-computer interaction have been hugely successful in the gaming environment. &amp;nbsp;These are, of course, simply my own opinions but consider what the Wii has done in enabling users perhaps not well&amp;nbsp;acquainted with conventional game controllers to play console games. In all my years of playing games when living with my parents, neither parent ever got to grips with the Mega Drive, Playstation or Xbox controller layouts yet in a matter of&amp;nbsp;minutes they were able to put up a good fight on Wii tennis ! &amp;nbsp;Why ? Because the way in which one informs the tennis racket of a Wii game is much more akin to the real-life version than flicking the flicking of an analogue stick in Xbox or Playstation counterparts. &amp;nbsp;Following on from the Wii, observe how Microsofts Natal system for the Xbox promises to once again&amp;nbsp;revolutionise our interactions with gaming consoles. Why does the Natal system seem to be a step forward from the Wii ? It removes the concept of using a controller to inform a computer system of your intentions entirely. Now you interact with the system as you would with its real-life counterpart.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So back to the project side of things. &amp;nbsp;My intentions are no longer to build a UML modelling tool but via medium of online, UML modelling, investigate and conclude if it is both possible and&amp;nbsp;beneficial to bring this concept of gesture based control into the business domain of computing. If I can build a concept application where one can create, modify and arrange the basic elements of a UML class diagram via the web browser and the means by which the user does this is on par or perhaps surpasses that of conventional keyboard and mouse interaction, then it would not be too much of a stretch to extend this to navigating and manipulating both web and system based data. &amp;nbsp;Perhaps this also has applications with people who are unable to use mouse and keyboard interfaces fully or where it is inappropriate to handle them (medical facilities).&lt;br /&gt;&lt;br /&gt;So a few starting points:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I want to develop this application in Silverlight. &amp;nbsp;I have worked with it before and very much enjoyed it and believe that the way in which Silverlight operates would facilitate my aims better than the standard ASP.Net approach.&lt;/li&gt;&lt;li&gt;Interacting with a computer in the absence of a mouse and keyboard is not impossible. &amp;nbsp;Microsoft's multi-touch setup would allow this. However, it requires the user purchased some specialised and expensive hardware. I believe for this form of computer interaction to real 'catch on' to the larger crowd, it would need to be free (or very cheap). &amp;nbsp;Using the &lt;a href="http://touchless.codeplex.com/"&gt;Touchless SDK&lt;/a&gt;&amp;nbsp;I believe I can achieve similar results to that of a touch-aware screen with the only hardware requirement being a Webcam (the one I am developing with cost £20).&lt;/li&gt;&lt;li&gt;Because of both my desire to develop in Silverlight and my decision on using the Touchless SDK, I will need to use Silverlight 4 (currently in beta release). I am not overly happy about using a beta version of Silverlight for developing such an application but version 4 brings Webcam support, essentially to any Touchless based app. &amp;nbsp;I believe there is a work-around, allowing the use of Silverlight 3 + Expression Encoder but it seems more 'fiddly' and adding another layer of complexity onto the already lightly supported stack of tools I am using seems counter-productive.&lt;/li&gt;&lt;li&gt;Because of the need to develop in Silverlight 4, I will have to use Visual Studios 2010 beta 2 and its Blend counter-part in order to have an environment&amp;nbsp;capable&amp;nbsp;of Silverlight 4 development.&lt;/li&gt;&lt;li&gt;I was put-off my original idea of a collaborative UML tool because developing, from scratch all the logic to handle creating the&amp;nbsp;definitive UML class box, anchoring associations, grouping and moving elements ect would take far too long. &amp;nbsp;Following on from this, the final application will still not be able to facilitate the creation of a useful UML class diagram but merely demonstrate the moving and grouping of classes and perhaps defining associations between classes.&lt;/li&gt;&lt;li&gt;There are other alternatives to using a webcam for gesture based input that still do not rival the cost of an actual touch-screen. &amp;nbsp;There are many demo's available online of using a Wii remote control as a sensor and having it detect the movement of IR sources to interpret mouse movements and gestures. &amp;nbsp;This certainly seems like a more accurate method of interpreting human movements as its accuracy does not reply on lighting conditions or unique and definitive&amp;nbsp;colours. However, webcams often come with computers and some are even built-in. To require of our users to have a working IR sensor hooked up to&amp;nbsp;their&amp;nbsp;machine would be less realistic than requiring a webcam. Should it be clear that using the webcam will not provide an accurate&amp;nbsp;representation&amp;nbsp;of real-life marker positioning then I shall have to use the IR method as a plan B to ensure I produce a working&amp;nbsp;artifact&amp;nbsp;with my project.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;If you have read this far, I thank you for your interest and would appreciate your comments. For those of you reading this that are not&amp;nbsp;associated&amp;nbsp;with Bournemouth University, please bear in mind that with exception to this post, all further posts will be much more brief and task orientated. This one is so long and waffle-ey because I am storing my ideas to later write a proposal and introduction. Further posts will be used to track progress and deadlines and to focus efforts on specific tasks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2871970817575180926-5333588949529050830?l=touchlessumlmodelling.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://touchlessumlmodelling.blogspot.com/feeds/5333588949529050830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://touchlessumlmodelling.blogspot.com/2010/02/day-1-plans-and-thoughts.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2871970817575180926/posts/default/5333588949529050830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2871970817575180926/posts/default/5333588949529050830'/><link rel='alternate' type='text/html' href='http://touchlessumlmodelling.blogspot.com/2010/02/day-1-plans-and-thoughts.html' title='Day 1: Plans and Thoughts'/><author><name>Finch</name><uri>http://www.blogger.com/profile/13515824603074948878</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
