Both the iPhone and iPod Touch let you add bookmarks directly to your device's home screen. Adding a bookmark to mControl's mobile.aspx page makes it quicker to access your home automation, and for that reason I tend to walk around with my phone in my pocket even at home.
I also added a custom icon by creating a 57x57 pixel PNG file named "apple-touch-icon.png" and copying it to the WHS machine's C:\Inetpub\wwwroot folder. The "mHome_ThumbVista.png" file in the mControl directory is a good starting point for an image, though you should make it square without the glassy effect for best results.
For more details on creating icons for sites, do a web search for "apple-touch-icon.png" and you should get all the information you need.
Fake home screen
Thanks to Engadget I'm out of another $150. They had an article about MiCasaVerde's Vera device and I just placed my order. In short it's a box that looks like a wireless router/access point (and actually works as one), but contains home automation software and support for Z-Wave (aren't I glad I've got all the switches in the house replaced with those?). Their goal is to make home automation dead simple, but for me personally (once again) the key is that it's an open platform with support for extending and hacking the device.
There's an enthusiast special going on until the end of the month (October 31, 2008) and you can get the device for $149 (plus shipping) instead of the retail $299. Details about this and the device itself are available on their wiki: http://wiki.micasaverde.com/index.php/Invitation_To_Enthusiasts
In addition to having a device that consumes 6W instead of 90+W for a PC, one other great thing I see compared to other home automation solutions is the Z-Wave adapter that comes with the device. You can unplug it from the Vera's USB port and walk around the house to register Z-Wave devices. Compare this to my experience of having to buy a handheld Z-Wave controller to walk around with, and once I was done, going into the garage, pressing a bunch of buttons on the remote (where's that manual again for the correct combination so I don't erase everything?) and running to my PC to start the transfer to the computer before the transfer times out.
Embedded Automation's mControl for WHS currently installs an unsecured application under the Default Website in WHS. My recommendation is to immediately make sure that you've turned on requiring authentication for the mControl virtual folder. However, turning on authentication makes it harder to access the web version of mControl from within your local network, such as from an iPhone or UMPC. The solution is to create a second web site under IIS on the Windows Home Server.
I'm working on a pretty cool ActionScript 3 based project and we're trying to optimize the size as much as possible. Pretty much everything is rendered in code and we noticed that the AS compiler is actually pretty bad at optimizing the SWF. For example, it seems to not touch class level private variable names, thus keeping the actual strings intact which increases both the SWF size and memory usage pretty drastically if there are lots of instances of the object in memory. I don't have any hard numbers to share, maybe I'll get around to creating a sample project to get some numbers I can share.
Setting Compiler Options
In the meantime, you can at least get a sense of where the size of the SWF is coming from by using the -link-report [filename] compiler argument. In FlexBuilder, you can set it under the ActionScript Compiler page in the Additional compiler arguments field.
Link Report File
The resulting XML file contains a list of all ActionScript files, their size, optimized size and a list of all dependencies. For example:
<script name="Drive:\Path\MyProject\src\accessibility\ComboBoxItemAccessibility.as" mod="1217893038671" size="1593" optimizedsize="875">
<def id="accessibility:ComboBoxItemAccessibility" />
<pre id="accessibility:ButtonAccessibility" />
<dep id="flash.events:MouseEvent" />
<dep id="accessibility:Constants" />
<dep id="MenuItem" />
<dep id="AS3" />
The most interesting items are the size and optimizedsize attributes.
Using an XSLT File to Improve Readability
The link report file can be pretty large and hard to read, so I put together a really crude XSLT file to transform the report into HTML. You can then easily drop the HTML file on Excel to sort by the size and see which classes might be good candidates to optimize.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes"/> <xsl:template match="@* | node()">
<xsl:apply-templates select="@* | node()"/>
<h2>ActionScript Link Report</h2>
<th align="left">Optimized Size</th>
OK, I finally got around to switching my hosting provider after over a year of mostly being down. Still need to tweak a lot and who knows when I'll get around to it :D
I was able to copy my old posts over, but I lost all the comments. Sorry. I still have them as XML files if someone wants to write a DasBlog XML to BlogML format converter for me.
I added a downloads
page that has a collection of various bits of code I've worked on going back to 1988 when I published my first game on the Commodore 64. I had a Commodore 128 which was great for development since it had a buit-in disassembler and C=64 emulation. I could just hit the reset button and hold down either the C= key or caps-lock (if I remember correctly) to either boot up either as into C=64 emulation or into to the dissassembler without losing the contents of the memory. SYS 49152 guys!
So Yahoo! killed the service which effectively means that Yahoo! Music Engine/Jukebox can R.I.P. This also obviously means I don't have much motivation for updating the remote. I'll wrap up the source at some point and publish it in case anyone wants to take it and use it for some other purpose.
Spent some time figuring out what the Vista ICM module I've had installed for over a year could finally do for me. I've wanted to integrate it into mControl, but they don't have a driver. Step one was to look at the ICM and figure out how to access it and read information from it. The following attempts to document as much as I could figure out and the resulting C# component is available on the Downloads page.
A side project of mine at work got out the door today. The Silverlight (1.0) Developer Center.
Last year the MIX07 conference had lots of exciting news for Rich Internet Application developers. MIX08 starts this week and we're happy to announce our new Developer center aimed at Silverlight 1.0 while we wait for the final release of version 2.0. Our goal was to create a starting point and handy reference for learning and using Silverlight. We cover all the basics and have lots of samples and links to other resources on the web.
There's also a special treat for code junkies. We made a class diagram poster covering all the Silverlight 1.0 classes and made it available in multiple formats. So feel free to appropriate the company plotter and decorate your cube (Umm, okay. Ask for permission first). The classes are also grouped into the currently known 2.0 namespaces to help you transition when the time comes.
Y! Media Innovation Group
Original post is available on YDN.