Splash Web Effects

Tag: Posts I wrote for SEO Purposes

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...

Apparently, Cookies are very sensitive

by Liz on Mar.26, 2010, under Web Development

So today, while trying to figure out why a cookie was mysteriously destroying itself, we stumbled upon an interesting turn of events that I can’t find anywhere on the net.

Apparently, Cookies won’t hold if they start with the word “Include”.

We had this cookie- INCLUDE_CORPORATE_BLOG , that wouldn’t transfer from page to page.

A session with the same name would, and so we were going to have to create an entire strange workaround trying to figure out why this piece of data wouldn’t hold. My colleague suggested that we try changing the name, partly joking, to which we said “couldn’t hurt”.

Turns out, in Classic ASP, you can’t have Cookies that start with the word “INCLUDE”.

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

IE does what it wants

by Liz on Nov.12, 2009, under Browsers, Career, Gripes, Net Culture, Programming, Rants, Web Development

There is a Microsoft Knowledgebase Support Article that points out yet another flaw in IE8 or lower. This states that Microsoft Office can’t download documents when you set the page to expire immediately- so essentially you can’t have very secure pages if you want to export information to excel.

Firefox could do this since firefox .8

Chrome could do this from the get-go.

Safari and even Netscape Navigator have this capability, and most versions of AOL’s horrible browser can do this.

Why can’t Microsoft get with the program? The issue here is that MSIE will do what it damn well pleases. It always has, as it commands the majority of market share. Until we can get people on other, more stable web-standards compatible browsers we won’t be able to really open up the modern web.

Leave a 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...

Cross-Device platforming and your Marketing Strategy

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

With the release of so many smartphones on the market today that actually encourage web-surfing on the phone or PDA, a viable marketing strategy has emerged.

Launching a website that is not only touch-phone friendly but UI-specific can make your organization stand out as a large, professional, agile institution.

Remember, a globalized marketing strategy is greatly in the details and you are embarking on a venture that is inherently global. (This leads to a whole lot of minimalist design schemes…) Globalization is not only expressed as either segmenting your experience to locals, or creating an effective human-centered global strategy that transcends culture; it is a process that is open to the highest of critique and the biggest problems. You have to take into account taboo in hundreds of locations while continuing to maintain context-neutral messages.

But you back yourself into a corner here. Most people do not have the manpower to maintain either an intracate marketing strategy that maintains the power of globalization or the power to create individual web portals to deal with the entire world. Especially when you are not present in many of the markets you are advertising to(but don’t want to damage them as you hope to expand there one day).

The answer: Cross Device platforming, while maintaining static content. In many markets, your website is to be viewed on a device the size of the user’s hand. Many non-standard browser sizes and device limitations will neuter your ablity to speak to the individuals that may not even have a home computer to view your website on, or simply do not have time to pull up their laptop when they need to find someone nearby with your services.

The time is now, optimise your HTML and server-side languages to use multiple CSS sheets, then condition them to the browser, device type and size appropriate. This creates a manageable website where certain content can be hidden with things like display:none in some devices/locales and can be shown in others.

When designing such an interface: rememeber what your users are trying to do most of the time on mobile devices. They are looking for directions, to buy something and pick it up on the way, they are looking for relavant times or reviews of your services. They aren’t looking to load a lot of copy or any high-definition pictures, remember to K.I.S.S. – Keep It Simple, Stupid.

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...