Monkeys, a tomato and the boy wonder.

I heard about this epidemic going round and thought to myself, "hmmm. I got to get me some of that".

Tuesday, April 10, 2007

IE Toolbar Bane of the Day

You think if you had 90% of a particular market using your products you would take responsibility when offering new products and services to your clients to help insure you keep your 90% of the market. But not Microsoft. I wonder if they ever consider the results of their actions when they push shit out.

Today Microsoft's Toolbar has been the bane of my existence. There seems to be one at least 3 times a week and it seems that the majority of those have to do with Microsoft or a Microsoft product of some sort.

Everyone seems to be pointing to the fact that Microsoft is dead and I can't hope for more. The issue comes from when you are promised something but delivered another. The final key to any success and continued success is customer service.

Let's take my trip to Exxon for example. I'll keep this off subject short.

Gas stations have degraded from such customer service to the point it pretty much should be a fully automated system running the place. When once there were people to check your oil, clean your windows or help in any way possible, it is now a place of broken pumps, over priced "convenience" items, and disgruntle workers. My experience was as I pumped my gas I decided to try and clean my window as I waited for the fill up. So I went over to the convenient trash bid, usually overfilling with trash, and grab the squeegee to find the water was empty. So I preceded to the next trash can and found the same thing. I tried 5 of the 8 trash cans with no luck. I find it sad that as customers you never get what you are promised.

This is the way I feel with Microsoft and their products. Today, I was launching a new email campaign for a client and during our testing found that their site, which the blast links to, was being blocked on their browser. Through many back-and-fourth emails, we determined that the client was using Outlook, IE 7.0, and had the new Microsoft Toolbar installed. This tool bar has a nifty little feature that can block or warn you about potential phishing websites you may be visiting from an email link.

It works like any type of Black list, which to me, if you are not maintaining your own list you are asking for a lot of blocked browsing experiences. When you go to a website, the Phishing filter contacts Microsoft and pulls a report on the site. If the site is a known Phisher then the site is ether blocked or warned about depending on your settings. If the site is not a known Phisher then the site is suppose to be displayed. Note the supposedly. In our case we got a clean, okay, report from Microsoft, but the site would never been shown.

We looked at all possibilities for this and could only conclude that the Microsoft Toolbar is a piece of shit destined to cause web developers headaches and just didn't work. We are still looking for solutions or workarounds for this. At the moment the only thing you can do is send feedback to Microsoft and hope they read it. Thus the inherent problems with Black lists. You are at the mercy of the manager of that list and in this case, if Microsoft screws up and blocks you or their software just doesn't work, like in our case, then you are blocked from 90% of the market.

The only fortunate thing we could find is that you need to have received the email in Outlook, then clicked on it to open IE 7.0 with the Toolbar installed for the issue to happen. But the anti-phishing feature does not need to be turned on to block the page as we have found. It just has to be installed.

I'm sure this is another nice way for Microsoft to track your browsing patterns and profile internet users, but at least put out a product that does what you promise. Remember, customer service Microsoft, customer service.

Thursday, January 18, 2007

iPhone, Gateway to the Future.

So, there I was, reading MacRumor's play-by-play of the MacWorld Keynote 2007. Trying to get some work done, I managed.

20 minutes into the speech and my eyes begin to glaze over as the Apple TV is announced. You see, the Apple TV is not impressive to me right now. Let me reintegrate the RIGHT NOW part. I think the public missed their opportunity when they didn't realize the Mac Mini is the perfect home media center...

// side note
I have a Mac Mini sitting on top of a 200 GB external hard drive the same shape as the Mini, hooked up to an Eye TV coax, as well as many other video signals, to digital video converter with wireless internet plugged into a simple DVI input 32" flat screen LCD. It allows me to manage my music collection, personal photos, personal video, make my own DVDs, manage my home email, surf the web, video chat with my friends in NY and Seattle, watch TV with DVR features and even play my old NES and SNES games all from my living room TV. The clutter space is minimal, much less then having a DVD player and a game system hooked up to a standard TV, and the whole system costed me around $3,500. About the same price people pay for a mid-level TV.

The things I can do with the setup amazes my friend each time they come over and probably should have credit for converting one of my last PC friends. At a recent party 6 of my friends and I sat around watching "Ask a Ninja" on youtube.com on it. What a great time, wine, funny videos about Ninjas and great friends all brought together around a Mac like it was a warm camp fire. Imagine it.... such a beautiful site. But I should move on to the subject at hand.
// end side note

...then out of nowhere, iPhone is announced. Well, not out of nowhere, the rumors have been going for YEARS now and I think when everybody gasp it was a gasp of relief. Or a gasp to say "about F*&ing time Jobs". How long do you have to keep us loyal servants on pins and needles before giving any release. I mean, I just signed up with Verizion and bought a new phone 3 months ago. 3 MONTHS! I also just bought a new iPod, so the next thing to come out with the mult-touch screen will be an iPod and I'll be kicking myself again. I went almost 3 years without updating, waiting for something cool enough to interest me to come out and then SMACK like a flying cod at Pike's Place it hits me upside the head.

That's okay though, I'm sure someone will be interested in buying my fresh, clean, almost like new iPod when the new ones come out for about $50 dollars less then they would pay for a new one, right? Anyone? Anyone? Hello....?

The real reason for this post is not to talk about how I wetted myself over the new iPhone, I think we all know I gave it up like some freshman girl in the back of the team caption's Escalade. What a gear whore I'm becoming. The reason is to talk about the direction this is taking the world of computing. I love that everyone is thinking how this is going to change the face of cellular carries and the whole cell phone experience, cause God knows, it needs it. But for me, this is the first step in the direction of where computing is really going.

Let me paint you a scenario, and explain what will make me excited about the Apple TV:
// load iPhone scenario 1
There you are, travel to work listening to music on your iPhone then someone calls, music fades and you answer the call. No big deal now, right? Right. You talk on the phone for a bit then get back to rocking out to the new Magic Numbers album. Then you get a new email, its an updated scope document from one of your programmers that needs to be approved so he has something to work on while you're out at meetings all day. You look over it, make a few revisions and send it back approved. Everyone see's this coming, right? Right.

Well, you get to your office to begin the morning routine, answering emails, checking appointments, printing out last minutes obscene notes to leave on your Art Director's desk, but instead of turning on your computer you set your iPhone down, press the "monitor" button and get asked if you want to sync with the local monitor/keyboard setup. You say yes and then BAM!, your iPhone's monitor is projected to the 30" inch cinema display on your desk and the wireless mouse and keyboard setup sitting there ideal takes control of your system.

You go through your process, checking out your latest YouTube subscriptions, Google Reader updates, do a little work and are now ready to head to your meeting. You press the disconnect button, the only thing you see on your iPhone, place it back on audio and walk out to your car with all the documents for you day of meetings ready to go.

You get to your first meeting, a long term client wanting to go over the latest analysis of their web statistics, walk into the conference room and see their Apple TV hooked up to their 40" flat screen. You hit the "monitor" button and your iPhone ask if you want to sync with the "Client X Apple TV". You say yes and then your iPhone's monitor, again, is projected to the 40" flat screen. But wait, there is no mouse and keyboard. That's okay, your iPhone's interface has changed to a keyboard and the body of your iPhone becomes your mouse. Like the Wii, you simply move your iPhone to move the mouse on screen and then simply type on the keyboard shown on your iPhone when text input is needed.

In this case you simplely go to your documents, Client X Jan 2007 Stats Analysis presentation, and open it. Your presentation opens up, all 40 inches of the screen, and you walk through it using the photo flip motion to change slides. Once completed you disconnect your iPhone from the Apple TV and head off to the next meeting.

Oh what a world it will be.
// unload iPhone scenario 1

The truth to the matter is the technology is here for this, now. Let me point out the components.

1. iPhone.
The iPhone, apparently, is running a version of the soon-to-be-released OS X Leopard. If it doesn't support work applications when it goes on sell, such as Word, Excel or iWorks, it should shortly after. Besides, who wants a do-it-all smart phone that doesn't do it all. It has wireless support, bluetooth support and motion censoring technology with a dynamic user interface that becomes, pretty much, anything you need.

2. Apple TV
Apple TV supports TVs of any technology, wireless and has a built in hard drive. An interface override program that simply displays what your iPhone monitor is broadcasting is needed. It just needs to hide the Apple TV menu when synced with an iPhone then re-display it when the iPhone is disconnected. The key to this program is to have no Apple TV action activation ability. Thus, it can not be activated via Apple TV, only the iPhone. It must be a one-click scenario that the iPhone says to connect and to disconnect only. If you have validation from both systems, it surely will be a pain in the ass to use.

3. Wireless Mouse and Keyboard
Need I say more? (check back for my bitching of how out of date this input method is)

4. 30" Cinema Display
Because Apple controls all this why not build into their displays the ability to wirelessly be feed their signal? I'm sure there are engineers out that asking me if I know what that would take, and my answer would be "no". But I tell you, if it had that built into it, and I had my iPhone that would sync up, I would sure as hell buy me one of those monitors for my desk.

5. Standard, none Mac TVs without Apple TV (the catch)
The catch is non-Apple based products. How to connect with them? Good question. Simply answer is don't buy them, but then that is just naive. But lets say this, if 500 million people buy an iPhone, and an iPhone can sync with monitors as such, how long would it take other TV manufactures to integrate that technology? That's what I thought.

Overall, this scenario is very plausible, and if I had even the simplest understanding about how to hack an iPhone with an application to do such as what I talk about, I would, and I would give it as a gift to the world. But first I would wow all my friends with it for a few months then share.

To sum up my points, I think Apple has not only reinvented the phone, but took the first step into 21st century computing. I would give almost anything to be a part of it. Up to this point there have been OS updates, but nothing from hardware that has proven to be advancing computing. In fact, it has been depressing as a person who buys a hardware device at least every 8 months. The only other thing I think would be as equal to what Apple has just release is a solution to the damn keyboard and mouse fiasco. I'm personally at my ends with this type of user input method. The whole thing is so disconnected from the way I want to work and invasive to my process. But now, that's another post.

I will get an iPhone, I just pray Cingular is smart enough not to financially rap the people who are willing to invest in this growth. If they do, then the whole thing can go down the toliet, and quickly.

Tuesday, September 12, 2006

Gimping along a broken leg.

So I haven't been around for a while. 1 month, 10 days to be exact, and what have I been doing with my time you may ask. Well, not building my application. This is what happens you when you're running an understaffed department, and take up 3 to many side projects. Why don't I ever listen to myself? Cause I want a new toy that is way, and the only way to do that while you are already stretching your salary to support two people is to take up some extra work. So I did.

So here I am, 1 month and 10 days later and still no closer to getting this application done. That's okay. It's a project of love and will finish when it finishes.

On to something more on subject. UI. I constantly find myself thinking about how I interact with all objects in my day-to-day life, especially computers. As you can guess, I spend 90% of my day on a computer and I have to say, I'm very disappointed in how slow user-interfaces have been taking to become something that is fluid and natural.

The interaction of the mouse and keyboard seems so rigid and unsatisfying to me. And when I'm at home watching TV on the Mac Mini driven entertainment system, I constantly draw diagrams of a one control that would be a mouse, keyboard and remote control, all-in-one, but still not be one of those damn Microsoft XBox remotes that have enough buttons that you would need 6 hands to effectually use it.

Want to see the diagrams? To bad! Hehehe, no I haven't actually drawn them out, but they are all in my head.

In the meantime, I can share this link with you.

http://www.macobserver.com/columns/devilsadvocate/2006/20060815uis.shtml

Some of these interfaces are jaw-dropping, while others make no sense to me. For example, the one that has pieces of shapes and when you move them the same shapes move on the computer. There could be some interesting applications to this, but seem to be limited to the physical object, how is it defined, how does the computer know it's shape, and how easy is it to create new objects?

I also have a theories on where the computer is going next and how to get there. I'll have to finally write those out for all to see. Till then, let's talk Flash.

FLASH Programming

Flash still amazes me as a program. Its the perfect meld between creative and technical there can be. Right now I am working on 2 sites that are scalable Flash sites, while keeping porportions, 8 Flash modules that interact with RSS, and one bad ass video player, which I believe I've mentioned before.

The video player is the coolest of all, I would say. With the ability to reuse it on a drop of a dime, you simply place it in a page, tell it how big you want it, what file to play, how long it plays, and that's it. You have a video player that is cross OS, cross Browser, and pretty already on 98% of all machines.

Version 1.0 http://www.angelfather.com/videoplayer/

Wednesday, August 02, 2006

Application Development Part 2: Let there be light!

Okay, so 12 days since my last post on this and sporadically working on the CD burning functionality of our application and finally, breakthroughs are coming. Not so much breakthroughs in functionality, but breakthroughs in understanding application programming.

Over the past 12 days I have read through the basics of C, which are really similar to other scripting languages such as JavaScript and ActionScript...

Now, I know some people would give me hell, but I mean similar as in loops, variables, if statements, functions, switch cases, arrays, and some other basics. Things I assume are the same in all languages.

... and I've been going through page after page of Apple documentation, on a post later we will talk about how this documentation is not meant to help newbies, on different standard functions, DRDevice class and framework, and Objective-C standards. Up until Monday night, nothing was working or making sense. But on Monday night I found one of the key differences between Application programming and the other programming I've done. Frameworks!!!

Those logical bastards! So it seems that not only do you have to define what framework classes you need in your document, but you have to attach them to your project so they get compiled. Who would of thought? Not me, but Chris did. Of course.

So to recap, let's cover some of the biggest differences between application and web programming. *All this relates to working with xCode.

1) Frameworks!
All standard, non-custom, functions you use in a language are stored in a framework that much be called at top of your document and attached to your project file. This is a very robust feature of app dev that allows you to develop, purchase, or use free frameworks to do things to be used continuously throughout the application. Saving programming time, program size, and just do things that you don't know how to program.

2) The H and M files
Okay, so in application development, it's recommended to do no major functionality in your H file, but rather put it all in your M file that you then must include your H file into.

#import "AppControl.h"

3) Declaring your classes/functions.
So now you have two files, what does the H file do? It declares all the functions of that M file so when the app goes to be compiled it knows how to allocate resources. So if I'm going to have a function:

-(float)returnConvert:(int)value1:(int)value2
{
float math;
math = value1 * value2;
return math;
}

I have to declare it in my H file first:

-(float)returnConvert:(int)value1:(int)value2;

4) Declaring how to talk to your interface
The H file also declares all your outlets and actions between your interface and functions. These are very useful. One simple line of code creates a variable for talking to your interface element. Other then that, you can't just talk to your element for it will not know the name of the element you want to talk to. So the real thing it does is creates a variable instance with a unique name so you can send commands to the one element of that name.

5) Thoughtful programming
Everything must be thought out when you develop an application. There are very little opportunities to do things on the fly when you're deep into the functionality. If you do not declare your variable properly, your app will shutdown or just suck all your computer's resources until the computer crashes.

6) Interacting with the interface
Each interface element, NSTextField, has it's outlet methods, declared in H, that sends values and other commands to the element. These methods can change depending on what you are trying to send.

Example:
If I want to send a variable to a NSTextField that is an (int) I must use the setIntValue method. If I am sending an NSString to the NSTextField I must use the setStringValue method.

Conclusion
I have made progress to start understanding application programming. I have begun my CD Burning script at the logical step of finding what CD burners are available, this functionality is working. Now I must take my array of burners, read their NSDirectory information and return their names. Then I need to be able to pick one and get use their NSDirectory to get their location, call the Device manager to request control, allow for building a list of files to burn, sending that list to the media, testing to see if media is inserted and burnable, and a suite of other features.

Step 1 done, step 215 I'm coming for you!

Friday, July 28, 2006

Have you done your little bit today?

Got this email from a trusted friend. Hope I remember to do this everyday.

//////////////////////////////////////////////////////
* I* 6 *Y
Please tell ten friends to tell ten today! The Breast Cancer site is having trouble getting enough people to click on their site daily to meet their quota of donating at least one free mammogram a day to an underprivileged woman. It takes less than a minute to go to their site and click on "donating a mammogram" for free (pink window in the middle).

This doesn't cost you a thing. Their corporate sponsors/advertisers use the number of daily visits to donate mammogram in exchange for advertising.

Here's the web site! Pass it along to people you know.



http://www.thebreastcancersite.com

//////////////////////////////////////////////////////

Thursday, July 27, 2006

UPDATE **IE MAC and the inability to rely on others.

Okay, the server came back up, but didn't fix the problem I was having with the changed folder locations. Ouch!!! I did what I should of done and just updated everything to work off that CMS at the back folder.

IE MAC and the inability to rely on others.

So it's 9 pm on a Thursday evening and I know my wife is wondering where the hell I am. "Where are you?", is the first thing going to be said when she finally runs out of patience and calls. (side note, I'm not good at calling first especially when I'm pissed at the world.) **** She just called. OMG right? ****

Why am I at the office you may ask? Am I a workaholic? Well that's another post, but no. Basically it boils down to 1 thing. The inability to count on others when you need them to come through. I was launching a site today, everything was going well, proofing was done, approval was reached and the site actually launched. But because of moving the site files one directory up my CMS encountered some horrific PHP errors in my file upload script that was working one folder back.

I go through all the usual testing procedures, permissions, paths, variables and naming conventions, but yet nothing. So what do I do? I call the server admins, and the nice people that they are, go through my same testing steps. Nothing. Not a big surprise, right? So they move to their next steps, recompile. "Oh, that sounds a little serious, how long should it take"? "No more then an hour.", well then I say let's try it.

So here it is going on 4 hours later and still nothing, but not only nothing but the site is completely down. "Hell yeah!!! Let's honky-tonk like it's Saturday night in the Ozarks!!!"

While all this is going on and I can't touch the server, what do I decide to do? Well, continue learning Cocoa programming. That's a good calming thing to do while you can't do anything else and it's past work hours so you don't want to do anything billable. Well, that lasted an hour before I was at my ends with it, but good news is, I finally started getting some of it.

I've pretty much understand how to define outlets, actions, variables, strings and update an interface based on buttons pushed. The basics. Finally.

At this point in my book, let me give props to MAC for there sweet applications for development. Interface builder is probably one of the easiest layout programs I've ever used. And XCode, well, while it needs it work, it actually is very impressive. With all that's integrated in it, you could fill up 3 monitors with the tools used for testing, building, debugging apps and the integrated document window. Use beginners need that. One day I'll post on how shitty their documentation is.

Now that I've given up on trying to learn how to detect a CD burner using the DRDevice.h class and functions in Cocoa, I turn to something I know headway can be made at. Fixing an AJAX interface in IE MAC. "Say what?!?!" That's right. A webpage that not only requires MAC IE to fully understand the CSS, which is close to impossible in it's self, but to have a full set of functions that modify that CSS.

Now at this point if you have any experience with web development you are asking the question "why the hell you would do such a thing?". Believe me, I'm asking the same question. But there is only one answer when a question like that is asked. "The client made me do it." Damn those clients and their ridiculous requests.

It turns out that this client's audience base is the biggest MAC base on any website I've ever seen and 90% of them are using MAC IE!!!! The issue is there is this software that their clients us that hit it's peak on OS9 and they refuse to upgrade or it's not made for OSX, which i don't believe.

Is that not the most ridiculous thing you've ever heard? So these people are almost 6 years behind in technology. That's got to be the equivalent of living in Antarctica or something.

Well, I going through my coding problem solving process, which I have to say I think I have one of the best there is, or at least in the people I know/met. The function hides and shows a floated right subnav div that gets dynamically updated depending on the main nav you click.

Nothing to complicated but for some reason that sub nav would jump out of place and fill across the screen in MAC IE. Strange. So I go through my steps and find out, oh, MAC IE doesn't support innerHTML style attributes, which is used all across my interface. Thus starts the rebuilding process.

I decide to, because there weren't that menu sub menus, to load them during the page load and set their divs to 1 px, then wrap them in one div that will never change. Totally fixed the problem, but now look like shit in IE 7. Of course.

At this point I've decided that 1) we don't officially support IE 7 cause it's in beta; 2) we shouldn't have to support MAC IE; and 3) I hate anything Microsoft. ANYTHING!!!!!!!

My conclusion lead to a nice polite email telling the client 3 options. 1 & 2 you know and 3 being we stop using modern technologies that will trip out either MAC IE or IE 7. We'll see where it goes.

So 4.5 hours in and still nothing. I guess I'll go back to creating icons for my app and if I'm brave enough try to tackling this Cocoa CD burner detection.

Tuesday, July 25, 2006

A tail of a monkey process.

So, working as a creative services provider, mostly internet services, for all of my career, I've worked on a number of projects and when you work on a number of projects you learn some patterns, stereotypes, and the true process of a project that does not have an involved, knowledgeable manager.

This process doesn't only happen in creative/internet projects, but all projects. It's the most frustrating thing for people who focus on an efficient usable products.

And that process? Here you go.

http://www.nerdmeyr.com/images/blog/03_10_2006_1.jpg

Burning up in heat wave country.

So, the US is having a record season for heat, but I don't fear for my President tells me global warming doesn't exists. Still I can't help thinking as I drive along the high way that is covered by 60% of SUVs that maybe there is a connection. Got to love Tennessee. We want our beautiful land but don't touch our SUVs.

So maybe if our current administration were to at least admit that an alternative fuel would be good for America by making us energy independent, it would be a step in the right direction and I could bear to see all these people driving around in their oversized vehicles. I mean the other night I was in a parking lot and there were 20 SUVs, 5 Cars, and 10 Vans, on one level alone.

So spending government money on alternative fuels might make us all feel better as opposed to the billions on a pointless war in the middle east.

http://popsci.typepad.com/popsci/2006/07/can_the_sun_kee.html