WelcomeToYourMac iPhone Beta!

I’m excited to finally be asking for beta testers for the WelcomeToYourMac iPhone app!

WelcomeToYourMac lets you remotely access your Mac from any web browser. You can browse files, control your screen, stream your media, and more! This iPhone app is just the first step to offering all of WTYM’s functionaity natively on the iPhone.

Version 1.0 of the iPhone app will let you:

  1. Connect to one or more of you Macs
  2. Browse the files on your computer – even external drives!
  3. View your files and stream your media
  4. Preview .rtf, .html, .pdf, .doc, etc files
  5. Spotlight search to find exactly the file you need!
  6. Uses the icons from your Mac – even custom icons!
  7. Images use thumbnails for their icon!
  8. Music and movies use embeded artwork for icon!

WTYM must be installed on your Mac to power the web services that feed the iPhone app.

I need people who will:

  1. Give feedback on the setup process
  2. Find broken stuff
  3. Wishlist of new features
  4. Tell me what’s awesome
  5. Tell me what’s not awesome

Give me a shout via email / comments if you want to be a part of the beta, and I’ll get back to you asap with next steps.

Screenshots below to whet your appetite.

Browse FilesSpotlight Search Your Mac

WelcomeToYourMac v0.2.6 Released

Last week I finally had time to release a new version of WTYM! WelcomeToYourMac is an easy way to access your Mac’s files/screen/apps from any browser – even your iPhone. Download your copy here.


I’m very excited to finally have released this version. It’d been sitting on my laptop ready to release for the past 3 months, but life just got in the way. I’m finally settling back into a normal routine, so I could finally get a new build out and uploaded. If you already have WTYM installed, then it should auto-update, otherwise head over to the WTYM site and grab a free copy.

So what’s new in this version? Bug fixes!

You should now be able to stream all of your media to any computer. You can also stream your media straight to your iPhone. Lots of other little bugs were fixed, but most importantly this version lays the foundation for the native iPhone app that I’ll be releasing (hopefully) soon.

I’m about 80% done with the native iPhone app that’ll let you browse every single file on your Mac, Spotlight search your Mac, and stream your media to your phone. It’ll be pretty epic, so stay tuned! ๐Ÿ˜€

What are you waiting for?! Head over to WTYM to download the latest version!

The undocumented life of JavaScript’s parentNode property – Internet Explorer edition!

Did you know that the parentNode property in JavaScript doesn’t always point to the element’s parent??! And not only that, but that very same node that’s lying to you also appears multiple times in the DOM.

I didn’t want to have to tell you this way, but there’s just no way around it: in Internet Explorer 7 (I’ve left testing 6 and 8 as an exercise for the reader ๐Ÿ™‚ ) the parentNode property can flat out lie to you – specifically – with pasted content in a rich text editor like TinyMCE. That’s right, a bold-faced chain-yanking tall-tale’d lie, and I’ll prove it to you.

Documented Behavior

According to the W3C documentation, “the parentNode property returns the parent node of a node.” And based on that, you would expect the following code to alert “true!” for as many times as the node has children:

var node = document.getElementById('someElement');
for(var i=0;i<node.childNodes.length;i++){
     alert(node == node.childNodes[i].parentNode);

This is true for the vast majority of cases, but is not always the case. I’ve found an exception in how Internet Explorer 7 handles pasted content inside rich text areas like TinyMCE. Even jQuery will select children who’s parentNode is incorrect!

Just get to the Demo!

I’ve set up a demo page that can consistently repeat the bug. For the demo to work, you’ll need to:

  • use Internet Explorer 7
  • open the attached rtf in WordPad
  • paste into the TinyMCE content area
  • press the “validate” button on the bottom toolbar

Besides IE’s fearsome use of the DIR tag, you’ll notice:

  • I’ve painted duplicate nodes red in TinyMCE
  • An brief XML output of the DOM is output into a text area beneath TinyMCE showing the duplicate node
  • A count of each node is displayed as an attribute in the text area. Notice the count=2 in the nodes at the bottom of the textarea! Yikes!

If you’re not in the mood to fire up the demo yourself, just click the link below to see what the DOM ends up looking like. Take special notice of the count=2 on the nodes at the bottom:

View IE7’s invalid DOM after a paste

Try It Yourself!

For the demo, I created a simple TinyMCE plugin that validates the editor’s DOM. Paste the magic text in IE7, and it’ll mark any invalid nodes in red and also updates a textarea with a simplified XML representation of the DOM. The plugin uses both native JavaScript functions and jQuery to find nodes with invalid parentNodes.

View the plugin code

Download the plugin code

A TinyMCE Bug?

An obvious question is: is this a TinyMCE bug? and the answer is “No.” There is no way to manually add the exact same node to multiple places in the DOM. Instead, the browser simply moves the node to the new place, and removes it from its original location. Even if Spocke tried to create this bug, he couldn’t ๐Ÿ™‚

If you believe me, skip to the conclusion. If you don’t believe me, open up this second demo that uses the following code to append a node without calling removeChild() first. Even without specifically removing a node before appending it somewhere else, there still only exists one node in the document:

var node = document.getElementById("copyMe");
var target = document.getElementById("target");

In Conclusion

As far as parentNode is concerned, if:

  • you’re writing a plugin for TinyMCE or similar
  • you’re dealing with (possibly) pasted content
  • relying on parentNode


  • validate! If(myNode != myNode.childNodes[i].parentNode) is true then you have a problem!

I hope you enjoyed the latest the-undocumented-life-of post! Also a fun read: The undocumented life of jQuery’s .append()!

[viewcode] src=/tinymce/3.2.5/jscripts/tiny_mce/plugins/duplicate/editor_plugin_src.js name=plugin lang=javascript[/viewcode]
[viewcode] src=/tinymce/dom.txt name=dom lang=html[/viewcode]
Google Author link
Page 21 of 50« First...10...1920212223...304050...Last »