Archive for the ‘My Projects’ Category

Gmap Uploader now supports DeepZoom/Seadragon

Sunday, December 14th, 2008

Now, all images that have and will be uploaded with Gmap Uploader will be available via the Deep Zoom URL format which means you will be able to view your images with Seadragon AJAX in your browser, and Seadragon Mobile on the iPhone.

So, either upload your image to Gmap Uploader, or go to the URL of a Gmap Uploader map you already have. After its done processing, at the bottom there will be a Deep Zoom URL. You can use this URL with either Seadragon AJAX, or Seadragon Mobile.

For Seadragon AJAX, I recommend putting this URL in the Embed The Viewer tool.

Once you’ve downloaded Seadragon Mobile to your iPhone, and opened it, follow these steps:

  1. Press the plus button in the bottom right of Seadragon Mobile.
  2. Select “Deep Zoom Content”.
  3. Pick a name, for example, “Awesomeness”.
  4. Enter the Deep Zoom URL from Gmap Uploader.
  5. Press the “Done” button.
  6. Be amazed.

Adding this feature probably means I need to change the name of Gmap Uploader. Any suggestions?

Announcing My Retirement (From Mapping Projects)

Monday, May 12th, 2008

I am officially announcing my retirement from mapping projects as of today. Today coincides with the start of Where 2.0 which I attended last year. Some may know that I decided not to go this year. Along with Where 2.0, there were also two related events, Google Developer Day and WhereCamp which I attended. Google Developer Day which was free at the time has turned into Google I/O which now charges the equivalent of about 1 iPhone. WhereCamp kind of rode on the shoulders of Where 2.0 as a smaller free unconference for people really interested in geo stuff.

I’ve always been interested in maps. When I was a kid, I would always want to be the navigator with map in hand while riding in the car up north with my family. In boy scouts, I was very interested in orienteering… starting from a given point, navigating to other points using a compass and a map, or sometimes only a compass. Once GPS devices got cheap enough I bought a simple, but proven Garmin eTrex and went geocaching with it. When the Google Maps API came out I got really excited and started developing all kinds of different things with it. I even created a maps subdomain and titled the page Kyle Mulka’s Google Maps. While in college, I worked with my good friend Dan Feldman on a site called liveUgli, which was a real-time study buddy finder. We used the Google Maps API, but instead of the typical world map, we used floor plans of the major study locations on campus. In order to make the site more extensible, I developed two offshoot projects. The first, Gmap Uploader, had the goal of making it really easy to get floor plans into the system. The second, Cartiki, which actually uses the Gmap Uploader, was designed to make it really easy for users to edit the locations in the system.

So, why am I doing this you might ask. Well… there’s a few reasons. The mapping projects that I have worked on so far haven’t gotten much usage. When I was playing around with the Google Maps API, I wasn’t really interested in web mapping itself, I think I was more interested in just playing around with new and cool technology. With the liveUgli, I was interested in making the life of college students better. With the Gmap Uploader and Cartiki, I was interested in building reusable components that could not only be used for liveUgli, but could be used by other developers for their projects. So, I get the feeling, I wasn’t really into mapping so much as the technology behind it, and then the applications of it. Now, I feel as though I have exhausted the interesting and useful stuff (at least to me) in the mapping space, I’m going to move on to other, more interesting things. Hopefully nothing too revolutionary (like the Google Maps API when it came out) gets released at Where 2.0 that will cause me to change my mind.

What am I going to do if I’m not going to be working on mapping projects? Well… I’ve got a few other things up my sleeve, which I will tell you about in more about in upcoming blog entries. Also, don’t forget that my day job at Amazon doesn’t have anything to do with maps, and they disbanded A9 Maps, the only mapping project they had, a while back.

So, if the only reason you are subscribed to this blog is because of your interest in Google Maps, maybe now is a good time to leave. Or, you could stay and read about my new adventures in the next phase of my life.

Seattle Startup Weekend – SkillBit

Sunday, February 3rd, 2008

Last weekend I participated in this thing called Startup Weekend in Seattle. Basically, there were over 100 people attempting to create a startup company (basically a web app) going from concept to launch in just over 50 hours. It was pretty intense.

The weekend started Friday evening with everyone sitting at tables of 5-6 people. Each person shared their idea with the table. They were then written down and one person took the ideas and pitched some of them to another table. The other table decided which 1 or 2 ideas were worthy. These ideas were collected at the front in paper form then randomly distributed to different tables. Each table read the idea on the paper separately and voted either yes or no to the idea. Only about 5 ideas made it past this stage. My theory is that ideas on paper in a sentence or two don’t get people nearly as excited as if someone else was pitching it to them. We ran through that again to get a different set of about 5. So, 10 ideas total. Each of these 10 was pitched to the entire group by the person who originally suggested it. We took a vote on all 10. You could vote either yes or no to each one by either raising or not raising your hand. There were about 4 that made it past this round. Next, there was discussion about each of these 4, and different people talked about the merits of each. Then, a final yes or no vote from everyone and we came out with a clear winner. We were going to build a RideShare that actually worked and that people actually used.

So… now to figure out exactly what we are building, and who else is building similar stuff. An hour or so into this, and the business development people come back with their findings on the competition. They determine that there are some strong competitors in our area, namely Goose Networks. They are doing a lot of the stuff we would be doing and it would be difficult to differentiate ourselves. So, we took a vote if with this new information we should switch ideas. Most people thought we should switch, and so we decided on the “Match.com for Enterprise” idea.

Basically we would create a web application that would allow small to medium sized businesses get a better sense of what skills their employees had to better utilize these. Each employee in the business gets a profile which has basic information plus their answers to certain questions the boss had asked. So, the boss could ask something like “What languages are you fluent in?”. Each employee would answer this question and their answer would show up in their profile. Then, later you could search through the system to find an employee fluent in Spanish to talk with a new client. This is just an example. I’m sure there are plenty of questions you could ask to get useful answers to help in finding skills in your organization. What are we going to call this? We call it SkillBit. The skill part is easy to understand. The bit part represents the simplicity of the software and lack of features I suppose. As with any good web application, it does one thing, and does it well… hopefully.

We have yet to launch SkillBit publicly, but you can sign up on a waiting list to get an announcement of when it launches.  If you want more details about how the weekend went, you can read the Seattle Startup Weekend blog which was posted two by two people throughout the weekend.

SmugMug

Sunday, October 7th, 2007

While reading Don’s blog (from the last post) I saw that SmugMug was having a contest this month for who could build the coolest application using the SmugMug API. The winner gets a free iPhone. So, I think I’m going to enter and make something cool. Wish me luck. As a side benefit to using their API, I get a free lifetime Pro account, so I’ve uploaded a bunch of photos I had sitting on my computer. You can view them here.

Productive Day

Wednesday, August 22nd, 2007

Today felt like a really productive day, even though I didn’t get a whole lot of sleep last night. Today I actually did some real development as opposed to bug fixing and small tweaks to our websites like I have been doing for a while now. I did quite a bit of refactoring today, which is fun if you understand what’s going on with the software. The best analogy I’ve heard so far for refactoring is reshaping a piece of clay. You take a glob of code here, and move it over there. Take some extra code out that you don’t need, and make the code look nicer. Nicer looking code is easier to maintain. Basically, if you have to fix or change something later it will be easier to understand and fix without too much work. Refactoring can be frustrating if the code is too ugly in the first place. If you don’t really understand what the code is doing, you can really screw it up by moving around those globs of clay, or code in this case. But, this code was pretty clean and simple. It just needed some minor refactoring.

After work I went to an entrepreneur networking event at Del Ray hosted by nPost. I met some cool people working on some really cool startups. Several people from Zillow were there, and I talked to one of them. I talked to a VC who was working on his own business plan for something in the mobile shopping arena. I met the two guys, John and Tom from Wishlisting.com. You should check out their site. It’s pretty nifty. I think I’ll start using it. I was directed towards another entrepreneur, Matt, who is working on a site for online video tours of real estate. We talked about how he might be able to use my Gmap Uploader for the floor plans on his site. Definitely check out his site called Cool Toors (a second o instead of the u) if you have property for sale or rent and want a good way to put up a virtual tour.

Cartiki Recent Changes

Friday, June 8th, 2007

I’ve added a recent changes feature to Cartiki, which means you can see when new locations are created and when other stuff in the database changes. You can also subscribe to this feed via RSS so that you don’t have to keep checking the site.

Cartiki, a user edited database of locations

Tuesday, May 29th, 2007

Introducing Cartiki, a user edited database of locations. A cartography or map making wiki.

Anyone can add a location name to the database with a corresponding bounds on the map, a parent location, alternate names, and external URLs.
Other features will be released soon based on user feedback, so, send me an email and let me know what else you want to see on Cartiki!

My Web Mapping Background

Tuesday, May 22nd, 2007

I originally wrote the following as my biography for WhereCamp, an unconference for geo-hackers. I realized that readers of my blog might be interested in this too. Also, if you are going to be in SF next week for Where 2.0, Google Developer Day, or WhereCamp, please contact me if you’d like to meet up.

Hi! I’m Kyle Mulka. I just graduated from the University of Michigan with a degree in Computer Science. When the Google Maps API first came out, I was really excited about the possibilities and started hacking with it right away. I built a bunch of stuff, some of which you can see on my Google Maps page.

The semester after that summer, I started a class project which was basically Plazes but with more detail inside of buildings at our University. We called it liveUgli. UGLi is short for undergraduate library. Basically, we wanted the site to be a representation of what was currently happening in the library: what people were studying, which groups were meeting, if someone was planning a study break for lunch or frisbee or whatever. It would allow people to find study groups and meet up with friends and classmates. They would be able to more easily discover the people near them, but not close enough to see.

I believe there were many reasons which made liveUgli unsuccessful, the main one being that no one was using it, so the site was useless. This is a problem with all social networking sites. You need a critical mass of users for something like this to be successful. But, beyond that, there was no automatic detection of location (yet), and even the manual method was kind of difficult for users. Many people told me that they didn’t study in the UGLi, so the site was useless to them as well.
I set out to create a system by which we could easily add new location names and maps and floor plans to the system. I ended up calling this system Cartiki which stood for cartography wiki, or map making wiki. Not only would we, the administrators of the site be able to add locations, anyone could add locations in wiki fashion. I’m almost to the point where I’m ready to release Cartiki as a stand alone web application to be used to help people find locations, both on a regular Google Map, and on uploaded floor plans of buildings. This would be ideal as a university/corporate campus room finder.

The ability to upload custom maps and floor plans comes from another system I built for this purpose called the Gmap Uploader. This can also be used separately from Cartiki and liveUgli, especially for viewing high resolution photos.

Amazon’s New Web Services

Wednesday, May 9th, 2007

Maybe I’m a little biased because I’ll be working for them soon, but I think Amazon’s new web services are really cool. Basically, they offer a really reliable computing infrastructure for developers with a pay-as-you-go pricing structure. You only pay for what you use, and the interfaces are dead simple. They offer both SOAP and REST style web service interfaces.

For 10 cents per hour per CPU, you can rent as many or as few CPUs as you want. And, this can all be controlled automatically via their web service API. You pick the linux distribution, software, and data you want the machine to boot with. This pay-as-you-go computing is called the Elastic Compute Cloud, or EC2.

For 15 cents per GB per month, you can store as much or as little data as you want with the Simple Storage Service, or S3. Each file in S3 can be anywhere from 1 byte to 5 GB large. Because of the way REST works, public files can be downloaded directly from the browser, so they can be embeded in or linkable from web pages.

Another service that I just started playing with is called the Simple Queue Service or SQS. At first, it didn’t seem all that useful to me, but I think it will become useful for messaging between unreliable or not on 24/7 systems. My planned use of EC2 doesn’t require my server to be running 24/7, so I’m going to use a queue to accumulate jobs to be processed once the server boots up. As soon as all the jobs in the queue are processed, the EC2 server will shut itself down, saving money in the process.

You may ask: “But Kyle, aren’t you just playing with this stuff? Surely you don’t have a real use for it.” Well, yes and no. I’m playing with it because I think its cool, but I’m also busy developing the Gmap Uploader, a service which allows you to upload any image into the Google Maps framework. This means, you can upload pictures, floor plans, campus maps, and a whole bunch of other stuff that isn’t available as a part of the standard Google Maps. The interface allows you to easily pan and zoom in to large maps and images. If you know or can learn Javascript and have your own web space, you can add markers, and info windows on the custom maps as well using the highly popular Google Maps API.

UPDATE: You can hear a lot more practical usage of Amazon’s web services in this podcast from IT Conversations.

Mschedule, Fall 2007

Friday, March 23rd, 2007

Basically, I don’t plan on updating Mschedule for Fall 2007 myself. So, I’m looking for a volunteer to maintain Mschedule. I’d be happy to continue to host it, I’m just not planning on putting more time into it right now.

The official post:
http://schedulesharing.livejournal.com/9089.html