Finding my gSpot – Continued Adventures with Geo-Location & mongoDB
10:32 am in Geo-Location, MongoDB, jQuery by Mark Smalley
I’ve finally found my gSpot. Not only as a developer, designer and passionate OpenSource advocate, but as a human too. I know my limits, and as a full time partner at Laulima, father and husband, I’ve also come to accept that I am incapable of giving back to the community as much as I would like. I was once a self-proclaimed BuddyPress fanatic and had grand plans for gPress, which was my first foray into providing freely distributed OpenSource geo-location tools. Prior to that, I had worked with a “premium” theme company creating commercial geo-location themes, and was originally brought on at Laulima to provide additional geo-location services to TravelBlog.
Unfortunately, with all that time previously spent in Google Maps and jQuery, I had never spent the time creating a proper plugin. I would usually cobble things together with some copy, pasting and repeated tweaking. I’d also started introducing marker clustering and customized HTML / CSS3 InfoWindows through a collection of other external odds and ends that was quickly growing into a complete unmanageable mess. That stops here!
I’ve now developed a jQuery plugin called gSpot, from which all future browser-based geo-location work I do will be extended. I’ve also embraced GitHub, from where I will be distributing all future OpenSource work that I personally develop. Speaking of which, I’ve also managed to convince Laulima to start using GitHub, from where we will be distributing mongoBase.
For those that don’t already know, Laulima is developing it’s own OpenSource CMS called MongoPress, which is a mongoDB powered platform providing high-performance NoSQL web-management. The underlying CMS is freely available from MongoPress.org as a self-hosted download. Laulima are ultimately planning to commercialize MongoPress.com by launching a hosted version of the system with an integrated “verified” app-store. This fully-managed hosted phase of Laulima’s plans is currently in an invite-only state, and was pushed forward ahead of schedule specifically for the AWS Startup Challenge that we recently participated in. However, as outlined within our official roadmap, the true focus of Laulima’s current efforts are concentrating on a 0.3 release.
MongoPress 0.3 will be our biggest update to date, a complete re-write from the ground-up, and rather than simply make a rock-solid OOP compliant core strictly for MongoPress, we decided to take things one step further by developing a core foundation and set of modules that would work for any application developed for mongoDB. It’s no secret that we have fallen for mongoDB. Truth be known, we’re head-over heals, or at least I am. There’s no turning back for me and Laulima is committed to the point of organizing Malaysia’s first and only official MongoDB User Group. In fact, I’d even go as far as saying that mongoDB is partly responsible for me finding my gSpot, for it allows me to develop at such a rapid pace whilst keeping all my logic contained within a single language. Nonetheless, this development is not rapid enough for my liking, which is why I have pushed so hard for mongoBase to get such prominence within our current work-flow.
As a user of Automattic’s BackPress, from which I was just about capable of getting GeoPress launched, I quickly realized the importance of a solid framework. But unlike the mess that is BackPress, which appears to have been cobbled together by working backwards and extracting things from core, I wanted to do things right with MongoPress. It is for this reason that mongoBase has now become our top priority. MongoBase will be the foundation for MongoPress, which is why everything is being completely re-written for the 0.3 release. We want a foundation at core that has been specifically built as a foundation, which can be used for anything from a simple one page prototypes for visualizing new mongoDB based ideas, through to fully realized CMS platforms and everything in-between.
When I get an idea, which come more often than I can handle, I’d like to be able to more easily develop those ideas, which is why I am now so focused on foundations. It is with these foundations that I am also working on my most ambitious project to date, which is currently codenamed ” MongoMail ” and is my attempt to put an end to IMAP and POP3 emailing systems with a long-term vision that would take me a million more hours than I have freely available in my spare time. It’s a project so grand in scale that I would have been crazy to even think about starting it… It’s also a project that I started several weekends ago…
Replacing the antiquated technologies currently known as email may seem impossible to some, and probably would be if the first stage of that unfathomable quest did not support IMAP (the underlying technology central to gMail, Microsoft Exchange and other such platforms). It would after all be illogical to assume you could completely replace the most used form of online communication with another form of communication that did not support the current form, which is why I am a man on a mission with a million and one things left to do…
So with that said and done, you might be asking where I currently stand…?
Well, I have at least made a start, without which, nothing would ever happen…
I already have a web-based PHP / mongoDB driven email client that can sync with IMAP and can be fully customized through themes and plugins. I have a default theme for this email client that revolutionizes the way we look at emails by threading conversations and auto-generating media galleries from attachments. Everything is asynchronous, AJAX powered and breathtakingly simple in the sexiest of minimal and mobile compatible ways.
We also posted a couple of images on Twitter today, where you can now get a quick glimpse of the working copy I am using from my localhost and take a peep at our re-invented inbox or how one forwards messages of the future… I say “we” because Laulima has graciously allowed me to spend a certain amount of my time continuing to develop the MongoMail project and can see the game-changing potential of this new territory. With that said, and due to Laulima’s insatiable commitment to the OpenSource community, phase one of this ambitious project will hopefully be available for download before the end of the year!