Fact of the day – Barcodes were first used in the American rail-road industry to label and identify rail road cars. Commercial adoption followed in the early 1970’s with the spread of self-serve super-markets, with Troy, Ohio – seemingly lacking any other claims to fame – being the first place to utilise an optical scanner to scan a grocery product – a packet of Wrigley’s chewing gum since you weren’t asking. Thank you Alan Haberman, more here on Alan.
A Barcodes primary job to act as a identifier for a product. It’s an optical representation of a series of numbers that allows a machine reader to quickly identify the encoded number.
Over forty odd years the humble barcode hasn’t really been bettered. Challengers that store more information such as the QR code are starting to gain traction and for more complex data exchange use-cases Radio frequency ID tags are available at greater expense- read a thing I did on RFID’s a couple of years ago here.
The simple one dimensional bar code continues to be the de-facto solution for labeling products supported by a couple of international standards such as EAN (International Article Number) and UPC (Universal Product Code). These systems are used by manufacturers, retailers and those between – warehouses, logistics, fulfillment people – to standardise and identify products throughout the supply chain. It means that they can be easily counted going out of the factory, not lost in warehouses and also allow retailers to easily charge us when we buy them in the shop.
The data that stockify.me is going to utilise is going to be barcode based data. This is the current standard. Boxes come into a warehouse and are accounted for as they enter, then located to a specific area, and then allocated and picked for when they need to be dispatched. Scanning the bar-code at every stage allows for efficient stock management.
In modern lager enterprises this is mostly automated with expensive propriety barcode reading systems and mobile computers. Smaller wholesalers and warehouses may still do things by hand fearing the cost and complication of expensive systems.
The challenge for stockify.me is to target these with a simple data-entry system that will add value for these organisations. A simple Bar-code reader can reader a bar-code, but needs to be connected to computer to output or store the information. This wouldn’t be practical in a warehouse environment. A smarter, yet still low-cost solution, would be to use smartphone or small tablet device. Smartphones and most tablets come with a camera that, with appropriate software, can be used as an optical reader. More suited to a warehouse environment with high mobility a smartphone or tablet would also have the functionality to store and, if necessary communicate with the stockify.me system.
The development method I’m using in my project is an Agile Unified Process (AUP). There are many types of Agile development methods however they all share certain characteristics – for a great analysis of Agile versus Agile Unified Process take a look at this explanation by Chris Collins http://bit.ly/Un4S08 – here are some of the shared characteristics
- Deliver Quick, Deliver Small – A lot of IT projects fail because there is a disconnect between the people developing and the client receiving the development. The developers’ get the brief and go off and data model, and code, and build and make shiny good stuff. 6 months or a year later they show their ‘awesome’ app to the client who throws his hands up and says ‘no no no – this isn’t what I wanted’. Wasted time and loss of trust between project and client. Delivering quick iterations of software that are ‘just good enough’ and delivering them quickly helps to develop leanly and establish early client buy-in and valuable user acceptance testing. As the iterations go on it’s easier to find feature priorities and keep developing on track.
- Small Teams Win – Agile works best in smaller teams working together on a single project. Scrum and Crystal Clear methods insist that you need to work together in the same space. Communication is key, keeping team members on track and helping iron out mistakes as you go along. This can be taken to its extreme with side by side programming where two coders will sit together and code on one machine; talking problems through as they occur. much less time is needed for revision and it encourages the all important iterations.
- Show Progress – Don’t Hide Problems – whichever flavour of Agile you choose showing stages of work, progress, backlogs, or iterations deadlines feature heavily. Whether whiteboards (like the SCRUM board below), post-it notes, posters or zippy software like AgileZen ( http://bit.ly/UnbZpx ). They should be highly visual and more importantly highly visible to anybody – even passers-by. There’s a good blog about Agile visible workspaces here: http://bit.ly/UncgbQ .
There’s a great, if long, video about how Agile development can be used even in the biggest organisations from this Sales-force conference in 2009. Definitely worth a watch, even if you only stick the first 20 minute overview of Agile: http://youtu.be/CjVuFpbkjPc .
“Identity in it’s various manifestations has grabbed our hearts and minds, because we are desperate to express our need to belong but also overtly to differentiate ourselves and our aspirations from those around us” says Wally Olins in his The Brand Handbook ( http://bit.ly/11d199G ).
In the 21st Century branding is as important as it has ever been; I can’t think of a better exemplifier than one of last years mobile gaming apps that “topped the charts in the App Store, it tests whether brand recall exists without a brand’s defining characteristic—its name” (Read more: http://read.bi/XibXP1 ) – that is people can recognise brands by only their partial identity and do so for fun! Here’s an example:
Creating a brand is difficult. For my project I’m unable to employ the skills of a brand manager or indeed even a graphic designer to help me craft a modern aesthetically pleasing logo, so here goes:
I’m quite happy with the top logo at the moment, but this is version 1.0 and I’m going to take another pass over them in the next couple of weeks. In the meantime I’ve used the top logo to create a holding page for my project webpage (here: http://bit.ly/VlINjl ) . I also think that it requires a small slogan or byline to help encapsulate what the project is about – something I’ll think about.
For context, whilst researching, I’ve collected some examples of other companies working in the warehouse software market:
I’m not really blown away by any of these logos. I’ve noticed during my research that a lot of the companies in this marketplace seem to be neglecting their public image, poor websites, bad graphic design, unattended or old social media links or indeed all of the above. The only exception I found were the people at People Vox ( http://bit.ly/UYyDEd ). I wonder if this is because they are in the B2B market (selling to other companies rather than to consumers) -worth investigating in my research maybe.
Stockify.me – A web-based warehouse inventory stock solution utilising free, low-cost and open-source technologies.
Report plus prototype/live web interface with a dynamic database.
Outline Description (suitable for the layman):
Keeping track of stock for small to medium businesses is vital. Current solutions are either expensive, proprietary or both.
Stockify.me is a tool that allows businesses to implement their own stock management system using a browser-based database application and cheap hardware such as smart-phones or tablets.
As bar-coded stock comes into a warehouse; scan the bar-codes then have the data imported straight to a Stockify.me database. Manage stock using the intuitive stock management interface either online or download the application to keep all your data locally.
The code is open-source and available for anyone to modify or customise to their business model. It’s envisaged as a free to use business model with paid for support.
Project Motivation (your personal objective)
I was looking for a project that combines both a technical challenge and a business challenge to utilise the both the business and computing aspects of my course (BSc Business System Design).
Whilst at University I’ve worked in warehouse environments both on the shop floor and in administrative roles and witnessed the difficulty organisations have with disjointed stock and inventory systems.
I’m also interested in employing wherever possible free and open-source software to demonstrate the power and progress of such solutions.
As I see it the project contains four major elements:
- Smartphone/tablet input – creating a solution that scans and delivers the data from a bar-code or QR code to the stockify.me database.
- Creating a browser based dynamic database using the asp.net platform to store, update and manipulate the bar-code data. Using c# and SQL programming languages.
- A simple HTML5 website to both promote stockify.me, with an attractive accessible user interface and good user experience and also to allow users’ to login to a secure database area to manage their data.
- A project report detailing the above.
I’ll be following the Agile Unified Process (AUP) system development Method. The Agile Unified Process focuses on simplicity, agility (with agile software development), focus on high-value activities, and tool independence.
Describe Your Product (what will you produce?)
A demonstrable system that shows a successful input of barcodes through to a browser based dynamic data site – the successful manipulation of that data. This will all be completed using as much as possible free and open-source software and applications.
An accompanying report describing the process.
Outline Project Plan (a timeline describing each stage of your work)
- Research Part 1 – Open-source software, capabilities and restrictions; Open-Source and Creative Commons licenses.
- Research Part 2 – Bar-code technology and implementation.
- Research Part 3 – Current warehouse and stock inventory solutions available in the market-place.
- System Design – Including documented specification based on results of research (above). I’ll also be following the Agile Unified Process (AUP)system development Method when designing the system.
- Database Build – Data modelling, implementation and testing.
- Website Build – Design and implementation of website including graphic design for logos and general design of colour schemes etc.
- Documentation – Project documentation and product documentation.
- Barcode Solution – getting the barcode reader to ‘talk’ (data transfer) to the database.
- Full implementation – putting everything together.
- Testing – Test plan including user acceptance testing and limited user testing.
December – January: Research (1,2,3)
January – February: System Design, Learning Agile Modelling system development method (4)
February – March: Database, Website and Barcode solution first iteration build plus testing (5, 6, 8)
March-April: Further Database & Website iterations plus testing, Project Documentation. (5, 6, 7)
April-May: Test plans and user acceptance testing, final iteration, complete documentation (9, 10)