Monday, August 31, 2009

Email Lists

To Everyone,
We have our email list completely running, so sign up and start getting updated on all MapYeti's deals for you. To give you an idea of what you will have access to; mapyeti.com has around 120 sales and specials in Atlanta and now has over 100 in New York. Mapyeti.com has only been at full force for about 3 weeks. So, you can expect a lot more growth to come. Which means more savings for you.

Keep checking back for new developments. Businesses are joining everyday and we are posting any deals we see! Happy Shopping with Savings!

To Businesses,
We have a new info site for businesses that sign up. Come join the ever growing community that puts you in touch with customers, for free!

Friday, August 28, 2009

New Stuff!

We have an email sign up list! But it's still in development. We will get your addresses but we don't have an email to send everyone yet. Once we get a nice and informative email made, we will send it to everyone that signed up. (Sorry for the delay)

Also, our new New York branch is doing an amazing job at finding sales and specials. They have only been around for a couple of weeks and they already have about 70 sales and specials!!! (I personally think it's amazing.)

More to come later!

Wednesday, August 12, 2009

Features Coming Soon

Over the next week or so Mapyeti will have several new features added.

-Thumbnail Images: Businesses will be able to upload a thumbnail image to be displayed next to their sales and specials. Should spice up the main page a bit.

-Email Lists: You will be able to sign up for email updates on your choice of categories of sales/specials in your choice of city.

-Twitter/reddit/facebook/etc... : We are working on adding a button to each sale/special to make it easy to tell your friends when you find a great sale via twitter, or email, or whatever else all the cool sites are doing these days.

-NYC: Mapyeti is working on expanding into New York City! If you own a business in NYC, go ahead and add yourself to mapyeti.

Saturday, August 8, 2009

Revolutionizing the Way Businesses Advertise

For the past 100 years or so Advertising has remained relatively the same. The technology involved has changed - Newspapers to Billboards to Radio to Tv and now the Internet - But the ideas have stayed relatively the same: Bombard everyone you can with your message.

There's an inherit flaw in this idea: Most people don't care. In fact, most people really dislike being bombarded with advertisements. When you go to a website and see a flashing ad, or have your favorite tv show interrupted, your reaction isn't "Great! This is a chance to learn about some useful products I may not be aware of!" At best you treat it as a necessary evil that you have to put up with.

The thing is, there are people out there who really really would like to know about whatever product it is you're selling, so why not speak just to those people? In fact, if a person is looking for what you're selling, your ads don't even feel like ads anymore. This is where apps like mapyeti really shine. If your business is having a sale, there are people who really would like to know. And you really want those people to know about your sale. Mapyeti connects businesses posting their sales with people who want to see those sales. And it doesn't even feel like an ad, because it's not what everyone thinks of when they think of advertising.

So go ahead, make a free business account and start posting your sales!

Making a smoothly sliding div that moves on page scrolling

One of the sexier features of mapyeti is the sliding map on the main page. It's actually a really easy effect to implement. For this tutorial we'll be using Prototype and Scriptaculous, although you should be able to adapt this to whichever flavor of javascript you like without too much work.

*note: sorry about the code formatting; I'll figure out how to format this stuff properly later

The Effect
I'm sure you've seen pages that use Javascript to force a part of the page to have a fixed position while scrolling. Horrible Idea. The fixed element is always jittery during the scroll and it's really distracting and just unpleasant in general. A much better way to achieve a similar effect is to wait until the user stops scrolling, then slide the div smoothly to the new position. It's must less distracting, and when you see it happen you get a warm, fuzzy feeling inside :).

Step 1: Building the sliding action
For the sliding action, we want to make our div slide up to the top of the user's browser screen. To Do this, we'll use document.viewport.getScrollOffsets() From Prototype. This function returns how far the user has scrolled in pixels as an array. In our case, we're just interested in the vertical scroll offset, or document.viewport.getScrollOffsets()[1]. Calling this will tell us exactly how far the user has scrolled so we know how far down we have to move our sliding div to maintain it's position on the page.

Next, we'll use the scriptaculous function Effect.move to slide the div down smoothly to it's new position. Let's put it all together:

function slide_that_div(){
var scroll_offset = document.viewport.getScrollOffsets()[1];
new Effect.move('sliding_div', { y: scroll_offset, mode: 'absolute' });
}
The first parameter to Effect.move is the id of the div you want to slide (or the div itself if you prefer), and the second parameter is a hash of options. In our case, we're just moving in the y-direction and using absolute positioning. This means that the position we specify will be relative to the top-left corner of the page, rather than the current position of the div.

Step 2: Handling the Scrolling Event
Now we have a function we can call to make our div slide into the correct position on the page, so our next step is to figure out when the user has finished scrolling. There are several ways you can do this. Unfortunately there is no built-in "scrollend" event, so we have to figure out when the user stops scrolling manually. The easiest method is to just poll every half-second or so and see if the scroll offsets are changing. We'll use the document.viewport.getScrollOffsets()[1] method described above to measure the scroll offsets.

To do an action at set intervals in javascript we use the setInterval() function. This function takes 2 parameters: a function to call repeatedly and a number representing a period in ms. We're going to want to initialize this timer when our page first loads, so we'll put all this stuff into a document.observe("dom:loaded") event handler. The "dom:loaded" event gets called when all the elements in the page are first loaded.

Putting it all Together we have:

var scrolling = false;

var last_scroll;


document.observe("dom:loaded",function(){

setInterval(function(){

var current_scroll = document.viewport.getScrollOffsets()[1];

if (scrolling){

if (current_scroll == last_scroll){

scrolling = false;

slide_that_div();

}

} else if(current_scroll != last_scroll){

scrolling = true;

}

}, 500);
last_scroll = current_scroll;
});


There are 2 variables we need to keep track of. "scrolling" is a boolean that says whether or not the user is in the process of scrolling. "last_scroll" records the last scroll offset we measured. We compare this to the current scroll offset to determine whether or not the user is scrolling.

What this function is saying is if we weren't scrolling and the scroll offsets don't match, record that the user started scrolling. If the user was scrolling and the scroll offsets match, then the user has stopped scrolling so we should fire off our "move_that_div()" function to slide our div into place.

That's all there is to it! Simple, right? If you want to see this in action just take a look at the map on the mapyeti main page. Enjoy!

Thursday, August 6, 2009

Destinations is Back (kind of)! Also, Cool New Map Icons

Ok, so the destinations feature was too sexy to let go of completely. We brought it back but in a less obtrusive way. The "add to destinations" link now only shows up on the main page in the map bubble popups for sale/specials/businesses. The links in the upper right of the screen for getting directions/clearing your destinations list only show up if you actually have something in your destinations list. Finally, there is a link on each businesses' profile page for adding/removing the business from your destinations list.

We hope by re-implementing the destinations feature in this way you can enjoy all the benefits of the feature if you choose to use it without being bothered by its presence if you don't.

Also, the map on the main page just got spiffed up with some new icons (Thanks Thomas!)

Enjoy!

Wednesday, August 5, 2009

Removed the Desintations List Feature

Some of you may have noticed that the "destinations list" feature is gone. The destinations list let you select sales/specials/businesses you wanted to visit on the main page and then get directions and drag and drop the order and it was extremely sexy. The thrillist article mentioned this literally the day we decided to remove it; figures :p.

Why did we do it? While the feature was really cool (and took me a serious amount of effort to program), we just didn't think most people would actually use it, which means it would just be taking up precious space on the main page.

What do you think? Should we bring the destinations list back or do you like the new less-cluttered site as it is? And sorry to all you who read the thrillist article only to find that the destinations list feature isn't there anymore.

Mapyet is on Thrillist!

Today Thrillist Atlanta ran an article on mapyeti! You can see the article at http://www.thrillist.com/atlanta/mapyeti.