
<rss version="2.0">
<channel>
<title>4 Ten Blog</title>
<description>A description of your site</description>
<link>http://www.4tenonline.com/</link>
<copyright>Your copyright information</copyright>

<item><title>Annex Release</title><author>Sean Clark R &amp; D</author><pubDate>March 30th</pubDate><description>I wanted to personally talk about what Annex means for everyone.  We've been working on this for a short time in terms of software development, and I really believe this tool can help out businesses.  

The biggest question people have about Annex is 'How is it different from a CMS?'  The best way I can answer that is simply that it's not meant to manage your website as a whole.  It's meant to be a tool that you use to update your site.  A CMS is like a toolbox with tons of tools inside.  Some that are nice, a lot that you'll never need.  And the problem, is that the toolbox can cost a lot of money.  Annex is just the screwdriver.  It's an essential part to any toolbox, but it's a tool that can stand on it's own to accomplish a lot of tasks.

Annex is for all those people that have websites that just don't have the ability to make changes.  Weather it's because your 'web guy' left, or your designer doesn't want to make frivolous updates, or even it would cost $100 just to change your contact information.  There are quite a few update models out there that charge a minimum fee.  For example, it's 100$ an hour for updates with a minimum of 1 hours.  So even if your change takes less than 3 seconds for the web developer, you still have to pay $100.  Annex solves that problem by letting you make all those changes your self.  And we make it so you can't mess up your site so you can't use that as an excuse to pay the extra money.

This isn't a shot at web developers either.  I updated sites for a couple years now and I fully understand the annoyance of lots of small changes.  They literally take minutes to do, but they just aren't in either party's best interest.  Web developers like the clients who want to make design updates because they can rightfully charge more for that amount of work.  But to make any money off of small updates you have to be charged a lot.

So all of this boils down to exactly what annex was designed to do.  It's meant to allow the user to make a ton of text changes, weather it be what it says, or the format of the text.  It also will allow you to work with photos and files because they need to be changed out often.

In conclusion, if you need a tool to keep your site up to date without paying someone to be there hand and foot, then you need Annex.  It takes less than 2 minutes to download and install and there are a ton of help videos in case you have any questions you might have.  (4tenonline.com/help)
If you're not 100%, try it out with the Trial Version .  You can't save but you can get the idea of how easy it is to make changes.
</description></item><item><title>iPhone OS 3.0</title><author>Sean Clark R &amp; D</author><pubDate>March 17th</pubDate><description>Today apple announced all that they plan to do with iPhone OS 3.0

What we did get:

- Push notifications
- a2dp bluetooth
- cut, copy, paste
- undo, redo
- MMS
- Landscape modes
- notes sync
- system-wide search
- vCards
- voice recording
- accessory API
- in app purchases
- turn by turn API
- shake to shuffle

What we did NOT get
- video MMS
- video recording
- native turn by turn app
- background processes
- internet tethering (in the works)
- flash
- unified messenger app
- unified email inbox
- themes

I think the biggest thing to take away from this keynote is that iPhone users will finally be able to catch up to the other phones out there and not be embarrassed that a $5 verizon phone can send a picture message that I can't receive.  The biggest new features I think are MMS, landscape texting, a2dp, and turn by turn.  I would have loved to see iPhone tethering. In the Q&amp;A after the keynote they did say they planned on having tethering but they are waiting on carriers to come up with data plans for that.  So what that boils down to, unless they give it free for us unlimited data plan users, I'm sticking with PDAnet from Cydia.

Turn by turn was a little depressing.  Ok great the API is there, but that means companies are going to make us pay upwards of $30 to $50 for turn by turn apps.  Garmin and Tom Tom devices start at $199 so I doubt they will have a turn by turn app for under $10.

I'm really excited about A2DP.  For those unfamiliar, that is the bluetooth protocol that allows the iPhone to use stereo headphones to listen to music.  In the past, I had to have an a2dp dongle to use my headphones.  No more is that the case, so now I can go ahead and lose that dongle.

Picture messaging is not so much a big deal now.  I'm really glad to have it, but by now most of my friends and family are used to sending the messages to my email.

Really apple?  It takes me 4 taps to see all my messages in my email?  I know that sounds stupid, but why can't I see all my email in one place?

I'm really really really happy about landscape mode.  I can type so much faster that way, and now, I can keep up with the Glides, Voyagers and Dares out there.

So all in all, very excited for the new 3.0, and I'm really glad it's going to be free.  I will still be jailbreaking however, because I did not get the ability to theme, tether, or video record.  I can't have an iPhone and not be able to tether it when needed, or record a video on the spot.
</description></item><item><title>Appstore trial version</title><author>Sean Clark R &amp; D</author><pubDate>February 26th</pubDate><description>I've had an iPhone 3g for quite some time now, and apps is something that I am generally happy with.  The problem is, lately I noticed that the free part of the app store has turned into basically a trial version section.

When Steve Jobs first announced the app store it was what we all wanted.  70% of the apps were free and they were FULL apps.  You had your share of advanced apps that you could pay from $1.99 to $9.99 for but then you had the free apps that were...free.  The best thing about it was they were actually good apps.

Now when I got to the app store I see this list under the free section

Deal or no deal lite
Arcade Bowling lite
Fast lane street racer lite
Super monkey ball lite


...You get the idea.

I thought developers were going to lean towards the free side of things since there is Cydia out and about. (Hacked app store).  But I guess money is the main objective here and now all you can get for free is iJiggle and some trial versions.  Oh well.</description></item><item><title>Safari 4 beta review</title><author>Sean Clark R &amp; D</author><pubDate>February 24th</pubDate><description>I've been playing around with Safari 4 beta for almost an entire day. So far I don't feel that there are many differences from the old version. The 2 most noticeable changes are the Opera like bookmarks page, and the Chrome like tabs.

Opera for a long time has had the visual bookmarks page so seeing it in Safari is nothing new, but it is nice. The one thing I noticed is that they really aren't that fast. After the initial install only 2 out of the 8 boxes loaded web pages. It took the better part of an hour for all the thumbnails to load in. I'm sure they are using some Canvas element to do this because of their boast of Canvas support, but it shouldn't be this slow. I know in opera the bookmarks load as fast as the regular web pages do. Also to note, the bookmarks don't update. I have flash on my website and a news ticker on the apple site that all change every so often. None of those changes are reflected in the visuals. This is disappointing being that I know canvas can support that. Moreover, when I click a bookmark you can see the page refresh as it loads, which is also makes it seem unfinished. They should take notes from a firefox addon called Tab Catalog, they do page previews the right way.

The tabs are taken straight from Google's chrome browser. They are on the very top in a rounded upside down trapezoidial shape with a plus button next door. Very elegant and very out of the way. Unlike Chrome however, these tabs re size to the size of the browser and get smaller as you add more tabs. You can remove and dock these tabs as new windows if you like as well. I only tested on a mac (Intel 2.33 ghz 3gig ram) and the animations were very smooth. So that's always a plus.

The only other feature worth mentioning is the new JavaScript engine. IE8 beta fails where Firefox 3.1 succeeds with the engine. Safari 4 does an excellent job of rendering the JavaScript and the fact that it doesn't break web pages is always a huge plus. In all my testing the JavaScript ran about 2.3x faster in Safari 4 then Safari 3.2 and 3.4x faster than Firefox 3.1b2. Again all tested on my mac (specs above).

Overall Safari 4 is a very sturdy browser with only a few minor bugs that seem to lock things up every now and then. I'll need further testing to see how it handles tons of bookmarks, history, and having 50 tabs open at once. It never killed my processors no matter what I did so I'll do my best to push that to it's limits. </description></item><item><title>Object Event Listeners</title><author>Sean Clark R &amp; D</author><pubDate>December 4th</pubDate><description>As I learn about more and more about javascript object oriented programming, I find myself finding a lot things I cant do in normal OOP.  One of the limitations in javascript oop seems to be event listeners to call functions within the object.  The problem arrises in the scope of the listeners.  Say for example you call an onload listener to a window and want it to call one of the internal methods in the object.
	
	
		this.iframeRef.addEventListener(&quot;load&quot;,this.method,true);
		
	
	This looks fine till you get inside the listener and call this.method.  &quot;this&quot; refers to the listener, not the object.  So in this load example this returns an HTML DOM.  Which is wrong.
	
	I read around the internet to find a solution and the answer I keep coming across is creating a method references. A method reference does the middle work of attaching the listener to the object using an external function.  This function would be placed outside the object.
	
	
function createMethodReference(object, methodName) {
    	return function () {
    		object[methodName]();
    	};
};

	So now, inside the object you have to add the onload property to the iframe ref and have it call a method in the object that returns the external method function using its .apply property to give it the onload and the object you want it load on.
	
	I thought about it for a while, and I came across the idea of self referencing objects. If the keyword &quot;this&quot; is causing the issue, I think we can eliminate that.  So without doing this method referencing, I create a reference to the current object, and then use that in the listener then we should be able to call our function.  So I created this property
	
	var obj = this;
	
	Now, I don't have to use this.anything I can use obj.anything.  I want to keep using this, except in the only place it matters.  So the listener then becomes:
	
	this.iframeRef.addEventListener(&quot;load&quot;,obj.method,true);
	
	This doesn't quite solve the problem because obj is now in the scope of the listener.  But if use inline listeners, then we can use variables in both scopes.
	
	this.iframeRef.addEventListener(&quot;load&quot;,function(e){ obj.method }, true)
	
	
	And with that we can now successfully call our internal method when the load listeners trigger.
	
	I did find that mouseover, mousedown, mousemove, and mouseup get fired multiple times.  So a even simpler fix would be to use the self referencing object and their on properties.
	
	
iframe.onmousedown = function(e) {
	obj.method(e);
}

	Now we can mousedown the iframe, and even get the event e passed through.  And to replace removeListener, we just set .onmousedown to null</description></item><item><title>Moore's Hall</title><author>Dan Schepleng CEO</author><pubDate>October 2nd</pubDate><description>If it was up to me, and as of right now it is not, software and technology would have it's own section in the modern art museums. You would buy your tickets to the Louvre, pass the long hall that holds the Mona Lisa and arrive at a wing, dedicated to software and technology. Maybe, since your indulging in this fantasy with me, we would call this side of the museum &quot;Moore's Hall&quot;. The hall would be decorated with the most beautiful examples of modern masterpieces. There would everything from the contemporary to the antic and each would be celebrated. The artists themselves would hold receptions at software galleries filled with investors willing to drop top dollar on the best work that spoke to them (and had the strongest ROI potential).
	
	But do you want to know why software doesn't line up next to Warhol or is on sale in a 5th avenue gallery?
	
	You can admire a fresco and you can touch a sculpture--but you will never be able to live together with it like you can with software. You will never be able to walk down the crazy stairs or tell time on one of Dali's melting clocks. But with software you can. Yes, American Gothic can connect to you on an emotional level but when has that guy with the pitch fork ever help update your website or write the occasional blog? Never. And he never will because what we do is art with not just a meaning, but a function.
	
	Now I love art, in all its forms--but nothing beats this. This industry and the time we live in is going to be considered a movement and it will be scribed over and over in the pages of history. Who else can say that they are part of something like this? That means that all the talented people that work in this industry must be artists. It is essential that the sculptures, poets, painters molders and makers of software be nothing else but. If for nothing else but the credibly of the craft.
	
	Sadly though, not every company understands this. The phrase &quot;they don't get it&quot; is a lame diagnosis but it is a simple way of saying that they don't believe in a deeper meaning to what they are doing. You know who they are and they know who they are--they draw a deep line in the sand. It is sad but it is the world we live in.
	
	I refuse to let 4 Ten ever become another one of those companies that crowd the market space and suffocate the real virtuosos of code or dilute any bit of creativity within it. Maybe that should be our mission statement?</description></item>
</channel>
</rss>



