Tuesday, February 28, 2006

TOP 10 MOBILE GAMES DOWNLOADS FOR JANUARY 2006

ELSPA has announced the January 2006 Mobile Games Java Download Chart©, compiled from information supplied by: 3, O2, Orange,T-Mobile, and Vodafone.

OFFICIAL MOBILE GAMES JAVA DOWNLOAD CHART © ELSPA
TOP 10 JAVA DOWNLOADS - January 2006
DATA SOURCE: 3, O2, ORANGE, T-MOBILE, VODAFONE
(title - developer)

TM TITLE DEVELOPER

1 TETRIS ® - JAMDAT
2 THE SIMS 2 - EA
3 PACMAN - NAMCO
4 WHO WANTS TO BE A MILLIONAIRE - GLU MOBILE
5 BLOCK BREAKER DELUXE - GAMELOFT
6 EA SPORTS ™ TIGER WOODS PGA TOUR ® GOLF 2005 - IPLAY
7 TAMAGOTCHI - LIVING MOBILE
8 MIDNIGHT POKER - GAMELOFT
9 NEW YORK NIGHTS (SUCCESS IN THE CITY) - GAMELOFT
10 3D POOL - IPLAY

Wednesday, February 22, 2006

UIEngine's Stately Layering Model

What is the simplest way to cause a change to an application's display?

What causes an application to need/want to change its display?

What is the simplest way to model display content and display changes?

These are the central questions that the designers of UIEngine's programming language have attempted to address.

UIEngine's programming language, UJML, is XML-based. As can be seen in the previously posted examples, the language allows one to layout visual components within a element. However, unlike other similar languages, UJML does not rely on DOM-based scripting to alter the display. DOM scripting, as is done in DHTML, was deemed overly technical for people interested in designing and implementing rich user interfaces.

Instead, UJML uses a layering model where one chooses which layers to display at any point in time. Layers each are defined by a element and the program makes these layers visible/invisible based on user interactions and simple calculations.

Since a display change is typically the result of some value changing within the program, UJML associates each layer with a value. Since values are stored in variables, the layer is associated with a value that a specified variable may contain.

In the sample below, the variable layer is defined of type integer. Later, we see a layer defined (UJML refers to layers as states; this will be explained in a later post). It is to be displayed when the layer variable contains value 1.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML
1.5//EN" "http://www.uievolution.com/dtd/ujml-1.5.dtd" []>

<ujml>
<application>
<state-variables>
<state-var name="layer" type="int"/>
</state-variables>
<display>
<box>
<width>
<eval>_getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;)</eval>
</width>
<height>
<eval>_getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;)</eval>
</height>
<bg>&_COLOR_BLACK;</bg>
</box>
<label>
<text>Press FIRE</text>
<fg>&_COLOR_YELLOW;</fg>
<event name="onselect">
<accelerators>
<key>FIRE</key>
</accelerators>
<script>
// User pressed FIRE or clicked on label; diplay layer
layer = 1;
</script>
</event>
</label>
</display>
<states>
<-- A layer to be displayed when "layer == 1" -->
<state var="layer">
<transition value="1">
<display>
<box>
<x>10</x>
<y>10</y>
<width>100</width>
<height>100</height>
<fg>&_COLOR_AQUA;</fg>
<bg>&_COLOR_FUSCHIA;</bg>
<label>
<text>Layer One</text>
<x>4</x>
<y>4</y>
</label>
</box>
</display>
</transition>
</state>
</states>
</application>
</ujml>


See it run...

Wednesday, February 15, 2006

New Porsche Turbo and Cayman GTR Announced

Turbo

Wow, what a fantastic week for Porsche fans.

Earlier this week, Porsche release official pictures of the new 997-series Turbo and they also put up a mini-site for the car.



Power comes from a turbocharged 3.6-liter flat-six, making 480 hp at 6000 rpm and 457 lb-ft of torque from 1950 rpm to 5000 rpm. With the optional Sport Chrono Package you get an “overboost” that temporarily cranks full-throttle-boost pressure by 2.9 psi, pushing peak torque to 502 lb-ft. It goes from 0 to 60 mph in 3.4 seconds with the five-speed automatic, and 3.7 seconds with the standard six-speed manual.




Cayman GTR

Farnbacher Loles Motorsports will unveil the Cayman GTR at the legendary 12 Hours of Sebring race weekend, March 15-18. At the heart of the GTR is a Porsche 3.8 liter S or X-51 engine in either 375 hp or 405 hp variations. Drawing on Farnbacher Loles extensive racing success, the GTR also features a unique adjustable suspension designed to work in concert with the sizable increase in power.

Wednesday, February 08, 2006

What can you create with UIEngine?

Let's take a look at what you can do with UIEvolution's UIEngine ...

The Chronicles of Narnia





So... how cool is that?!

A GameSpot review. An IGN review.

Trivial Pursuit



A Gamespot review.

Keeper's Quest



A Wireless Gaming Review article.

Square-Enix Gallery



A Wireless Gaming Review article.

ESPN BottomLine

WebPreview

Mobile Movies.com

WebPreview

Squareville Shuffle



Squareville Wasabi




What can you build with UIEngine?

Monday, February 06, 2006

Porsche Cayman S Joins the Stable

At some point in my love affair with cars I decided that mid-engined sports cars are the cat's meow for me. Unfortunately, all the affordable mid-engined cars available over the past 10 years have been convertibles. While I've owned a few 'verts in the past, they are not at the top of my interest list, for few reasons:

1) Their chassis rigidity is always a compromise compared to a fixed roof coupe.

2) They are much louder inside, even with the top on, than a coupe.

3) They look good only with the top down.

So, in my quest to own an affordable mid-engined sports car I've had to "settle" for buying convertibles with their optional hardtops and driving them exclusively with the hardtop on, even in the summers. Believe it or not, people think that is weird... go figure.



The first mid-engined car was a 2001 Toyota MR2 Spyder; a new model for Toyota in their renewed attempt at attracting younger buyers. For me, it was a great choice becase it cost only $22K and it was so rare that I could get my money back if my fantasy of mid-engined car dynamics turned out to be a nighmare!

Well, the Spyder was a joy to drive. I kept it for a year and then sold it for the same amount as I bought it!



A year later I purchased a pre-owned 2000 Porsche Boxster S, also with a hardtop. I wanted a mid-engined coupe so badly that I had the soft top removed to get rid of its dead weight and drove the car for two years with the hardtop on the car. It was another mid-engined driving dream. I even took it to Laguna Seca Raceway in late 2003; that was a rush!

Yes, there is a pattern to the color :)

After returning from Laguna Seca I sold the Boxster... and continued to wait for a mid-engined coupe as the rumors of a Boxster coupe were indeed starting to increase in frequency... the waiting begins...



In late 2004, Lotus finally began importing their lightweight mid-engined Elise to the US. American car nuts had waited since 1996 for the Elise to get here; it was worth the wait. The yellow streak ended however; this time it was to be Burgundy.

The Elise is an amazing track/weekend car, but it isn't exactly the best choice for an every day driver.

Fear not, Porsche finally ships a reasonably affordable mid-engined coupe in mid-Jan 2006. A Speed Yellow copy joined the stable on Superbowl Sunday ...





A new adventure begins...

Saturday, February 04, 2006

UIEngine "Listens" to User Input

Use the <event name="onselect"> tag to capture key presses and mouse/stylus clicks/taps.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML
1.5//EN" "http://www.uievolution.com/dtd/ujml-1.5.dtd" []>

<ujml>
<application>
<!-- paint background -->
<display>
<box>
<width>
<eval>_getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;)</eval>
</width>
<height>
<eval>_getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;)</eval>
</height>
<bg>&_COLOR_BLACK;</bg>
</box>
<!-- draw text -->
<label>
<text>Hello World!</text>
<fg>&_COLOR_YELLOW;</fg>
<!-- wait for keypress or mouse click -->
<event name="onselect">
<accelerators>
<key>FIRE</key>
</accelerators>
<script>
// User pressed FIRE or clicked on label
</script>
</event>
</label>
</display>
</application>
</ujml>


Learn more about UIEvolution's UIEngine.

Monday, January 30, 2006

Team Seattle at Rolex 24hrs of Daytona


Local Team Seattle completed their 10th race at the Rolex 24hrs of Daytona this past weekend. Each year they race to raise money for Children's Hospital; this year, they raised over $300,000!

The team raced brand spanking new 997 series Porsche GT3s. Both cars were involved in accidents early in the race. Car 86 eventually retired but car 87 made it to the finish! Here is a writeup by driver Don Gagne.

Saturday, January 28, 2006

UIEngine Says "Hello World"

The standard "Hello World" application written in UIEvolution's UJML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML
1.5//EN" "http://www.uievolution.com/dtd/ujml-1.5.dtd" []>

<ujml>
<application>
<!-- paint the background -->
<display>
<box>
<width>
<eval>_getIntProperty(&_PROPERTY_INT_SCREEN_WIDTH;)</eval>
</width>
<height>
<eval>_getIntProperty(&_PROPERTY_INT_SCREEN_HEIGHT;)</eval>
</height>
<bg>&_COLOR_BLACK;</bg>
</box>
<!-- draw text "Hello World" -->
<label>
<text>Hello World!</text>
<fg>&_COLOR_YELLOW;</fg>
</label>
</display>
</application>
</ujml>


See it run...

End of the Line for Sony Robots


As a huge fan of Sony's work in robotics, as an owner of their 2nd and 3rd generation Aibo robotic dogs, I'm sad to read that Sony plans to discontinue production of their robots.








Although there is apparently no official word from Sony, this blurb in Sony's financial statement seems clear enough.



Fortunately Sony will continue the research and utilize the technology in other consumer products.



I was looking foward to buying a Qrio at some point.






Checkout some videos of Aibo here.


Wednesday, January 25, 2006

Finally, a nice looking Ferrari: 599 GTB

For some reason Ferrari's most recent cars have not been all that great looking. Don't get me wrong, they are awesome machines, but it seems their cars are either too weird looking or designed too much for the sake of the wind tunnel rather than for beauty... I expect a Ferrari to be dropdead gorgeous; my bias :)

Here are the official pics from Ferrari of the 599 GTB:







Projected power: 611HP.

But will it be "enough" :)

Tuesday, January 24, 2006

Official 2006 BMW M Coupe photos!


BMW finally released official photos of their upcoming M Coupe. This is a coupe version of their M Roadster which is based on the Z4 Roadster. The M Coupe has been highly anticipated by BMW fans after BMW showed off the Z4 Coupe Concept a few months ago. Soon afterwards a few spy shots of what looked like an M Coupe surfaced.


The M Coupe is a true enthusiast's car and will compete head to head with the Porsche Cayman S which just came to the market this month.

The Cayman S is the coupe version of the Porsche Boxster S.



The M Coupe will have roughly 340HP and cost about $50K while the Cayman has 295HP and costs $59K.

It is a great time to be a car nut!

AutoBlog has more details, including the official BMW press release.

AJAX: Poster child and metaphore for Web 2.0

Peter Coffee wrote a nice article about AJAX and how it is not the pancea for web services that so many flock to.

It occured to me after reading that article that if you replace AJAX with Web 2.0 and then replace the various AJAX technologies with Web 2.0 technologies, that the article could just as easily be about Web 2.0. Go figure.

I especially like the ending paragraph:

Google's high profile has contributed to an aura of fairy dust surrounding AJAX, making it seem both more powerful and less risky than it may prove to be in the hands of any but the most talented developers. But as Sophocles wrote in 440 B.C., "Ever do I behold thee scheming to snatch some vantage o'er thy foes. Skilled in the chase thou seemest. Say what eager quest is thine, that I who know may give thee light." That's Athena's opening speech in the classic play "Ajax."

One of Mr. Coffee's points is that AJAX is not for the faint-of-heart, which I agree with. I remember writing an AJAX grid control for a time and materials entry page sometime in 1998. I was amazed at what could be done with DHTML and XML RPC. But, I left the company before I finished the grid control and no one else at the company could finish it so they tossed it and used boring old HTML Forms. It was some of the trickiest and harriest and ugliest bits of code I've ever written.

Just say no to AJAX and say hello to UIEngine :)

Monday, January 23, 2006

Sunday, January 22, 2006

The Rise and Fall of the Worldwide Web

The serendipitous success of the Worldwide Web is its Achilles Heal!

The Web is primarily implemented on top of HTML pages which are plain text representations of the user interface and the data to be presented to the person viewing and interacting with the page.

HTML was intended for document sharing and viewing over the Internet. Now it is used serendipitously for just about any software application or service that one could imagine. The problem is, HTML was not designed for all these applications/services.

The plain text nature of HTML is great for search engines because everything is "out in the open". When used for public documents, this is a great way to share information. When used for things like blogs, it isn't always so great. I seriously doubt that most bloggers think about the fact that anyone can read what they are writing. People are exposing their private lives unknowingly (or semiconsciously).

In fact, anything a person writes that can be published on the web is searchable. Privacy is seriously at risk as more people use the Web.

HTML is also the source of more scams than I can count.

I can go on and on about what is bad about the fundamental technical basis for the Web, but the main point is that it is based on some very weak technologies. Unless there are some fundamental technology shifts, I believe the next Dot Bomb will revolved around the extensive potential for the misuse of information that the current technologies permit.

Imagine if the Web was based on a technology that clearly separated the user interface from the data and the data was always transmitted over secure channels. Imagine a search system that can only use voluntarily submitted data.

I want to create an alternate, safe, worldwide web based on such a model.

Saturday, January 21, 2006

Web 2.0 Community-Created Content

At UIEvolution we're working on ways to work well within the Web 2.0 world. So, I'm doing this blog and playing with the current Web 2.0 poster children to get a feel for many things Web 2.0.

On of the most intriguing aspects of Web 2.0 is the whole community-created content. So...

Today, I got a Flickr account and uploaded a few pics of some of my favorite cars. I added a Flickr "Badge" to this blog so people can see my pics.

Pretty cool stuff.

I suppose the next Web 2.0 poster child to play with is del.icio.us.

Friday, January 20, 2006

Web 2.0 Distilled

The CEO (Satoshi Nakajima) of the company I work for, recently pointed out a great memo written by Ray Ozzie which to me distills the key important aspects of Web 2.0.

Ray's excellent summary of Web 2.0:

"Key Tenets
Today there are three key tenets that are driving fundamental shifts in the landscape -- all of which are related in some way to services. It's key to embrace these tenets within the context of our products and services.

1. The power of the advertising-supported economic model.
Online advertising has emerged as a significant new means by which to directly and indirectly fund the creation and delivery of software and services. In some cases, it may be possible for one to obtain more revenue through the advertising model than through a traditional licensing model. Only in its earliest stages, no one yet knows the limits of what categories of hardware, software and services, in what markets, will ultimately be funded through this model. And no one yet knows how much of the world's online advertising revenues should or will flow to large software and service providers, medium sized or tail providers, or even users themselves.

2. The effectiveness of a new delivery and adoption model.

A grassroots technology adoption pattern has emerged on the Internet largely in parallel to the classic methods of selling software to the enterprise. Products are now discovered through a combination of blogs, search keyword-based advertising, online product marketing and word-of-mouth. It's now expected that anything discovered can be sampled and experienced through self-service exploration and download. This is true not just for consumer products: even enterprise products now more often than not enter an organisation through the Internet-based research and trial of a business unit that understands a product's value.

Limited trial use, ad-monetised or free reduced-function use, subscription-based use, on-line activation, digital licence management, automatic update, and other such concepts are now entering the vocabulary of any developer building products that wish to successfully utilise the Web as a channel. Products must now embrace a "discover, learn, try, buy, recommend" cycle -- sometimes with one of those phases being free, another ad-supported, and yet another being subscription-based. Grassroots adoption requires an end-to-end perspective related to product design. Products must be easily understood by the user upon trial, and useful out-of-the-box with little or no configuration or administrative intervention.

But enabling grassroots adoption is not just a product design issue. Today's Web is fundamentally a self-service environment, and it is critical to design Websites and product 'landing pages' with sophisticated closed-loop measurement and feedback systems. Even startups use such techniques in conjunction with pay-per-click advertisements. This ensures that the most effective Website designs will be selected to attract discovery of products and services, help in research and learning, facilitate download, trial and purchase, and to enable individuals' self-help and making recommendations to others. Such systems can recognise and take advantage of opportunities to up-sell and cross-sell products to individuals, workgroups and businesses, and also act as a lead generation front-end for our sales force and for our partners.

3. The demand for compelling, integrated user experiences that "just work".
The PC has morphed into new form factors and new roles, and we increasingly have more than one in our lives -- at work, at home, laptops, tablets, even in the living room. Cell phones have become ubiquitous. There are a myriad of handheld devices. Set-top boxes, PVRs and game consoles are changing what and how we watch television. Photos, music and voice communications are all rapidly going digital and being driven by software. Automobiles are on a path to become smart and connected. The emergence of the digital lifestyle that utilises all these technologies is changing how we learn, play games, watch TV, communicate with friends and family, listen to music and share memories.

But the power of technology also brings with it a cost. For all the success of individual technologies, the array of technology in a person's life can be daunting. Increasingly, individuals choose products and services that are highly-personalised, focused on the end-to-end experience delivered by that technology. Products must deliver a seamless experience, one in which all the technology in your life 'just works' and can work together, on your behalf, under your control. This means designs centred on an intentional fusion of Internet-based services with software, and sometimes even hardware, to deliver meaningful experiences and solutions with a level of seamless design and use that couldn't be achieved without such a holistic approach."

Thursday, January 19, 2006

Nokia 770: The Good, Bad and Ugly

Nokia's new 770 has interested me ever since Nokia announced it many months ago. My main interest is in how the 770 is a very specialized device rather than a general purpose PDA or Smartphone. The latter tend to suffer from the usual "does everything but not that well" syndrome. I'm a big fan of specialized devices because the engineers tend to do a much better job of supporting the device's specialty much better than the same feature on a multipurpose device.

The 770's specialities are web browsing and email on a relatively small device.



The Good
From a user experience point of view, the engineers realized that one cannot display web pages on a small device, so they incorporated a Full Screen button as well as Zoom In/Out buttons. These work very well and quickly. The stylus is used on the touch screen to pan the display over a zoomed-in page. There is also a handy Back button. This is a considerably better user experience for web browsing and reading email than on a PDA or smartphone.

The graphical user interface is optimized for a simple usage model; things you need frequently are displayed as easy to access icons and a single menu is used for less frequent commands. Also very nice.

The Bad
Despite the nice general UI layout, the engineers forgot to address some key features; mainly in the mail application.

When reading a message, one must use the cascading menu to delete the message; even though there is plenty of sceen real estate for a Delete icon?! When you do manage to delete a message, you are always asked if you want to delete the message only on the 770 or on both the 770 and the server. Now, how many users even know what that means? How many users will be annoyed by the constant need to reply to that damned dialog?! Nokia engineers need to read About Face by Alan Cooper. They need to revist the user experience for IMAP email...

The Mail app has trouble displaying many HTML email messages; these are so common that there is no excuse for not being able to render them properly.

The Ugly
The Browser crashes a bit too often.

The responsiveness of the 770 is quite sluggish.

Nice First Try
I congratulate Nokia for taking the time to design a nicely specialized internet/email device. They've already distributed a software update at the end of Dec. Hopefully they'll fix some of the bugs quickly in the next update.

Wednesday, January 18, 2006

When is 408HP not enough?

A stock 1997 Porsche 911 Twin-turbo (911TT) produces 408HP from a 3.6L twin-turbocharged motor. One would think that is more than enough power for any sane human being. Well, the existence of the 1001HP Bugatti Veyron is clear proof that some people don't think 408HP is not enough!

I think it is enough, but, I wanted more anyway! [I've never claimed to be sane] It is possible to increase the power of the 911TT to 600+HP but it's quite pricey. Also, I like to drive the 911TT at the local race tracks occassionally, so I need the car to be bulletproof reliable. At 600HP I'd be worried I was sitting a granade!

With turbocharged cars, the best way to increase power is to put on larger turbo chargers (yes, you can play games with the car's computer to increase boost without changing the turbo, but, that is a hack that almost never provides the power promised by the computer programmers). However, increasing the size of the turbocharger generally increases lag (the time it takes the turbos to spool up after depressing the throttle peddle). The stock 911TT has minimal lag which I really like, so increasing lag would be very undesirable!

It turns out that one can fit the compressor wheel from a larger turbocharger onto the units that are stock on the 911TT; these are K16 turbos and one can fit a K24 compressor on them with some careful machining of the compressor housings.

As it happens, a rather good turbocharger guru runs his business (Ultimate Motorwerks) out of Monroe, WA, which is just a skip and a hop from my home. So, naturally I corresponded with Kevin and did some research on the Rennlist Turbo Forum to figure out which of his various power packages were right for me. I decided on his lowest power package, Stage 1, in order to be assured that the engine can withstand some heavy track driving. This package is good for about 450HP on 92 octane fuel and 470+HP on 100 octane race fuel... Good enough?! For now :)

Along with the hybrid K16/K26 turbos, Kevin provides highflow catalytic converters and engine programming by another Porsche guru, Gunther from Germany. Highflow mufflers are also required so I acquired mufflers from Cargraphic (they sound wonderful!). To handle the added power I needed to upgrade to the GT2 Sachs clutch and lightweight flywheel. To top it off, a complete tune up, replacing all ignition parts (plugs, wires, distributor, etc.).

Below are the dyno results comparing the stock power output to the Stage 1 upgrade (note that this dyno shows HP at the wheels rather than at the crank as is advertised by manufacturers; so you'll see that stock the car puts roughly 300HP to the wheels and with the Stage 1 it does 362HP).



The car pulls like a freight train! Now the question is: "When is 470HP not enough?" ...