AJAXify your Wordpress

Learn how I ajaxified my wordpress blog with these few steps...

SBS Show!

Listen to the latest episode of the SBS Show, Dave Sobel talks about process management...

Vladville Newsletter!

Looking for a more focused, exclusive insight into the world of SMB tech & business? Sign up for my newsletter!

Archive for the 'Programming' Category


Autotask UnLive: Introducing OranguTime
Posted: 11:24 am
April 20th, 2010
IT Business, IT Culture, Programming

Back from Miami (if you’re still there please go say hi to Travis Sheldon) but I have one more thing to talk to you about if you’re using Autotask:

OranguTime!

5

What the heck is OranguTime?

Well, if you’ve ever used any CRM solution out there, you know how difficult it is to just track some of the simplest things – logging a call, posting time, etc. It’s like landing a plane. Check that the gear is down (app is open), check the air and ground speed (find the ticket you need to update), review your landing paperwork (figure out where you wrote just how much time you spent on the call/task and any appropriate notes) and then line up the plane and actually land it on the right strip (line up allocation codes, times, billable and unbillable flags, etc).

The end result is that most activity ends up being unreported at best and reported incorrectly at worst. We lose business intelligence about our activities at the best, lose money at worst. It’s ugly no matter what.

Well, friends, let me introduce you to a fat client for Autotask.

  • Allows you to start and pause time as you work on your support requests.
  • Allows you to provide notes that can be posted back to the support ticket along with the time.
  • Resides on your desktop as a native Windows application (it’s fast!)
  • Completely secure, uses Autotask API to post your data.
  • Just download & login, no installation, deployment or management complexity. Or waiting for stuff to load :)

Bit of background (feel free to skip this): We call it Orangutime. (get it? Orangutan as in a monkey, time as in money) I call it something else but if I put it in writing she’d beat my ass. [REDACTED] There are many advantages to a fat client, but there are also so many disadvantages too. Likewise, there are many advantages to a light web app but there are also so many disadvantages. I wouldn’t really call the two environments “a choice” if I had an option of navigating a web app on a slow connection vs loading a fat client. If the user is inconvenienced in any way, they don’t use the app and you lose money. Being the slimy vendor whore, I think I can make $ by solving this quagmire.

Simply put: There is a middle ground between the desktop and the cloud that can enable a lot of Autotask users to be much more efficient and profitable. I hope Orangutime fits in there.

The Product

It’s quite simple. The “fat client” is simply an executable that requires no installation. Just download and double click. It will prompt you for your username and password.

2

Select an Autotask ticket to load. This can be pulled from the portal, from the notification email, from the dispatch or even the client yelling at you for not working on their request.

1 

Once the request is in your work queue, just hit the play button and let it count your time while you work.

5

You can work on multiple requests at once, if you click on the arrow to expand the list your active support requests will be there with the current time to be posted to Autotask. Just click the blue arrow to add a note to accompany the update and post it to the Internet.

6

In my humble opinion, this competes with Notepad. I set the guys up with one objective: Make this faster and more efficient than Notepad. If they can click, type or write stuff in notepad faster, we don’t stand a chance.

So, ladies and gentlemen, this is 1.0. We’re obviously going to add a bunch more stuff to this and we’re looking for beta testers – I’ll post details on that in a separate blog post @ ownwebnow.com – but I do want to make it clear that we are not writing a fat client for Autotask. In my opinion, the future of applications is in the cloud and replicating the functionality of Autotask with the technology that should be left in the last decade is not likely to appeal to anyone.

So Mr. Rosenfelt, close ‘nuff? :)

I hope you’ve all appreciated a bit of background behind this development, how we came up with it, what the advantage is and how the software companies think. I hope to bring you more of this kind of stuff because as I’ve shared with many of you in person – we are in a partnership here. As much as we try to understand how you work and provide you solutions, you have to understand how we work and how we make money – all with the hope of a win/win goal.

Read the whole post...

It’s pimpin, pimpin…
Posted: 3:41 pm
April 15th, 2010
IT Business, Programming

Starting Sunday, you’re going to see some interesting announcements involving ExchangeDefender, Own Web Now and some new software and solutions we’re launching.

Frankly, I think some of you will be surprised by some of the stuff that we’re doing.

People tend to have a mistaken impression of what I’m all about and what OWN does, so I figured I’d offer an explanation.

I talk to a lot of people and I believe that apps & platforms are the future of the IT business. Infrastructure, not so much. It reminds me of being in college, surrounded by Asians, realizing that the computer engineering job market might not exist in USA by the time I graduate. I was lucky enough to be right :)

Now, we’re in the business of solution development. When I talk to people, they tell me about their problems.

I think about it, doodle it down, draw a few scenarios and run it by a bunch of people.

Anything we can write quickly, and sell to a ton of people, is my business.

underpants-gnomes1 So, hope we’re all on the same page. To put it in the Internet meme terms:

Step 1: Collect frequent problems.

Step 2: Solve the problem with software.

Step 3: Profit.

There, now you know :)

Read the whole post...

Don’t call it a fat client, call it big boned ;)
Posted: 10:52 pm
April 12th, 2010
Programming

Pardon the scribble, but most of you that have talked to me during Q1 expressed a great bit of interest in this. So, as I usually do, I’ve delivered. Or will by Monday AM in Miami :)

photo123

If this seems interesting, and you’re behind ExchangeDefender and you use Autotask and would like to help – you know the number, call me directly – I’ll get you a free copy in exchange for some beta testing and promotional help.

Read the whole post...

Code Monkey
Posted: 8:32 am
October 30th, 2008
OwnWebNow, Programming

Yet another day goes by with me coding during the sunset and then watching the sunrise still wide awake and cranking out code. You may wonder just what kind of a lifestyle that involves. Picture is worth a thousand words:

photo

That is code monkey rocket fuel, baby.

I’m doing about 4 hours of sleep a day, give or take. This involves going to work at about 8-10 AM, working through approximately 1-2 PM. Meetings, phone calls, conference calls, staff meetings, quotes, feedback management, strategery. :)

At about 1-2 PM, after the lunch almost puts me into a coma (you’ll see why in the next paragraph) I head on home and sleep through 7-9 PM. Seeing how my wife  makes it home between 6-8 PM I don’t miss out on much. We hang out, watch TV, play on the computer, etc till about 11:30 That is when the code-monkey session comes on:

11 – 2 AM: Layout. While I am 100% sober and alert and can actually think I lay out the objectives, functions, layout, etc. Basically everything that requires a brain gets done here. 2 AM – 6 AM: Code grunt. This is your average coding session, filling in the blanks and making stuff actually functional. Then I wrap it up, upload it, and let my guys test, fix, optimize, etc. I love it, coding – without all that annoying frustrating stuff.

This of course means that any simple carb that enters my body takes approximately 20 minutes to put me in a slight coma. It comes at an advantage too. The other day I was driving back home at 110 Mph on I4 and didn’t even notice – it didn’t even occur to me to look at the speedometer – I just wondered why everyone was moving so slow. Hey, something is gonna kill you, at least this way it’s not prolonged.

It’s pretty exciting. What I’m working on now likely won’t see the light of day for a few months but as you’ve seen from Amazon last week and Microsoft PDC this week, the world of computing is getting it’s biggest paradigm shift in the lifetime of many of us that have only been a part of the “Internet” got pushed into mainstream. Being able to participate in the evolution of communication as big as the printing press or stone tablets is simply amazing – the world without people bolted to the table, tied to the wall and a computer that is constantly crashing or the server that requires a major surgery to keep going and an equivalent of sex change operation to upgrade to the new release…. this next generation of IT people can’t wait to put a tombstone on that kind of an experience and make electronic communication as effortless and taken for granted in reliability as the power, sewer and water systems we enjoy today.

Read the whole post...

Windows PowerShell 2.0 CTP Released
Posted: 11:17 am
November 8th, 2007
Exchange, Microsoft, Programming

One of my fellow Exchange MVP buddies, Bharat (sounds like “Bart”) Suneja is talking about the release of Windows PowerShell 2.0 CTP! Now, before you get overly excited, that CTP acronym stands for Community Technology Preview which is just a fancy name for Beta which is just a pretty name for Broken. So while you should definitely not go buck wild and install this on a production system, kudos to PowerShell team for getting the stuff out into developers hands especially given that the new release supports:

Remoting!!! Jim Harrison and I were talking about this very feature at this years TechEd, and the limitation that seemed almost crippling. Remoting gives you the ability to manage remote systems, execute cmdlets on remote servers which is important because..

You can now write your own cmdlets in PowerShell instead of having to compile .NET code. That in turn is important because:

PowerShell 2.0 comes with a GUI (of sorts) so you can do cool stuff like multiple shells, highlight and run only select pieces of the code..

Now, you do need .NET 3.0 but the boldfaced stuff up threre ought to give you more than enough reason to go get it. If you are new to PowerShell try get-help, if you’re experienced you’ve GOT to check out remoting: get-help About_Remoting

lg-go-away-tshirt Sorry for the inane fanboyism about this but this level of flexibility and automation is what the PowerShell is all about and it allows organizations that rely on these servers to save a ton of time. It’s really a two-fold benefit. We spend a lot of time automating the documenting our processes in PowerShell since we have gone to Exchange 2007 and now Server 2008 because it enables us to give higher level administrative functions to the jr admins and not worry about them breaking anything. This shrinks our training requirements, makes sure everything is done according to our process (after all, humans make a lot more mistakes than computers).

So go, check it out. If you’re a sysadmin and you’re not yet knees deep in PowerShell I hope you’re working for the government cause you’re becoming obsolete more rapidly than the computer you’re reading this blog on. Go, get your dev on!

Read the whole post...

Two to the eight to the..
Posted: 4:07 pm
September 13th, 2007
Programming

Happy Programmers Day.

It’s 256th day of the year and I spent all day coding.

I also lost my voice and took 45 minutes to write an 8 line JavaScript… but hey, it’s just programmers day, not good programmers day. So hug your developer! At least its a day for a real profession, unlike the administrative assistant day where we take a moment to appreciate college education and count our blessings that we’re not useless in every facet of modern business life.

P.S. Last comment written to draw ire from the crowd that attacked Karl. I find it hard to believe that none of those useless people read this blog enough to slam me, after all, I’ve met some of you and… man…. 3 + 4 = ice cream if you know what I mean (courtesy: Mark S.)

 

Read the whole post...

First Step in Learning
Posted: 11:18 pm
July 23rd, 2007
Programming, Vladville, Web 2.0

So a little while back I wrote a thanksgiving post explaining how I would never have made it to where I am at today if there weren’t some incredible people along the way kicking my ass to do bigger and better things.

Around that same time I had decided that I would use this large vladville.com megaphone I have to give back and help better someone else… though there is a secret here, that other person has to be hungry, looking to better themselves too. So I figured if there was just one thing, one thing I could offer once a week, to pass some of my skills.. vladville would be a success.

So this first step, related to the AJAX post made the other day, gives you a 10,000 ft view of HTML, Javascript, SQL, WordPress templates and internals as well as some very basic PHP. It is a simple article, one that you can easilly cut and paste and achieve identical results. That is by all means a huge lie, because learning comes with experimentation and trying new things, coming up with new problems and solutions. But at the very least this will give you a starting point and it is step #1 in a five step program to AJAXify your WordPress installation and provide Facebook-style status updates.

I hope you enjoy it, click here to read article

Read the whole post...

Vladville WordPress: Teaching WordPress some Facebook Tricks
Posted: 1:37 am
July 22nd, 2007
Programming, Vladville, Web 2.0

When you do professional development for living the complexity of what you have created can get to you. On such days its best to get outside, away from computers.. but if you live in Florida and outside looks like a scene from Coming Global Superstorm: The Day After Tomorrow you look for the stupidest project you can possibly work on, that nobody can hold you accountable for.

For me, that project is Vladville. Lately I’ve been spending a lot of time on Facebook playing the game “Which of my high school friends aren’t dead”  and I’ve sort of fallen in love with the AJAX implementation of Facebook status update. It’s just very slick, very easy to use and effortless. So, in yet another effort involving sinking an enormous amount of talent and time into the toilet of productivity, I’ve implemented the same process for Vladville. And I’ve done one better, I’ve tracked the changes and I will be writing a post on how to do this yourself, in an effort to familiarize you with some WordPress internals.

Hey, if you’re going to lose, lose big. Right?

Step 1: Include jQuery

If you look at my blog, on the upper right hand side there is a box that says “Whats on Vlad’s Mind” and until today that was a hardcoded block of HTML in my WordPress theme. There are a few steps here.

First step is to actually download, include and enable jQuery and jQuery inline edit plugins. These are simple Javascript libraries that enable pretty AJAX client side effects to work.

Second step is to actually alter the wp_users table that WordPress uses to store user data and add an extra database field for status. This will hold our current status. I’ve gone an extra step to create another database table to hold the archive of status changes so they can be syndicated through other services. Lose really big. If you’ve done this properly the little tooltip will show up over the container that contains your current status text.

Wpfb-step1

Step 2: Enable Inline Edit

In order to make updates effortless, I’m relying on jQuery Inline Edit plugin as well as WordPress authentication. It checks if I am logged into this session, if I am, double clicking on the container described above will update the container with the div contents in an editable textarea that I can change on the fly.

Wpfb-step2

Step 3: Change text, Update

More than meets the eye here, thats for sure, but simple enough – type in new text and hit update.

Wpfb-step3

Step 4: AJAX Update

After clicking Update Status button the browser uses AJAX (well, AJAH) to make the call to the backend and update my status. This takes and validates the input, sanitizes it and updates my account in the wp_users table with the new status. It sends that sanitized text back and…  

Wpfb-step4

Step 5: New Content Inline

The new content is passed back to the browser that updates the original container with the new update. Each further load of the page includes the status field from my account.

Wpfb-step5

Additional Steps: No stop loss..

I’ve taken a few more extra steps that I intend to expand upon in the detailed writeup, one of the major ones being an explanation of why I’m tying in my status via users table and why I’ve made a separate tracking table.

In a nutshell, the status tracking table is used as a logging table that I can also use to syndicate my status. You can take a look at an XML feed here that shows you last five status updates. This is cool because you can export that data and reuse it elsewhere, such as Facebook. Instead of logging in and updating my status there I can just use the RSS syndication  to send my content from Vladville up the stream to Facebook. Or more importantly, SharePoint.

The wp_users part is pretty interesting. Right now I am only checking if $user_id == 1, meaning I just want to enable inline edits if I am the one logged in. Everyone else gets a plain text looking thing. However, lets say I wanted to create a little shoutboard. What if instead of comments I also gave my visitors the ability to update their own status or write something on my board? Same principle, tie the update to the user_id of the currently authenticated user and then update the status field on the backend in the database for everyone else to see, logged in or not.

That, in a nutshell, is the power of Web 2.0, syndicated content and AJAX. It’s also a heck of a way to learn how others write code (WordPress internals) and at the same time experiment a little for a fun Saturday evening.

And hey, chicks dig it.

Read the whole post...

Shutting down WIFI on my laptop
Posted: 9:24 am
July 8th, 2007
Programming

I am about a billion times more productive on the road, despite being less organized and less resourceful. The other day I was in a hotel room with no wifi, no ability to lookup some javascript function and yet I managed to have better output than I’ve had this morning. In the same amount of time last week I managed to crank out a ton of code, today – well, not quite impressive.

Why?

Cause apparently I have an attention span of a braindead squirrel. I opened up Firefox to look up something quick on the intranet for the dynamics tab section of Shockey Monkey but instead ended up reading an article on the Boeing Dreamliner. Brilliant, and almost 10 minutes gone along with the idea I had before my digg.com homepage came up.

When I get back home to Orlando I am absolutely disabling wireless access on my laptop so I can get some real work done. Something to ponder on how much of a distraction Internet provides on top of regular office stuff.

Read the whole post...

MSN/Live Messenger Protocol Gotchas
Posted: 3:56 am
June 16th, 2007
Programming, Shockey Monkey

It’s almost 4 AM and I’m sitting around coding in MSN/Live/com IM integration for Shockey Monkey. The basic premise is that the system will IM me when there is a new ticket waiting or when a user had updated/escalated their request. I finished coding this thing about a week ago and it works fairly well for what it is (a dumb sql->messenger gateway) but tonight I sat down to get rid of some annoyances. Here is what I found out.

For the most part, MSNP 9 is the most thoroughly documented implementation out there.

MSNP 9 is also very outdated, and MSN is trying very hard to move/force you up (I think they are on 13 now).

There is a gotcha in the signup process. For example, if you sign up for a live.com/msn.com passport id and initiate the first connection via MSNP 9, you will be prohibited from logging into it with that protocol – forever. However, if your first session is initiated via live.com messenger client (MSN P 10+) you can use any of the higher and lower edition clients.

Also, MSN does not tollerate bots on their network. The proper way to integrate your bot in the MSN network is to do your development/etc via IM Provisioning Center.

Read the whole post...





 

Categories

 

Archives

 

About

Divider Divider