Nizanta Banner

Nizanta Jewelry, a Magento e-Commerce site

My friend, Suhrid Thacker, decided to leave the corporate world of finance and start Nizanta, an e-commerce company selling high quality hand made Indian jewelry. He researched the various e-commerce platforms that are available and decided that he wanted to run the business on the Magento platform, a content management system for e-commerce web sites. Magento, owned by eBay, is a platform used by hundreds of thousands of retailers, including Nike, Christian Louboutin, Ghirardelli Chocolates, Rosetta Stone, and many more. It’s the king of the medium to large business e-commerce platforms and a reasonable choice if you can afford the price and manage the complexities.

Building a Magento website is not cheap. There are two versions of Magento available. Magento Community is an open-source version which is powerful enough to run most stores, especially one starting out with a smaller product inventory. Magento Enterprise comes packed with many more features and scales better than the Magento Community version but it costs $16,000 per year.

That’s just the software cost. Then you need to get hosting, pay for someone to build the site, and pay for someone to maintain and run the website for you. Hosting costs are cheap enough but to hire a developer to build a reasonable Magento e-commerce site will cost a bunch. Suhrid contacted several developers in the United States and he was quoted between $10,000 and $60,000 for a Magento website, a price that reflects that it will generally take months to properly develop a Magento website. A simple Google search will show that some developers charge $100k-$200k+ to have a Magento website developed. It’s not cheap. Rates for developers from India were around $2,000 to $10,000 for a Magento website, but you have to be able to manage the language, time, cultural, communication, etc. issues that come with outsourcing development to one of the lower labor countries. Both approaches can be justified but that’s a separate conversation.

The critical thing to keep in mind when deciding on the Magento e-commerce platform is that you will have to hire someone to continually change and develop for it or you will have to do all of that programming yourself. You don’t just build the site and never develop for it again. You constantly are tweaking, improving, managing, and scultping the site. So you will have to spend a lot of time programming (time that may better be spent marketing or solving other business problems) or hire a developer (Magento developers can cost $100s/hr). When you agree to using the power of Magento you are agreeing to a development intensive business. However the power and customization of the platform will pay dividends if you can get sales to a reasonable level.

As a new business owner, my buddy would have to spend a huge chunk of money on product inventory (24k gold jewelry tends to be expensive), shipping, marketing, accounting, and million other things that a new business owner has to deal with. He initially decided to develop the site himself to try to save on costs and he got some help from friends but he was happy to hand off the development work to me and let me have at it. It was a pretty good match. I didn’t need any money but I wanted the opportunity to build something cool. I told him I would get him to a point where he had a functioning website that looked good and would turn it over to him before I left for my 45 day trip to Europe, which left me a month and a half or so to learn a new platform and get all of the work done.

My buddy had already looked around and found a Magento theme called Ultimo that he liked for both its looks and responsiveness to adapt to mobile platforms. When he turned over the project to me the website was hosted, Magento installed, and the theme installed. The website was not fully up and running and there was no customization to anything but I had a starting point to get to work.

I got to work breaking down Magento and learning what I had to. The admin panel is an impressive content management system. There are a bunch of headings that lead you to settings to control everything from product inventory, currency, shipping, taxes, payment gateways, emails, even CSS customization. It will take you a couple hours/days just to go through all of the options and see what is available straight out of the box. Since Magento Community is used by so many developers there are often solutions for whatever problem that you have available on Google. Magento also has a bunch of extensions that you can download to add features without writing any code. If you want to change the style of your website you can download one of the many available themes that are available. The community and options for tweaking, downloading, and coding are limitless.

Generally when it comes to working on a platform such as Magento, I like to avoid installing any plugins as it is not usually worth the hassle of installing some module that accomplishes what could be accomplished with some CSS or PHP or whatever. Adding plugins can lead to worsened security, slower performance, information being stolen, or a whole big list of things, whereas I know what I am getting when I manually add code to CSS or a PHP file. I generally will install a theme and customize the theme because for a small cost (free to $100) you can get a good starting design that is responsive to many different devices and has hours of CSS and JavaScript and PHP work done for you.

The process of developing for Magento involved a lot of setting up the platform through the admin panel. I generally think that if you can accomplish something through the admin panel in a platform like Magento then you should, as this is more likely to work following an update to the platform or theme versus changing the CSS or PHP and then having to verify that those changes still work on upgrade to a new version. There are best practices that should be taken when developing for Magento and it is recommended that they are followed when developing to avoid wasting time later on.

Once you think you have everything set in the admin panel, the next step is to move on to the CSS customization. At this point in the project I had already made some necessary changes to CSS and PHP to address problems that the admin panel presented. At this point I am willing to make whatever changes that I have to with CSS and PHP code to get the site running exactly as I want it.

Development is moving along smoothly when Magento decides to drop a bomb on the project and release version 1.9 of Magento Community. It’s usually great to get a new version release, but mid-development means that you have to get to a good breaking point, back everything up, install the new version, migrate everything over, and remove the backups. This process usually takes longer than expected and leads to broken websites that give the developer a long list of problems to fix. In actuality, there was some of that, but the migration process was remarkably smooth. When you follow the directions and everything works you feel pretty good and gracious. Programming always (usually) works as it’s supposed to, just not as you think it should.

Eventually, after a few more days of solving other problems and designing the site as perfectly as my buddy and I wanted it, including secure payment integration, email notifications, fixes to mobile design, batch loading products, and everything else, the website was in a reasonably usable form. At this point the goal is to test the website on different browsers and devices and try to break it and note what has to be fixed. Several days of breaking and fixing and adding new features that pop up and before long it’s time for me to head off on my trip to Europe and turn the website back to Suhrid. Most of the work is done. The website looks great, and when all the product information and page content is loaded, it will be ready for primetime.

During the development process my buddy set up to have the rest of the site wrapped up by a company called The Integrated Penguin, or TIP, a digital creative agency that produces quality work. Since my trip they have polished up the website. You can check them out here (The Integrated Penguin – TIP). Suhrid finally decided to go live with the website a couple weeks ago and so finally I am able to make this blog post and show off what I spent many long weeks building during the summer. I hope you enjoy the clean website that showcases the gorgeous hand crafted Indian jewelry as much as I do, and if you like any of it then feel free to buy. The Magento platform will be happy to process your order. The Nizanta website can be accessed via this link (Nizanta Jewelry).

I don’t have any screen captures of what the site looked like before TIP got a hold of it. They did a good job adding some nice design elements to the page. Overall there is a little of tightening up to do, but all of that will be accomplished over time. Here are some captures of what the Nizanta jewelry site looks like.

Bold and clear
Bold and clear

The site is full of white space. The jewelry and marketing message really stands out. Sliders are popular for many websites these days and I feel they provide a great way to change a pages look and feel with little effort. Great for seasonal items, or posting new inventory.

The theme of whitespace and simplicity continues in the product page. I don’t really want there to be anything in the way of the customer viewing the jewelry. No names. No prices. First look at the jewelry, and then if you like a piece simply mouse over for the price.

Beautiful jewelry shopping
Beautiful jewelry shopping

Or if the user wants to know more information click on a product for added detail. Product images can be hovered over to show higher definition of the beautiful hand crafted jewelry. Descriptions are short and useful. The necklaces product descriptions have a size sheet that the user can use to see what the necklace would look like when it is on. The descriptions describe what the 24 karat gold foiling means.

Descriptive and useful
Descriptive and useful

After the customer is done shopping, products can be added to a cart for final viewing before checkout.

Cart is simple and easy to use
Cart is simple and easy to use

Checkout process is simple enough. Both credit cards and PayPal can be accepted. Email notifications are automatically sent out to the buyers throughout the buying process. A login is available for return customers. Newsletters, gift cards, social links, etc. are all taken care of.

The building of nizantajewelry.com was a little painful at times but I learned a whole bunch. The end result was a great website that will scale as the business grows.

Not even half the people at HackRU

HackRU Fall 2014

Finally caught up on sleep from this weekend’s hackathon. For those of you who don’t know what a hackathon is, a hackathon is an event that usually lasts for a day or two in which people try to implement new computer hardware or software ideas in an individual or small group format. It usually has nothing to trying to break into databases, security, or any sort of illegal activity. There certainly are some great events for this, one of the more notorious being DEF CON in Las Vegas. The hackathon that I was at was HackRU, a 24 hour hackathon at Rutgers.

The first problem that you have to solve at a hackathon is what you are going to try to build. Idea generation and brainstorming can take a considerable amount of time, and with a 24 hour deadline it is a good idea to come prepared with an idea or two in mind. Luckily for me, I already knew two programmers that I wanted to work with and we had decided on an idea before heading in to the hackathon. We added a fourth hacker a few days before who couldn’t dedicate the full 24 hours as he had work the following Sunday. He floated between doing some of his own learning and trying to figure out our pretty messy work flow. The idea for what to build at HackRU was already pretty well established, as we met one day about a week and a half before to brainstorm ideas.

The idea that we decided to build was a student study group and tutoring website and Android application. The concept is pretty simple. Students can sign up and input their classes and form study groups. If they need additional help in class then they can request tutors (who sign up for the app with a separate registration). The value we try to provide is to increase efficiency in which students can form study groups and gain access to tutors. We also strive to improve efficiency in which tutors can find work by providing them with many potential students to tutor. While building for two different platforms was probably too ambitious, we decided to go for it.

The DigitalOcean sponsors hooked us up with some free credits for their virtual private servers, which I was pumped to receive. I have used them in the past and they have always been great to work with. I set up the server, a boring but tried and true LAMP stack. I would have loved to mess around with MongoDB but we decided to stick with MySQL as everyone was familiar with it and one of our hackers had a lot of PHP experience.

About an hour later we had our cloud server setup up as we wanted and had also acquired a couple domains from Namecheap who was also sponsoring the event. They were giving away some free domains but we also decided to pony up some bucks for the .com domain. At this point we had to pick a name for the app and decided on CourseSync, a name that was available for the .com domain, although we found out later was not available for gmail (say hi at coursesyncchampions@gmail.com) or twitter (follow us @coursesyncdev).

With the server up and running, Brad, the psychology major with ambitions of med school and wizard of brainstorming got to messing around with the user interface. Joe A., the computer science major, got to building the database and handling the php. Charles, the pharmacist, was floating between looking into how to improve our UI, researching his own stuff, and checking out what going on at the hackathon. I was handling the native Android development which was being done in Eclipse.

We worked for hours and hours. Charles clocked out around 1 AM because he had work the next day. Between Brad, Joe A., and myself I think we clocked around two hours of combined sleep. Unfortunately the 24 hour time constraint meant not much sleep and not following best practices or building a sustainable product for future development, but when the time had past we were pretty happy with were we ended up. We have an almost usable Android app and website, although we have a lot of UI to improve and we have to finish connecting the two apps to the database.

The website looks like this.

CourseSync webpage
CourseSync webpage

Pretty simple and you can see we have a lot of progress to make.

The Android app looks like this.

CourseSync Android Login
CourseSync Android Login
CourseSync Android Tutor Login
CourseSync Android Tutor Login
CourseSync Android Add Study Group
CourseSync Android Add Study Group

Same deal. Very basic and a lot to improve on.

By the end of the 24 hours we were beyond exhausted, but happy with what we learned and what we built. The feedback we received seemed good and people who we talked to or got to see our demo said they saw value in the app and would love to use it once we released it. You can follow @coursesyncdev on Twitter for updates and release. The plan will be to release at Rutgers and gauge the response before potentially targeting other schools for release.

HackRU is one of the few hackathons that is open to non-students, which I think is a very important feature. I have a BS and MS in Industrial and Systems Engineering and an MBA but my passion for the last few years has been anything and everything related to programming. I’m willing to travel all over the country and the world to attend these events as they are great opportunities for learning, meeting people, working with technologies that aren’t available, and providing a good reason to be in front of a computer for 24 or more hours at a time. I’m willing to pay a non-student entry fee or do whatever else is necessary to help out to offset the additional cost that I would bring. Having a bunch of computer science students working together is great, but the hackathon experience can be greatly enhanced by people who have different backgrounds or industry experience, are entrepreneurial, or have connections to companies, financing, jobs, etc.

Different backgrounds bring different people and thinking together. How would having a marketer, pianist, chemist, or sports therapist change the idea generation process? Industry experience is provided on the tech side by some of the sponsors or organizers, but you will never know what software pharmaceutical companies need unless you have someone with a Doctor of Pharmacy who has been working with pharmaceutical software for several years like one of the members of our team. You will never know what huge opportunities are available in the Department of Defense or data architecture fields unless you have someone like myself with years of experience working in those industries. Our mix of two people with industry experience (PharmD in pharmaceutical, MBA/Engineering in DoD), and students in Psychology (med. school ambitions), and computer science can lead to both some wild ideas or practical software that is desired or needed in industry.

Trying to include entrepreneurs and people with business interests are another way to improve hackathons. I was really impressed that there were over 100 submitted projects for this HackRU. That is an incredible number and an accomplishment for a hackathon that has been growing bigger every semseter. Most of these projects will die and never be developed for in the future. And while that is a good idea for most of the hacks, some are promising for future development. I would love to see some of these hacks turn into businesses, start generating revenue, or start accumulating large user bases. This is often too much of a time/money constraint for a broke student to accommodate amongst the many classes, projects, exams, work, and debt that they have to deal with. Opening hackathons up to non-students can get entrepreneurs, funding, and people who have the time and money resources to take the project to the next level involved.

Bringing in non-students also can bring in connections to companies which can be invaluable to students. This can bring in people who have access to jobs, internships, and exclusive technologies. It also can bring experience to show students how technologies or work flows exist in industry and what to be prepared for as ideas move from one or two person teams into businesses with hundreds or thousands of employees.

I’d like to conclude by giving the biggest thank you to the organizers of HackRU, the people at Major League Hacking, and all of the help of the Rutgers employees and students who made the event possible. It was impressive seeing you all be able to handle putting on a hackathon that took over all floors of the College Avenue student center with very few hiccups. We hope to see you all again in the Spring when we do it all over again.