Cisco’s new Application Centric Infrastructure play and the introduction of the Nexus 9000 seems to have turned all this SDN talk in a new direction. Remember Novell NetWare? You see, before operating systems came with networking you would buy NetWare software so that your PCs could talk on the network. But soon operating systems started including the network stack in the core operating systems. So instead of buying Microsoft Windows 3.1 and NetWare, you just bought Windows 95 and you had all the networking built in.
That’s sort of what’s happened with the Nexus 9000. Instead of buying a network switch and then buying an SDN component, you just buy the Nexus 9000 and it comes with SDN like capability and so much more! I’m pretty happy with what I’ve seen with the Nexus 9000 and what it promises to deliver. Its still a ways off. The Nexus 9000s today run in “stand alone” mode, which means the whole SDN portion of it is not there. However, its still a very cool platform and when it comes I’m hoping it will be very intuitive and simple to deploy complex networks.
But as cool as the Nexus 9000 series is, that’s not the point of this blog. The point is to talk about a new iOS app that I have just submitted to Apple for evaluation. Its called ACI Tech Specs.
Here’s a few things about this app. Its a lot like UCS Tech Specs in terms of what it does. But its written from the ground up for iOS 7. Its the most complete software project I’ve ever done in my spare time and uses all the modern programming techniques and libraries. In fact, this will be the bases of the next iteration of UCS Tech Specs (which I’ll try to get out by the end of January). I’m hoping it will be even more useful than any of the other projects I’ve done. Its more flexible, more responsive, and looks better, cleaner than any place else where you can get this information.
Why You’ll Love it
The size is tiny compared to UCS tech specs. You’ll be able to download it over your mobile connection instead of requiring a wifi. That was the trouble with UCS Tech Specs: The app was too big. It was big because it had tons of pictures bundled in. This one, no pictures are there. Its on demand downloaded.
Another reason you’ll love it is that changes take place instantly. No more updating your library by going to the obscure ‘i’ button and clicking ‘update library’. The app checks for updates every time you open the page. Its demand driven. This way if you email me telling me I forgot something, misspelled something, or that you’d really like to get more information on a certain part of the products, then I can go to my back end and do it, and it will just show up.
If you are offline and have gone to a page (e.g: you’re in airplane mode) then the data will all be there. The data is stored on the phone (including pictures) but downloaded as the app progresses.
Why you might not like it
I’m trying to get better at figuring out how the app is being used. As such, I am tracking you. But not NSA style. You see, what happens is when you install my app, it puts a random ID inside your phone’s folder. That random ID allows me to uniquely identify your device. (Not you, or nothing else). I’ll also be capturing what type of device you have. Then I’ll be storing that. I won’t be storing anything like names, passwords, etc. I do this because I want to know how many unique devices are using the app and what types of devices they are. If I find out more people are using iPads than iPhones, then I’ll redouble my efforts in the iPad. (This first release will only do iPhone). So hopefully that doesn’t make you too nervous. If I do lose the data then all people will have are random strings and model types. They’ll know nothing else about you.
You might not also like that an Internet connection will be required to get the app going. The first time you open different pages, you’ll find that it will update. If you’re on an airplane and you haven’t opened up a certain page, then that page will appear blank until you open it again with an internet connection. (Cellularly or Wirelessly). I made this choice because I wanted more people to download it without requiring wifi (so the image wasn’t so huge) and because I feel like I’m usually always connected anyway and most of my users fit my type of user profile. (But maybe people will hate it and we’ll see.) I did spend a lot of time working on caching the data and synchronizing seamlessly so any updates I make to the core server will show up on the app.
I’m also curious to see what type of scaling problems I run into. I’ve got one server running a Ruby on Rails application on the back end that serves up the JSON that is consumed by the iOS app. If the server goes down then nobody will get an update. So if you open up the app and you are staring at a blank page, let me know and I’ll see what’s going on with my server. I think I’m really going to have to scale this out and that may be the next huge task I tackle on this. Its running on a friends server at xmission and I may need to migrate to AWS or something if I have issues with scaling.
The backend still needs a lot more data. I’ll be putting in more information about the platforms as they become available. The nice thing is that in my role, its my job to be up to date on the latest Nexus 9000 products, so expect this app to be pretty much up to date along with the next UCS Tech Specs when it comes out.
Also, there will be a native Android application that I’ll release on Google Play hopefully mid 2014 at the latest. This will be the first time I’ve written an Android application, so thanks for hanging in there. That is part of the reason I spent so much time on the back end. In fact the whole development process from creating the back end to the iOS client I spent 70% of the time on the back end. The iOS client only took about 2 months to write where as the back end I spent all of summer and had to modify it as I wrote the app.
Finally, I would like to add a live Twitter feed on it to see all ACI related posts, create some more interactiveness, but I think the rest of 2014 will be focused on Android, scaling, and seeing if this thing floats. I hope you love it! If not, let me know what sucks: firstname.lastname@example.org I’m all ears.