+- (NSString *) firmware {
+ return [[UIDevice currentDevice] systemVersion];
+}
+
+- (NSString *) hostname {
+ return [[UIDevice currentDevice] name];
+}
+
+- (NSString *) idiom {
+ UIDevice *device([UIDevice currentDevice]);
+ if (![device respondsToSelector:@selector(userInterfaceIdiom)])
+ return @"iphone";
+
+ UIUserInterfaceIdiom idiom([device userInterfaceIdiom]);
+ if (idiom == UIUserInterfaceIdiomPhone)
+ return @"iphone";
+ else if (idiom == UIUserInterfaceIdiomPad)
+ return @"ipad";
+ else
+ return @"unknown";
+}
+