At Kennard Consulting we're always coming up with ideas for new products, and today we're focussing on iPhone applications. Here's a sneak peak at some of our latest innovations. Please note these are all still at the prototype stage, so we'd appreciate your feedback as to which ones you think will be a seller!
iPool
Turn your iPhone into a complete swimming pool tester, without all the fuss of traditional tester kits.
Simply dip your iPhone briefly in the shallow end of the pool, and iPool will instantly analyze pH levels, chlorine and acidity. It will then recommend correct levels of salt, acid or buffer and connect you to iPool Online which will fulfil all your pool chemical needs at discount prices.
iTherm
Bake that perfect cake by using your iPhone as an oven thermometer! Highly accurate up to 400 degrees Celsius and more reliable than tradition oven thermometers (pictured), iTherm will display up-to-the-second temperature readings.
Includes built in cooking timer and recipe book.
iScale
Keep your weight in check wherever you are, by using your iPhone as a weighing scale. Simply place your iPhone on a flat surface and stand on it, and iScale will record your weight accurate to 100 grams.
Includes weight loss tracker and calorie counter.
Sunday, February 28, 2010
Wednesday, February 24, 2010
Form Generation: Performance Impact
I was recently asked about the performance impact of using Metawidget. Metawidget dynamically generates forms at runtime, so it's expected there will be a performance impact over hard-coding those forms statically: rendering speed and memory consumption will probably get worse. Conversely, deployment size will probably get better (screens can be generated on-demand, rather than pre-compiled and shipped with the app).
Of course, everybody hates micro-benchmarks. They're easy to quote, but rarely very accurate, and almost impossible to make meaningful. The best advice is try Metawidget with your application, in your environment, to see if it performs acceptably.
That said, and with huge pinches of salt, I thought I'd give it a go. Metawidget already ships with 3 examples of 'retrofitted' applications - that is, existing applications that have been upgraded to use Metawidget. These make for great 'before and after' tests of two versions of the same application where Metawidget is the only variable.
I took the existing JBoss Seam Hotel Booking sample, the JBoss Seam DVD Store sample, and the JBoss Seam Groovy Booking sample, and wrote a Webtest to cycle over them 100 times. I then wrote a similar Webtest (some of the ids are slightly different) to cycle over the Metawidget version. These webtests are under /test/src/web/examples/faces.
Next I...
Finally I did a quick graph of the results (using GraphJam):
As you can see, the results are all over the place. The Hotel Booking and Groovy Booking samples actually run faster with Metawidget (14% faster and 7% faster, respectively), and the DVD Store sample runs slower (7% slower). The latter result is expected, the former is a surprise. I tried it on another PC just to confirm, and I'd encourage you to try it yourself.
What does this mean? As I said at the start - not very much. Does it mean your application will run faster with Metawidget? No. As they say your mileage may vary. Does it mean Metawidget probably won't have an appreciable impact on the performance of your User Interface and so you should take a look at it? Definitely :)
Feedback welcome!
Of course, everybody hates micro-benchmarks. They're easy to quote, but rarely very accurate, and almost impossible to make meaningful. The best advice is try Metawidget with your application, in your environment, to see if it performs acceptably.
That said, and with huge pinches of salt, I thought I'd give it a go. Metawidget already ships with 3 examples of 'retrofitted' applications - that is, existing applications that have been upgraded to use Metawidget. These make for great 'before and after' tests of two versions of the same application where Metawidget is the only variable.
I took the existing JBoss Seam Hotel Booking sample, the JBoss Seam DVD Store sample, and the JBoss Seam Groovy Booking sample, and wrote a Webtest to cycle over them 100 times. I then wrote a similar Webtest (some of the ids are slightly different) to cycle over the Metawidget version. These webtests are under /test/src/web/examples/faces.
Next I...
- took my PC (Intel Core 2 Duo 8400, 4GB RAM, Windows XP SP3)
- built the samples from JBoss Seam 2.2.0.GA
- deployed them on a fresh copy of JBoss 5.1.0.GA and Java 6 update 17
- set all logging to WARN (I have found logging skews the benchmarks)
- ran the Webtests
Seam Booking Test (seam-booking-performance-test.xml) | |
---|---|
test-without-metawidget | 7m 44s |
7m 55s | |
7m 50s | |
test-with-metawidget | 6m 56s |
6m 42s | |
6m 48s | |
Seam DVD Store Test (seam-dvdstore-performance-test.xml) | |
test-without-metawidget | 5m 17s |
5m 17s | |
5m 21s | |
test-with-metawidget | 5m 40s |
5m 47s | |
5m 38s | |
Seam Groovy Booking Test (seam-groovybooking-performance-test.xml) | |
test-without-metawidget | 48m 1s |
47m 50s | |
test-with-metawidget | 45m 1s |
44m 6s | |
44m 33s |
Finally I did a quick graph of the results (using GraphJam):
As you can see, the results are all over the place. The Hotel Booking and Groovy Booking samples actually run faster with Metawidget (14% faster and 7% faster, respectively), and the DVD Store sample runs slower (7% slower). The latter result is expected, the former is a surprise. I tried it on another PC just to confirm, and I'd encourage you to try it yourself.
What does this mean? As I said at the start - not very much. Does it mean your application will run faster with Metawidget? No. As they say your mileage may vary. Does it mean Metawidget probably won't have an appreciable impact on the performance of your User Interface and so you should take a look at it? Definitely :)
Feedback welcome!
Subscribe to:
Posts (Atom)