{"id":816,"date":"2014-01-04T17:19:48","date_gmt":"2014-01-04T23:19:48","guid":{"rendered":"http:\/\/benincosa.com\/blog\/?p=816"},"modified":"2014-11-19T11:23:55","modified_gmt":"2014-11-19T17:23:55","slug":"aci-tech-specs","status":"publish","type":"post","link":"https:\/\/benincosa.com\/?p=816","title":{"rendered":"ACI Tech Specs"},"content":{"rendered":"<p>Cisco&#8217;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 \u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Novell#NetWare\">Novell NetWare<\/a>? \u00a0You see, before operating systems came with networking you would buy NetWare software so that your PCs could talk on the network. \u00a0But soon operating systems started including the network stack in the core operating systems. \u00a0So instead of buying Microsoft Windows 3.1 and NetWare, you just bought Windows 95 and you had all the networking built in.<\/p>\n<p>That&#8217;s sort of what&#8217;s happened with the Nexus 9000. \u00a0Instead 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! \u00a0I&#8217;m pretty happy with what I&#8217;ve seen with the Nexus 9000 and what it promises to deliver. \u00a0Its still a ways off. \u00a0The Nexus 9000s today run in &#8220;stand alone&#8221; mode, which means the whole SDN portion of it is not there. \u00a0However, its still a very cool platform and when it comes I&#8217;m hoping it will be very intuitive and simple to deploy complex networks.<\/p>\n<p>But as cool as the Nexus 9000 series is, that&#8217;s not the point of this blog. \u00a0The point is to talk about a new iOS app that I have just submitted to Apple for evaluation. \u00a0Its called ACI Tech Specs.<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2014\/01\/icon@512x512.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-817\" title=\"icon@512x512\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2014\/01\/icon@512x512.png\" alt=\"\" width=\"500\" height=\"500\" \/><\/a><\/p>\n<p>Here&#8217;s a few things about this app. \u00a0Its a lot like <a href=\"https:\/\/itunes.apple.com\/us\/app\/ucs-tech-specs\/id455170180?mt=8\">UCS Tech Specs<\/a> in terms of what it does. \u00a0But its written from the ground up for iOS 7. \u00a0Its the most complete software project I&#8217;ve ever done in my spare time and uses all the modern programming techniques and libraries. \u00a0In fact, this will be the bases of the next iteration of UCS Tech Specs (which I&#8217;ll try to get out by the end of January). \u00a0I&#8217;m hoping it will be even more useful than any of the other projects I&#8217;ve done. \u00a0Its more flexible, more responsive, and looks better, cleaner than any place else where you can get this information.<\/p>\n<p><strong>Why You&#8217;ll Love it<\/strong><\/p>\n<p>The size is tiny compared to UCS tech specs. \u00a0You&#8217;ll be able to download it over your mobile connection instead of requiring a wifi. \u00a0That was the trouble with UCS Tech Specs: The app was too big. \u00a0It was big because it had tons of pictures bundled in. \u00a0This one, no pictures are there. \u00a0Its on demand downloaded.<\/p>\n<p>Another reason you&#8217;ll love it is that changes take place instantly. \u00a0No more updating your library by going to the obscure &#8216;i&#8217; button and clicking &#8216;update library&#8217;. \u00a0The app checks for updates every time you open the page. \u00a0Its demand driven. This way if you email me telling me I forgot something, misspelled something, or that you&#8217;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.<\/p>\n<p>If you are offline and have gone to a page (e.g: you&#8217;re in airplane mode) then the data will all be there. \u00a0The data is stored on the phone (including pictures) but downloaded as the app progresses.<\/p>\n<p><strong>Why you might not like it<\/strong><\/p>\n<p>I&#8217;m trying to get better at figuring out how the app is being used. \u00a0As such, I am tracking you. \u00a0But not NSA style. \u00a0You see, what happens is when you install my app, it puts a random ID inside \u00a0your phone&#8217;s folder. \u00a0That random ID allows me to uniquely identify your device. \u00a0(Not you, or nothing else). \u00a0I&#8217;ll also be capturing what type of device you have. \u00a0Then I&#8217;ll be storing that. \u00a0I won&#8217;t be storing anything like names, passwords, etc. \u00a0I do this because I want to know how many unique devices are using the app and what types of devices they are. \u00a0If I find out more people are using iPads than iPhones, then I&#8217;ll redouble my efforts in the iPad. \u00a0(This first release will only do iPhone). \u00a0So hopefully that doesn&#8217;t make you too nervous. \u00a0If I do lose the data then all people will have are random strings and model types. \u00a0They&#8217;ll know nothing else about you.<\/p>\n<p>You might not also like that an Internet connection will be required to get the app going. \u00a0The first time you open different pages, you&#8217;ll find that it will update. \u00a0If you&#8217;re on an airplane and you haven&#8217;t opened up a certain page, then that page will appear blank until you open it again with an internet connection. \u00a0(Cellularly or Wirelessly). \u00a0I made this choice because I wanted more people to download it without requiring wifi (so the image wasn&#8217;t so huge) and because I feel like I&#8217;m usually always connected anyway and most of my users fit my type of user profile. \u00a0(But maybe people will hate it and we&#8217;ll see.) \u00a0I 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.<\/p>\n<p>I&#8217;m also curious to see what type of scaling problems I run into. \u00a0I&#8217;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. \u00a0 If the server goes down then nobody will get an update. \u00a0So if you open up the app and you are staring at a blank page, let me know and I&#8217;ll see what&#8217;s going on with my server. \u00a0I think I&#8217;m really going to have to scale this out and that may be the next huge task I tackle on this. \u00a0Its running on a friends server at <a href=\"http:\/\/xmission.com\">xmission<\/a> and I may need to migrate to AWS or something if I have issues with scaling.<\/p>\n<p><strong>What&#8217;s Next?<\/strong><\/p>\n<p>The backend still needs a lot more data. \u00a0I&#8217;ll be putting in more information about the platforms as they become available. \u00a0The 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.<\/p>\n<p>Also, there will be a native Android application that I&#8217;ll release on Google Play hopefully mid 2014 at the latest. \u00a0This will be the first time I&#8217;ve written an Android application, so thanks for hanging in there. \u00a0That is part of the reason I spent so much time on the back end. \u00a0In fact the whole development process from creating the back end to the iOS client I spent 70% of the time on the back end. \u00a0The 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.<\/p>\n<p>Finally, I would like to add a \u00a0live 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. \u00a0I hope you love it! \u00a0If not, let me know what sucks: vallard@benincosa.com \u00a0I&#8217;m all ears.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cisco&#8217;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 \u00a0Novell NetWare? \u00a0You see, before operating systems came with networking you would buy NetWare software so that your PCs could talk on the network. \u00a0But soon operating systems started&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[212,123],"tags":[214,213,991,215],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/816"}],"collection":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=816"}],"version-history":[{"count":4,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/816\/revisions"}],"predecessor-version":[{"id":2752,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/816\/revisions\/2752"}],"wp:attachment":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}