Splash Web Effects

Tag: Advice

oAuth and Classic ASP

by Liz on Apr.01, 2010, under Classic ASP, Facebook, Programming, Social Networking, Twitter, Web Development

So I have been searching in vain for days for an oAuth library for Classic ASP.

I believe that due to the nature of Classic ASP, the limited support and the random quirks (fewer than ASP.NET and yet somehow… people complain more…) there exists NO library for such a thing.

I’ve been looking through the PHP libraries and the coldfusion libraries and so on, and many of the objects and methods present just aren’t supported in Classic.

Problem is, Twitter is depreciating the Basic Auth methods soon, and you won’t be able to cURL in.

@Anywhere, which is a javascript library that will allow Twitter to interact with your DOM, is going to essentially become the Facebook Connect of Twitter. We’re looking at DOM level integration, so it’s server-side language independent. This comes out April 15th, and I can’t wait.

Until then, I can tweet using this library :

http://asp.web.id/first-version-of-asp-twitter-library.html

and store usernames and passwords (horrible, but necessary for 15 days…) for the time being. I’m sending out an authentication tweet that signals successful connection, and pulling the user_profile_pic out of the Twitter REST API Method: users lookup that makes it look a lot like Facebook Connect; it achieves the user interface experience I’m looking for.

1 Comment :, , , , , , , more...

Context in Design – Design in Context

by Liz on Oct.07, 2009, under Net Culture, Web Development

When designing a website, or any user interface, we must consider context. What you are producing is a tool, not a product or an application. The better the design of the tool, the more use it will have, and the more it will be used. Designing for multiple levels of skill is something many coders lack in, mainly because they are power-users. What is apparent to them is not apparent to others, and what is contextually relevant to them is, again, obscure to the general populace.

In designing a website or other web-based application, we must consider what else the user is doing- using our application is generally not the sole focus of their task, but a tool to augment it. Whether it be a web-portal for a customer service rep, or a mobile application for tagging music- we have to consider what else is on their mind, and what else they may be interacting with. They may choose to stop using our tool very quickly, and then return to it at a later time- but how likely are they to do that? What are the ramifications of that action?

Mobile devices are short-usage only, and with short timespans the user does not have time to wait for a lot of images to load or an animation/splash screen to play. In Internet-enabled applications, a login prompt may be too much, especially if the data is not especially secure. Having a session expire daily, rather than an application-launch login event may be the way to go. Other tools, such as an intranet, may receive heavy use over a long period of time, followed by long periods of inactivity(like lunch breaks, or leaving for the day.) Where the browser is the application window. Triggering a login following a closed browser may be the best security route, since you are dealing with company data but don’t want to effect productivity.

We must also consider what the user sees when they see our icon, link or button. What are they trying to accomplish by clicking on it? What associates in the user’s mind when they think of using our tool? The human brain is very good at making connections and associations- but remembering ALL the tasks a tool can be used for is simply out of the question. What has to happen, in order to prompt it’s use, is for the user to associate the task with our tool. For instance, if our tool becomes “the button that lets me identify songs”, we have successfully marketed and designed a music-tagging application. However, if the user then wants to “find more songs like this one”, and the answer to the question “what tool should I use” is Pandora, or Last.fm- we have failed in either the placement of the “suggest more songs like these” button, or we simply do not return results relevant enough to the user. We will assume we do however, provide the best service available, being that this is an article on design and not algorithm.

When the user reaches out for related tasks, we want them to look at our tool not as a “multi-purpose” tool, but a “category” tool. If our tool is modular, we need to integrate with other, categorically-relevant tools (consider Shazam’s youtube, twitter, and iTunes integration) in order for the user to associate us as their “category” tool. In being a portal for anything associated with that category, we can ensure use despite alternatives.

Inexperienced users often flock to one-stop-shop applications because they see categories as entire tasks. When they want to “do email”- they click on outlook. This also involves calendars, task lists, contacts, even newsgroups. This is not seen as a multi-purpose program for many tasks, rather all of those tasks are part of email- and email itself is a category we might call “communication” or “business” or “productivity”. Thus creating an “Email” application must take into account things it belongs in the same category as, as well as things it might relate to. The more category-related things it can do (and the more seamless it can make them) the more polished, intuitive and “easy” your tool is.

Do try to maintain however, category apps. Mozilla has Firefox and Thunderbird for a reason- they didn’t want their “Internet” application becoming too big. By keeping the applications themselves light enough to respond quickly, and yet featured enough to encompass a category, we have successfully created a tool that is associable to a particular activity, rather than a specific function.

On a mobile device, this idea is very different. People use an application to perform one or two specific functions, and have a multitude of other applications to choose from. Consolidating here is not recommended as it will slow your application down when time is of the essence. Adding additional functions to an app based around a leisure activity is fine, but any application that has to be used quickly (song tagging, flashlight, 911 dialers) is suicide.

If your service is modular and we are simply concerned with network penetration instead of forward-facing usage, you can consider creating a web service, or API to interact with other websites. Modularization is a characteristic of the web and most people don’t want to receive all of their content from one provider- even if they do want it all in one place. Consider letting others plug into you, rather than attempting to be a full show when you’re a sideliner at best. It’s OK to be a sideliner, this is the web.

We’re all sideliners here. Even Google.

In an intranet however, things are different. Launching of different websites or “systems” as users often refer to them hurts productivity. When a user has to click back and forth or even manually migrate data from one “system” to another, we have failed in the basic mission of computers: make data easier to organize, and less work to manage. If you have data entry staff that don’t interact with handwritten items, there is something seriously wrong with your system.

Humans are not technological stopgaps- they are the reason technology exists. Taking one system, modularizing it and creating an interface that allows for quick access to other parts of the system is no small feat, but it is worth every second of effort. An (overly) simple rule of thumb is that for every hour a programmer spends optimizing a program, or a designer spends optimizing a design, 1000 man hours are saved each year. This goes for big operations as well as small- even small businesses need to save precious hours in a day not processing data- that is the computer’s job.

Smooth navigation is key here- try to make the “drilling down” process easier to manage, by ensuring a map of the site is available on each page. Keeping this map navigable by utilizing dropdowns and expanding trees rather than having the user “back out” of what they were doing and having to “go back in”. We aren’t walking down tunnels, we are on an open plane- point to point navigation needs to be simple.

Human thought processes have a momentum about them- they have to get going before they can stay on one track- such is the case with work. Focusing on a task involves minimizing distractions and freeing your mind of nagging tasks- this is why getting “re-engaged” after interruption(phone call, lunch, or just getting there in the morning) is a huge productivity drain. By minimizing the “set up” process and keeping “re-engagement” to a minimum using efficiently designed user interfaces, auto-completion, user-specific frequent links, bookmark-friendly URLs and a logon page that directs you to the last used page, rather than starting you at the “top”- these practices and others will create a seamless flow into work, allowing users to flow in and out of using your tool, instead of making the tool the task in and of itself.

Leave a Comment :, , , , , more...

Apps v. Websites: Ultimate showdown in the mobile browsing era

by Liz on Sep.27, 2009, under Web Development

I was looking at my iPhone the other day when I was in a particularly bad dead zone, and thought to myself “Wow, I don’t have much to do that’s not Internet-required”. Other than a few games and stanza, it appears most of my apps are simply an interface for a single website.

As I thought about the implications of this, I realized that the line separating webapps and desktop applications has blurred. I use mint.com to manage my finances, and facebook to manage my social circle. I use google docs to deal with my documents and gmail.com to manage my e-mail. All of it, since gmail can check other POP-enabled accounts.

Now, to look at it another way- there are many thousands of apps in the App Store in iTunes, but the Pre and Blackberry have disappointingly low figures. Of course, the iPhone has been around longer than the Pre, and it has a larger, more technically-capable cult of followers than the business-centric Blackberry, but the real reason is that developers simply haven’t had enough time to learn an entirely new SDK, and why would they want to?

The simple solution is to develop an application that is cross-device compatible- a webapp. Something they have only to fire up their browsers to get to, it increases the user base of your application to anyone with a portable connection. The roadblock? Session Management.

The biggest problem with the iPhone, Pre and Blackberry (less so with android phones, but a problem nonetheless) is that it can’t carry data past more than a few webpages. The choice to use a webapp is simple when you don’t have to login- you can store everything in the URL variable scope. When users have to access personal information, or verify their identity (for purchasing things perhaps?) the choice to use cookies, or session variables is one that is difficult to make. When you want your users to spend time using your site- increasing their exposure to your brand and maximizing revenue potential- you need to bite the bullet and write a device-specific application. When you only need to provide data in short bursts (like twitter, or meetways) you can afford to make a smaller, data-optimized version of your website.

Leave a Comment :, , , , , , , , more...

Establishing A Web Presence

by Liz on Aug.24, 2009, under Web Development

Establishing a web presence is something done over time, and requires a lot of time. Fortunately, a lot of that time is spent doing something fun- talking about what you know.
Essentially, to attain credibility on the internet, you have to talk a lot. You have to have an opinion that is slightly not mainstream, but not so crazy as to be insanely radical. Read what other people are saying, and form an opinion, then share that opinion as much as possible, consistently and widely.

Here are some good steps:

1. Open a Gmail account. Honestly, it’s the best web mail out there and it’s integrated with all the Google services. It’s also a good habit to just be logged into it all the time, as you can access your chat, calendar and documents easily.
2. Convert as much stuff to the “cloud” as you can. Being location-independent will allow you to not only become more flexible with how you work, but will allow you to seamlessly disperse content across several mediums easily.
3. Get social networking logins, and then USE THEM. Integrating everything is a smart move- you can do this using Pageonce or another social media aggregation tool- but you want to integrate as much of this as possible. Make your twitter account update facebook- have your linkedin updated once a week at least. Make sure you follow fewer people on twitter than follow you- you can maintain several accounts to keep this up.
4. Generate content on a consistent basis. This is important, place reminders in your calendar to blog at least twice a week. have a 2-3 hour alarm to remind yourself to twitter. These things may seem like small, useless steps, but what you are doing here is generating content. I cannot stress this enough, the more content you produce, the more people will find it and spread it.
5. Spread other people’s content. Most people are tracking how their content is spread, and doing so brings them to your content. “Hey, this guy (dis)agrees with me, I wonder what else he has to say” is something people tend to do, and they also tend to return the favor. When I get linked somewhere, I always mention it, with thanks, and usually have a comment about their work.
6. Keep your social content and your professional content SEPARATE. Making your friends aware of your professional blogs is OK, but making your clients aware of your tequila binge last night isn’t. Make sure you always keep work and play separate, or clients will get mixed messages.
7. Stay on subject – or risk losing your audience. You might find keyboard cat hilarious, but your clients may become irritated. Establishing personality is great, or recommending a product- perfectly acceptable. Even being funny is encouraged on your blogs, as it separates you from the pack- but make sure that 90% of your posts have something to do with the original subject of the blog/website.
8. Make sure you have a Digg, Reddit, Delic.io.us, Slashdot, and Google Reader account so you can not only stay on top of industry news, but can establish yourself in the comments sections of these pages. Just don’t get caught in a politically charged flame war.
9. Podcast. I don’t care if you do it weekly, monthly or bi-annually, but do it. Make a video and audio version so people can take it with them, and you need to have a gimmick. If whatever it is you do is a fast-changing business, you need to do it more often, and don’t be surprised if people don’t listen to the back episodes(does anyone do that for TWiT?)- after all that info is probably outdated.
10. Respond to e-mails, comments and accusations publicly. This is not only a cheap cop-out for content, but can create valuable discussion that will usually be talked about. It also inspires people to blog, who will usually link to the original post they got the idea from(tho not always.)
11. Keep tabs on yourself. Ego-Google yourself frequently, and keep track of your comments being replied to, blog post linkbacks and make yourself a few Google news alerts with your name, blog name, website name and company names in them- and set it to as-it-happens until you’re getting at least 10 e-mails a day. This is when you know you’ve succeeded.

Leave a Comment :, , more...

Craigslist and how to spot a fake

by Liz on Aug.06, 2009, under Web Development

Many people are now using craigslist as a viable means of recruiting for their positions, or to post their resumes. Because of this influx of traffic over the last few months, scammers are beginning to target craigslist more and more.
So you get an e-mail, from a human being no less, with the heading “Thank you for your application” or “I found your resume on craigslist”.
You get all excited and reply that you would be very interested in the position, hunger pangs or desire to pay your rent blinding your good judgment. This is the trap they want you to fall into, and now they have a coveted piece of information: your reply-to address.
What you failed to recognize were these signs and symptoms.
1. Failure to mention anything personal about you or your resume.
When someone writes an e-mail to a lot of people, they try to sound as personal as possible while not targeting an individual with any kind of identifying information, such as the industry they are in, the job they are looking for, or their name.

If the e-mail starts with the greeting “Hi” or your e-mail’s prefix (rockstarlubr92 isn’t your name is it?) then you can be sure the e-mail wasn’t written with you personally in mind. If it also fails to mention anything about your field, qualifications or the job’s minimum requirements, you can count on it being a shotgun blasted spam-o-splat all over your inbox.

2. A job offer that didn’t accompany an interview, discussion over the phone or anything else.

If you are offered a job, chances are you have given that person some reason to think you are a capable, sane, stable individual that could reasonably be expected to perform the work asked of you. People don’t start out offering a job or even touting how much money you could make. If they have to “sell” you the job, then there’s a reason- no one else has taken it. It’s either a profoundly crappy job(cold calling people or selling cutco knives) or it’s a scam to use  you/steal from you in some way.

3. A company that claims its major and international, but you’ve never heard about it before.

A company that has to tell you that it’s major and recognized is generally not major and/or recognized. Think about it. Does General Mills introduce itself to you when you apply for a job? Does AT&T? How about Bell Helecopter? While this is not entirely telling it is an element to consider, a lot of recruiting agencies start out this way- but direct-to-hire firms don’t.

4. Jobs that have a high earnings-to-hours worked ratio.

Any job that only needs you two days a week for maybe an hour or two a day isn’t an international fulfillment company. What they are doing is laundering money, and they want to use you to do it. What they will ask you to do is open an account(or use your existing account) at a bank, then they will transfer money into it, asking you to then take the money out and send it by some means(western union, etc) to Russia, Nigeria, China or another country far away from you. You might get 5-15% commission on these “deals” and then your account will be investigated for fraud, and the FBI will knock on your door. If this has already happened to you or is in the middle of happening, don’t panic. Simply explain what happened, give them the e-mails and as long as you were lied to(as in, you didn’t knowingly cooperate), the authorities will recognize the scam and you likely* won’t be charged. Just don’t expect to be able to open any accounts anytime soon.

5. Jobs that require you use your family and friends to accomplish tasks.

Sales jobs that require you to generate your own leads or “buy” leads from the company are not generally sales jobs that are going to go somewhere. What you might pay for is an exclusive territory- what you should not pay for are sales materials, product samples and qualified leads or lead lists (unless they are for an industry, not a company’s product.).

Think about this: A company WANTS to sell it’s product, it wants it so bad that is willing to spend 1/3 of it’s net expenditures in advertising on average. Hiring you as a salesperson should be a move that’s an investment that they are willing to make, and they should be willing to give you the tools to be as successful as possible. If they aren’t willing to make the investment, or hire qualified individuals to make sales, then you have run into a product that either does not exist, isn’t worth the ticket price or you, the salesperson are going to be buying more of the product than anyone else is.

So those are the largest share of craigslist fakes, but it goes with the territory. Free resume search isn’t without it’s problems, but its got the most exposure so it’s (in my opinion) worth the risk.

*I offer no guarantees that you won’t be charged, but you are a bystander in this situation, not the culprit. Please be sure to retain the services of a good lawyer!

Leave a Comment :, , , more...

A full time job(finding a full time job)

by Liz on Aug.04, 2009, under Web Development

Working at finding work (and then doing the freelance work that comes along behind it) is a tough job, mostly in the fact that the twin evils of job-searching and freelancing are tricky imps to control, because they aren’t banished to the netherworld after 5pm. They keep coming back, at 8PM, 12AM, 3AM and so on. In fact, they eat so much energy that frequently the unemployed and freelancers find little time for anything else, despite being their own boss. Face it, we are our harshest taskmasters once we wake up to the fact that we have an employee that is generally willing to do whatever we tell them, including working nights for no extra pay, ignoring their other responsibilities to get things done at work and even willing to be sent on personal errands! (heh).

I have found it best if I schedule my days, but the trouble with this is that anyone who knows you are freelancing assumes they are not only your only client, but that you are available at a moments notice.

My favorite option to get past this snag is to schedule work/meeting days on alternating days- Tuesday/Thursday for job applications, accounting, scheduling meetings/work with clients, job hunting etc. Mon/Wed/Fri to work and get things done.

Oh and unless you have a project, define a definite work-stopping point!

Leave a Comment :, , more...

Recession Tips: Laid off? Sanitize your computer.

by Liz on Jul.16, 2009, under Web Development

Were you recently laid off, or have you received the notice that you will be soon?

Take the extra few minutes required and sanitize your computer.

Most of us are lazy, lazy people and we don’t exercise good security measures when it comes to our personal information, but we are especially lax at work. After all, you didn’t intend on leaving obviously, so why not store all of your passwords, account information and personal logins in the computer’s cache?

Clicking “remember me” has it’s benefits, but what if you get laid off?

In larger corporations, the IT staff will be in along behind you to re-image your hard drive(that’s reinstall windows, those of you who are non-techs) and in smaller ones you might get your user profile deleted at best. But what’s to stop your co-workers from coming along before IT gets there? What about unscrupulous IT workers, bosses or co-workers?

Upon leaving, the trend is to sever almost all ties with whoever did not leave unless you were especially close. You might keep their IM screenname but that’s about the long and short of it. Do you really trust these guys with your Gmail password? How about your bank password? Your social security number?

Do this: open up your browser and go to “tools”, and make sure you delete all browsing history, saved passwords, your cache and any authenticated sessions. Next, make sure you aren’t using any desktop applications like TweetDeck or Filezilla that might give people access to your social networks or personal servers. Also, remove your e-mail from the default mail program if it’s personal mail, and back up your contact book to a cloud-based program like linkedin or just save the contacts files. Then delete them off the hard drive.

Lastly, uninstall any applications you installed that weren’t directly related to at least 60% of your day, if you have time. This includes any custom development environments, browser add-ons you like, instant messenger programs and the like.

This all ensures that they don’t hand your computer off to someone who might use the information incorrectly, make judgements about your work based on the contents of your computer(after all, who doesn’t check their home e-mail once in awhile or jam out to iTunes while working?) and minimizes the risk to your security.

This is all pending on the fact that you got laid off, not fired for gross incompetence or embezzlement- in that case your computer is probably property of the federal government at the moment, and your embarrassing music collection is the least of your worries ;)

Leave a Comment :, , , , more...

Looking For Work

by Liz on Jul.07, 2009, under Gripes, Looking For Work, Web Development

I am already tired of this recession. It has caused one company to fall apart under me and now another to restructure their entire business model, leaving me without a position in a few weeks.

I tire of the job hunt- slogging through the thousands of entries posted on job sites like monster and careerbuilder for jobs that require masters degrees in computer science and want 5 years of experience in technologies that are only 5 years old to begin with.

Early adopters are great to hire, but what about the rest of us perfectly capable individuals that didn’t want to hedge our bets too early- who are perfectly capable of writing what you wanting us to write and taking ownership of a large project but who didn’t play in intergal part in the early development of the language?

The other complaint(I shall file this post under “gripes”) I have with many of these postings are the education requirements- how many software programmers do you know that went through 4 years of school?If I entered school to learn software development today, everything I learned in the first two years would be completely useless by the time I graduated, I would have student loans weighing me down causing my initial price tag to be beyond my actual, real-world experience level and my programming technique would be a mirror of what an idiocyncratic professor with very strong opinions about how things should be done (which is why they profess) with flexability that would only come over a great deal of time.

The freshness of new minds entering the programming trade is weakened considerably by these institutions- I don’t see why we should have to fill an arbitrary beurecratic requirement just because we achieve a higher pay grade than an average unskilled worker. We are skilled. VERY skilled. We deserve to be paid as much- regardless of where we learned the trade.

Leave a Comment :, , , , , , , , more...

Attack of the Interns

by Liz on Nov.30, 1999, under Advertising, Gripes, Looking For Work, Marketing, Net Culture, Social Commentary, Status Updates, Web Development

I recently had the fortune(good or bad?) to fill a few internships at a company I worked for. I decided to post an entry on craigslist.

I made it a pretty open-enrollment, no school requirements, no previous experience, capped at one year experience. I was looking for a few eager young marketing break-ins like I was (not that I’m not eager, young or a break-in myself.) to teach the ropes and get cheap labor out of.

Well… my post went locally viral.

I am not sure why, or how, but every community college professor and abuser of linkedin found my craigslist post and ran with it, telling everyone they knew. After about a day, HUNDREDS of local applicants e-mailed me their desperate attempts to get an internship. I had to set up e-mail filters, and was intensely grateful I had given my Google voice number instead of my personal cell.

Leave a Comment :, , , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...