DigitalFriend Blog

December 2007

A Box of Chocolates: Designing for the Wii ... or should that be: Pinball Construction Set V2?

Sat, 8 Dec 2007 01:11:24 +1100

By: gosh'at' (Steve Goschnick)

Robin Hunicke (lead game designer at Electronic Arts in the Sims division, also doing a PhD in parallel on video games and AI) was in town for the IE-2007 (Interactive Entertainment) conference this week, and she did a little detour to our ICT building here at University of Melbourne and gave a good talk. The first part of the title of this blog entry was the title of her talk. She talked for 1.5 hours at about 100 words a minute, so its hard to capture the essence of what was an interesting presentation, by somebody across several career paths. She talked about game design in general, about what a good Project Manager in the video game creation business ought to do (shield the creatives from higher management, so as not to stifle their creativity - "allow them to come up with a demonstratable core mechanics of the game"). Much of game design is treated as 'craft and process' in which management usually imposes order and form, and yet design is non-linear and threshold driven. Linearity and progress are old friends which "reinforce your game play experience but maybe too much familiarity with nothing for you at the end (e.g. WoW - World of Warcraft). Design documents are for robots. You need about 2 weeks work on design, focus on a few things, then do a SCRUM cycle on them." - I'm sure that's the way to work on a web site, but I'm surprised to see game development portrayed as such an organic process - well, they obviously have very high level tools inhouse.

Very little about her actual work regarding Sims on the Wii ("My Sims has real easy access, is fun and has a great spacial reasoner - people are context driven. The player has narrative responsibility. You can choose your own adventure. You can build stuff for other people, and towns grow. Its a smooth interface - not like (the one) in Second Life"). She used a 'city metaphor' to characterise the various game platforms ("The PS3 is Tokyo in Space ...", the "Wii is a Castle in the Sky", PC gaming was "LA" I think(?), the DS was "a rich marketplace", apparently theres My Diary and cooking programs for it). Nintendo is successful in small games "they string together a series of small experiences, little bites which together are rich" (this is along the 'box of chocolates' theme - thats a great girl inspired or invented metaphor). E.g. "Mario Galaxy has a space ship view, but you still see the familiar. But theres only so much Mario you can play... Play can be work in many a modern computer game. Too many games are about the developers work and less about the players play. When is work fun?"

She conducted a game concept workshop on the Melbourne audience (apparently she'd done this presentation a few times, and the 'come up with a locally flavoured game concept' was a way of keeping herself interested and interesting), then cleverly turned it all around to point out how easy it was to come up with a concept, but how hard it is to build these things - which lead into a clearly well-planned discussion on game engines (the need for and characteristics of them). "Why try for a mainstream market. There's 4 million people in Melbourne. Its an opportunity to serve your own people first - on the grid of the PC city." The audience came up with much of the most obvious interests in general technology in use today: music (rif), photo's, blog, dance, your body as an instrument, etc. - "the Harry Potter Dance Instrument" suggested someone. Robin quickly generalised the 'spontanenous suggestions' as: "discuss, meet, relate, choice, photos, socialise, performance, spontaneity".

As mentioned above she turned this whole exercise around with "Game design is easy isn't it. Its about letting go, about being silly. Anyone can do it. Building it is the difficult bit. You need extremely empowered developers and good tools. You need a game engine - unless you are prepared to take 10 years to bring it to market. It would even take you a year to do a game for the DS - well, that might be ok if its the beginning of a franchise, then you could afford to be in it for the long haul, otherwise not. Something like Guitar Hero - harmonics, etc - would take 10 years from scratch. What do you want in an engine? Tools that help you visualise. 3D modelling tools (e.g. Blender). Rules and the ability to change the rules." One of the most common phrases that comes her way during game design is: "its not in the engine". Improving game play or fixing game play often gets "down to the engine".

Reading between the lines, it sounded to me like Electronic Arts is considering a game engine for the Wii for users themselves to enhance the games Electronic Arts release (starting with My Sims). That would certainly complement the origin of the company so many years ago with their innovative 'pinball construction set' - i.e. the first game published by Trip Hawkins - Electronic Arts founder - which allowed users to construct their own pinball machine, via a tool box of components that were dropped onto the blank pinball table. The physics was built into the environment. It was revolutionary in 1983 - and it would now be a good metaphor for the mashup tools of today and the near future, allowing users to put together applications of all sorts, from components of all sorts.

SIMTECH 2007 Workshop

Fri, 30 Nov 2007 11:09:03 +1100

By: gosh'at' (Steve Goschnick)

Went to the first International Workshop on Social Interaction and Mundane Technologies this week, a new workshop that was sponsored by Microsoft Research - impeccibly well-organised by Connor Graham. That 'mundane' word doesn't do justice to the focus of this workshop, as it was anything but mundane. Keynote Associate Professor Barry Brown defined a few of the features of 'mundane technology', he talked of the process that renders spectacular technology, ordinary - e.g. think of the magic in ones first encounter of the iPod back at its introduction ... now, the iPod is considered ordinary, everyday, mundane technology. He talked of how people ground the extraordinary into their ordinary lives "Almost everyone knows where they were and what they were doing, when they first heard of the extraordinary events unfolding on September 11, 2001. That is an example of how people turn (contextualise) the extraordinary into the ordinary, into the mundane."

But my specific interest was in the opposite direction, in how people turn the mundane, the ordinary into the extraordinary. My view of Web 2.0 is just that: it is the current best example of taking ordinary mundane technologies such as SQL DBMS and JavaScript - the first of which has been with us since the late 1970s and the second has been with us since 1996 - and turning them into the successful phenomenon that is Web 2.0 ... but the conference reviewers weren't overly interested in Web 2.0 technologies wrt the mundane as such, or, the point simply passed them by (I'll try them again next year - in Edinburgh - as I find that it often takes a year or so for these things to sink in - the DigitalFriend itself was a classic example: we put in an application for a Telstra Broadband Research Grant in 2003 titled 'The Web Service Workbench', which got knocked back by the select Board of Reviewers with the comment/feedback: "What are web services and why would you want to orchestrate them anyway?" ... we put the same application in the following 2004 round 12 months later, with a different title only, and it got enthusiastically accepted), However, SIMTECH'07 did accept me SQL+PaWS paper as a 4-page short-paper/poster, which is better than 'being pocked in the eye with a sharp stick'. So there is now also an A2-sized poster version of it in a single slide in powerpoint format, which is linkable here: SQL+PaWS poster in a powerpoint slide.

There was a paper titled 'Leadership and Mundane Technologies' (Rouncefield et al) which did tackle the use of email, Word, Powerpoint and spreadsheets (i.e. very mundane), and how organisational leaders do turn them into extraordinarily effective tools. His opening justification for the work was that "most studies take this sort of technology as a resource instead of studying it" [Note: the most memorable quote of the workshop was also by Mark Rouncefield: In answer to a question about mental models that good leaders might use, he responded "I wake up in the morning. I put on my leadership underpants, and that's my mental model." ... i.e. lots of HCI people and ethnographers are not into mental models]. It does surprise me from time-to-time that Access and SQL DBMSs drop off the edge of the world when people consider end-user productivity tools, when they do include spreadsheets. Its not that I'm surprised about the inclusion of the spreadsheet, its that I do really believe that learning SQL is easier than learning to use a spreadsheet program effectively - you can teach most CEOs/Deputy Directors effective SQL querying in half a day or less, particularly once they see the sorts of information they can retrieve for themselves from their own corporate databases. And I can recall at least a handful of journal papers and magazine articles around SQL by business 'leaders' in the form of company CEOs, Vice Presidents and the like. E.g. a paper I regularly give to my database masters students on distributed SQL queries ('Taming the Bull') is by Howard Goldgerg, a vice president at Merrill Lynch, to also make the point that fluency in SQL is an ongoingly useful skill whether you pursue/are-on either a technical or a managerial career path.

There was an interesting discussion about privacy versus accountability, by people including Paul Dourish, about the need to "account for being where you are: time, place and action" particularly as the concept of work moves further out of the office, and the office moves further into the home, and as we all move further into cyberspace with a 24/7 presence.

SIMTECH was very good but it wasn't perfect. There were one or two flakey papers that got in as full papers for god knows what reason but isn't that always the case; a time bandit tried to get the workshop goers into plastering banal graffiti around the environment immediately outside in the park (who somehow at short notice convinced organisers to slot her into the otherwise full schedule) ... however, the best and most original paper for my money was a paper by Wally Smith and Hannah Lewi, titled 'Magical Beginnings of the Mundane' (and is available in .pdf from the workshop Program link), which amongst other things, makes the well-backed-up claim that the world's first smart house called 'The Priory' was built in the 1800's by Jean Eugene Robert-Houdin (1805 -1871) - the preeminent magician of the 19th Century, which was the golden age of conjuring - and IS researcher Wally Smith would know, as he is also a magician and a member of the Magic Circle. They point out that "conjuring in the nineteenth century was a dominant form of entertainment that exploited the latest advances in science and technology to produce ever more amazing tricks: new understandings of electricity and electromagnetism; new materials ... and miniaturization of mechanical devices." Anyway, Robert-Houdin went on to build the world's first Smart House using the best of his knowledge, and the account in this paper is a very good read to anyone interesting in smart houses and/or magic. Their final point was that this smart home from the 19th Century proved a failure over time (i.e. next to no one knows anything about it now), because of "the denial of method" - as the magicians code is to "never disclose the secret" - which sounds like a good plug for Open Source to me.

Releasing SQL+PaWS: SQL and People as Web Services

Mon, 22 Oct 2007 22:45:36 +1000

By: gosh'at' (Steve Goschnick )

The Motivation for IT

I'm going to let you in on a little secret or two about software opportunities if you're not already aware of them: when a technology is really hot, really at a point in time when it could change things substantially in the way that people use computers, and/or develop software and services: the Big companies throw free versions at you as soon as possible. I'll give you an example:

  1. When XML came out, both IBM and Microsoft quickly made free XML parsers available to all-comers.
  2. Many more examples out there, once you know this principle ...

What they are doing is psychologically removing the value for anyone else who is/is-thinking-of writing such tools. E.g. A good software developer worth their salt in 1998 when those two XML parsers became freely available, was supposed to then think: "Well, an XML parser would be a powerful tool to write right now, but hey, now that the big guys have done it and are handing it out for free, it has no value, so I won't bother wasting my valuable time!" - thus leaving the large established companies in their onwardly powerful and commanding positions in that sphere of the marketplace, no matter how the standard/tool/language evolves thereafter.

The other thing big companies do regarding innovation is that they deliver it in a 'drip-feed' timeframe - rather than releasing innovation in great splashes. I.e. They like to draw it out, extracting as much money as possible from all and sundry, while at the same time preventing it from also swamping the market niches of their other products that will be adversely affected.

Web Services standards and tools fits not one, but both of those corporate-release profiles. Web Services has such a promising marketplace, and it has had it for 5+ years now! It has been morphed or diverted into SOA (Service Oriented Architecture) and SaaS (Software as a Service).

SOAP and WSDL web services have often failed to allow us to cross boundaries between work, home, school and play, partly because of the complexity of setting them up, and partly because of snail-paced evolving and burgeoning standards involved (e.g. SOAP 1.1, WSDL 1.1, WSDL 2.0, WS-Adressing, WS-Security, WS-ReliableMessaging, WS-Policy, etc.) – i.e. they still represent a moving and technically expanding target, not to mention the ongoing incompatibility problems between tool vendors versions.

Enter SQL+PaWS: SQL and People as Web Services

SQL+PaWS came about because of frustration with all of the above. SQL+PaWS is an open source, simple technical solution to web services that is also, direct, powerful, based on the two most widely available standardised languages in the world (SQL and HTML), and is free of red-tape and crap. Figure 1 below shows the results from an SQL+PaWS web service that returns information on standard country codes and country currency codes. In this case, the web service user wanted a service that will return all countries in the world, where the US dollar is the main currency used. The information is returned in the form of a regular 2D HTML table, with the data's metadata up at the top of the table.

Results table from an SQL+PaWS service

Figure 1 : HTML table produced with data plus, data item names, types, sizes and other metadata

The user may simply view this table in their favourite web browser, or they may consume it via an application program including a mashup (a program that combines multiple distributed data sources - such as this SQL+PaWS web service - in a synergy of new usefulness). The table is located via a relative tag placed in the HTML.

Figure 2 shows how the web service user accessed and customised the web service. They accessed a URL where the example service is hosted, inputting a single SQL Select command in an input form. That's it, all done!

Input Form of URL of an SQL+PaWS

Figure 2: The simple HTML input form with the SQL Select statement that produced the table in figure 1, via the example web services URL.

So, 'programming' the web service simply requires placing a straight-forward SQL Select command in the single HTML input field. It uses an SQL DBMS (database management system) server-side.

The person who implemented the SQL+PaWS web service needed to supply only three things: the database name, and a server-side user-name and password combination, that the SQL engine recognised. That's it. Its the same for writing any other SQL+PaWS web service: database-name, user-name, password. Done!

Most existing WSDL web services are using an SQL-oriented DBMS server-side, be it: Oracle, DB2, MS SQL Server, MySQL, Sybase, etc. These conventional web services are going from data sets at the source end, through various XML (hierarchical-structure) files representing protocols and interchange standards (SOAP, WSDL, etc), and then presented once again as sets at the consumer end, in spreadsheets or lists or similar data sets and data vectors (variable/value pairs).

SQL+PaWS goes from data sets at the source end (relation DBMS), and goes directly to a data set at the consumer end (<table>), using two of the most widely used computer languages available - SQL and HTML. Often the adoption and application of web services is hindered by all of the encumbering hierarchically structured XML-specifications - see the September post regarding how this has come about.

Note 1: There is a version of the SQL+PaWS implementing code, that adds a user-name and a password to the input form in figure 2, to restrict web service use and abuse.
Note 2: We are not against the XML language - its just in the way some times. Indeed, we will be making available soon, a companion product under the SQL+PaWS banner, called SQL-2-XML-RPC web services - which use the same SQL command approach to calling and specifying a web service, but instead delivers it as an XML-RPC feed. And making available another companion product called SQL-2-RSS web services - which uses the same SQL command approach to calling and specifying a web service, but delivers the resulting <table> within an RSS feed item. Both of them are also Open Source software.

What about the 'People' Part of SQL+PaWS?

The ubiquitous web browser generally requires a human reader to retrieve information from the web. In contrast, Web services were developed to be a client-side programmatic interface (computer programs as the readers) to the world of servers out there. However, SQL+PaWS web services, as well as being used by such application programs, can also be viewed in a web browser by people, both at web service prototype time, or in general (see the overview in figure 3 below). In addition, it allows people to very simply author web services that are directly readable by applications and mashups (by producing HTML <table>s that conform to the SQL+PaWS convention of writing such a table. See the official link: SQL+PaWS Specification).

Overview of SQL and People as Web Services

Figure 3: Overview of SQL and People as Web Services (SQL+PaWS)

The world is becoming increasingly wired (and wirelessed?) with sensors, but, the world's best all-round sensor (and analyst) is still the Human Being. The use of SQL+PaWS is potentially very generic and includes a convention that allows people to post their own data in a particular HTML format - see Listing 1 below. I.e. Individuals who routinely collect data, can simply post it on the Internet as a Web Service to other people and/or organizations, without the need to use an SQL database at all. Figure 1 shows that either people and/or SQL-oriented databases can be the source of an SQL+PaWS web service, and either people and/or software clients (including the growing field of mashup applications) can also be the consumers of SQL+PaWS web services.

Listing 1: HTML code fragment with essential insertions
<a name="START-SQL+PaWS"></a>
<caption align="bottom">Date Created: Sep 28, 2007 1:27:12 +1000 </caption>
<thead valign="top">
</tr> ...
<td>AS</td> ...
</tr> ...
<a name="END-SQL+PaWS"></a>

Links for further interest:

1. The SQL+PaWS Official Specification page: PaWS HomePage
2. Download of the JSP (Java Server Pages) version of SQL+PaWS source code, here: (350 KBytes)
3. Downloading the PHP version of SQL+PaWS here: 'coming soon'
4. A Directory of SQL+PaWS Web Services here: 'coming soon'
5. A brief Press Release in .pdf format, here: PressRelease2007-10-22
6. An example SQL+PaWS web service - Country Codes and Currency Codes. Give it a try (copy'n'paste is best):
1st e.g. In your Web Browser go to the URL:
Try entering the SQL command: SELECT DISTINCT CurrencyName FROM Currency WHERE CurrencyName LIKE '%Dollar%';
... that's a Web Service that returns the names of all world currencies with the word 'Dollar' in them.

2nd e.g. At the same URL:
Try entering the SQL command: SELECT CountryName, Country.CountryCode, CurrencyCode, CurrencyName FROM Country, Currency WHERE Country.CountryCode = Currency.CountryCode AND CurrencyCode = 'EUR';
... that's a Web Service that returns all countries that use the Euro as their primary currency, done!

Acknowledgments: SQL+PaWS is a by-product of teaching and research activity at the University of Melbourne (IDEA Lab, Dept. of Information Systems)

Home | Site Map | Privacy Policy | Contact Us | ©2007 Solid Software Pty Ltd